Giter Site home page Giter Site logo

edinburgh-college-of-art / maxmsp-external-template Goto Github PK

View Code? Open in Web Editor NEW
1.0 3.0 0.0 51.25 MB

Template Projects for building external objects in MaxMSP

License: GNU General Public License v3.0

C 91.25% C++ 8.75%
maxmsp maxmsp-external c-audio cpp-audio audio-processing real-time-audio

maxmsp-external-template's Introduction

maxmsp-external-template

Template Projects for building external objects in MaxMSP

Setup

To get started, click use this template at the top of the repository

then follow the instructions for creating a repository

Cloning this Repository

To make this repository a little more portable, the max-sdk-base has been included as a submodule. If you are using the GitHub desktop app, the submodule will be cloned automatically. If you are using git from the command line, this means you will need to state --recurse-submodules when cloning.

git clone --recurse-submodules https://github.com/Edinburgh-College-of-Art/maxmsp-external-template

You should be able to build straight away from the Xcode project or the Visual Studio solution. Other methods of cloning or downloading this repository may result in the max-sdk-base folder being empty. In that situation either use the above git command or download the max-sdk-base directly and copy over the contents.

Configuration

Build configuration is slightly different depending on which IDE you are using. For Visual Studio you should be looking at the property sheets and for Xcode the .xcconfig.

The build destination for each project is set to the default user Max Packages directory.

macOS:

~/Max 8/Packages/$(Project_Name)/externals

Windows:

$(USERPROFILE)\Documents\Max 8\Packages\$(ProjectName)\externals

This means you should be able to use your object in Max immediately after building, though Max will require a restart.

maxmspsdk.xcconfig

The maxmspsdk.xcconfig in the xcode directory sets a couple of global paths in the Xcode project. DSTROOT sets the build destination.

.prop sheets

To change the destination folder:

  1. make sure you have highlighted the project in the Solution Explorer

highlight solution explorer project

  1. Press F4 or Properties by navigating the menus View -> Properties...

  2. In Configuration Properties -> General you can change the Output Directory

vs output directory

For Visual Studio users, there should be nothing that you need to change in the property sheets. If you would like to change them or just take a look, you can edit them directly in any text editor as VS files are essentially XML files.

To edit the property sheets in visual studio:

  1. make sure you have highlighted the project in the Solution Explorer

highlight solution explorer project

  1. Select the property manager by navigating the menus View -> Other Windows -> property manager

View -> Other Windows -> property manager

  1. Select a property sheet press Alt + Enter or right click and select properties

properties

  1. navigate to user macros

User Macros


Projects

The Xcode and VS project have multiple targets / projects to demonstrate how to approach building a Max external .mxo, .mxe64 file.

max-external

The vanilla C approach. There are plenty of examples in the sdk, but this target / project aims to take a more modern approach. Documentation has been added inline as well as some slightly less obtuse variable name choices which will hopefully reduce the barrier of entry.

max-external~

The vanilla C approach to MSP objects.

mspcpp

If you have already coded a ton of DSP C++ classes for something like JUCE, you may want to start here.

Demonstrates using extern "C" to write wrappers for pre-existing c++ classes. you need only write wrapper functions for public class methods or anything that needs to be called directly in C

maxmsp-external-template's People

Contributors

mhamilt avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

maxmsp-external-template's Issues

DSTROOT to Packages

Build destination should be to Packages directory

i.e DSTROOT = $(HOME)/Documents/Max 8/Packages/$(TARGET_NAME)/externals/

Xcode: Update submodule check

Update the check for the submodule check in Xcode project to

if [[ ! "$(ls -A max-sdk-base)" ]]; then echo "error: max-sdk-base submodule is empty";fi

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.