├── .gitignore ├── .gitmodules ├── Info.plist ├── README.md ├── common.props ├── common.xcconfig └── examples ├── duplicate.py ├── gitignore_template ├── mbmaxc ├── .gitignore ├── bin │ └── mbmaxc.maxhelp ├── mbmaxc.c ├── mbmaxc.def ├── mbmaxc.props ├── mbmaxc.sln ├── mbmaxc.vcxproj ├── mbmaxc.vcxproj.filters ├── mbmaxc.xcconfig └── mbmaxc.xcodeproj │ ├── project.pbxproj │ └── xcshareddata │ └── xcschemes │ └── max-external.xcscheme ├── mbmaxcpp ├── .gitignore ├── bin │ └── mbmaxcpp.maxhelp ├── mbmaxcpp.cpp ├── mbmaxcpp.def ├── mbmaxcpp.props ├── mbmaxcpp.sln ├── mbmaxcpp.vcxproj ├── mbmaxcpp.vcxproj.filters ├── mbmaxcpp.xcconfig └── mbmaxcpp.xcodeproj │ └── project.pbxproj ├── mbmspc ├── .gitignore ├── bin │ └── mbmspc.maxhelp ├── mbmspc.c ├── mbmspc.def ├── mbmspc.props ├── mbmspc.sln ├── mbmspc.vcxproj ├── mbmspc.vcxproj.filters ├── mbmspc.xcconfig └── mbmspc.xcodeproj │ └── project.pbxproj └── mbmspcpp ├── .gitignore ├── bin └── mbmspcpp.maxhelp ├── mbmspcpp.cpp ├── mbmspcpp.def ├── mbmspcpp.props ├── mbmspcpp.sln ├── mbmspcpp.vcxproj ├── mbmspcpp.vcxproj.filters ├── mbmspcpp.xcconfig └── mbmspcpp.xcodeproj ├── oli.pbxuser └── project.pbxproj /.gitignore: -------------------------------------------------------------------------------- 1 | *.mxo 2 | *.mxe 3 | *.mxe64 4 | 5 | /projects/ 6 | examples/*/*.xcodeproj/xcuserdata/* 7 | examples/*/build* 8 | *.pbxuser 9 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "max-sdk"] 2 | path = max-sdk 3 | url = https://github.com/Cycling74/max-sdk.git 4 | [submodule "maxcpp"] 5 | path = maxcpp 6 | url = https://github.com/grrrwaaa/maxcpp.git 7 | -------------------------------------------------------------------------------- /Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleExecutable 8 | ${PRODUCT_NAME} 9 | CFBundleIconFile 10 | 11 | CFBundleIdentifier 12 | $(PRODUCT_BUNDLE_IDENTIFIER) 13 | CFBundleInfoDictionaryVersion 14 | ${PRODUCT_VERSION} 15 | CFBundleLongVersionString 16 | ${PRODUCT_NAME} ${PRODUCT_VERSION}, Copyright ${YEAR} ${DEVELOPER} 17 | CFBundlePackageType 18 | iLaX 19 | CFBundleShortVersionString 20 | ${PRODUCT_VERSION} 21 | CFBundleSignature 22 | max2 23 | CFBundleVersion 24 | ${PRODUCT_VERSION} 25 | CSResourcesFileMapped 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ARCHIVED - use https://github.com/Cycling74/min-devkit instead 2 | 3 | maxbuild v-0-3 4 | ================ 5 | 6 | Oli Larkin, 2009-2016 7 | York, UK 8 | 9 | 10 | a folder structure and IDE projects for building cross platform Max MSP externals. It includes a python script for 11 | rapidly cloning a project, doing a find and replace on strings in filenames and inside the source code itself 12 | 13 | IDE projects are for MSVS2010 and Xcode7 14 | 15 | It includes submodules for the Max SDK and for Graham Wakefield's MaxCPP, so when you check out the project, you may want to do it like this in order to checkout the submodules at the same time. 16 | 17 | git clone --recursive https://github.com/olilarkin/maxbuild.git 18 | 19 | after cloning the repository you can cd to /examples 20 | 21 | run ./duplicate.py mbmaxcpp mynewmaxexternal to duplicate (on windows you may need to invoke python.exe) 22 | -------------------------------------------------------------------------------- /common.props: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | $(ProjectDir)..\..\max-sdk\c74support\ 5 | $(C74SUPPORT)max-includes;$(C74SUPPORT)msp-includes;$(C74SUPPORT)jit-includes 6 | $(C74SUPPORT)max-includes\x64;$(C74SUPPORT)msp-includes\x64;$(C74SUPPORT)jit-includes\x64 7 | 8 | 9 | <_ProjectFileVersion>10.0.40219.1 10 | $(ProjectDir)bin\ 11 | $(ProjectDir)build-win\$(Configuration)_$(PlatformName)\$(ProjectName)\ 12 | false 13 | 14 | 15 | 16 | MaxAPI.lib;MaxAudio.lib;jitlib.lib;%(AdditionalDependencies) 17 | 18 | 19 | VER_TARGETNAME=\"$(TargetName)\";%(PreprocessorDefinitions) 20 | 21 | 22 | _CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) 23 | 24 | 25 | $(IntDir)$(TargetName).manifest 26 | 27 | 28 | 29 | 30 | $(C74SUPPORT) 31 | 32 | 33 | $(LIBx86) 34 | 35 | 36 | $(LIBx64) 37 | 38 | 39 | -------------------------------------------------------------------------------- /common.xcconfig: -------------------------------------------------------------------------------- 1 | #include "max-sdk/source/maxmspsdk.xcconfig" 2 | C74SUPPORT = $(SRCROOT)/../../max-sdk/source/c74support 3 | DSTROOT = / 4 | SYMROOT = $(SRCROOT)/build-mac 5 | INSTALL_PATH = $(SRCROOT)/bin 6 | 7 | MACOSX_DEPLOYMENT_TARGET = 10.7 8 | 9 | BUNDLE_DEVELOPER = OliLarkin 10 | DEVELOPER = Oli Larkin 11 | -------------------------------------------------------------------------------- /examples/duplicate.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python 2 | 3 | # Python shell script for Duplicating Max External Projects 4 | 5 | from __future__ import generators 6 | 7 | import fileinput, glob, string, sys, os, re, uuid 8 | from shutil import copy, copytree, ignore_patterns, rmtree 9 | from os.path import join 10 | 11 | VERSION = "0.1.0" 12 | 13 | # binary files that we don't want to do find and replace inside 14 | FILTERED_FILE_EXTENSIONS = [".mxo", ".mxe",".ico",".icns", ".pdf", ".png", ".zip", ".exe", ".wav", ".aif"] 15 | 16 | def checkdirname(name, searchproject): 17 | "check if directory name matches with the given pattern" 18 | print "" 19 | if name == searchproject: 20 | # if name == searchproject + ".xcodeproj": 21 | return True 22 | else: 23 | return False 24 | 25 | def replacestrs(filename, s, r): 26 | files = glob.glob(filename) 27 | 28 | for line in fileinput.input(files,inplace=1): 29 | string.find(line, s) 30 | line = line.replace(s, r) 31 | sys.stdout.write(line) 32 | 33 | def replacestrsChop(filename, s, r): 34 | files = glob.glob(filename) 35 | 36 | for line in fileinput.input(files,inplace=1): 37 | if(line.startswith(s)): 38 | line = r + "\n" 39 | sys.stdout.write(line) 40 | 41 | def dirwalk(dir, searchproject, replaceproject): 42 | for f in os.listdir(dir): 43 | fullpath = os.path.join(dir, f) 44 | 45 | if os.path.isdir(fullpath) and not os.path.islink(fullpath): 46 | if checkdirname(f, searchproject + ".xcodeproj"): 47 | os.rename(fullpath, os.path.join(dir, replaceproject + ".xcodeproj")) 48 | fullpath = os.path.join(dir, replaceproject + ".xcodeproj") 49 | 50 | print 'recursing in main xcode project directory: ' 51 | for x in dirwalk(fullpath, searchproject, replaceproject): 52 | yield x 53 | elif (f == "bin"): 54 | print 'recursing in bin directory: ' 55 | for x in dirwalk(fullpath, searchproject, replaceproject): 56 | yield x 57 | 58 | if os.path.isfile(fullpath): 59 | tabstring = "" 60 | #for tab in range(0,tabs): 61 | # tabstring += "\t" 62 | 63 | filename = os.path.basename(fullpath) 64 | newfilename = filename.replace(searchproject, replaceproject) 65 | base, extension = os.path.splitext(filename) 66 | 67 | if (not(extension in FILTERED_FILE_EXTENSIONS)): 68 | print tabstring + 'Replacing project name strings in file', filename 69 | replacestrs(fullpath, searchproject, replaceproject) 70 | 71 | print tabstring + 'Replacing captitalized project name strings in file', filename 72 | replacestrs(fullpath, searchproject.upper(), replaceproject.upper()) 73 | else: 74 | print tabstring + 'NOT replacing name strings in file', filename 75 | 76 | if filename != newfilename: 77 | print tabstring + 'Renaming file ' + filename + ' to ' + newfilename 78 | os.rename(fullpath, os.path.join(dir, newfilename)) 79 | 80 | yield f, fullpath 81 | else: 82 | yield f, fullpath 83 | 84 | def main(): 85 | global VERSION 86 | print "\nMax Project Duplicator v" + VERSION + " by Oli Larkin ------------------------------\n" 87 | 88 | if len(sys.argv) != 3: 89 | print "Usage: duplicate.py inputprojectname outputprojectname", 90 | sys.exit(1) 91 | else: 92 | input=sys.argv[1] 93 | output=sys.argv[2] 94 | 95 | if ' ' in input: 96 | print "error: input project name has spaces", 97 | sys.exit(1) 98 | 99 | if ' ' in output: 100 | print "error: output project name has spaces", 101 | sys.exit(1) 102 | 103 | # remove a trailing slash if it exists 104 | if input[-1:] == "/": 105 | input = input[0:-1] 106 | 107 | if output[-1:] == "/": 108 | output = output[0:-1] 109 | 110 | #check that the folders are OK 111 | if os.path.isdir(input) == False: 112 | print "error: input project not found", 113 | sys.exit(1) 114 | 115 | if os.path.isdir(output): 116 | print "error: output folder allready exists", 117 | sys.exit(1) 118 | 119 | print "copying " + input + " folder to " + output 120 | copytree(input, output, ignore=ignore_patterns('*.mxo', '*.mxe', '*.exe', '*.dmg', '*.pkg', '*.mpkg', '*.svn', '*.ncb', '*.suo', '*sdf', 'ipch', 'build-*', '*.layout', '*.depend', '.DS_Store', 'xcuserdata*' )) 121 | cpath = os.path.join(os.getcwd(), output) 122 | 123 | #replace manufacturer name strings 124 | for dir in dirwalk(cpath, input, output): 125 | pass 126 | 127 | print "\ncopying gitignore template into project folder" 128 | 129 | copy('gitignore_template', output + "/.gitignore") 130 | 131 | if __name__ == '__main__': 132 | main() -------------------------------------------------------------------------------- /examples/gitignore_template: -------------------------------------------------------------------------------- 1 | *.exe 2 | *.sdf 3 | *.opensdf 4 | *.zip 5 | *.suo 6 | *.ncb 7 | *.vcproj.* 8 | *.pkg 9 | *.dmg 10 | *.depend 11 | *.layout 12 | *.mode1v3 13 | *.db 14 | *.LSOverride 15 | *.xcworkspace 16 | *.xcuserdata 17 | *.xcschememanagement.plist 18 | build-* 19 | ipch/* 20 | gui/* 21 | 22 | Icon? 23 | .DS_Stor* -------------------------------------------------------------------------------- /examples/mbmaxc/.gitignore: -------------------------------------------------------------------------------- 1 | *.exe 2 | *.sdf 3 | *.opensdf 4 | *.zip 5 | *.suo 6 | *.ncb 7 | *.vcproj.* 8 | *.pkg 9 | *.dmg 10 | *.depend 11 | *.layout 12 | *.mode1v3 13 | *.db 14 | *.LSOverride 15 | *.xcworkspace 16 | *.xcuserdata 17 | *.xcschememanagement.plist 18 | build-* 19 | ipch/* 20 | gui/* 21 | 22 | Icon? 23 | .DS_Stor* -------------------------------------------------------------------------------- /examples/mbmaxc/bin/mbmaxc.maxhelp: -------------------------------------------------------------------------------- 1 | { 2 | "patcher" : { 3 | "fileversion" : 1, 4 | "appversion" : { 5 | "major" : 6, 6 | "minor" : 1, 7 | "revision" : 6, 8 | "architecture" : "x86" 9 | } 10 | , 11 | "rect" : [ 267.0, 142.0, 590.0, 324.0 ], 12 | "bglocked" : 0, 13 | "openinpresentation" : 0, 14 | "default_fontsize" : 12.0, 15 | "default_fontface" : 0, 16 | "default_fontname" : "Arial", 17 | "gridonopen" : 0, 18 | "gridsize" : [ 10.0, 10.0 ], 19 | "gridsnaponopen" : 0, 20 | "statusbarvisible" : 2, 21 | "toolbarvisible" : 1, 22 | "boxanimatetime" : 200, 23 | "imprint" : 0, 24 | "enablehscroll" : 1, 25 | "enablevscroll" : 1, 26 | "devicewidth" : 0.0, 27 | "description" : "", 28 | "digest" : "", 29 | "tags" : "", 30 | "boxes" : [ { 31 | "box" : { 32 | "fontface" : 3, 33 | "fontname" : "Arial", 34 | "fontsize" : 20.871338, 35 | "frgb" : 0.0, 36 | "id" : "obj-110", 37 | "maxclass" : "comment", 38 | "numinlets" : 1, 39 | "numoutlets" : 0, 40 | "patching_rect" : [ 15.0, 13.0, 566.0, 30.0 ], 41 | "text" : "mb.maxc", 42 | "varname" : "autohelp_top_title" 43 | } 44 | 45 | } 46 | , { 47 | "box" : { 48 | "fontname" : "Arial", 49 | "fontsize" : 12.754705, 50 | "frgb" : 0.0, 51 | "id" : "obj-111", 52 | "maxclass" : "comment", 53 | "numinlets" : 1, 54 | "numoutlets" : 0, 55 | "patching_rect" : [ 15.0, 45.0, 566.0, 21.0 ], 56 | "text" : "info about this object", 57 | "varname" : "autohelp_top_digest" 58 | } 59 | 60 | } 61 | , { 62 | "box" : { 63 | "fontname" : "Arial", 64 | "fontsize" : 12.0, 65 | "id" : "obj-8", 66 | "maxclass" : "flonum", 67 | "numinlets" : 1, 68 | "numoutlets" : 2, 69 | "outlettype" : [ "float", "bang" ], 70 | "parameter_enable" : 0, 71 | "patching_rect" : [ 340.0, 120.0, 50.0, 20.0 ] 72 | } 73 | 74 | } 75 | , { 76 | "box" : { 77 | "fontname" : "Arial", 78 | "fontsize" : 12.0, 79 | "id" : "obj-5", 80 | "maxclass" : "message", 81 | "numinlets" : 2, 82 | "numoutlets" : 1, 83 | "outlettype" : [ "" ], 84 | "patching_rect" : [ 120.0, 130.0, 63.0, 18.0 ], 85 | "text" : "0. 5. hello" 86 | } 87 | 88 | } 89 | , { 90 | "box" : { 91 | "fontname" : "Arial", 92 | "fontsize" : 12.0, 93 | "id" : "obj-7", 94 | "maxclass" : "flonum", 95 | "numinlets" : 1, 96 | "numoutlets" : 2, 97 | "outlettype" : [ "float", "bang" ], 98 | "parameter_enable" : 0, 99 | "patching_rect" : [ 260.0, 120.0, 50.0, 20.0 ] 100 | } 101 | 102 | } 103 | , { 104 | "box" : { 105 | "fontname" : "Arial", 106 | "fontsize" : 12.0, 107 | "id" : "obj-1", 108 | "maxclass" : "newobj", 109 | "numinlets" : 1, 110 | "numoutlets" : 1, 111 | "outlettype" : [ "" ], 112 | "patching_rect" : [ 204.0, 200.0, 56.0, 20.0 ], 113 | "text" : "mbmaxc" 114 | } 115 | 116 | } 117 | , { 118 | "box" : { 119 | "fontname" : "Arial", 120 | "fontsize" : 12.0, 121 | "id" : "obj-3", 122 | "maxclass" : "flonum", 123 | "numinlets" : 1, 124 | "numoutlets" : 2, 125 | "outlettype" : [ "float", "bang" ], 126 | "parameter_enable" : 0, 127 | "patching_rect" : [ 204.0, 230.0, 77.0, 20.0 ] 128 | } 129 | 130 | } 131 | , { 132 | "box" : { 133 | "id" : "obj-2", 134 | "maxclass" : "button", 135 | "numinlets" : 1, 136 | "numoutlets" : 1, 137 | "outlettype" : [ "bang" ], 138 | "patching_rect" : [ 204.0, 124.0, 20.0, 20.0 ] 139 | } 140 | 141 | } 142 | , { 143 | "box" : { 144 | "fontname" : "Arial", 145 | "fontsize" : 12.0, 146 | "id" : "obj-4", 147 | "maxclass" : "message", 148 | "numinlets" : 2, 149 | "numoutlets" : 1, 150 | "outlettype" : [ "" ], 151 | "patching_rect" : [ 340.0, 150.0, 70.0, 18.0 ], 152 | "text" : "myvalue $1" 153 | } 154 | 155 | } 156 | , { 157 | "box" : { 158 | "background" : 1, 159 | "bgcolor" : [ 1.0, 0.701961, 0.0, 1.0 ], 160 | "grad1" : [ 0.86, 0.86, 0.75, 1.0 ], 161 | "grad2" : [ 0.78, 0.84, 0.86, 0.7 ], 162 | "id" : "obj-114", 163 | "maxclass" : "panel", 164 | "numinlets" : 1, 165 | "numoutlets" : 0, 166 | "patching_rect" : [ 10.0, 10.0, 570.0, 60.0 ], 167 | "varname" : "autohelp_top_panel" 168 | } 169 | 170 | } 171 | ], 172 | "lines" : [ { 173 | "patchline" : { 174 | "destination" : [ "obj-3", 0 ], 175 | "disabled" : 0, 176 | "hidden" : 0, 177 | "source" : [ "obj-1", 0 ] 178 | } 179 | 180 | } 181 | , { 182 | "patchline" : { 183 | "destination" : [ "obj-1", 0 ], 184 | "disabled" : 0, 185 | "hidden" : 0, 186 | "source" : [ "obj-2", 0 ] 187 | } 188 | 189 | } 190 | , { 191 | "patchline" : { 192 | "destination" : [ "obj-1", 0 ], 193 | "disabled" : 0, 194 | "hidden" : 0, 195 | "source" : [ "obj-4", 0 ] 196 | } 197 | 198 | } 199 | , { 200 | "patchline" : { 201 | "destination" : [ "obj-1", 0 ], 202 | "disabled" : 0, 203 | "hidden" : 0, 204 | "source" : [ "obj-5", 0 ] 205 | } 206 | 207 | } 208 | , { 209 | "patchline" : { 210 | "destination" : [ "obj-1", 0 ], 211 | "disabled" : 0, 212 | "hidden" : 0, 213 | "source" : [ "obj-7", 0 ] 214 | } 215 | 216 | } 217 | , { 218 | "patchline" : { 219 | "destination" : [ "obj-4", 0 ], 220 | "disabled" : 0, 221 | "hidden" : 0, 222 | "source" : [ "obj-8", 0 ] 223 | } 224 | 225 | } 226 | ], 227 | "dependency_cache" : [ { 228 | "name" : "mbmaxc.mxo", 229 | "type" : "iLaX" 230 | } 231 | ] 232 | } 233 | 234 | } 235 | -------------------------------------------------------------------------------- /examples/mbmaxc/mbmaxc.c: -------------------------------------------------------------------------------- 1 | #include "ext.h" 2 | #include "ext_obex.h" 3 | #include "ext_strings.h" 4 | #include "ext_common.h" 5 | 6 | typedef struct _mbmaxc 7 | { 8 | t_object c_box; 9 | void *c_outlet; 10 | 11 | double m_value; 12 | } t_mbmaxc; 13 | 14 | void* mbmaxc_new(t_symbol *s, long argc, t_atom *argv); 15 | void mbmaxc_free(t_mbmaxc* x); 16 | void mbmaxc_assist(t_mbmaxc *x, void *b, long m, long a, char *s); 17 | void mbmaxc_bang(t_mbmaxc *x); 18 | void mbmaxc_clear(t_mbmaxc *x); 19 | void mbmaxc_int(t_mbmaxc *x, long value); 20 | void mbmaxc_float(t_mbmaxc *x, double value); 21 | void mbmaxc_list(t_mbmaxc *x, t_symbol *msg, long argc, t_atom *argv); 22 | 23 | static t_class *s_mbmaxc_class = NULL; 24 | 25 | int C74_EXPORT main(void) 26 | { 27 | t_class *c = class_new("mbmaxc", 28 | (method)mbmaxc_new, 29 | (method)mbmaxc_free, 30 | sizeof(t_mbmaxc), 31 | (method)NULL, 32 | A_GIMME, 33 | 0); 34 | 35 | common_symbols_init(); 36 | 37 | class_addmethod(c, (method)mbmaxc_bang, "bang", 0); 38 | class_addmethod(c, (method)mbmaxc_int, "int", A_LONG, 0); 39 | class_addmethod(c, (method)mbmaxc_float, "float", A_FLOAT,0); 40 | class_addmethod(c, (method)mbmaxc_list, "list", A_GIMME,0); 41 | class_addmethod(c, (method)mbmaxc_assist, "assist", A_CANT, 0); 42 | class_addmethod(c, (method)stdinletinfo, "inletinfo", A_CANT, 0); 43 | 44 | CLASS_ATTR_FLOAT(c, "myvalue", 0, t_mbmaxc, m_value); 45 | 46 | class_register(_sym_box, c); 47 | s_mbmaxc_class = c; 48 | 49 | return 0; 50 | } 51 | 52 | void *mbmaxc_new(t_symbol *s, long argc, t_atom *argv) 53 | { 54 | t_mbmaxc *x; 55 | 56 | x = (t_mbmaxc*)object_alloc(s_mbmaxc_class); 57 | 58 | if (x) 59 | { 60 | x->c_outlet = outlet_new(x, NULL); 61 | } 62 | 63 | return(x); 64 | } 65 | 66 | void mbmaxc_free(t_mbmaxc *x){} 67 | 68 | void mbmaxc_assist(t_mbmaxc *x, void *b, long msg, long arg, char *dst) 69 | { 70 | if (msg==1) 71 | strcpy(dst, "input"); 72 | else if (msg==2) 73 | strcpy(dst, "output"); 74 | } 75 | 76 | void mbmaxc_bang(t_mbmaxc *x) 77 | { 78 | post("bang"); 79 | } 80 | 81 | void mbmaxc_int(t_mbmaxc *x, long value) 82 | { 83 | post("int val: %i", value); 84 | } 85 | 86 | void mbmaxc_float(t_mbmaxc *x, double value) 87 | { 88 | post("float val: %f", value); 89 | } 90 | 91 | void mbmaxc_list(t_mbmaxc *x, t_symbol *msg, long argc, t_atom *argv) 92 | { 93 | long i; 94 | t_atom *ap; 95 | 96 | post("message selector is %s", msg->s_name); 97 | post("there are %ld arguments", argc); 98 | 99 | for (i = 0, ap = argv; i < argc; i++, ap++) 100 | { 101 | switch (atom_gettype(ap)) { 102 | case A_LONG: 103 | post("%ld: %ld",i+1,atom_getlong(ap)); 104 | break; 105 | case A_FLOAT: 106 | post("%ld: %.2f",i+1,atom_getfloat(ap)); 107 | break; 108 | case A_SYM: 109 | post("%ld: %s",i+1, atom_getsym(ap)->s_name); 110 | break; 111 | default: 112 | post("%ld: unknown atom type (%ld)", i+1, atom_gettype(ap)); 113 | break; 114 | } 115 | } 116 | } -------------------------------------------------------------------------------- /examples/mbmaxc/mbmaxc.def: -------------------------------------------------------------------------------- 1 | LIBRARY mbmaxc.mxe 2 | 3 | EXPORTS 4 | main 5 | -------------------------------------------------------------------------------- /examples/mbmaxc/mbmaxc.props: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /examples/mbmaxc/mbmaxc.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 11.00 3 | # Visual Studio 2010 4 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mbmaxc", "mbmaxc.vcxproj", "{D7D2B050-0FAC-4326-89AD-C82254541416}" 5 | EndProject 6 | Global 7 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 8 | Debug|Win32 = Debug|Win32 9 | Debug|x64 = Debug|x64 10 | Release|Win32 = Release|Win32 11 | Release|x64 = Release|x64 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {D7D2B050-0FAC-4326-89AD-C82254541416}.Debug|Win32.ActiveCfg = Debug|Win32 15 | {D7D2B050-0FAC-4326-89AD-C82254541416}.Debug|Win32.Build.0 = Debug|Win32 16 | {D7D2B050-0FAC-4326-89AD-C82254541416}.Debug|x64.ActiveCfg = Debug|x64 17 | {D7D2B050-0FAC-4326-89AD-C82254541416}.Debug|x64.Build.0 = Debug|x64 18 | {D7D2B050-0FAC-4326-89AD-C82254541416}.Release|Win32.ActiveCfg = Release|Win32 19 | {D7D2B050-0FAC-4326-89AD-C82254541416}.Release|Win32.Build.0 = Release|Win32 20 | {D7D2B050-0FAC-4326-89AD-C82254541416}.Release|x64.ActiveCfg = Release|x64 21 | {D7D2B050-0FAC-4326-89AD-C82254541416}.Release|x64.Build.0 = Release|x64 22 | EndGlobalSection 23 | GlobalSection(SolutionProperties) = preSolution 24 | HideSolutionNode = FALSE 25 | EndGlobalSection 26 | EndGlobal 27 | -------------------------------------------------------------------------------- /examples/mbmaxc/mbmaxc.vcxproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | Debug 7 | Win32 8 | 9 | 10 | Debug 11 | x64 12 | 13 | 14 | Release 15 | Win32 16 | 17 | 18 | Release 19 | x64 20 | 21 | 22 | 23 | {D7D2B050-0FAC-4326-89AD-C82254541416} 24 | 25 | 26 | 27 | DynamicLibrary 28 | v100 29 | false 30 | MultiByte 31 | true 32 | 33 | 34 | DynamicLibrary 35 | v100 36 | false 37 | MultiByte 38 | 39 | 40 | DynamicLibrary 41 | v100 42 | false 43 | MultiByte 44 | true 45 | 46 | 47 | DynamicLibrary 48 | v100 49 | false 50 | MultiByte 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | <_ProjectFileVersion>11.0.51106.1 82 | 83 | 84 | true 85 | .mxe 86 | 87 | 88 | true 89 | .mxe64 90 | 91 | 92 | false 93 | .mxe 94 | 95 | 96 | false 97 | .mxe64 98 | 99 | 100 | 101 | Disabled 102 | $(C74SUPPORT)\max-includes;$(C74SUPPORT)\msp-includes;%(AdditionalIncludeDirectories) 103 | WIN_VERSION;WIN32;_DEBUG;_WINDOWS;_USRDLL;WIN_EXT_VERSION;%(PreprocessorDefinitions) 104 | true 105 | 106 | EnableFastChecks 107 | MultiThreadedDebugDLL 108 | true 109 | true 110 | 111 | 112 | $(IntDir)$(ProjectName).pch 113 | $(IntDir)$(TargetName).asm 114 | $(IntDir) 115 | $(IntDir)$(ProjectName).pdb 116 | Level3 117 | true 118 | ProgramDatabase 119 | CompileAsCpp 120 | 121 | 122 | $(OutDir)$(ProjectName).mxe 123 | true 124 | false 125 | libcmt.lib;%(IgnoreSpecificDefaultLibraries) 126 | 127 | 128 | true 129 | $(IntDir)$(ProjectName).pdb 130 | $(IntDir)$(ProjectName).map 131 | Windows 132 | false 133 | 134 | $(IntDir)$(ProjectName).lib 135 | MachineX86 136 | $(LIBx86);%(AdditionalLibraryDirectories) 137 | 138 | 139 | 140 | 141 | Disabled 142 | $(C74SUPPORT)\max-includes;$(C74SUPPORT)\msp-includes;%(AdditionalIncludeDirectories) 143 | WIN_VERSION;WIN32;_DEBUG;_WINDOWS;_USRDLL;WIN_EXT_VERSION;%(PreprocessorDefinitions) 144 | true 145 | 146 | EnableFastChecks 147 | MultiThreadedDebugDLL 148 | true 149 | true 150 | 151 | 152 | $(IntDir)$(ProjectName).pch 153 | $(IntDir)$(TargetName).asm 154 | $(IntDir) 155 | $(IntDir)$(ProjectName).pdb 156 | Level3 157 | true 158 | ProgramDatabase 159 | CompileAsCpp 160 | 161 | 162 | $(OutDir)$(ProjectName).mxe64 163 | true 164 | false 165 | libcmt.lib;%(IgnoreSpecificDefaultLibraries) 166 | 167 | 168 | true 169 | $(IntDir)$(ProjectName).pdb 170 | $(IntDir)$(ProjectName).map 171 | Windows 172 | false 173 | 174 | $(IntDir)$(ProjectName).lib 175 | MachineX64 176 | $(LIBx64) 177 | 178 | 179 | 180 | 181 | MaxSpeed 182 | AnySuitable 183 | true 184 | Speed 185 | true 186 | true 187 | $(C74SUPPORT)\max-includes;$(C74SUPPORT)\msp-includes;%(AdditionalIncludeDirectories) 188 | WIN_VERSION;WIN32;NDEBUG;_WINDOWS;_USRDLL;WIN_EXT_VERSION;%(PreprocessorDefinitions) 189 | true 190 | 191 | MultiThreadedDLL 192 | false 193 | false 194 | StreamingSIMDExtensions2 195 | 196 | $(IntDir)$(ProjectName).pch 197 | $(IntDir)$(TargetName).asm 198 | $(IntDir) 199 | $(IntDir)$(ProjectName).pdb 200 | Level3 201 | true 202 | ProgramDatabase 203 | CompileAsCpp 204 | 205 | 206 | $(OutDir)$(ProjectName).mxe 207 | true 208 | false 209 | libcmt.lib;%(IgnoreSpecificDefaultLibraries) 210 | 211 | 212 | true 213 | $(IntDir)$(ProjectName).pdb 214 | $(IntDir)$(ProjectName).map 215 | Windows 216 | true 217 | true 218 | false 219 | 220 | $(IntDir)$(ProjectName).lib 221 | MachineX86 222 | $(LIBx86);%(AdditionalLibraryDirectories) 223 | 224 | 225 | 226 | 227 | MaxSpeed 228 | AnySuitable 229 | true 230 | Speed 231 | true 232 | true 233 | $(C74SUPPORT)\max-includes;$(C74SUPPORT)\msp-includes;%(AdditionalIncludeDirectories) 234 | WIN_VERSION;WIN32;NDEBUG;_WINDOWS;_USRDLL;WIN_EXT_VERSION;%(PreprocessorDefinitions) 235 | true 236 | 237 | MultiThreadedDLL 238 | false 239 | false 240 | AdvancedVectorExtensions 241 | 242 | $(IntDir)$(ProjectName).pch 243 | $(IntDir)$(TargetName).asm 244 | $(IntDir) 245 | $(IntDir)$(ProjectName).pdb 246 | Level3 247 | true 248 | ProgramDatabase 249 | CompileAsCpp 250 | 251 | 252 | $(OutDir)$(ProjectName).mxe64 253 | true 254 | false 255 | libcmt.lib;%(IgnoreSpecificDefaultLibraries) 256 | 257 | 258 | true 259 | $(IntDir)$(ProjectName).pdb 260 | $(IntDir)$(ProjectName).map 261 | Windows 262 | true 263 | true 264 | false 265 | 266 | $(IntDir)$(ProjectName).lib 267 | MachineX64 268 | $(LIBx64) 269 | 270 | 271 | 272 | 273 | 274 | 275 | 276 | 277 | 278 | 279 | 280 | 281 | 282 | 283 | 284 | 285 | -------------------------------------------------------------------------------- /examples/mbmaxc/mbmaxc.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {d16e67df-a6ce-4d5b-8951-eab150a6783c} 6 | 7 | 8 | 9 | 10 | supporting 11 | 12 | 13 | supporting 14 | 15 | 16 | 17 | 18 | supporting 19 | 20 | 21 | -------------------------------------------------------------------------------- /examples/mbmaxc/mbmaxc.xcconfig: -------------------------------------------------------------------------------- 1 | #include "../../common.xcconfig" 2 | 3 | PRODUCT_NAME = mbmaxc -------------------------------------------------------------------------------- /examples/mbmaxc/mbmaxc.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 46; 7 | objects = { 8 | 9 | /* Begin PBXBuildFile section */ 10 | 22CF11AE0EE9A8840054F513 /* mbmaxc.c in Sources */ = {isa = PBXBuildFile; fileRef = 22CF11AD0EE9A8840054F513 /* mbmaxc.c */; }; 11 | 4F4FD6E5187F2577005FB2B9 /* commonsyms.c in Sources */ = {isa = PBXBuildFile; fileRef = 4F4FD6E4187F2577005FB2B9 /* commonsyms.c */; }; 12 | /* End PBXBuildFile section */ 13 | 14 | /* Begin PBXFileReference section */ 15 | 22CF11AD0EE9A8840054F513 /* mbmaxc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = mbmaxc.c; sourceTree = ""; }; 16 | 2FBBEAE508F335360078DB84 /* mbmaxc.mxo */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = mbmaxc.mxo; sourceTree = BUILT_PRODUCTS_DIR; }; 17 | 4F4FD6E4187F2577005FB2B9 /* commonsyms.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = commonsyms.c; path = "../../max-sdk/source/c74support/max-includes/common/commonsyms.c"; sourceTree = SOURCE_ROOT; }; 18 | 4F9C374D1881688400A88A88 /* common.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = common.xcconfig; path = ../../common.xcconfig; sourceTree = SOURCE_ROOT; }; 19 | 4F9C37511881689300A88A88 /* mbmaxc.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = mbmaxc.xcconfig; sourceTree = ""; }; 20 | /* End PBXFileReference section */ 21 | 22 | /* Begin PBXFrameworksBuildPhase section */ 23 | 2FBBEADC08F335360078DB84 /* Frameworks */ = { 24 | isa = PBXFrameworksBuildPhase; 25 | buildActionMask = 2147483647; 26 | files = ( 27 | ); 28 | runOnlyForDeploymentPostprocessing = 0; 29 | }; 30 | /* End PBXFrameworksBuildPhase section */ 31 | 32 | /* Begin PBXGroup section */ 33 | 089C166AFE841209C02AAC07 /* iterator */ = { 34 | isa = PBXGroup; 35 | children = ( 36 | 22CF11AD0EE9A8840054F513 /* mbmaxc.c */, 37 | 4F3927671882F05100F74074 /* supporting files */, 38 | 19C28FB4FE9D528D11CA2CBB /* Products */, 39 | ); 40 | name = iterator; 41 | sourceTree = ""; 42 | }; 43 | 19C28FB4FE9D528D11CA2CBB /* Products */ = { 44 | isa = PBXGroup; 45 | children = ( 46 | 2FBBEAE508F335360078DB84 /* mbmaxc.mxo */, 47 | ); 48 | name = Products; 49 | sourceTree = ""; 50 | }; 51 | 4F3927671882F05100F74074 /* supporting files */ = { 52 | isa = PBXGroup; 53 | children = ( 54 | 4F9C374D1881688400A88A88 /* common.xcconfig */, 55 | 4F9C37511881689300A88A88 /* mbmaxc.xcconfig */, 56 | 4F4FD6E4187F2577005FB2B9 /* commonsyms.c */, 57 | ); 58 | name = "supporting files"; 59 | sourceTree = ""; 60 | }; 61 | /* End PBXGroup section */ 62 | 63 | /* Begin PBXHeadersBuildPhase section */ 64 | 2FBBEAD708F335360078DB84 /* Headers */ = { 65 | isa = PBXHeadersBuildPhase; 66 | buildActionMask = 2147483647; 67 | files = ( 68 | ); 69 | runOnlyForDeploymentPostprocessing = 0; 70 | }; 71 | /* End PBXHeadersBuildPhase section */ 72 | 73 | /* Begin PBXNativeTarget section */ 74 | 2FBBEAD608F335360078DB84 /* max-external */ = { 75 | isa = PBXNativeTarget; 76 | buildConfigurationList = 2FBBEAE008F335360078DB84 /* Build configuration list for PBXNativeTarget "max-external" */; 77 | buildPhases = ( 78 | 2FBBEAD708F335360078DB84 /* Headers */, 79 | 2FBBEAD808F335360078DB84 /* Resources */, 80 | 2FBBEADA08F335360078DB84 /* Sources */, 81 | 2FBBEADC08F335360078DB84 /* Frameworks */, 82 | 2FBBEADF08F335360078DB84 /* Rez */, 83 | ); 84 | buildRules = ( 85 | ); 86 | dependencies = ( 87 | ); 88 | name = "max-external"; 89 | productName = iterator; 90 | productReference = 2FBBEAE508F335360078DB84 /* mbmaxc.mxo */; 91 | productType = "com.apple.product-type.bundle"; 92 | }; 93 | /* End PBXNativeTarget section */ 94 | 95 | /* Begin PBXProject section */ 96 | 089C1669FE841209C02AAC07 /* Project object */ = { 97 | isa = PBXProject; 98 | attributes = { 99 | LastUpgradeCheck = 0720; 100 | }; 101 | buildConfigurationList = 2FBBEACF08F335010078DB84 /* Build configuration list for PBXProject "mbmaxc" */; 102 | compatibilityVersion = "Xcode 3.2"; 103 | developmentRegion = English; 104 | hasScannedForEncodings = 1; 105 | knownRegions = ( 106 | en, 107 | ); 108 | mainGroup = 089C166AFE841209C02AAC07 /* iterator */; 109 | projectDirPath = ""; 110 | projectRoot = ""; 111 | targets = ( 112 | 2FBBEAD608F335360078DB84 /* max-external */, 113 | ); 114 | }; 115 | /* End PBXProject section */ 116 | 117 | /* Begin PBXResourcesBuildPhase section */ 118 | 2FBBEAD808F335360078DB84 /* Resources */ = { 119 | isa = PBXResourcesBuildPhase; 120 | buildActionMask = 2147483647; 121 | files = ( 122 | ); 123 | runOnlyForDeploymentPostprocessing = 0; 124 | }; 125 | /* End PBXResourcesBuildPhase section */ 126 | 127 | /* Begin PBXRezBuildPhase section */ 128 | 2FBBEADF08F335360078DB84 /* Rez */ = { 129 | isa = PBXRezBuildPhase; 130 | buildActionMask = 2147483647; 131 | files = ( 132 | ); 133 | runOnlyForDeploymentPostprocessing = 0; 134 | }; 135 | /* End PBXRezBuildPhase section */ 136 | 137 | /* Begin PBXSourcesBuildPhase section */ 138 | 2FBBEADA08F335360078DB84 /* Sources */ = { 139 | isa = PBXSourcesBuildPhase; 140 | buildActionMask = 2147483647; 141 | files = ( 142 | 22CF11AE0EE9A8840054F513 /* mbmaxc.c in Sources */, 143 | 4F4FD6E5187F2577005FB2B9 /* commonsyms.c in Sources */, 144 | ); 145 | runOnlyForDeploymentPostprocessing = 0; 146 | }; 147 | /* End PBXSourcesBuildPhase section */ 148 | 149 | /* Begin XCBuildConfiguration section */ 150 | 2FBBEAD008F335010078DB84 /* Debug */ = { 151 | isa = XCBuildConfiguration; 152 | buildSettings = { 153 | ENABLE_TESTABILITY = YES; 154 | ONLY_ACTIVE_ARCH = YES; 155 | }; 156 | name = Debug; 157 | }; 158 | 2FBBEAD108F335010078DB84 /* Release */ = { 159 | isa = XCBuildConfiguration; 160 | buildSettings = { 161 | }; 162 | name = Release; 163 | }; 164 | 2FBBEAE108F335360078DB84 /* Debug */ = { 165 | isa = XCBuildConfiguration; 166 | baseConfigurationReference = 4F9C37511881689300A88A88 /* mbmaxc.xcconfig */; 167 | buildSettings = { 168 | COMBINE_HIDPI_IMAGES = YES; 169 | COPY_PHASE_STRIP = NO; 170 | GCC_OPTIMIZATION_LEVEL = 0; 171 | OTHER_LDFLAGS = "$(C74_SYM_LINKER_FLAGS)"; 172 | PRODUCT_BUNDLE_IDENTIFIER = "com.${BUNDLE_DEVELOPER}.${PRODUCT_NAME:rfc1034identifier}"; 173 | }; 174 | name = Debug; 175 | }; 176 | 2FBBEAE208F335360078DB84 /* Release */ = { 177 | isa = XCBuildConfiguration; 178 | baseConfigurationReference = 4F9C37511881689300A88A88 /* mbmaxc.xcconfig */; 179 | buildSettings = { 180 | COMBINE_HIDPI_IMAGES = YES; 181 | COPY_PHASE_STRIP = YES; 182 | OTHER_LDFLAGS = "$(C74_SYM_LINKER_FLAGS)"; 183 | PRODUCT_BUNDLE_IDENTIFIER = "com.${BUNDLE_DEVELOPER}.${PRODUCT_NAME:rfc1034identifier}"; 184 | }; 185 | name = Release; 186 | }; 187 | /* End XCBuildConfiguration section */ 188 | 189 | /* Begin XCConfigurationList section */ 190 | 2FBBEACF08F335010078DB84 /* Build configuration list for PBXProject "mbmaxc" */ = { 191 | isa = XCConfigurationList; 192 | buildConfigurations = ( 193 | 2FBBEAD008F335010078DB84 /* Debug */, 194 | 2FBBEAD108F335010078DB84 /* Release */, 195 | ); 196 | defaultConfigurationIsVisible = 0; 197 | defaultConfigurationName = Release; 198 | }; 199 | 2FBBEAE008F335360078DB84 /* Build configuration list for PBXNativeTarget "max-external" */ = { 200 | isa = XCConfigurationList; 201 | buildConfigurations = ( 202 | 2FBBEAE108F335360078DB84 /* Debug */, 203 | 2FBBEAE208F335360078DB84 /* Release */, 204 | ); 205 | defaultConfigurationIsVisible = 0; 206 | defaultConfigurationName = Release; 207 | }; 208 | /* End XCConfigurationList section */ 209 | }; 210 | rootObject = 089C1669FE841209C02AAC07 /* Project object */; 211 | } 212 | -------------------------------------------------------------------------------- /examples/mbmaxc/mbmaxc.xcodeproj/xcshareddata/xcschemes/max-external.xcscheme: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | 15 | 21 | 22 | 23 | 24 | 25 | 30 | 31 | 32 | 33 | 34 | 35 | 45 | 48 | 49 | 50 | 56 | 57 | 58 | 59 | 60 | 61 | 67 | 68 | 74 | 75 | 76 | 77 | 79 | 80 | 83 | 84 | 85 | -------------------------------------------------------------------------------- /examples/mbmaxcpp/.gitignore: -------------------------------------------------------------------------------- 1 | *.exe 2 | *.sdf 3 | *.opensdf 4 | *.zip 5 | *.suo 6 | *.ncb 7 | *.vcproj.* 8 | *.pkg 9 | *.dmg 10 | *.depend 11 | *.layout 12 | *.mode1v3 13 | *.db 14 | *.LSOverride 15 | *.xcworkspace 16 | *.xcuserdata 17 | *.xcschememanagement.plist 18 | build-* 19 | ipch/* 20 | gui/* 21 | 22 | Icon? 23 | .DS_Stor* -------------------------------------------------------------------------------- /examples/mbmaxcpp/bin/mbmaxcpp.maxhelp: -------------------------------------------------------------------------------- 1 | { 2 | "patcher" : { 3 | "fileversion" : 1, 4 | "appversion" : { 5 | "major" : 6, 6 | "minor" : 1, 7 | "revision" : 6, 8 | "architecture" : "x86" 9 | } 10 | , 11 | "rect" : [ 45.0, 70.0, 640.0, 506.0 ], 12 | "bglocked" : 0, 13 | "openinpresentation" : 0, 14 | "default_fontsize" : 10.0, 15 | "default_fontface" : 0, 16 | "default_fontname" : "Verdana", 17 | "gridonopen" : 0, 18 | "gridsize" : [ 10.0, 10.0 ], 19 | "gridsnaponopen" : 2, 20 | "statusbarvisible" : 2, 21 | "toolbarvisible" : 1, 22 | "boxanimatetime" : 200, 23 | "imprint" : 0, 24 | "enablehscroll" : 1, 25 | "enablevscroll" : 1, 26 | "devicewidth" : 0.0, 27 | "description" : "", 28 | "digest" : "", 29 | "tags" : "", 30 | "boxes" : [ { 31 | "box" : { 32 | "fontface" : 3, 33 | "fontname" : "Arial", 34 | "fontsize" : 20.871338, 35 | "frgb" : 0.0, 36 | "id" : "obj-110", 37 | "maxclass" : "comment", 38 | "numinlets" : 1, 39 | "numoutlets" : 0, 40 | "patching_rect" : [ 15.0, 13.0, 566.0, 30.0 ], 41 | "text" : "mbmaxcpp", 42 | "varname" : "autohelp_top_title" 43 | } 44 | 45 | } 46 | , { 47 | "box" : { 48 | "fontname" : "Arial", 49 | "fontsize" : 12.754705, 50 | "frgb" : 0.0, 51 | "id" : "obj-111", 52 | "maxclass" : "comment", 53 | "numinlets" : 1, 54 | "numoutlets" : 0, 55 | "patching_rect" : [ 15.0, 45.0, 566.0, 21.0 ], 56 | "text" : "info about this object", 57 | "varname" : "autohelp_top_digest" 58 | } 59 | 60 | } 61 | , { 62 | "box" : { 63 | "fontname" : "Arial", 64 | "fontsize" : 12.0, 65 | "id" : "obj-8", 66 | "maxclass" : "flonum", 67 | "numinlets" : 1, 68 | "numoutlets" : 2, 69 | "outlettype" : [ "float", "bang" ], 70 | "parameter_enable" : 0, 71 | "patching_rect" : [ 340.0, 120.0, 50.0, 20.0 ] 72 | } 73 | 74 | } 75 | , { 76 | "box" : { 77 | "fontname" : "Arial", 78 | "fontsize" : 12.0, 79 | "id" : "obj-5", 80 | "maxclass" : "message", 81 | "numinlets" : 2, 82 | "numoutlets" : 1, 83 | "outlettype" : [ "" ], 84 | "patching_rect" : [ 120.0, 130.0, 32.5, 18.0 ], 85 | "text" : "0.5" 86 | } 87 | 88 | } 89 | , { 90 | "box" : { 91 | "fontname" : "Arial", 92 | "fontsize" : 12.0, 93 | "id" : "obj-7", 94 | "maxclass" : "flonum", 95 | "numinlets" : 1, 96 | "numoutlets" : 2, 97 | "outlettype" : [ "float", "bang" ], 98 | "parameter_enable" : 0, 99 | "patching_rect" : [ 260.0, 120.0, 50.0, 20.0 ] 100 | } 101 | 102 | } 103 | , { 104 | "box" : { 105 | "fontname" : "Arial", 106 | "fontsize" : 12.0, 107 | "id" : "obj-1", 108 | "maxclass" : "newobj", 109 | "numinlets" : 2, 110 | "numoutlets" : 2, 111 | "outlettype" : [ "", "" ], 112 | "patching_rect" : [ 204.0, 200.0, 53.0, 20.0 ], 113 | "text" : "mbmaxcpp" 114 | } 115 | 116 | } 117 | , { 118 | "box" : { 119 | "fontname" : "Arial", 120 | "fontsize" : 12.0, 121 | "id" : "obj-3", 122 | "maxclass" : "flonum", 123 | "numinlets" : 1, 124 | "numoutlets" : 2, 125 | "outlettype" : [ "float", "bang" ], 126 | "parameter_enable" : 0, 127 | "patching_rect" : [ 204.0, 230.0, 77.0, 20.0 ] 128 | } 129 | 130 | } 131 | , { 132 | "box" : { 133 | "id" : "obj-2", 134 | "maxclass" : "button", 135 | "numinlets" : 1, 136 | "numoutlets" : 1, 137 | "outlettype" : [ "bang" ], 138 | "patching_rect" : [ 204.0, 124.0, 20.0, 20.0 ] 139 | } 140 | 141 | } 142 | , { 143 | "box" : { 144 | "fontname" : "Arial", 145 | "fontsize" : 12.0, 146 | "id" : "obj-4", 147 | "maxclass" : "message", 148 | "numinlets" : 2, 149 | "numoutlets" : 1, 150 | "outlettype" : [ "" ], 151 | "patching_rect" : [ 340.0, 150.0, 69.0, 18.0 ], 152 | "text" : "testfloat $1" 153 | } 154 | 155 | } 156 | , { 157 | "box" : { 158 | "background" : 1, 159 | "bgcolor" : [ 1.0, 0.701961, 0.0, 1.0 ], 160 | "grad1" : [ 0.86, 0.86, 0.75, 1.0 ], 161 | "grad2" : [ 0.78, 0.84, 0.86, 0.7 ], 162 | "id" : "obj-114", 163 | "maxclass" : "panel", 164 | "numinlets" : 1, 165 | "numoutlets" : 0, 166 | "patching_rect" : [ 10.0, 10.0, 570.0, 60.0 ], 167 | "varname" : "autohelp_top_panel" 168 | } 169 | 170 | } 171 | ], 172 | "lines" : [ { 173 | "patchline" : { 174 | "destination" : [ "obj-3", 0 ], 175 | "disabled" : 0, 176 | "hidden" : 0, 177 | "source" : [ "obj-1", 0 ] 178 | } 179 | 180 | } 181 | , { 182 | "patchline" : { 183 | "destination" : [ "obj-1", 0 ], 184 | "disabled" : 0, 185 | "hidden" : 0, 186 | "source" : [ "obj-2", 0 ] 187 | } 188 | 189 | } 190 | , { 191 | "patchline" : { 192 | "destination" : [ "obj-1", 0 ], 193 | "disabled" : 0, 194 | "hidden" : 0, 195 | "source" : [ "obj-4", 0 ] 196 | } 197 | 198 | } 199 | , { 200 | "patchline" : { 201 | "destination" : [ "obj-1", 0 ], 202 | "disabled" : 0, 203 | "hidden" : 0, 204 | "source" : [ "obj-5", 0 ] 205 | } 206 | 207 | } 208 | , { 209 | "patchline" : { 210 | "destination" : [ "obj-4", 0 ], 211 | "disabled" : 0, 212 | "hidden" : 0, 213 | "source" : [ "obj-8", 0 ] 214 | } 215 | 216 | } 217 | ], 218 | "dependency_cache" : [ { 219 | "name" : "mbmaxcpp.mxo", 220 | "type" : "iLaX" 221 | } 222 | ] 223 | } 224 | 225 | } 226 | -------------------------------------------------------------------------------- /examples/mbmaxcpp/mbmaxcpp.cpp: -------------------------------------------------------------------------------- 1 | #include "../../maxcpp/maxcpp/maxcpp6.h" 2 | 3 | class mbmaxcpp : public MaxCpp6 4 | { 5 | public: 6 | mbmaxcpp(t_symbol * sym, long ac, t_atom * av) { 7 | setupIO(2, 2); 8 | } 9 | 10 | ~mbmaxcpp() {} 11 | 12 | // methods: 13 | void bang(long inlet) { 14 | outlet_bang(m_outlets[0]); 15 | } 16 | void testfloat(long inlet, double v) { 17 | outlet_float(m_outlets[0], v); 18 | } 19 | void testint(long inlet, long v) { 20 | outlet_int(m_outlets[0], v); 21 | } 22 | void test(long inlet, t_symbol * s, long ac, t_atom * av) { 23 | outlet_anything(m_outlets[1], gensym("test"), ac, av); 24 | } 25 | }; 26 | 27 | extern "C" int C74_EXPORT main(void) { 28 | // create a class with the given name: 29 | mbmaxcpp::makeMaxClass("mbmaxcpp"); 30 | REGISTER_METHOD(mbmaxcpp, bang); 31 | REGISTER_METHOD_FLOAT(mbmaxcpp, testfloat); 32 | REGISTER_METHOD_LONG(mbmaxcpp, testint); 33 | REGISTER_METHOD_GIMME(mbmaxcpp, test); 34 | } -------------------------------------------------------------------------------- /examples/mbmaxcpp/mbmaxcpp.def: -------------------------------------------------------------------------------- 1 | LIBRARY mbmaxcpp.mxe 2 | 3 | EXPORTS 4 | main 5 | -------------------------------------------------------------------------------- /examples/mbmaxcpp/mbmaxcpp.props: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /examples/mbmaxcpp/mbmaxcpp.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 11.00 3 | # Visual Studio 2010 4 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mbmaxcpp", "mbmaxcpp.vcxproj", "{D7D2B050-0FAC-4326-89AD-C82254541416}" 5 | EndProject 6 | Global 7 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 8 | Debug|Win32 = Debug|Win32 9 | Debug|x64 = Debug|x64 10 | Release|Win32 = Release|Win32 11 | Release|x64 = Release|x64 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {D7D2B050-0FAC-4326-89AD-C82254541416}.Debug|Win32.ActiveCfg = Debug|Win32 15 | {D7D2B050-0FAC-4326-89AD-C82254541416}.Debug|Win32.Build.0 = Debug|Win32 16 | {D7D2B050-0FAC-4326-89AD-C82254541416}.Debug|x64.ActiveCfg = Debug|x64 17 | {D7D2B050-0FAC-4326-89AD-C82254541416}.Debug|x64.Build.0 = Debug|x64 18 | {D7D2B050-0FAC-4326-89AD-C82254541416}.Release|Win32.ActiveCfg = Release|Win32 19 | {D7D2B050-0FAC-4326-89AD-C82254541416}.Release|Win32.Build.0 = Release|Win32 20 | {D7D2B050-0FAC-4326-89AD-C82254541416}.Release|x64.ActiveCfg = Release|x64 21 | {D7D2B050-0FAC-4326-89AD-C82254541416}.Release|x64.Build.0 = Release|x64 22 | EndGlobalSection 23 | GlobalSection(SolutionProperties) = preSolution 24 | HideSolutionNode = FALSE 25 | EndGlobalSection 26 | EndGlobal 27 | -------------------------------------------------------------------------------- /examples/mbmaxcpp/mbmaxcpp.vcxproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | Debug 7 | Win32 8 | 9 | 10 | Debug 11 | x64 12 | 13 | 14 | Release 15 | Win32 16 | 17 | 18 | Release 19 | x64 20 | 21 | 22 | 23 | {D7D2B050-0FAC-4326-89AD-C82254541416} 24 | 25 | 26 | 27 | DynamicLibrary 28 | v100 29 | false 30 | MultiByte 31 | true 32 | 33 | 34 | DynamicLibrary 35 | v100 36 | false 37 | MultiByte 38 | 39 | 40 | DynamicLibrary 41 | v100 42 | false 43 | MultiByte 44 | true 45 | 46 | 47 | DynamicLibrary 48 | v100 49 | false 50 | MultiByte 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | <_ProjectFileVersion>11.0.51106.1 82 | 83 | 84 | true 85 | .mxe 86 | 87 | 88 | true 89 | .mxe64 90 | 91 | 92 | false 93 | .mxe 94 | 95 | 96 | false 97 | .mxe64 98 | 99 | 100 | 101 | Disabled 102 | $(C74SUPPORT)\max-includes;$(C74SUPPORT)\msp-includes;%(AdditionalIncludeDirectories) 103 | WIN_VERSION;WIN32;_DEBUG;_WINDOWS;_USRDLL;WIN_EXT_VERSION;%(PreprocessorDefinitions) 104 | true 105 | 106 | EnableFastChecks 107 | MultiThreadedDebugDLL 108 | true 109 | true 110 | 111 | 112 | $(IntDir)$(ProjectName).pch 113 | $(IntDir)$(TargetName).asm 114 | $(IntDir) 115 | $(IntDir)$(ProjectName).pdb 116 | Level3 117 | true 118 | ProgramDatabase 119 | CompileAsCpp 120 | 121 | 122 | $(OutDir)$(ProjectName).mxe 123 | true 124 | false 125 | libcmt.lib;%(IgnoreSpecificDefaultLibraries) 126 | 127 | 128 | true 129 | $(IntDir)$(ProjectName).pdb 130 | $(IntDir)$(ProjectName).map 131 | Windows 132 | false 133 | 134 | $(IntDir)$(ProjectName).lib 135 | MachineX86 136 | $(LIBx86);%(AdditionalLibraryDirectories) 137 | 138 | 139 | 140 | 141 | Disabled 142 | $(C74SUPPORT)\max-includes;$(C74SUPPORT)\msp-includes;%(AdditionalIncludeDirectories) 143 | WIN_VERSION;WIN32;_DEBUG;_WINDOWS;_USRDLL;WIN_EXT_VERSION;%(PreprocessorDefinitions) 144 | true 145 | 146 | EnableFastChecks 147 | MultiThreadedDebugDLL 148 | true 149 | true 150 | 151 | 152 | $(IntDir)$(ProjectName).pch 153 | $(IntDir)$(TargetName).asm 154 | $(IntDir) 155 | $(IntDir)$(ProjectName).pdb 156 | Level3 157 | true 158 | ProgramDatabase 159 | CompileAsCpp 160 | 161 | 162 | $(OutDir)$(ProjectName).mxe64 163 | true 164 | false 165 | libcmt.lib;%(IgnoreSpecificDefaultLibraries) 166 | 167 | 168 | true 169 | $(IntDir)$(ProjectName).pdb 170 | $(IntDir)$(ProjectName).map 171 | Windows 172 | false 173 | 174 | $(IntDir)$(ProjectName).lib 175 | MachineX64 176 | $(LIBx64) 177 | 178 | 179 | 180 | 181 | MaxSpeed 182 | AnySuitable 183 | true 184 | Speed 185 | true 186 | true 187 | $(C74SUPPORT)\max-includes;$(C74SUPPORT)\msp-includes;%(AdditionalIncludeDirectories) 188 | WIN_VERSION;WIN32;NDEBUG;_WINDOWS;_USRDLL;WIN_EXT_VERSION;%(PreprocessorDefinitions) 189 | true 190 | 191 | MultiThreadedDLL 192 | false 193 | false 194 | StreamingSIMDExtensions2 195 | 196 | $(IntDir)$(ProjectName).pch 197 | $(IntDir)$(TargetName).asm 198 | $(IntDir) 199 | $(IntDir)$(ProjectName).pdb 200 | Level3 201 | true 202 | ProgramDatabase 203 | CompileAsCpp 204 | 205 | 206 | $(OutDir)$(ProjectName).mxe 207 | true 208 | false 209 | libcmt.lib;%(IgnoreSpecificDefaultLibraries) 210 | 211 | 212 | true 213 | $(IntDir)$(ProjectName).pdb 214 | $(IntDir)$(ProjectName).map 215 | Windows 216 | true 217 | true 218 | false 219 | 220 | $(IntDir)$(ProjectName).lib 221 | MachineX86 222 | $(LIBx86);%(AdditionalLibraryDirectories) 223 | 224 | 225 | 226 | 227 | MaxSpeed 228 | AnySuitable 229 | true 230 | Speed 231 | true 232 | true 233 | $(C74SUPPORT)\max-includes;$(C74SUPPORT)\msp-includes;%(AdditionalIncludeDirectories) 234 | WIN_VERSION;WIN32;NDEBUG;_WINDOWS;_USRDLL;WIN_EXT_VERSION;%(PreprocessorDefinitions) 235 | true 236 | 237 | MultiThreadedDLL 238 | false 239 | false 240 | AdvancedVectorExtensions 241 | 242 | $(IntDir)$(ProjectName).pch 243 | $(IntDir)$(TargetName).asm 244 | $(IntDir) 245 | $(IntDir)$(ProjectName).pdb 246 | Level3 247 | true 248 | ProgramDatabase 249 | CompileAsCpp 250 | 251 | 252 | $(OutDir)$(ProjectName).mxe64 253 | true 254 | false 255 | libcmt.lib;%(IgnoreSpecificDefaultLibraries) 256 | 257 | 258 | true 259 | $(IntDir)$(ProjectName).pdb 260 | $(IntDir)$(ProjectName).map 261 | Windows 262 | true 263 | true 264 | false 265 | 266 | $(IntDir)$(ProjectName).lib 267 | MachineX64 268 | $(LIBx64) 269 | 270 | 271 | 272 | 273 | 274 | 275 | 276 | 277 | 278 | 279 | 280 | 281 | 282 | 283 | 284 | 285 | -------------------------------------------------------------------------------- /examples/mbmaxcpp/mbmaxcpp.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {d16e67df-a6ce-4d5b-8951-eab150a6783c} 6 | 7 | 8 | 9 | 10 | supporting 11 | 12 | 13 | supporting 14 | 15 | 16 | 17 | 18 | supporting 19 | 20 | 21 | -------------------------------------------------------------------------------- /examples/mbmaxcpp/mbmaxcpp.xcconfig: -------------------------------------------------------------------------------- 1 | #include "../../common.xcconfig" 2 | 3 | PRODUCT_NAME = mbmaxcpp -------------------------------------------------------------------------------- /examples/mbmaxcpp/mbmaxcpp.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 46; 7 | objects = { 8 | 9 | /* Begin PBXBuildFile section */ 10 | 22CF11AE0EE9A8840054F513 /* mbmaxcpp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 22CF11AD0EE9A8840054F513 /* mbmaxcpp.cpp */; }; 11 | 4F3927611882F00700F74074 /* maxcpp6.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F3927601882F00700F74074 /* maxcpp6.h */; }; 12 | 4F4FD6E5187F2577005FB2B9 /* commonsyms.c in Sources */ = {isa = PBXBuildFile; fileRef = 4F4FD6E4187F2577005FB2B9 /* commonsyms.c */; }; 13 | /* End PBXBuildFile section */ 14 | 15 | /* Begin PBXFileReference section */ 16 | 22CF11AD0EE9A8840054F513 /* mbmaxcpp.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = mbmaxcpp.cpp; sourceTree = ""; }; 17 | 2FBBEAE508F335360078DB84 /* mbmaxcpp.mxo */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = mbmaxcpp.mxo; sourceTree = BUILT_PRODUCTS_DIR; }; 18 | 4F3927601882F00700F74074 /* maxcpp6.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = maxcpp6.h; path = ../../maxcpp/maxcpp/maxcpp6.h; sourceTree = SOURCE_ROOT; }; 19 | 4F4FD6E4187F2577005FB2B9 /* commonsyms.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = commonsyms.c; path = "../../max-sdk/source/c74support/max-includes/common/commonsyms.c"; sourceTree = SOURCE_ROOT; }; 20 | 4F9C374D1881688400A88A88 /* common.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = common.xcconfig; path = ../../common.xcconfig; sourceTree = SOURCE_ROOT; }; 21 | 4F9C37511881689300A88A88 /* mbmaxcpp.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = mbmaxcpp.xcconfig; sourceTree = ""; }; 22 | /* End PBXFileReference section */ 23 | 24 | /* Begin PBXFrameworksBuildPhase section */ 25 | 2FBBEADC08F335360078DB84 /* Frameworks */ = { 26 | isa = PBXFrameworksBuildPhase; 27 | buildActionMask = 2147483647; 28 | files = ( 29 | ); 30 | runOnlyForDeploymentPostprocessing = 0; 31 | }; 32 | /* End PBXFrameworksBuildPhase section */ 33 | 34 | /* Begin PBXGroup section */ 35 | 089C166AFE841209C02AAC07 /* iterator */ = { 36 | isa = PBXGroup; 37 | children = ( 38 | 22CF11AD0EE9A8840054F513 /* mbmaxcpp.cpp */, 39 | 4F3927671882F05100F74074 /* supporting files */, 40 | 19C28FB4FE9D528D11CA2CBB /* Products */, 41 | ); 42 | name = iterator; 43 | sourceTree = ""; 44 | }; 45 | 19C28FB4FE9D528D11CA2CBB /* Products */ = { 46 | isa = PBXGroup; 47 | children = ( 48 | 2FBBEAE508F335360078DB84 /* mbmaxcpp.mxo */, 49 | ); 50 | name = Products; 51 | sourceTree = ""; 52 | }; 53 | 4F3927671882F05100F74074 /* supporting files */ = { 54 | isa = PBXGroup; 55 | children = ( 56 | 4F9C374D1881688400A88A88 /* common.xcconfig */, 57 | 4F9C37511881689300A88A88 /* mbmaxcpp.xcconfig */, 58 | 4F4FD6E4187F2577005FB2B9 /* commonsyms.c */, 59 | 4F3927601882F00700F74074 /* maxcpp6.h */, 60 | ); 61 | name = "supporting files"; 62 | sourceTree = ""; 63 | }; 64 | /* End PBXGroup section */ 65 | 66 | /* Begin PBXHeadersBuildPhase section */ 67 | 2FBBEAD708F335360078DB84 /* Headers */ = { 68 | isa = PBXHeadersBuildPhase; 69 | buildActionMask = 2147483647; 70 | files = ( 71 | 4F3927611882F00700F74074 /* maxcpp6.h in Headers */, 72 | ); 73 | runOnlyForDeploymentPostprocessing = 0; 74 | }; 75 | /* End PBXHeadersBuildPhase section */ 76 | 77 | /* Begin PBXNativeTarget section */ 78 | 2FBBEAD608F335360078DB84 /* max-external */ = { 79 | isa = PBXNativeTarget; 80 | buildConfigurationList = 2FBBEAE008F335360078DB84 /* Build configuration list for PBXNativeTarget "max-external" */; 81 | buildPhases = ( 82 | 2FBBEAD708F335360078DB84 /* Headers */, 83 | 2FBBEAD808F335360078DB84 /* Resources */, 84 | 2FBBEADA08F335360078DB84 /* Sources */, 85 | 2FBBEADC08F335360078DB84 /* Frameworks */, 86 | 2FBBEADF08F335360078DB84 /* Rez */, 87 | ); 88 | buildRules = ( 89 | ); 90 | dependencies = ( 91 | ); 92 | name = "max-external"; 93 | productName = iterator; 94 | productReference = 2FBBEAE508F335360078DB84 /* mbmaxcpp.mxo */; 95 | productType = "com.apple.product-type.bundle"; 96 | }; 97 | /* End PBXNativeTarget section */ 98 | 99 | /* Begin PBXProject section */ 100 | 089C1669FE841209C02AAC07 /* Project object */ = { 101 | isa = PBXProject; 102 | attributes = { 103 | LastUpgradeCheck = 0720; 104 | }; 105 | buildConfigurationList = 2FBBEACF08F335010078DB84 /* Build configuration list for PBXProject "mbmaxcpp" */; 106 | compatibilityVersion = "Xcode 3.2"; 107 | developmentRegion = English; 108 | hasScannedForEncodings = 1; 109 | knownRegions = ( 110 | en, 111 | ); 112 | mainGroup = 089C166AFE841209C02AAC07 /* iterator */; 113 | projectDirPath = ""; 114 | projectRoot = ""; 115 | targets = ( 116 | 2FBBEAD608F335360078DB84 /* max-external */, 117 | ); 118 | }; 119 | /* End PBXProject section */ 120 | 121 | /* Begin PBXResourcesBuildPhase section */ 122 | 2FBBEAD808F335360078DB84 /* Resources */ = { 123 | isa = PBXResourcesBuildPhase; 124 | buildActionMask = 2147483647; 125 | files = ( 126 | ); 127 | runOnlyForDeploymentPostprocessing = 0; 128 | }; 129 | /* End PBXResourcesBuildPhase section */ 130 | 131 | /* Begin PBXRezBuildPhase section */ 132 | 2FBBEADF08F335360078DB84 /* Rez */ = { 133 | isa = PBXRezBuildPhase; 134 | buildActionMask = 2147483647; 135 | files = ( 136 | ); 137 | runOnlyForDeploymentPostprocessing = 0; 138 | }; 139 | /* End PBXRezBuildPhase section */ 140 | 141 | /* Begin PBXSourcesBuildPhase section */ 142 | 2FBBEADA08F335360078DB84 /* Sources */ = { 143 | isa = PBXSourcesBuildPhase; 144 | buildActionMask = 2147483647; 145 | files = ( 146 | 22CF11AE0EE9A8840054F513 /* mbmaxcpp.cpp in Sources */, 147 | 4F4FD6E5187F2577005FB2B9 /* commonsyms.c in Sources */, 148 | ); 149 | runOnlyForDeploymentPostprocessing = 0; 150 | }; 151 | /* End PBXSourcesBuildPhase section */ 152 | 153 | /* Begin XCBuildConfiguration section */ 154 | 2FBBEAD008F335010078DB84 /* Debug */ = { 155 | isa = XCBuildConfiguration; 156 | buildSettings = { 157 | ENABLE_TESTABILITY = YES; 158 | ONLY_ACTIVE_ARCH = YES; 159 | }; 160 | name = Debug; 161 | }; 162 | 2FBBEAD108F335010078DB84 /* Release */ = { 163 | isa = XCBuildConfiguration; 164 | buildSettings = { 165 | }; 166 | name = Release; 167 | }; 168 | 2FBBEAE108F335360078DB84 /* Debug */ = { 169 | isa = XCBuildConfiguration; 170 | baseConfigurationReference = 4F9C37511881689300A88A88 /* mbmaxcpp.xcconfig */; 171 | buildSettings = { 172 | COMBINE_HIDPI_IMAGES = YES; 173 | COPY_PHASE_STRIP = NO; 174 | GCC_OPTIMIZATION_LEVEL = 0; 175 | OTHER_LDFLAGS = "$(C74_SYM_LINKER_FLAGS)"; 176 | }; 177 | name = Debug; 178 | }; 179 | 2FBBEAE208F335360078DB84 /* Release */ = { 180 | isa = XCBuildConfiguration; 181 | baseConfigurationReference = 4F9C37511881689300A88A88 /* mbmaxcpp.xcconfig */; 182 | buildSettings = { 183 | COMBINE_HIDPI_IMAGES = YES; 184 | COPY_PHASE_STRIP = YES; 185 | OTHER_LDFLAGS = "$(C74_SYM_LINKER_FLAGS)"; 186 | }; 187 | name = Release; 188 | }; 189 | /* End XCBuildConfiguration section */ 190 | 191 | /* Begin XCConfigurationList section */ 192 | 2FBBEACF08F335010078DB84 /* Build configuration list for PBXProject "mbmaxcpp" */ = { 193 | isa = XCConfigurationList; 194 | buildConfigurations = ( 195 | 2FBBEAD008F335010078DB84 /* Debug */, 196 | 2FBBEAD108F335010078DB84 /* Release */, 197 | ); 198 | defaultConfigurationIsVisible = 0; 199 | defaultConfigurationName = Release; 200 | }; 201 | 2FBBEAE008F335360078DB84 /* Build configuration list for PBXNativeTarget "max-external" */ = { 202 | isa = XCConfigurationList; 203 | buildConfigurations = ( 204 | 2FBBEAE108F335360078DB84 /* Debug */, 205 | 2FBBEAE208F335360078DB84 /* Release */, 206 | ); 207 | defaultConfigurationIsVisible = 0; 208 | defaultConfigurationName = Release; 209 | }; 210 | /* End XCConfigurationList section */ 211 | }; 212 | rootObject = 089C1669FE841209C02AAC07 /* Project object */; 213 | } 214 | -------------------------------------------------------------------------------- /examples/mbmspc/.gitignore: -------------------------------------------------------------------------------- 1 | *.exe 2 | *.sdf 3 | *.opensdf 4 | *.zip 5 | *.suo 6 | *.ncb 7 | *.vcproj.* 8 | *.pkg 9 | *.dmg 10 | *.depend 11 | *.layout 12 | *.mode1v3 13 | *.db 14 | *.LSOverride 15 | *.xcworkspace 16 | *.xcuserdata 17 | *.xcschememanagement.plist 18 | build-* 19 | ipch/* 20 | gui/* 21 | 22 | Icon? 23 | .DS_Stor* -------------------------------------------------------------------------------- /examples/mbmspc/bin/mbmspc.maxhelp: -------------------------------------------------------------------------------- 1 | { 2 | "patcher" : { 3 | "fileversion" : 1, 4 | "appversion" : { 5 | "major" : 7, 6 | "minor" : 1, 7 | "revision" : 0, 8 | "architecture" : "x64", 9 | "modernui" : 1 10 | } 11 | , 12 | "rect" : [ 45.0, 79.0, 640.0, 506.0 ], 13 | "bglocked" : 0, 14 | "openinpresentation" : 0, 15 | "default_fontsize" : 10.0, 16 | "default_fontface" : 0, 17 | "default_fontname" : "Verdana", 18 | "gridonopen" : 1, 19 | "gridsize" : [ 10.0, 10.0 ], 20 | "gridsnaponopen" : 2, 21 | "objectsnaponopen" : 1, 22 | "statusbarvisible" : 2, 23 | "toolbarvisible" : 1, 24 | "lefttoolbarpinned" : 0, 25 | "toptoolbarpinned" : 0, 26 | "righttoolbarpinned" : 0, 27 | "bottomtoolbarpinned" : 0, 28 | "toolbars_unpinned_last_save" : 0, 29 | "tallnewobj" : 0, 30 | "boxanimatetime" : 200, 31 | "enablehscroll" : 1, 32 | "enablevscroll" : 1, 33 | "devicewidth" : 0.0, 34 | "description" : "", 35 | "digest" : "", 36 | "tags" : "", 37 | "style" : "", 38 | "subpatcher_template" : "", 39 | "boxes" : [ { 40 | "box" : { 41 | "fontface" : 0, 42 | "fontname" : "Verdana", 43 | "fontsize" : 10.0, 44 | "id" : "obj-3", 45 | "maxclass" : "number~", 46 | "mode" : 2, 47 | "numinlets" : 2, 48 | "numoutlets" : 2, 49 | "outlettype" : [ "signal", "float" ], 50 | "patching_rect" : [ 204.0, 240.0, 56.0, 21.0 ], 51 | "presentation_rect" : [ 205.0, 244.0, 0.0, 0.0 ], 52 | "sig" : 0.0, 53 | "style" : "" 54 | } 55 | 56 | } 57 | , { 58 | "box" : { 59 | "fontface" : 0, 60 | "fontname" : "Verdana", 61 | "fontsize" : 10.0, 62 | "id" : "obj-2", 63 | "maxclass" : "number~", 64 | "mode" : 1, 65 | "numinlets" : 2, 66 | "numoutlets" : 2, 67 | "outlettype" : [ "signal", "float" ], 68 | "patching_rect" : [ 200.0, 170.0, 56.0, 21.0 ], 69 | "sig" : 1.1, 70 | "style" : "" 71 | } 72 | 73 | } 74 | , { 75 | "box" : { 76 | "fontface" : 3, 77 | "fontname" : "Arial", 78 | "fontsize" : 20.871338, 79 | "id" : "obj-110", 80 | "maxclass" : "comment", 81 | "numinlets" : 1, 82 | "numoutlets" : 0, 83 | "patching_rect" : [ 15.0, 13.0, 566.0, 30.0 ], 84 | "style" : "", 85 | "text" : "mbmspc", 86 | "varname" : "autohelp_top_title" 87 | } 88 | 89 | } 90 | , { 91 | "box" : { 92 | "fontname" : "Arial", 93 | "fontsize" : 12.754705, 94 | "id" : "obj-111", 95 | "maxclass" : "comment", 96 | "numinlets" : 1, 97 | "numoutlets" : 0, 98 | "patching_rect" : [ 15.0, 45.0, 566.0, 21.0 ], 99 | "style" : "", 100 | "text" : "info about this object", 101 | "varname" : "autohelp_top_digest" 102 | } 103 | 104 | } 105 | , { 106 | "box" : { 107 | "fontname" : "Arial", 108 | "fontsize" : 12.0, 109 | "id" : "obj-1", 110 | "maxclass" : "newobj", 111 | "numinlets" : 1, 112 | "numoutlets" : 1, 113 | "outlettype" : [ "signal" ], 114 | "patching_rect" : [ 204.0, 200.0, 62.0, 22.0 ], 115 | "style" : "", 116 | "text" : "mbmspc~" 117 | } 118 | 119 | } 120 | , { 121 | "box" : { 122 | "angle" : 0.0, 123 | "background" : 1, 124 | "bgcolor" : [ 1.0, 0.701961, 0.0, 1.0 ], 125 | "id" : "obj-114", 126 | "maxclass" : "panel", 127 | "mode" : 0, 128 | "numinlets" : 1, 129 | "numoutlets" : 0, 130 | "patching_rect" : [ 10.0, 10.0, 570.0, 60.0 ], 131 | "proportion" : 0.39, 132 | "style" : "", 133 | "varname" : "autohelp_top_panel" 134 | } 135 | 136 | } 137 | ], 138 | "lines" : [ { 139 | "patchline" : { 140 | "destination" : [ "obj-3", 0 ], 141 | "disabled" : 0, 142 | "hidden" : 0, 143 | "source" : [ "obj-1", 0 ] 144 | } 145 | 146 | } 147 | , { 148 | "patchline" : { 149 | "destination" : [ "obj-1", 0 ], 150 | "disabled" : 0, 151 | "hidden" : 0, 152 | "source" : [ "obj-2", 0 ] 153 | } 154 | 155 | } 156 | ], 157 | "dependency_cache" : [ { 158 | "name" : "mbmspc~.mxo", 159 | "type" : "iLaX" 160 | } 161 | ], 162 | "autosave" : 0 163 | } 164 | 165 | } 166 | -------------------------------------------------------------------------------- /examples/mbmspc/mbmspc.c: -------------------------------------------------------------------------------- 1 | #include "ext.h" 2 | #include "ext_obex.h" 3 | #include "ext_strings.h" 4 | #include "ext_common.h" 5 | 6 | #include "z_dsp.h" 7 | 8 | typedef struct _mbmspc 9 | { 10 | t_pxobject c_box; 11 | void *c_outlet; 12 | 13 | double m_value; 14 | } t_mbmspc; 15 | 16 | t_int* mbmspc_perform(t_int *w); 17 | void* mbmspc_new(t_symbol *s, long argc, t_atom *argv); 18 | void mbmspc_assist(t_mbmspc *x, void *b, long m, long a, char *s); 19 | void mbmspc_bang(t_mbmspc *x); 20 | void mbmspc_dsp64(t_mbmspc *x, t_object *dsp64, short *count, double samplerate, long maxvectorsize, long flags); 21 | void mbmspc_perform64(t_mbmspc *x, t_object *dsp64, double **ins, long numins, double **outs, long numouts, long sampleframes, long flags, void *userparam); 22 | 23 | static t_class *s_mbmspc_class = NULL; 24 | 25 | int C74_EXPORT main(void) 26 | { 27 | t_class *c = class_new("mbmspc~", 28 | (method)mbmspc_new, 29 | //(method)mbmspc_free, 30 | (method)dsp_free, 31 | sizeof(t_mbmspc), 32 | (method)NULL, 33 | A_GIMME, 34 | 0); 35 | 36 | common_symbols_init(); 37 | 38 | class_addmethod(c, (method)mbmspc_dsp64, "dsp64", A_CANT, 0); 39 | class_addmethod(c, (method)mbmspc_bang, "bang", 0); 40 | class_addmethod(c, (method)mbmspc_assist,"assist", A_CANT, 0); 41 | 42 | CLASS_ATTR_FLOAT(c, "myvalue", 0, t_mbmspc, m_value); 43 | 44 | class_dspinit(c); 45 | class_register(_sym_box, c); 46 | s_mbmspc_class = c; 47 | 48 | return 0; 49 | } 50 | 51 | // this is the 64-bit perform method audio vectors 52 | void mbmspc_perform64(t_mbmspc *x, t_object *dsp64, double **ins, long numins, double **outs, long numouts, long sampleframes, long flags, void *userparam) 53 | { 54 | t_double *inL = ins[0]; 55 | t_double *outL = outs[0]; 56 | int n = sampleframes; 57 | 58 | while (n--) 59 | *outL++ = *inL++; 60 | } 61 | 62 | void mbmspc_dsp64(t_mbmspc *x, t_object *dsp64, short *count, double samplerate, long maxvectorsize, long flags) 63 | { 64 | object_method(dsp64, gensym("dsp_add64"), x, mbmspc_perform64, 0, NULL); 65 | } 66 | 67 | void *mbmspc_new(t_symbol *s, long argc, t_atom *argv) 68 | { 69 | t_mbmspc *x; 70 | 71 | x = (t_mbmspc*)object_alloc(s_mbmspc_class); 72 | 73 | dsp_setup((t_pxobject *)x, 1); 74 | 75 | if (x) 76 | { 77 | x->c_outlet = outlet_new(x, "signal"); 78 | } 79 | 80 | return(x); 81 | } 82 | void mbmspc_assist(t_mbmspc *x, void *b, long msg, long arg, char *dst) 83 | { 84 | if (msg==1) 85 | strcpy(dst, "input"); 86 | else if (msg==2) 87 | strcpy(dst, "output"); 88 | } 89 | 90 | void mbmspc_bang(t_mbmspc *x) 91 | { 92 | post("bang"); 93 | } -------------------------------------------------------------------------------- /examples/mbmspc/mbmspc.def: -------------------------------------------------------------------------------- 1 | LIBRARY mbmspc.mxe 2 | 3 | EXPORTS 4 | main 5 | -------------------------------------------------------------------------------- /examples/mbmspc/mbmspc.props: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /examples/mbmspc/mbmspc.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 11.00 3 | # Visual Studio 2010 4 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mbmspc", "mbmspc.vcxproj", "{D7D2B050-0FAC-4326-89AD-C82254541416}" 5 | EndProject 6 | Global 7 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 8 | Debug|Win32 = Debug|Win32 9 | Debug|x64 = Debug|x64 10 | Release|Win32 = Release|Win32 11 | Release|x64 = Release|x64 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {D7D2B050-0FAC-4326-89AD-C82254541416}.Debug|Win32.ActiveCfg = Debug|Win32 15 | {D7D2B050-0FAC-4326-89AD-C82254541416}.Debug|Win32.Build.0 = Debug|Win32 16 | {D7D2B050-0FAC-4326-89AD-C82254541416}.Debug|x64.ActiveCfg = Debug|x64 17 | {D7D2B050-0FAC-4326-89AD-C82254541416}.Debug|x64.Build.0 = Debug|x64 18 | {D7D2B050-0FAC-4326-89AD-C82254541416}.Release|Win32.ActiveCfg = Release|Win32 19 | {D7D2B050-0FAC-4326-89AD-C82254541416}.Release|Win32.Build.0 = Release|Win32 20 | {D7D2B050-0FAC-4326-89AD-C82254541416}.Release|x64.ActiveCfg = Release|x64 21 | {D7D2B050-0FAC-4326-89AD-C82254541416}.Release|x64.Build.0 = Release|x64 22 | EndGlobalSection 23 | GlobalSection(SolutionProperties) = preSolution 24 | HideSolutionNode = FALSE 25 | EndGlobalSection 26 | EndGlobal 27 | -------------------------------------------------------------------------------- /examples/mbmspc/mbmspc.vcxproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | Debug 7 | Win32 8 | 9 | 10 | Debug 11 | x64 12 | 13 | 14 | Release 15 | Win32 16 | 17 | 18 | Release 19 | x64 20 | 21 | 22 | 23 | {D7D2B050-0FAC-4326-89AD-C82254541416} 24 | 25 | 26 | 27 | DynamicLibrary 28 | v100 29 | false 30 | MultiByte 31 | true 32 | 33 | 34 | DynamicLibrary 35 | v100 36 | false 37 | MultiByte 38 | 39 | 40 | DynamicLibrary 41 | v100 42 | false 43 | MultiByte 44 | true 45 | 46 | 47 | DynamicLibrary 48 | v100 49 | false 50 | MultiByte 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | <_ProjectFileVersion>11.0.51106.1 82 | 83 | 84 | true 85 | .mxe 86 | 87 | 88 | true 89 | .mxe64 90 | 91 | 92 | false 93 | .mxe 94 | 95 | 96 | false 97 | .mxe64 98 | 99 | 100 | 101 | Disabled 102 | $(C74SUPPORT)\max-includes;$(C74SUPPORT)\msp-includes;%(AdditionalIncludeDirectories) 103 | WIN_VERSION;WIN32;_DEBUG;_WINDOWS;_USRDLL;WIN_EXT_VERSION;%(PreprocessorDefinitions) 104 | true 105 | 106 | EnableFastChecks 107 | MultiThreadedDebugDLL 108 | true 109 | true 110 | 111 | 112 | $(IntDir)$(ProjectName).pch 113 | $(IntDir)$(TargetName).asm 114 | $(IntDir) 115 | $(IntDir)$(ProjectName).pdb 116 | Level3 117 | true 118 | ProgramDatabase 119 | CompileAsCpp 120 | 121 | 122 | $(OutDir)$(ProjectName).mxe 123 | true 124 | false 125 | libcmt.lib;%(IgnoreSpecificDefaultLibraries) 126 | 127 | 128 | true 129 | $(IntDir)$(ProjectName).pdb 130 | $(IntDir)$(ProjectName).map 131 | Windows 132 | false 133 | 134 | $(IntDir)$(ProjectName).lib 135 | MachineX86 136 | $(LIBx86);%(AdditionalLibraryDirectories) 137 | 138 | 139 | 140 | 141 | Disabled 142 | $(C74SUPPORT)\max-includes;$(C74SUPPORT)\msp-includes;%(AdditionalIncludeDirectories) 143 | WIN_VERSION;WIN32;_DEBUG;_WINDOWS;_USRDLL;WIN_EXT_VERSION;%(PreprocessorDefinitions) 144 | true 145 | 146 | EnableFastChecks 147 | MultiThreadedDebugDLL 148 | true 149 | true 150 | 151 | 152 | $(IntDir)$(ProjectName).pch 153 | $(IntDir)$(TargetName).asm 154 | $(IntDir) 155 | $(IntDir)$(ProjectName).pdb 156 | Level3 157 | true 158 | ProgramDatabase 159 | CompileAsCpp 160 | 161 | 162 | $(OutDir)$(ProjectName).mxe64 163 | true 164 | false 165 | libcmt.lib;%(IgnoreSpecificDefaultLibraries) 166 | 167 | 168 | true 169 | $(IntDir)$(ProjectName).pdb 170 | $(IntDir)$(ProjectName).map 171 | Windows 172 | false 173 | 174 | $(IntDir)$(ProjectName).lib 175 | MachineX64 176 | $(LIBx64) 177 | 178 | 179 | 180 | 181 | MaxSpeed 182 | AnySuitable 183 | true 184 | Speed 185 | true 186 | true 187 | $(C74SUPPORT)\max-includes;$(C74SUPPORT)\msp-includes;%(AdditionalIncludeDirectories) 188 | WIN_VERSION;WIN32;NDEBUG;_WINDOWS;_USRDLL;WIN_EXT_VERSION;%(PreprocessorDefinitions) 189 | true 190 | 191 | MultiThreadedDLL 192 | false 193 | false 194 | StreamingSIMDExtensions2 195 | 196 | $(IntDir)$(ProjectName).pch 197 | $(IntDir)$(TargetName).asm 198 | $(IntDir) 199 | $(IntDir)$(ProjectName).pdb 200 | Level3 201 | true 202 | ProgramDatabase 203 | CompileAsCpp 204 | 205 | 206 | $(OutDir)$(ProjectName).mxe 207 | true 208 | false 209 | libcmt.lib;%(IgnoreSpecificDefaultLibraries) 210 | 211 | 212 | true 213 | $(IntDir)$(ProjectName).pdb 214 | $(IntDir)$(ProjectName).map 215 | Windows 216 | true 217 | true 218 | false 219 | 220 | $(IntDir)$(ProjectName).lib 221 | MachineX86 222 | $(LIBx86);%(AdditionalLibraryDirectories) 223 | 224 | 225 | 226 | 227 | MaxSpeed 228 | AnySuitable 229 | true 230 | Speed 231 | true 232 | true 233 | $(C74SUPPORT)\max-includes;$(C74SUPPORT)\msp-includes;%(AdditionalIncludeDirectories) 234 | WIN_VERSION;WIN32;NDEBUG;_WINDOWS;_USRDLL;WIN_EXT_VERSION;%(PreprocessorDefinitions) 235 | true 236 | 237 | MultiThreadedDLL 238 | false 239 | false 240 | AdvancedVectorExtensions 241 | 242 | $(IntDir)$(ProjectName).pch 243 | $(IntDir)$(TargetName).asm 244 | $(IntDir) 245 | $(IntDir)$(ProjectName).pdb 246 | Level3 247 | true 248 | ProgramDatabase 249 | CompileAsCpp 250 | 251 | 252 | $(OutDir)$(ProjectName).mxe64 253 | true 254 | false 255 | libcmt.lib;%(IgnoreSpecificDefaultLibraries) 256 | 257 | 258 | true 259 | $(IntDir)$(ProjectName).pdb 260 | $(IntDir)$(ProjectName).map 261 | Windows 262 | true 263 | true 264 | false 265 | 266 | $(IntDir)$(ProjectName).lib 267 | MachineX64 268 | $(LIBx64) 269 | 270 | 271 | 272 | 273 | 274 | 275 | 276 | 277 | 278 | 279 | 280 | 281 | 282 | 283 | 284 | 285 | -------------------------------------------------------------------------------- /examples/mbmspc/mbmspc.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {d16e67df-a6ce-4d5b-8951-eab150a6783c} 6 | 7 | 8 | 9 | 10 | supporting 11 | 12 | 13 | supporting 14 | 15 | 16 | 17 | 18 | supporting 19 | 20 | 21 | -------------------------------------------------------------------------------- /examples/mbmspc/mbmspc.xcconfig: -------------------------------------------------------------------------------- 1 | #include "../../common.xcconfig" 2 | 3 | PRODUCT_NAME = mbmspc~ -------------------------------------------------------------------------------- /examples/mbmspc/mbmspc.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 46; 7 | objects = { 8 | 9 | /* Begin PBXBuildFile section */ 10 | 22CF11AE0EE9A8840054F513 /* mbmspc.c in Sources */ = {isa = PBXBuildFile; fileRef = 22CF11AD0EE9A8840054F513 /* mbmspc.c */; }; 11 | 4F4FD6E5187F2577005FB2B9 /* commonsyms.c in Sources */ = {isa = PBXBuildFile; fileRef = 4F4FD6E4187F2577005FB2B9 /* commonsyms.c */; }; 12 | 4F4FD71E187F271F005FB2B9 /* MaxAudioAPI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4F4FD71D187F271F005FB2B9 /* MaxAudioAPI.framework */; }; 13 | /* End PBXBuildFile section */ 14 | 15 | /* Begin PBXFileReference section */ 16 | 22CF11AD0EE9A8840054F513 /* mbmspc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = mbmspc.c; sourceTree = ""; }; 17 | 2FBBEAE508F335360078DB84 /* mbmspc~.mxo */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "mbmspc~.mxo"; sourceTree = BUILT_PRODUCTS_DIR; }; 18 | 4F4FD6E4187F2577005FB2B9 /* commonsyms.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = commonsyms.c; path = "../../max-sdk/source/c74support/max-includes/common/commonsyms.c"; sourceTree = SOURCE_ROOT; }; 19 | 4F4FD71D187F271F005FB2B9 /* MaxAudioAPI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MaxAudioAPI.framework; path = "../../max-sdk/source/c74support/msp-includes/MaxAudioAPI.framework"; sourceTree = SOURCE_ROOT; }; 20 | 4F9C3766188168F200A88A88 /* common.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = common.xcconfig; path = ../../common.xcconfig; sourceTree = SOURCE_ROOT; }; 21 | 4F9C3769188168FF00A88A88 /* mbmspc.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = mbmspc.xcconfig; sourceTree = ""; }; 22 | /* End PBXFileReference section */ 23 | 24 | /* Begin PBXFrameworksBuildPhase section */ 25 | 2FBBEADC08F335360078DB84 /* Frameworks */ = { 26 | isa = PBXFrameworksBuildPhase; 27 | buildActionMask = 2147483647; 28 | files = ( 29 | 4F4FD71E187F271F005FB2B9 /* MaxAudioAPI.framework in Frameworks */, 30 | ); 31 | runOnlyForDeploymentPostprocessing = 0; 32 | }; 33 | /* End PBXFrameworksBuildPhase section */ 34 | 35 | /* Begin PBXGroup section */ 36 | 089C166AFE841209C02AAC07 /* iterator */ = { 37 | isa = PBXGroup; 38 | children = ( 39 | 22CF11AD0EE9A8840054F513 /* mbmspc.c */, 40 | 4F39277F1882F0C000F74074 /* supporting */, 41 | 19C28FB4FE9D528D11CA2CBB /* Products */, 42 | ); 43 | name = iterator; 44 | sourceTree = ""; 45 | }; 46 | 19C28FB4FE9D528D11CA2CBB /* Products */ = { 47 | isa = PBXGroup; 48 | children = ( 49 | 2FBBEAE508F335360078DB84 /* mbmspc~.mxo */, 50 | ); 51 | name = Products; 52 | sourceTree = ""; 53 | }; 54 | 4F39277F1882F0C000F74074 /* supporting */ = { 55 | isa = PBXGroup; 56 | children = ( 57 | 4F4FD71D187F271F005FB2B9 /* MaxAudioAPI.framework */, 58 | 4F9C3766188168F200A88A88 /* common.xcconfig */, 59 | 4F9C3769188168FF00A88A88 /* mbmspc.xcconfig */, 60 | 4F4FD6E4187F2577005FB2B9 /* commonsyms.c */, 61 | ); 62 | name = supporting; 63 | sourceTree = ""; 64 | }; 65 | /* End PBXGroup section */ 66 | 67 | /* Begin PBXHeadersBuildPhase section */ 68 | 2FBBEAD708F335360078DB84 /* Headers */ = { 69 | isa = PBXHeadersBuildPhase; 70 | buildActionMask = 2147483647; 71 | files = ( 72 | ); 73 | runOnlyForDeploymentPostprocessing = 0; 74 | }; 75 | /* End PBXHeadersBuildPhase section */ 76 | 77 | /* Begin PBXNativeTarget section */ 78 | 2FBBEAD608F335360078DB84 /* max-external */ = { 79 | isa = PBXNativeTarget; 80 | buildConfigurationList = 2FBBEAE008F335360078DB84 /* Build configuration list for PBXNativeTarget "max-external" */; 81 | buildPhases = ( 82 | 2FBBEAD708F335360078DB84 /* Headers */, 83 | 2FBBEAD808F335360078DB84 /* Resources */, 84 | 2FBBEADA08F335360078DB84 /* Sources */, 85 | 2FBBEADC08F335360078DB84 /* Frameworks */, 86 | 2FBBEADF08F335360078DB84 /* Rez */, 87 | ); 88 | buildRules = ( 89 | ); 90 | dependencies = ( 91 | ); 92 | name = "max-external"; 93 | productName = iterator; 94 | productReference = 2FBBEAE508F335360078DB84 /* mbmspc~.mxo */; 95 | productType = "com.apple.product-type.bundle"; 96 | }; 97 | /* End PBXNativeTarget section */ 98 | 99 | /* Begin PBXProject section */ 100 | 089C1669FE841209C02AAC07 /* Project object */ = { 101 | isa = PBXProject; 102 | attributes = { 103 | LastUpgradeCheck = 0720; 104 | }; 105 | buildConfigurationList = 2FBBEACF08F335010078DB84 /* Build configuration list for PBXProject "mbmspc" */; 106 | compatibilityVersion = "Xcode 3.2"; 107 | developmentRegion = English; 108 | hasScannedForEncodings = 1; 109 | knownRegions = ( 110 | en, 111 | ); 112 | mainGroup = 089C166AFE841209C02AAC07 /* iterator */; 113 | projectDirPath = ""; 114 | projectRoot = ""; 115 | targets = ( 116 | 2FBBEAD608F335360078DB84 /* max-external */, 117 | ); 118 | }; 119 | /* End PBXProject section */ 120 | 121 | /* Begin PBXResourcesBuildPhase section */ 122 | 2FBBEAD808F335360078DB84 /* Resources */ = { 123 | isa = PBXResourcesBuildPhase; 124 | buildActionMask = 2147483647; 125 | files = ( 126 | ); 127 | runOnlyForDeploymentPostprocessing = 0; 128 | }; 129 | /* End PBXResourcesBuildPhase section */ 130 | 131 | /* Begin PBXRezBuildPhase section */ 132 | 2FBBEADF08F335360078DB84 /* Rez */ = { 133 | isa = PBXRezBuildPhase; 134 | buildActionMask = 2147483647; 135 | files = ( 136 | ); 137 | runOnlyForDeploymentPostprocessing = 0; 138 | }; 139 | /* End PBXRezBuildPhase section */ 140 | 141 | /* Begin PBXSourcesBuildPhase section */ 142 | 2FBBEADA08F335360078DB84 /* Sources */ = { 143 | isa = PBXSourcesBuildPhase; 144 | buildActionMask = 2147483647; 145 | files = ( 146 | 22CF11AE0EE9A8840054F513 /* mbmspc.c in Sources */, 147 | 4F4FD6E5187F2577005FB2B9 /* commonsyms.c in Sources */, 148 | ); 149 | runOnlyForDeploymentPostprocessing = 0; 150 | }; 151 | /* End PBXSourcesBuildPhase section */ 152 | 153 | /* Begin XCBuildConfiguration section */ 154 | 2FBBEAD008F335010078DB84 /* Debug */ = { 155 | isa = XCBuildConfiguration; 156 | buildSettings = { 157 | ENABLE_TESTABILITY = YES; 158 | ONLY_ACTIVE_ARCH = YES; 159 | }; 160 | name = Debug; 161 | }; 162 | 2FBBEAD108F335010078DB84 /* Release */ = { 163 | isa = XCBuildConfiguration; 164 | buildSettings = { 165 | }; 166 | name = Release; 167 | }; 168 | 2FBBEAE108F335360078DB84 /* Debug */ = { 169 | isa = XCBuildConfiguration; 170 | baseConfigurationReference = 4F9C3769188168FF00A88A88 /* mbmspc.xcconfig */; 171 | buildSettings = { 172 | COMBINE_HIDPI_IMAGES = YES; 173 | COPY_PHASE_STRIP = NO; 174 | FRAMEWORK_SEARCH_PATHS = ( 175 | "$(inherited)", 176 | "\"$(SRCROOT)/../../max-sdk/c74support/msp-includes\"", 177 | ); 178 | GCC_OPTIMIZATION_LEVEL = 0; 179 | OTHER_LDFLAGS = "$(C74_SYM_LINKER_FLAGS)"; 180 | }; 181 | name = Debug; 182 | }; 183 | 2FBBEAE208F335360078DB84 /* Release */ = { 184 | isa = XCBuildConfiguration; 185 | baseConfigurationReference = 4F9C3769188168FF00A88A88 /* mbmspc.xcconfig */; 186 | buildSettings = { 187 | COMBINE_HIDPI_IMAGES = YES; 188 | COPY_PHASE_STRIP = YES; 189 | FRAMEWORK_SEARCH_PATHS = ( 190 | "$(inherited)", 191 | "\"$(SRCROOT)/../../max-sdk/c74support/msp-includes\"", 192 | ); 193 | OTHER_LDFLAGS = "$(C74_SYM_LINKER_FLAGS)"; 194 | }; 195 | name = Release; 196 | }; 197 | /* End XCBuildConfiguration section */ 198 | 199 | /* Begin XCConfigurationList section */ 200 | 2FBBEACF08F335010078DB84 /* Build configuration list for PBXProject "mbmspc" */ = { 201 | isa = XCConfigurationList; 202 | buildConfigurations = ( 203 | 2FBBEAD008F335010078DB84 /* Debug */, 204 | 2FBBEAD108F335010078DB84 /* Release */, 205 | ); 206 | defaultConfigurationIsVisible = 0; 207 | defaultConfigurationName = Release; 208 | }; 209 | 2FBBEAE008F335360078DB84 /* Build configuration list for PBXNativeTarget "max-external" */ = { 210 | isa = XCConfigurationList; 211 | buildConfigurations = ( 212 | 2FBBEAE108F335360078DB84 /* Debug */, 213 | 2FBBEAE208F335360078DB84 /* Release */, 214 | ); 215 | defaultConfigurationIsVisible = 0; 216 | defaultConfigurationName = Release; 217 | }; 218 | /* End XCConfigurationList section */ 219 | }; 220 | rootObject = 089C1669FE841209C02AAC07 /* Project object */; 221 | } 222 | -------------------------------------------------------------------------------- /examples/mbmspcpp/.gitignore: -------------------------------------------------------------------------------- 1 | *.exe 2 | *.sdf 3 | *.opensdf 4 | *.zip 5 | *.suo 6 | *.ncb 7 | *.vcproj.* 8 | *.pkg 9 | *.dmg 10 | *.depend 11 | *.layout 12 | *.mode1v3 13 | *.db 14 | *.LSOverride 15 | *.xcworkspace 16 | *.xcuserdata 17 | *.xcschememanagement.plist 18 | build-* 19 | ipch/* 20 | gui/* 21 | 22 | Icon? 23 | .DS_Stor* -------------------------------------------------------------------------------- /examples/mbmspcpp/bin/mbmspcpp.maxhelp: -------------------------------------------------------------------------------- 1 | { 2 | "patcher" : { 3 | "fileversion" : 1, 4 | "appversion" : { 5 | "major" : 7, 6 | "minor" : 1, 7 | "revision" : 0, 8 | "architecture" : "x64", 9 | "modernui" : 1 10 | } 11 | , 12 | "rect" : [ 45.0, 79.0, 640.0, 506.0 ], 13 | "bglocked" : 0, 14 | "openinpresentation" : 0, 15 | "default_fontsize" : 10.0, 16 | "default_fontface" : 0, 17 | "default_fontname" : "Verdana", 18 | "gridonopen" : 1, 19 | "gridsize" : [ 10.0, 10.0 ], 20 | "gridsnaponopen" : 2, 21 | "objectsnaponopen" : 1, 22 | "statusbarvisible" : 2, 23 | "toolbarvisible" : 1, 24 | "lefttoolbarpinned" : 0, 25 | "toptoolbarpinned" : 0, 26 | "righttoolbarpinned" : 0, 27 | "bottomtoolbarpinned" : 0, 28 | "toolbars_unpinned_last_save" : 0, 29 | "tallnewobj" : 0, 30 | "boxanimatetime" : 200, 31 | "enablehscroll" : 1, 32 | "enablevscroll" : 1, 33 | "devicewidth" : 0.0, 34 | "description" : "", 35 | "digest" : "", 36 | "tags" : "", 37 | "style" : "", 38 | "subpatcher_template" : "", 39 | "boxes" : [ { 40 | "box" : { 41 | "fontface" : 0, 42 | "fontname" : "Verdana", 43 | "fontsize" : 10.0, 44 | "id" : "obj-3", 45 | "maxclass" : "number~", 46 | "mode" : 2, 47 | "numinlets" : 2, 48 | "numoutlets" : 2, 49 | "outlettype" : [ "signal", "float" ], 50 | "patching_rect" : [ 230.0, 340.0, 56.0, 21.0 ], 51 | "presentation_rect" : [ 225.0, 343.0, 0.0, 0.0 ], 52 | "sig" : 0.0, 53 | "style" : "" 54 | } 55 | 56 | } 57 | , { 58 | "box" : { 59 | "fontface" : 0, 60 | "fontname" : "Verdana", 61 | "fontsize" : 10.0, 62 | "id" : "obj-2", 63 | "maxclass" : "number~", 64 | "mode" : 1, 65 | "numinlets" : 2, 66 | "numoutlets" : 2, 67 | "outlettype" : [ "signal", "float" ], 68 | "patching_rect" : [ 230.0, 190.0, 56.0, 21.0 ], 69 | "sig" : 1.5, 70 | "style" : "" 71 | } 72 | 73 | } 74 | , { 75 | "box" : { 76 | "fontface" : 3, 77 | "fontname" : "Arial", 78 | "fontsize" : 20.871338, 79 | "id" : "obj-110", 80 | "maxclass" : "comment", 81 | "numinlets" : 1, 82 | "numoutlets" : 0, 83 | "patching_rect" : [ 15.0, 13.0, 566.0, 30.0 ], 84 | "style" : "", 85 | "text" : "mbmspcpp", 86 | "varname" : "autohelp_top_title" 87 | } 88 | 89 | } 90 | , { 91 | "box" : { 92 | "fontname" : "Arial", 93 | "fontsize" : 12.754705, 94 | "id" : "obj-111", 95 | "maxclass" : "comment", 96 | "numinlets" : 1, 97 | "numoutlets" : 0, 98 | "patching_rect" : [ 15.0, 45.0, 566.0, 21.0 ], 99 | "style" : "", 100 | "text" : "info about this object", 101 | "varname" : "autohelp_top_digest" 102 | } 103 | 104 | } 105 | , { 106 | "box" : { 107 | "fontname" : "Arial", 108 | "fontsize" : 12.0, 109 | "id" : "obj-1", 110 | "maxclass" : "newobj", 111 | "numinlets" : 1, 112 | "numoutlets" : 1, 113 | "outlettype" : [ "signal" ], 114 | "patching_rect" : [ 220.0, 240.0, 74.0, 22.0 ], 115 | "style" : "", 116 | "text" : "mbmspcpp~" 117 | } 118 | 119 | } 120 | , { 121 | "box" : { 122 | "angle" : 0.0, 123 | "background" : 1, 124 | "bgcolor" : [ 1.0, 0.701961, 0.0, 1.0 ], 125 | "id" : "obj-114", 126 | "maxclass" : "panel", 127 | "mode" : 0, 128 | "numinlets" : 1, 129 | "numoutlets" : 0, 130 | "patching_rect" : [ 10.0, 10.0, 570.0, 60.0 ], 131 | "proportion" : 0.39, 132 | "style" : "", 133 | "varname" : "autohelp_top_panel" 134 | } 135 | 136 | } 137 | ], 138 | "lines" : [ { 139 | "patchline" : { 140 | "destination" : [ "obj-3", 0 ], 141 | "disabled" : 0, 142 | "hidden" : 0, 143 | "source" : [ "obj-1", 0 ] 144 | } 145 | 146 | } 147 | , { 148 | "patchline" : { 149 | "destination" : [ "obj-1", 0 ], 150 | "disabled" : 0, 151 | "hidden" : 0, 152 | "source" : [ "obj-2", 0 ] 153 | } 154 | 155 | } 156 | ], 157 | "dependency_cache" : [ { 158 | "name" : "mbmspcpp~.mxo", 159 | "type" : "iLaX" 160 | } 161 | ], 162 | "autosave" : 0 163 | } 164 | 165 | } 166 | -------------------------------------------------------------------------------- /examples/mbmspcpp/mbmspcpp.cpp: -------------------------------------------------------------------------------- 1 | #include "../../maxcpp/maxcpp/maxcpp6.h" 2 | 3 | class mbmspcpp : public MspCpp6 4 | { 5 | public: 6 | mbmspcpp(t_symbol * sym, long ac, t_atom * av) { 7 | setupIO(1, 1); 8 | } 9 | 10 | ~mbmspcpp() {} 11 | 12 | //void dsp(t_object * dsp64, short *count, double samplerate, long maxvectorsize, long flags) { 13 | //setSampleRate(sys_getsr()); 14 | //} 15 | 16 | void perform(double **ins, long numins, double **outs, long numouts, long sampleframes) { 17 | for (long channel = 0; channel < numouts; channel++) { 18 | double * in = ins[channel]; 19 | double * out = outs[channel]; 20 | for (long i=0; i < sampleframes; i++) { 21 | out[i] = in[i]; 22 | } 23 | } 24 | } 25 | }; 26 | 27 | extern "C" int C74_EXPORT main(void) { 28 | mbmspcpp::makeMaxClass("mbmspcpp~"); 29 | } -------------------------------------------------------------------------------- /examples/mbmspcpp/mbmspcpp.def: -------------------------------------------------------------------------------- 1 | LIBRARY mbmspcpp.mxe 2 | 3 | EXPORTS 4 | main 5 | -------------------------------------------------------------------------------- /examples/mbmspcpp/mbmspcpp.props: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /examples/mbmspcpp/mbmspcpp.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 11.00 3 | # Visual Studio 2010 4 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mbmspcpp", "mbmspcpp.vcxproj", "{D7D2B050-0FAC-4326-89AD-C82254541416}" 5 | EndProject 6 | Global 7 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 8 | Debug|Win32 = Debug|Win32 9 | Debug|x64 = Debug|x64 10 | Release|Win32 = Release|Win32 11 | Release|x64 = Release|x64 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {D7D2B050-0FAC-4326-89AD-C82254541416}.Debug|Win32.ActiveCfg = Debug|Win32 15 | {D7D2B050-0FAC-4326-89AD-C82254541416}.Debug|Win32.Build.0 = Debug|Win32 16 | {D7D2B050-0FAC-4326-89AD-C82254541416}.Debug|x64.ActiveCfg = Debug|x64 17 | {D7D2B050-0FAC-4326-89AD-C82254541416}.Debug|x64.Build.0 = Debug|x64 18 | {D7D2B050-0FAC-4326-89AD-C82254541416}.Release|Win32.ActiveCfg = Release|Win32 19 | {D7D2B050-0FAC-4326-89AD-C82254541416}.Release|Win32.Build.0 = Release|Win32 20 | {D7D2B050-0FAC-4326-89AD-C82254541416}.Release|x64.ActiveCfg = Release|x64 21 | {D7D2B050-0FAC-4326-89AD-C82254541416}.Release|x64.Build.0 = Release|x64 22 | EndGlobalSection 23 | GlobalSection(SolutionProperties) = preSolution 24 | HideSolutionNode = FALSE 25 | EndGlobalSection 26 | EndGlobal 27 | -------------------------------------------------------------------------------- /examples/mbmspcpp/mbmspcpp.vcxproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | Debug 7 | Win32 8 | 9 | 10 | Debug 11 | x64 12 | 13 | 14 | Release 15 | Win32 16 | 17 | 18 | Release 19 | x64 20 | 21 | 22 | 23 | {D7D2B050-0FAC-4326-89AD-C82254541416} 24 | 25 | 26 | 27 | DynamicLibrary 28 | v100 29 | false 30 | MultiByte 31 | true 32 | 33 | 34 | DynamicLibrary 35 | v100 36 | false 37 | MultiByte 38 | 39 | 40 | DynamicLibrary 41 | v100 42 | false 43 | MultiByte 44 | true 45 | 46 | 47 | DynamicLibrary 48 | v100 49 | false 50 | MultiByte 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | <_ProjectFileVersion>11.0.51106.1 82 | 83 | 84 | true 85 | .mxe 86 | 87 | 88 | true 89 | .mxe64 90 | 91 | 92 | false 93 | .mxe 94 | 95 | 96 | false 97 | .mxe64 98 | 99 | 100 | 101 | Disabled 102 | $(C74SUPPORT)\max-includes;$(C74SUPPORT)\msp-includes;%(AdditionalIncludeDirectories) 103 | WIN_VERSION;WIN32;_DEBUG;_WINDOWS;_USRDLL;WIN_EXT_VERSION;%(PreprocessorDefinitions) 104 | true 105 | 106 | EnableFastChecks 107 | MultiThreadedDebugDLL 108 | true 109 | true 110 | 111 | 112 | $(IntDir)$(ProjectName).pch 113 | $(IntDir)$(TargetName).asm 114 | $(IntDir) 115 | $(IntDir)$(ProjectName).pdb 116 | Level3 117 | true 118 | ProgramDatabase 119 | CompileAsCpp 120 | 121 | 122 | $(OutDir)$(ProjectName).mxe 123 | true 124 | false 125 | libcmt.lib;%(IgnoreSpecificDefaultLibraries) 126 | 127 | 128 | true 129 | $(IntDir)$(ProjectName).pdb 130 | $(IntDir)$(ProjectName).map 131 | Windows 132 | false 133 | 134 | $(IntDir)$(ProjectName).lib 135 | MachineX86 136 | $(LIBx86);%(AdditionalLibraryDirectories) 137 | 138 | 139 | 140 | 141 | Disabled 142 | $(C74SUPPORT)\max-includes;$(C74SUPPORT)\msp-includes;%(AdditionalIncludeDirectories) 143 | WIN_VERSION;WIN32;_DEBUG;_WINDOWS;_USRDLL;WIN_EXT_VERSION;%(PreprocessorDefinitions) 144 | true 145 | 146 | EnableFastChecks 147 | MultiThreadedDebugDLL 148 | true 149 | true 150 | 151 | 152 | $(IntDir)$(ProjectName).pch 153 | $(IntDir)$(TargetName).asm 154 | $(IntDir) 155 | $(IntDir)$(ProjectName).pdb 156 | Level3 157 | true 158 | ProgramDatabase 159 | CompileAsCpp 160 | 161 | 162 | $(OutDir)$(ProjectName).mxe64 163 | true 164 | false 165 | libcmt.lib;%(IgnoreSpecificDefaultLibraries) 166 | 167 | 168 | true 169 | $(IntDir)$(ProjectName).pdb 170 | $(IntDir)$(ProjectName).map 171 | Windows 172 | false 173 | 174 | $(IntDir)$(ProjectName).lib 175 | MachineX64 176 | $(LIBx64) 177 | 178 | 179 | 180 | 181 | MaxSpeed 182 | AnySuitable 183 | true 184 | Speed 185 | true 186 | true 187 | $(C74SUPPORT)\max-includes;$(C74SUPPORT)\msp-includes;%(AdditionalIncludeDirectories) 188 | WIN_VERSION;WIN32;NDEBUG;_WINDOWS;_USRDLL;WIN_EXT_VERSION;%(PreprocessorDefinitions) 189 | true 190 | 191 | MultiThreadedDLL 192 | false 193 | false 194 | StreamingSIMDExtensions2 195 | 196 | $(IntDir)$(ProjectName).pch 197 | $(IntDir)$(TargetName).asm 198 | $(IntDir) 199 | $(IntDir)$(ProjectName).pdb 200 | Level3 201 | true 202 | ProgramDatabase 203 | CompileAsCpp 204 | 205 | 206 | $(OutDir)$(ProjectName).mxe 207 | true 208 | false 209 | libcmt.lib;%(IgnoreSpecificDefaultLibraries) 210 | 211 | 212 | true 213 | $(IntDir)$(ProjectName).pdb 214 | $(IntDir)$(ProjectName).map 215 | Windows 216 | true 217 | true 218 | false 219 | 220 | $(IntDir)$(ProjectName).lib 221 | MachineX86 222 | $(LIBx86);%(AdditionalLibraryDirectories) 223 | 224 | 225 | 226 | 227 | MaxSpeed 228 | AnySuitable 229 | true 230 | Speed 231 | true 232 | true 233 | $(C74SUPPORT)\max-includes;$(C74SUPPORT)\msp-includes;%(AdditionalIncludeDirectories) 234 | WIN_VERSION;WIN32;NDEBUG;_WINDOWS;_USRDLL;WIN_EXT_VERSION;%(PreprocessorDefinitions) 235 | true 236 | 237 | MultiThreadedDLL 238 | false 239 | false 240 | AdvancedVectorExtensions 241 | 242 | $(IntDir)$(ProjectName).pch 243 | $(IntDir)$(TargetName).asm 244 | $(IntDir) 245 | $(IntDir)$(ProjectName).pdb 246 | Level3 247 | true 248 | ProgramDatabase 249 | CompileAsCpp 250 | 251 | 252 | $(OutDir)$(ProjectName).mxe64 253 | true 254 | false 255 | libcmt.lib;%(IgnoreSpecificDefaultLibraries) 256 | 257 | 258 | true 259 | $(IntDir)$(ProjectName).pdb 260 | $(IntDir)$(ProjectName).map 261 | Windows 262 | true 263 | true 264 | false 265 | 266 | $(IntDir)$(ProjectName).lib 267 | MachineX64 268 | $(LIBx64) 269 | 270 | 271 | 272 | 273 | 274 | 275 | 276 | 277 | 278 | 279 | 280 | 281 | 282 | 283 | 284 | 285 | -------------------------------------------------------------------------------- /examples/mbmspcpp/mbmspcpp.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {d16e67df-a6ce-4d5b-8951-eab150a6783c} 6 | 7 | 8 | 9 | 10 | supporting 11 | 12 | 13 | supporting 14 | 15 | 16 | 17 | 18 | supporting 19 | 20 | 21 | -------------------------------------------------------------------------------- /examples/mbmspcpp/mbmspcpp.xcconfig: -------------------------------------------------------------------------------- 1 | #include "../../common.xcconfig" 2 | 3 | PRODUCT_NAME = mbmspcpp~ -------------------------------------------------------------------------------- /examples/mbmspcpp/mbmspcpp.xcodeproj/oli.pbxuser: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | 089C1669FE841209C02AAC07 /* Project object */ = { 4 | activeArchitecturePreference = i386; 5 | activeBuildConfigurationName = Debug; 6 | activeExecutable = 4F4FD646187F1E7B005FB2B9 /* Max61RT */; 7 | activeTarget = 2FBBEAD608F335360078DB84 /* max-external */; 8 | addToTargets = ( 9 | 2FBBEAD608F335360078DB84 /* max-external */, 10 | ); 11 | breakpoints = ( 12 | ); 13 | codeSenseManager = 4F4FD54B187F054E005FB2B9 /* Code sense */; 14 | executables = ( 15 | 4F4FD646187F1E7B005FB2B9 /* Max61RT */, 16 | ); 17 | perUserDictionary = { 18 | PBXConfiguration.PBXFileTableDataSource3.PBXExecutablesDataSource = { 19 | PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; 20 | PBXFileTableDataSourceColumnSortingKey = PBXExecutablesDataSource_NameID; 21 | PBXFileTableDataSourceColumnWidthsKey = ( 22 | 22, 23 | 300, 24 | 545, 25 | ); 26 | PBXFileTableDataSourceColumnsKey = ( 27 | PBXExecutablesDataSource_ActiveFlagID, 28 | PBXExecutablesDataSource_NameID, 29 | PBXExecutablesDataSource_CommentsID, 30 | ); 31 | }; 32 | PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = { 33 | PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; 34 | PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; 35 | PBXFileTableDataSourceColumnWidthsKey = ( 36 | 20, 37 | 1473, 38 | 20, 39 | 48, 40 | 43, 41 | 43, 42 | 20, 43 | ); 44 | PBXFileTableDataSourceColumnsKey = ( 45 | PBXFileDataSource_FiletypeID, 46 | PBXFileDataSource_Filename_ColumnID, 47 | PBXFileDataSource_Built_ColumnID, 48 | PBXFileDataSource_ObjectSize_ColumnID, 49 | PBXFileDataSource_Errors_ColumnID, 50 | PBXFileDataSource_Warnings_ColumnID, 51 | PBXFileDataSource_Target_ColumnID, 52 | ); 53 | }; 54 | PBXConfiguration.PBXTargetDataSource.PBXTargetDataSource = { 55 | PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; 56 | PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; 57 | PBXFileTableDataSourceColumnWidthsKey = ( 58 | 20, 59 | 1433, 60 | 60, 61 | 20, 62 | 48, 63 | 43, 64 | 43, 65 | ); 66 | PBXFileTableDataSourceColumnsKey = ( 67 | PBXFileDataSource_FiletypeID, 68 | PBXFileDataSource_Filename_ColumnID, 69 | PBXTargetDataSource_PrimaryAttribute, 70 | PBXFileDataSource_Built_ColumnID, 71 | PBXFileDataSource_ObjectSize_ColumnID, 72 | PBXFileDataSource_Errors_ColumnID, 73 | PBXFileDataSource_Warnings_ColumnID, 74 | ); 75 | }; 76 | PBXPerProjectTemplateStateSaveDate = 411235157; 77 | PBXWorkspaceStateSaveDate = 411235157; 78 | }; 79 | perUserProjectItems = { 80 | 4F3927CB1882F36200F74074 /* PBXTextBookmark */ = 4F3927CB1882F36200F74074 /* PBXTextBookmark */; 81 | 4F3927CC1882F36200F74074 /* PBXTextBookmark */ = 4F3927CC1882F36200F74074 /* PBXTextBookmark */; 82 | 4F3927CD1882F36200F74074 /* PBXTextBookmark */ = 4F3927CD1882F36200F74074 /* PBXTextBookmark */; 83 | 4F9C376C1881692500A88A88 /* PBXTextBookmark */ = 4F9C376C1881692500A88A88 /* PBXTextBookmark */; 84 | }; 85 | sourceControlManager = 4F4FD54A187F054E005FB2B9 /* Source Control */; 86 | userBuildSettings = { 87 | OBJROOT = "$(SYMROOT)"; 88 | SYMROOT = "$(PROJECT_DIRECTORY)build-mac"; 89 | }; 90 | }; 91 | 22CF11AD0EE9A8840054F513 /* mbmspcpp.cpp */ = { 92 | uiCtxt = { 93 | sepNavIntBoundsRect = "{{0, 0}, {1651, 806}}"; 94 | sepNavSelRange = "{435, 0}"; 95 | sepNavVisRange = "{0, 692}"; 96 | }; 97 | }; 98 | 2FBBEAD608F335360078DB84 /* max-external */ = { 99 | activeExec = 0; 100 | }; 101 | 4F39277B1882F0BC00F74074 /* maxcpp6.h */ = { 102 | uiCtxt = { 103 | sepNavIntBoundsRect = "{{0, 0}, {1614, 4628}}"; 104 | sepNavSelRange = "{10808, 0}"; 105 | sepNavVisRange = "{9934, 1429}"; 106 | }; 107 | }; 108 | 4F3927CB1882F36200F74074 /* PBXTextBookmark */ = { 109 | isa = PBXTextBookmark; 110 | fRef = 22CF11AD0EE9A8840054F513 /* mbmspcpp.cpp */; 111 | name = "mbmspcpp.cpp: 17"; 112 | rLen = 0; 113 | rLoc = 435; 114 | rType = 0; 115 | vrLen = 692; 116 | vrLoc = 0; 117 | }; 118 | 4F3927CC1882F36200F74074 /* PBXTextBookmark */ = { 119 | isa = PBXTextBookmark; 120 | fRef = 4F9C3769188168FF00A88A88 /* mbmspcpp.xcconfig */; 121 | name = "mbmspcpp.xcconfig: 3"; 122 | rLen = 0; 123 | rLoc = 58; 124 | rType = 0; 125 | vrLen = 58; 126 | vrLoc = 0; 127 | }; 128 | 4F3927CD1882F36200F74074 /* PBXTextBookmark */ = { 129 | isa = PBXTextBookmark; 130 | fRef = 4F9C3769188168FF00A88A88 /* mbmspcpp.xcconfig */; 131 | name = "mbmspcpp.xcconfig: 3"; 132 | rLen = 0; 133 | rLoc = 58; 134 | rType = 0; 135 | vrLen = 58; 136 | vrLoc = 0; 137 | }; 138 | 4F4FD54A187F054E005FB2B9 /* Source Control */ = { 139 | isa = PBXSourceControlManager; 140 | fallbackIsa = XCSourceControlManager; 141 | isSCMEnabled = 0; 142 | scmConfiguration = { 143 | repositoryNamesForRoots = { 144 | "" = ""; 145 | }; 146 | }; 147 | }; 148 | 4F4FD54B187F054E005FB2B9 /* Code sense */ = { 149 | isa = PBXCodeSenseManager; 150 | indexTemplatePath = ""; 151 | }; 152 | 4F4FD646187F1E7B005FB2B9 /* Max61RT */ = { 153 | isa = PBXExecutable; 154 | activeArgIndices = ( 155 | ); 156 | argumentStrings = ( 157 | ); 158 | autoAttachOnCrash = 1; 159 | breakpointsEnabled = 1; 160 | configStateDict = { 161 | }; 162 | customDataFormattersEnabled = 1; 163 | dataTipCustomDataFormattersEnabled = 1; 164 | dataTipShowTypeColumn = 1; 165 | dataTipSortType = 0; 166 | debuggerPlugin = GDBDebugging; 167 | disassemblyDisplayState = 0; 168 | dylibVariantSuffix = ""; 169 | enableDebugStr = 1; 170 | environmentEntries = ( 171 | ); 172 | executableSystemSymbolLevel = 0; 173 | executableUserSymbolLevel = 0; 174 | launchableReference = 4F4FD647187F1E7B005FB2B9 /* Max Runtime.app */; 175 | libgmallocEnabled = 0; 176 | name = Max61RT; 177 | savedGlobals = { 178 | }; 179 | showTypeColumn = 0; 180 | sourceDirectories = ( 181 | ); 182 | }; 183 | 4F4FD647187F1E7B005FB2B9 /* Max Runtime.app */ = { 184 | isa = PBXFileReference; 185 | lastKnownFileType = wrapper.application; 186 | name = "Max Runtime.app"; 187 | path = "/Applications/Max 6.1/Max Runtime.app"; 188 | sourceTree = ""; 189 | }; 190 | 4F4FD6E4187F2577005FB2B9 /* commonsyms.c */ = { 191 | uiCtxt = { 192 | sepNavIntBoundsRect = "{{0, 0}, {1651, 815}}"; 193 | sepNavSelRange = "{0, 0}"; 194 | sepNavVisRange = "{0, 269}"; 195 | }; 196 | }; 197 | 4F9C3766188168F200A88A88 /* common.xcconfig */ = { 198 | uiCtxt = { 199 | sepNavIntBoundsRect = "{{0, 0}, {838, 572}}"; 200 | sepNavSelRange = "{0, 0}"; 201 | sepNavVisRange = "{0, 1383}"; 202 | }; 203 | }; 204 | 4F9C3769188168FF00A88A88 /* mbmspcpp.xcconfig */ = { 205 | uiCtxt = { 206 | sepNavIntBoundsRect = "{{0, 0}, {1651, 806}}"; 207 | sepNavSelRange = "{58, 0}"; 208 | sepNavVisRange = "{0, 58}"; 209 | }; 210 | }; 211 | 4F9C376C1881692500A88A88 /* PBXTextBookmark */ = { 212 | isa = PBXTextBookmark; 213 | fRef = 4F9C3766188168F200A88A88 /* common.xcconfig */; 214 | name = "common.xcconfig: 1"; 215 | rLen = 0; 216 | rLoc = 0; 217 | rType = 0; 218 | vrLen = 1383; 219 | vrLoc = 0; 220 | }; 221 | } 222 | -------------------------------------------------------------------------------- /examples/mbmspcpp/mbmspcpp.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- 1 | // !$*UTF8*$! 2 | { 3 | archiveVersion = 1; 4 | classes = { 5 | }; 6 | objectVersion = 46; 7 | objects = { 8 | 9 | /* Begin PBXBuildFile section */ 10 | 22CF11AE0EE9A8840054F513 /* mbmspcpp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 22CF11AD0EE9A8840054F513 /* mbmspcpp.cpp */; }; 11 | 4F39277C1882F0BC00F74074 /* maxcpp6.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F39277B1882F0BC00F74074 /* maxcpp6.h */; }; 12 | 4F4FD6E5187F2577005FB2B9 /* commonsyms.c in Sources */ = {isa = PBXBuildFile; fileRef = 4F4FD6E4187F2577005FB2B9 /* commonsyms.c */; }; 13 | 4F4FD71E187F271F005FB2B9 /* MaxAudioAPI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4F4FD71D187F271F005FB2B9 /* MaxAudioAPI.framework */; }; 14 | /* End PBXBuildFile section */ 15 | 16 | /* Begin PBXFileReference section */ 17 | 22CF11AD0EE9A8840054F513 /* mbmspcpp.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = mbmspcpp.cpp; sourceTree = ""; }; 18 | 2FBBEAE508F335360078DB84 /* mbmspcpp~.mxo */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "mbmspcpp~.mxo"; sourceTree = BUILT_PRODUCTS_DIR; }; 19 | 4F39277B1882F0BC00F74074 /* maxcpp6.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = maxcpp6.h; path = ../../maxcpp/maxcpp/maxcpp6.h; sourceTree = SOURCE_ROOT; }; 20 | 4F4FD6E4187F2577005FB2B9 /* commonsyms.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = commonsyms.c; path = "../../max-sdk/source/c74support/max-includes/common/commonsyms.c"; sourceTree = SOURCE_ROOT; }; 21 | 4F4FD71D187F271F005FB2B9 /* MaxAudioAPI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MaxAudioAPI.framework; path = "../../max-sdk/source/c74support/msp-includes/MaxAudioAPI.framework"; sourceTree = SOURCE_ROOT; }; 22 | 4F9C3766188168F200A88A88 /* common.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = common.xcconfig; path = ../../common.xcconfig; sourceTree = SOURCE_ROOT; }; 23 | 4F9C3769188168FF00A88A88 /* mbmspcpp.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = mbmspcpp.xcconfig; sourceTree = ""; }; 24 | /* End PBXFileReference section */ 25 | 26 | /* Begin PBXFrameworksBuildPhase section */ 27 | 2FBBEADC08F335360078DB84 /* Frameworks */ = { 28 | isa = PBXFrameworksBuildPhase; 29 | buildActionMask = 2147483647; 30 | files = ( 31 | 4F4FD71E187F271F005FB2B9 /* MaxAudioAPI.framework in Frameworks */, 32 | ); 33 | runOnlyForDeploymentPostprocessing = 0; 34 | }; 35 | /* End PBXFrameworksBuildPhase section */ 36 | 37 | /* Begin PBXGroup section */ 38 | 089C166AFE841209C02AAC07 /* iterator */ = { 39 | isa = PBXGroup; 40 | children = ( 41 | 22CF11AD0EE9A8840054F513 /* mbmspcpp.cpp */, 42 | 4F39277F1882F0C000F74074 /* supporting */, 43 | 19C28FB4FE9D528D11CA2CBB /* Products */, 44 | ); 45 | name = iterator; 46 | sourceTree = ""; 47 | }; 48 | 19C28FB4FE9D528D11CA2CBB /* Products */ = { 49 | isa = PBXGroup; 50 | children = ( 51 | 2FBBEAE508F335360078DB84 /* mbmspcpp~.mxo */, 52 | ); 53 | name = Products; 54 | sourceTree = ""; 55 | }; 56 | 4F39277F1882F0C000F74074 /* supporting */ = { 57 | isa = PBXGroup; 58 | children = ( 59 | 4F4FD71D187F271F005FB2B9 /* MaxAudioAPI.framework */, 60 | 4F9C3766188168F200A88A88 /* common.xcconfig */, 61 | 4F9C3769188168FF00A88A88 /* mbmspcpp.xcconfig */, 62 | 4F4FD6E4187F2577005FB2B9 /* commonsyms.c */, 63 | 4F39277B1882F0BC00F74074 /* maxcpp6.h */, 64 | ); 65 | name = supporting; 66 | sourceTree = ""; 67 | }; 68 | /* End PBXGroup section */ 69 | 70 | /* Begin PBXHeadersBuildPhase section */ 71 | 2FBBEAD708F335360078DB84 /* Headers */ = { 72 | isa = PBXHeadersBuildPhase; 73 | buildActionMask = 2147483647; 74 | files = ( 75 | 4F39277C1882F0BC00F74074 /* maxcpp6.h in Headers */, 76 | ); 77 | runOnlyForDeploymentPostprocessing = 0; 78 | }; 79 | /* End PBXHeadersBuildPhase section */ 80 | 81 | /* Begin PBXNativeTarget section */ 82 | 2FBBEAD608F335360078DB84 /* max-external */ = { 83 | isa = PBXNativeTarget; 84 | buildConfigurationList = 2FBBEAE008F335360078DB84 /* Build configuration list for PBXNativeTarget "max-external" */; 85 | buildPhases = ( 86 | 2FBBEAD708F335360078DB84 /* Headers */, 87 | 2FBBEAD808F335360078DB84 /* Resources */, 88 | 2FBBEADA08F335360078DB84 /* Sources */, 89 | 2FBBEADC08F335360078DB84 /* Frameworks */, 90 | 2FBBEADF08F335360078DB84 /* Rez */, 91 | ); 92 | buildRules = ( 93 | ); 94 | dependencies = ( 95 | ); 96 | name = "max-external"; 97 | productName = iterator; 98 | productReference = 2FBBEAE508F335360078DB84 /* mbmspcpp~.mxo */; 99 | productType = "com.apple.product-type.bundle"; 100 | }; 101 | /* End PBXNativeTarget section */ 102 | 103 | /* Begin PBXProject section */ 104 | 089C1669FE841209C02AAC07 /* Project object */ = { 105 | isa = PBXProject; 106 | attributes = { 107 | LastUpgradeCheck = 0720; 108 | }; 109 | buildConfigurationList = 2FBBEACF08F335010078DB84 /* Build configuration list for PBXProject "mbmspcpp" */; 110 | compatibilityVersion = "Xcode 3.2"; 111 | developmentRegion = English; 112 | hasScannedForEncodings = 1; 113 | knownRegions = ( 114 | en, 115 | ); 116 | mainGroup = 089C166AFE841209C02AAC07 /* iterator */; 117 | projectDirPath = ""; 118 | projectRoot = ""; 119 | targets = ( 120 | 2FBBEAD608F335360078DB84 /* max-external */, 121 | ); 122 | }; 123 | /* End PBXProject section */ 124 | 125 | /* Begin PBXResourcesBuildPhase section */ 126 | 2FBBEAD808F335360078DB84 /* Resources */ = { 127 | isa = PBXResourcesBuildPhase; 128 | buildActionMask = 2147483647; 129 | files = ( 130 | ); 131 | runOnlyForDeploymentPostprocessing = 0; 132 | }; 133 | /* End PBXResourcesBuildPhase section */ 134 | 135 | /* Begin PBXRezBuildPhase section */ 136 | 2FBBEADF08F335360078DB84 /* Rez */ = { 137 | isa = PBXRezBuildPhase; 138 | buildActionMask = 2147483647; 139 | files = ( 140 | ); 141 | runOnlyForDeploymentPostprocessing = 0; 142 | }; 143 | /* End PBXRezBuildPhase section */ 144 | 145 | /* Begin PBXSourcesBuildPhase section */ 146 | 2FBBEADA08F335360078DB84 /* Sources */ = { 147 | isa = PBXSourcesBuildPhase; 148 | buildActionMask = 2147483647; 149 | files = ( 150 | 22CF11AE0EE9A8840054F513 /* mbmspcpp.cpp in Sources */, 151 | 4F4FD6E5187F2577005FB2B9 /* commonsyms.c in Sources */, 152 | ); 153 | runOnlyForDeploymentPostprocessing = 0; 154 | }; 155 | /* End PBXSourcesBuildPhase section */ 156 | 157 | /* Begin XCBuildConfiguration section */ 158 | 2FBBEAD008F335010078DB84 /* Debug */ = { 159 | isa = XCBuildConfiguration; 160 | buildSettings = { 161 | ENABLE_TESTABILITY = YES; 162 | ONLY_ACTIVE_ARCH = YES; 163 | }; 164 | name = Debug; 165 | }; 166 | 2FBBEAD108F335010078DB84 /* Release */ = { 167 | isa = XCBuildConfiguration; 168 | buildSettings = { 169 | }; 170 | name = Release; 171 | }; 172 | 2FBBEAE108F335360078DB84 /* Debug */ = { 173 | isa = XCBuildConfiguration; 174 | baseConfigurationReference = 4F9C3769188168FF00A88A88 /* mbmspcpp.xcconfig */; 175 | buildSettings = { 176 | COMBINE_HIDPI_IMAGES = YES; 177 | COPY_PHASE_STRIP = NO; 178 | FRAMEWORK_SEARCH_PATHS = ( 179 | "$(inherited)", 180 | "\"$(SRCROOT)/../../max-sdk/c74support/msp-includes\"", 181 | ); 182 | GCC_OPTIMIZATION_LEVEL = 0; 183 | OTHER_LDFLAGS = "$(C74_SYM_LINKER_FLAGS)"; 184 | }; 185 | name = Debug; 186 | }; 187 | 2FBBEAE208F335360078DB84 /* Release */ = { 188 | isa = XCBuildConfiguration; 189 | baseConfigurationReference = 4F9C3769188168FF00A88A88 /* mbmspcpp.xcconfig */; 190 | buildSettings = { 191 | COMBINE_HIDPI_IMAGES = YES; 192 | COPY_PHASE_STRIP = YES; 193 | FRAMEWORK_SEARCH_PATHS = ( 194 | "$(inherited)", 195 | "\"$(SRCROOT)/../../max-sdk/c74support/msp-includes\"", 196 | ); 197 | OTHER_LDFLAGS = "$(C74_SYM_LINKER_FLAGS)"; 198 | }; 199 | name = Release; 200 | }; 201 | /* End XCBuildConfiguration section */ 202 | 203 | /* Begin XCConfigurationList section */ 204 | 2FBBEACF08F335010078DB84 /* Build configuration list for PBXProject "mbmspcpp" */ = { 205 | isa = XCConfigurationList; 206 | buildConfigurations = ( 207 | 2FBBEAD008F335010078DB84 /* Debug */, 208 | 2FBBEAD108F335010078DB84 /* Release */, 209 | ); 210 | defaultConfigurationIsVisible = 0; 211 | defaultConfigurationName = Release; 212 | }; 213 | 2FBBEAE008F335360078DB84 /* Build configuration list for PBXNativeTarget "max-external" */ = { 214 | isa = XCConfigurationList; 215 | buildConfigurations = ( 216 | 2FBBEAE108F335360078DB84 /* Debug */, 217 | 2FBBEAE208F335360078DB84 /* Release */, 218 | ); 219 | defaultConfigurationIsVisible = 0; 220 | defaultConfigurationName = Release; 221 | }; 222 | /* End XCConfigurationList section */ 223 | }; 224 | rootObject = 089C1669FE841209C02AAC07 /* Project object */; 225 | } 226 | --------------------------------------------------------------------------------