pax_global_header 0000666 0000000 0000000 00000000064 13534773077 0014532 g ustar 00root root 0000000 0000000 52 comment=aa6da16fa58bffea6602a2cf6dd5237c88d28452
jsusfx-0.4.0/ 0000775 0000000 0000000 00000000000 13534773077 0013055 5 ustar 00root root 0000000 0000000 jsusfx-0.4.0/.gitignore 0000664 0000000 0000000 00000000261 13534773077 0015044 0 ustar 00root root 0000000 0000000 # Compiled Object files
*.slo
*.lo
*.o
*.obj
# Compiled Dynamic libraries
*.so
*.dylib
*.dll
# Compiled Static libraries
*.lai
*.la
*.a
*.lib
# Executables
*.exe
*.out
*.app
jsusfx-0.4.0/.gitmodules 0000664 0000000 0000000 00000000137 13534773077 0015233 0 ustar 00root root 0000000 0000000 [submodule "pd/pd.build"]
path = pd/pd.build
url = https://github.com/pierreguillot/pd.build
jsusfx-0.4.0/LICENSE 0000664 0000000 0000000 00000001061 13534773077 0014060 0 ustar 00root root 0000000 0000000 Copyright 2014-2015 Pascal Gauthier
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
jsusfx-0.4.0/README.md 0000664 0000000 0000000 00000003502 13534773077 0014334 0 ustar 00root root 0000000 0000000 jsusfx - Opensource Jesusonic FX implementation
================================================
jsusfx is an opensource implementation of the [JSFX](http://www.reaper.fm/sdk/js/js.php)
scripting language that was created by [Cockos](http://www.cockos.com/jesusonic/) and
is made available with [Reaper](http://www.reaper.fm).
While the original JSFX scripting language can do a lot of things in Reaper, this
implementation is focusing on providing dsp scripting processing for other hosts
(like pure-data and Max/MSP) and platforms.
This project comes with a subset of the original eel2 code from Cockos
[WDL](http://www.cockos.com/wdl).
While this project could support plugin formats like LV2 or VST, this
implementation focuses on Pure Data support. Support for version 0.4 is
in progress for Pure Data. See subdirectory [pd](pd).
Marcel Smit, who is also working on [Framework](https://github.com/marcel303/framework)
that uses JsusFx, greatly contributed on version 0.4, see below video.
[](https://www.youtube.com/watch?v=7f9fOeBecaY)
Version 0.4
-----------
* Multi-channel support
* File API support
* @import and @gfx section support
* Midi support
* More support of extended sliders
* Various bug fixes
* Native ARM support
* CMake now global build system
Version 0.3
-----------
* Native x86 x86_64 for OS X and Linux (10 times faster than portable)
* gcc generated code now works at runtime
Limitations
-----------
* @serialize section is ignored
Building
--------
* cmake is the build system and PHP and nasm are required to build native x86_64 support code
Credits
-------
* @marcel303 (Marcel Smit) did a lot of work (Version 0.4) in implementing the missing features from the previous versions
* The core of the language is from WDL (the authors of JSFX and Reaper)
jsusfx-0.4.0/max/ 0000775 0000000 0000000 00000000000 13534773077 0013642 5 ustar 00root root 0000000 0000000 jsusfx-0.4.0/max/Info.plist 0000664 0000000 0000000 00000001703 13534773077 0015613 0 ustar 00root root 0000000 0000000
CFBundleDevelopmentRegion
English
CFBundleExecutable
${PRODUCT_NAME}
CFBundleIconFile
CFBundleIdentifier
com.digitalsuburban.${PRODUCT_NAME:rfc1034identifier}
CFBundleInfoDictionaryVersion
${PRODUCT_VERSION}
CFBundlePackageType
iLaX
CFBundleSignature
max2
CFBundleVersion
${PRODUCT_VERSION}
CFBundleShortVersionString
${PRODUCT_VERSION}
CFBundleLongVersionString
${PRODUCT_NAME} ${PRODUCT_VERSION}, Copyright 2014 Digital Suburban
CSResourcesFileMapped
jsusfx-0.4.0/max/README.md 0000664 0000000 0000000 00000000170 13534773077 0015117 0 ustar 00root root 0000000 0000000 jsusfx_max - Jesusonic FX for Max
=================================
For now this is on hold and focusing on Pure Data.
jsusfx-0.4.0/max/gain.jsfx 0000664 0000000 0000000 00000000207 13534773077 0015453 0 ustar 00root root 0000000 0000000 desc:gain balblabla ok
slider1:1<0,5,0.01>GAINLC
slider2:1<0,5,0.01>GAINRR
@init
gg=0;
@sample
spl0=spl0*slider1;
spl1=spl1*slider2;
jsusfx-0.4.0/max/jsusfx_max.cpp 0000664 0000000 0000000 00000023530 13534773077 0016540 0 ustar 00root root 0000000 0000000 /*
* Copyright 2014-2015 Pascal Gauthier
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* *distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include
#include "ext.h"
#include "ext_obex.h"
#include "ext_common.h"
#include "z_dsp.h"
#include "ext_buffer.h"
#include "ext_critical.h"
#include "ext_path.h"
#include "ext_sysfile.h"
#include "../jsusfx.h"
class JsusFxMax : public JsusFx {
public:
void displayMsg(const char *fmt, ...) {
char output[4096];
va_list argptr;
va_start(argptr, fmt);
vsnprintf(output, 4095, fmt, argptr);
va_end(argptr);
post("%s\n", output);
}
void displayError(const char *fmt, ...) {
char output[4096];
va_list argptr;
va_start(argptr, fmt);
vsnprintf(output, 4095, fmt, argptr);
va_end(argptr);
error("%s\n", output);
}
};
typedef struct _jsusfx {
t_pxobject l_obj;
bool bypass;
JsusFxMax *fx;
t_critical critical;
t_object *m_editor;
void *outlet1;
char scriptname[MAX_PATH_CHARS];
short path;
} t_jsusfx;
static t_class *jsusfx_class;
void jsusfx_describe(t_jsusfx *x) {
post("jsusfx~ script %s : %s", x->scriptname, x->fx->desc);
for(int i=0;i<64;i++) {
if ( x->fx->sliders[i].exists ) {
JsusFx_Slider *s = &(x->fx->sliders[i]);
post(" slider%d: %g %g %s", i, s->min, s->max, s->desc);
t_atom argv[5];
atom_setlong(argv, i);
atom_setfloat(argv+1, s->def);
atom_setfloat(argv+2, s->min);
atom_setfloat(argv+3, s->max);
atom_setsym(argv+4, gensym(s->desc));
outlet_anything(x->outlet1, gensym("slider"), 4, argv);
}
}
}
void jsusfx_showvars(t_jsusfx *x) {
x->fx->dumpvars();
}
void jsusfx_dblclick(t_jsusfx *x) {
if (!x->m_editor) {
t_filehandle fh_read;
if ( path_opensysfile(x->scriptname, x->path, &fh_read, READ_PERM) ) {
error("jsusfx~: unable to script file");
return;
}
t_handle texthandle;
texthandle = sysmem_newhandle(0);
sysfile_readtextfile(fh_read, texthandle, 0, TEXT_NULL_TERMINATE);
x->m_editor = reinterpret_cast(object_new(CLASS_NOBOX, gensym("jed"), (t_object *)x, 0));
object_attr_setchar(x->m_editor, gensym("scratch"), 1);
object_method(x->m_editor, gensym("settext"), *texthandle, gensym("utf-8"));
object_method(x->m_editor, gensym("filename"), x->scriptname, x->path);
sysmem_freehandle(texthandle);
sysfile_close(fh_read);
} else {
object_attr_setchar(x->m_editor, gensym("visible"), 1);
}
}
void jsusfx_compile(t_jsusfx *x, t_symbol *notused, long argc, t_atom *argv) {
// new file
if ( argc >= 1 && atom_gettype(argv) == A_SYM ) {
t_fourcc filetype = 'TEXT', outtype;
short path;
char filename[MAX_PATH_CHARS];
strcpy(filename, atom_getsym(argv)->s_name);
if (locatefile_extended(filename, &path, &outtype, &filetype, 1)) {
error("jsusfx~: script %s not found", filename);
return;
}
if ( x->m_editor ) {
object_method(x->m_editor, gensym("w_close"));
x->m_editor = NULL;
}
strncpy(x->scriptname, filename, MAX_PATH_CHARS);
x->path = path;
}
char fullpath[1024];
path_toabsolutesystempath(x->path, x->scriptname, fullpath);
std::ifstream is(fullpath);
if ( ! is.is_open() ) {
error("jsusfx~: error opening file %s", fullpath);
return;
}
critical_enter(x->critical);
if ( x->fx->compile(is) == true ) {
x->fx->prepare(sys_getsr(), sys_getmaxblksize());
}
critical_exit(x->critical);
}
long jsusfx_edsave(t_jsusfx *x, char **ht, long size) {
t_filehandle fh_write;
if ( path_opensysfile(x->scriptname, x->path, &fh_write, WRITE_PERM) ) {
error("jsusfx~: unable to save script file");
return 1;
}
sysfile_writetextfile(fh_write, ht, TEXT_LB_NATIVE);
sysfile_close(fh_write);
jsusfx_compile(x, NULL, 0, NULL);
return 0;
}
void jsusfx_edclose(t_jsusfx *x, char **ht, long size) {
x->m_editor = NULL;
}
void *jsusfx_new(t_symbol *notused, long argc, t_atom *argv) {
if ( argc < 1 || atom_gettype(argv) != A_SYM ) {
error("jsusfx~: missing script name");
return NULL;
}
t_jsusfx *x = reinterpret_cast(object_alloc(jsusfx_class));
t_symbol *s = atom_getsym(argv);
t_fourcc filetype = 'TEXT', outtype;
short path;
char filename[MAX_PATH_CHARS];
strcpy(filename, s->s_name);
if (locatefile_extended(filename, &path, &outtype, &filetype, 1)) {
t_object *mypatcher;
object_obex_lookup(x, gensym("#P"), &mypatcher);
t_symbol *checkExists = object_attr_getsym(mypatcher, gensym("filepath"));
if ( checkExists->s_name[0] == 0 ) {
error("jsusfx~: patch needs to be saved in order to create new jsusfx script file");
return NULL;
}
path = path_getdefault();
t_fourcc type = 'TEXT';
t_filehandle ref;
if ( path_createsysfile(filename, path, type, &ref) ) {
error("jsusfx~: unable to create file");
return NULL;
}
char initText[] = "@sample\nspl0=1\nspl1=-1\n";
t_handle h = sysmem_newhandle(0);
sysmem_ptrandhand(initText,h,strlen(initText));
if ( sysfile_writetextfile(ref, h, TEXT_LB_NATIVE) ) {
error("jsusfx~: unable to write file");
return NULL;
}
sysfile_close(ref);
sysmem_freehandle(h);
}
strcpy(x->scriptname, filename);
x->path = path;
char fullpath[MAX_PATH_CHARS];
path_toabsolutesystempath(path, filename, fullpath);
std::ifstream is(fullpath);
if ( ! is.is_open() ) {
error("jsusfx~: error opening file %s", fullpath);
return NULL;
}
x->bypass = false;
dsp_setup((t_pxobject *)x, 2);
x->outlet1 = outlet_new((t_object *)x, NULL);
outlet_new((t_object *)x, "signal");
outlet_new((t_object *)x, "signal");
critical_new(&(x->critical));
x->m_editor = NULL;
JsusFxMax *fx = new JsusFxMax();
fx->compile(is);
x->fx = fx;
/*if ( argc >= 2 && atom_gettype(argv+1) == A_LONG ) {
x->fx->normalizeSliders = atom_getlong(argv+1);
} else {
x->fx->normalizeSliders = 1;
}
post("normalizer sl %x", x->fx->normalizeSliders);*/
return (x);
}
void jsusfx_free(t_jsusfx *x) {
if ( x->m_editor )
object_method(x->m_editor, gensym("w_close"));
dsp_free((t_pxobject*)x);
critical_free(x->critical);
delete x->fx;
}
void jsusfx_slider(t_jsusfx *x, t_int id, double value) {
if ( id >= 64 || id < 0 )
return;
if ( ! x->fx->sliders[id].exists ) {
error("jsusfx~: slider number %d is not assigned for this effect", id);
return;
}
x->fx->moveSlider(id, value);
}
void jsusfx_bypass(t_jsusfx *x, t_int id) {
x->bypass = (bool) id;
}
void jsusfx_perform64(t_jsusfx *x, t_object *dsp64, double **ins, long numins, double **outs, long numouts, long sampleframes, long flags, void *userparam) {
const double *inv[2];
inv[0] = ins[1];
inv[1] = ins[0];
if ( x->bypass )
goto bypass;
if ( critical_tryenter(x->critical) )
goto bypass;
x->fx->process64(inv, outs, sampleframes, 2, 2);
critical_exit(x->critical);
return;
bypass:
for(int i=0;ifx->prepare(samplerate, maxvectorsize);
object_method(dsp64, gensym("dsp_add64"), x, jsusfx_perform64, 0, NULL);
}
void jsusfx_assist(t_jsusfx *x, void *b, long m, long a, char *s) {
if (m == ASSIST_INLET) {
switch(a) {
case 0: sprintf(s,"(signal) Left Input"); break;
case 1: sprintf(s,"(signal) Right Input"); break;
}
} else {
switch (a) {
case 0: sprintf(s,"(signal) Left Output"); break;
case 1: sprintf(s,"(signal) Right Output"); break;
case 2: sprintf(s,"jsfx info"); break;
}
}
}
int C74_EXPORT main(void) {
t_class *c = class_new("jsusfx~", (method)jsusfx_new, (method)jsusfx_free, sizeof(t_jsusfx), 0L, A_GIMME, 0);
class_addmethod(c, (method)jsusfx_dsp64, "dsp64", A_CANT, 0);
class_addmethod(c, (method)jsusfx_slider, "slider", A_LONG, A_FLOAT, 0);
class_addmethod(c, (method)jsusfx_assist, "assist", A_CANT, 0);
class_addmethod(c, (method)jsusfx_compile, "compile", A_GIMME, 0);
class_addmethod(c, (method)jsusfx_dblclick, "dblclick", A_CANT, 0);
class_addmethod(c, (method)jsusfx_edsave, "edsave", A_CANT, 0);
class_addmethod(c, (method)jsusfx_edclose, "edclose", A_CANT, 0);
class_addmethod(c, (method)jsusfx_bypass, "bypass", A_LONG, 0);
class_addmethod(c, (method)jsusfx_describe, "describe", 0);
class_addmethod(c, (method)jsusfx_showvars, "showvars", 0);
class_dspinit(c);
class_register(CLASS_BOX, c);
jsusfx_class = c;
JsusFx::init();
return 0;
}
jsusfx-0.4.0/max/jsusfx_test.maxpat 0000664 0000000 0000000 00000045123 13534773077 0017444 0 ustar 00root root 0000000 0000000 {
"patcher" : {
"fileversion" : 1,
"appversion" : {
"major" : 7,
"minor" : 0,
"revision" : 4,
"architecture" : "x86",
"modernui" : 1
}
,
"rect" : [ 221.0, 262.0, 1067.0, 678.0 ],
"bglocked" : 0,
"openinpresentation" : 0,
"default_fontsize" : 12.0,
"default_fontface" : 0,
"default_fontname" : "Arial",
"gridonopen" : 1,
"gridsize" : [ 15.0, 15.0 ],
"gridsnaponopen" : 1,
"objectsnaponopen" : 1,
"statusbarvisible" : 2,
"toolbarvisible" : 1,
"lefttoolbarpinned" : 0,
"toptoolbarpinned" : 0,
"righttoolbarpinned" : 0,
"bottomtoolbarpinned" : 0,
"toolbars_unpinned_last_save" : 0,
"tallnewobj" : 0,
"boxanimatetime" : 200,
"enablehscroll" : 1,
"enablevscroll" : 1,
"devicewidth" : 0.0,
"description" : "",
"digest" : "",
"tags" : "",
"style" : "",
"subpatcher_template" : "",
"boxes" : [ {
"box" : {
"bgcolor" : [ 0.862, 0.862, 0.862, 1.0 ],
"floatoutput" : 1,
"id" : "obj-25",
"maxclass" : "dial",
"needlecolor" : [ 0.784314, 0.368627, 0.368627, 1.0 ],
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "float" ],
"outlinecolor" : [ 0.67451, 0.690196, 0.345098, 1.0 ],
"parameter_enable" : 0,
"patching_rect" : [ 1013.0, 153.5, 40.0, 40.0 ],
"size" : 1.0,
"style" : ""
}
}
, {
"box" : {
"bgcolor" : [ 0.862, 0.862, 0.862, 1.0 ],
"floatoutput" : 1,
"id" : "obj-26",
"maxclass" : "dial",
"needlecolor" : [ 0.784314, 0.368627, 0.368627, 1.0 ],
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "float" ],
"outlinecolor" : [ 0.67451, 0.690196, 0.345098, 1.0 ],
"parameter_enable" : 0,
"patching_rect" : [ 962.0, 153.5, 40.0, 40.0 ],
"size" : 1.0,
"style" : ""
}
}
, {
"box" : {
"bgcolor" : [ 0.862, 0.862, 0.862, 1.0 ],
"floatoutput" : 1,
"id" : "obj-27",
"maxclass" : "dial",
"needlecolor" : [ 0.784314, 0.368627, 0.368627, 1.0 ],
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "float" ],
"outlinecolor" : [ 0.67451, 0.690196, 0.345098, 1.0 ],
"parameter_enable" : 0,
"patching_rect" : [ 911.0, 153.5, 40.0, 40.0 ],
"size" : 1.0,
"style" : ""
}
}
, {
"box" : {
"bgcolor" : [ 0.862, 0.862, 0.862, 1.0 ],
"floatoutput" : 1,
"id" : "obj-28",
"maxclass" : "dial",
"needlecolor" : [ 0.784314, 0.368627, 0.368627, 1.0 ],
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "float" ],
"outlinecolor" : [ 0.67451, 0.690196, 0.345098, 1.0 ],
"parameter_enable" : 0,
"patching_rect" : [ 860.0, 153.5, 40.0, 40.0 ],
"size" : 1.0,
"style" : ""
}
}
, {
"box" : {
"id" : "obj-19",
"maxclass" : "comment",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 22.0, 44.5, 294.0, 20.0 ],
"style" : "",
"text" : "Reaper JesuSonic support for Max"
}
}
, {
"box" : {
"bgcolor" : [ 0.862, 0.862, 0.862, 1.0 ],
"floatoutput" : 1,
"id" : "obj-22",
"maxclass" : "dial",
"needlecolor" : [ 0.784314, 0.368627, 0.368627, 1.0 ],
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "float" ],
"outlinecolor" : [ 0.67451, 0.690196, 0.345098, 1.0 ],
"parameter_enable" : 0,
"patching_rect" : [ 809.0, 153.5, 40.0, 40.0 ],
"size" : 1.0,
"style" : ""
}
}
, {
"box" : {
"bgcolor" : [ 0.862, 0.862, 0.862, 1.0 ],
"floatoutput" : 1,
"id" : "obj-23",
"maxclass" : "dial",
"needlecolor" : [ 0.784314, 0.368627, 0.368627, 1.0 ],
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "float" ],
"outlinecolor" : [ 0.67451, 0.690196, 0.345098, 1.0 ],
"parameter_enable" : 0,
"patching_rect" : [ 758.0, 153.5, 40.0, 40.0 ],
"size" : 1.0,
"style" : ""
}
}
, {
"box" : {
"fontsize" : 20.0,
"id" : "obj-21",
"maxclass" : "comment",
"numinlets" : 1,
"numoutlets" : 0,
"patching_rect" : [ 22.0, 12.0, 232.0, 29.0 ],
"style" : "",
"text" : "jsusfx~"
}
}
, {
"box" : {
"id" : "obj-16",
"maxclass" : "message",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 482.0, 340.5, 65.0, 22.0 ],
"style" : "",
"text" : "bypass $1"
}
}
, {
"box" : {
"id" : "obj-15",
"maxclass" : "toggle",
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "int" ],
"parameter_enable" : 0,
"patching_rect" : [ 482.0, 304.0, 24.0, 24.0 ],
"style" : ""
}
}
, {
"box" : {
"id" : "obj-5",
"maxclass" : "message",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 676.0, 340.5, 61.0, 22.0 ],
"style" : "",
"text" : "showvars"
}
}
, {
"box" : {
"id" : "obj-3",
"maxclass" : "message",
"numinlets" : 2,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 579.0, 340.5, 56.0, 22.0 ],
"style" : "",
"text" : "describe"
}
}
, {
"box" : {
"autopopulate" : 1,
"depth" : 1,
"id" : "obj-14",
"items" : [ "liteon/3bandpeakfilter", ",", "liteon/applefilter12db", ",", "liteon/applefilter72db", ",", "liteon/bassmanager", ",", "liteon/butterworth24db", ",", "liteon/cheby24db", ",", "liteon/deesser", ",", "liteon/farmodulator", ",", "liteon/LICENSE", ",", "liteon/lo-fi", ",", "liteon/lorenzattractor", ",", "liteon/moog24db", ",", "liteon/nonlinear", ",", "liteon/np1136peaklimiter", ",", "liteon/phasemetergfx", ",", "liteon/pinknoisegen", ",", "liteon/presenceeq", ",", "liteon/prngplot", ",", "liteon/pseudostereo", ",", "liteon/rbjstereofilter12db", ",", "liteon/README.md", ",", "liteon/ringmodulator", ",", "liteon/shelvingfilter", ",", "liteon/simplelp6db", ",", "liteon/sonic_enhancer", ",", "liteon/statevariable", ",", "liteon/stereotilt", ",", "liteon/tilteq", ",", "liteon/tubeharmonics", ",", "liteon/tubeharmonics_amp", ",", "liteon/vumetergfx", ",", "liteon/vumetergfxsum", ",", "liteon/waveshapermulti" ],
"maxclass" : "umenu",
"numinlets" : 1,
"numoutlets" : 3,
"outlettype" : [ "int", "", "" ],
"parameter_enable" : 0,
"patching_rect" : [ 15.0, 291.5, 289.0, 22.0 ],
"prefix" : "Macintosh HD:/Users/asb2m10/Documents/src/jsusfx/scripts/",
"style" : "",
"types" : "TEXT"
}
}
, {
"box" : {
"id" : "obj-9",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 150.0, 350.5, 99.0, 22.0 ],
"style" : "",
"text" : "prepend compile"
}
}
, {
"box" : {
"clipheight" : 52.0,
"data" : {
"clips" : [ {
"filename" : "brushes.aif",
"filekind" : "audiofile",
"selection" : [ 0.0, 0.967742 ],
"loop" : 1,
"content_state" : {
"slurtime" : [ 0.0 ],
"play" : [ 0 ],
"quality" : [ "basic" ],
"pitchcorrection" : [ 0 ],
"pitchshift" : [ 1.0 ],
"speed" : [ 1.0 ],
"originallength" : [ 0.0, "ticks" ],
"formantcorrection" : [ 0 ],
"originaltempo" : [ 120.0 ],
"formant" : [ 1.0 ],
"followglobaltempo" : [ 0 ],
"originallengthms" : [ 0.0 ],
"mode" : [ "basic" ],
"timestretch" : [ 0 ],
"basictuning" : [ 440 ]
}
}
]
}
,
"id" : "obj-6",
"maxclass" : "playlist~",
"numinlets" : 1,
"numoutlets" : 5,
"outlettype" : [ "signal", "signal", "signal", "", "dictionary" ],
"patching_rect" : [ 343.0, 71.0, 263.0, 53.0 ],
"style" : ""
}
}
, {
"box" : {
"clipheight" : 53.0,
"data" : {
"clips" : [ {
"filename" : "RUWA - Scared to Be Alone.mp3",
"filekind" : "audiofile",
"selection" : [ 0.15544, 0.626943 ],
"loop" : 1,
"content_state" : {
"slurtime" : [ 0.0 ],
"play" : [ 0 ],
"quality" : [ "basic" ],
"pitchcorrection" : [ 0 ],
"pitchshift" : [ 1.0 ],
"speed" : [ 1.0 ],
"originallength" : [ 0.0, "ticks" ],
"formantcorrection" : [ 0 ],
"originaltempo" : [ 120.0 ],
"formant" : [ 1.0 ],
"followglobaltempo" : [ 0 ],
"originallengthms" : [ 0.0 ],
"mode" : [ "basic" ],
"timestretch" : [ 0 ],
"basictuning" : [ 440 ]
}
}
]
}
,
"id" : "obj-4",
"maxclass" : "playlist~",
"numinlets" : 1,
"numoutlets" : 5,
"outlettype" : [ "signal", "signal", "signal", "", "dictionary" ],
"patching_rect" : [ 343.0, 16.0, 263.0, 53.0 ],
"style" : ""
}
}
, {
"box" : {
"bgcolor" : [ 0.862, 0.862, 0.862, 1.0 ],
"floatoutput" : 1,
"id" : "obj-18",
"maxclass" : "dial",
"needlecolor" : [ 0.784314, 0.368627, 0.368627, 1.0 ],
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "float" ],
"outlinecolor" : [ 0.67451, 0.690196, 0.345098, 1.0 ],
"parameter_enable" : 0,
"patching_rect" : [ 707.0, 153.5, 40.0, 40.0 ],
"size" : 1.0,
"style" : ""
}
}
, {
"box" : {
"fontsize" : 13.0,
"id" : "obj-13",
"maxclass" : "live.gain~",
"numinlets" : 2,
"numoutlets" : 5,
"orientation" : 1,
"outlettype" : [ "signal", "signal", "", "float", "list" ],
"parameter_enable" : 1,
"patching_rect" : [ 343.0, 479.0, 136.0, 42.0 ],
"presentation_rect" : [ 381.0, 481.0, 50.0, 42.0 ],
"saved_attribute_attributes" : {
"valueof" : {
"parameter_longname" : "live.gain~[1]",
"parameter_shortname" : "live.gain~",
"parameter_type" : 0,
"parameter_mmin" : -70.0,
"parameter_mmax" : 6.0,
"parameter_initial_enable" : 1,
"parameter_initial" : [ -2.314049 ],
"parameter_unitstyle" : 4
}
}
,
"showname" : 0,
"varname" : "live.gain~[1]"
}
}
, {
"box" : {
"fontname" : "Arial",
"fontsize" : 12.0,
"id" : "obj-11",
"maxclass" : "newobj",
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "" ],
"patching_rect" : [ 452.0, 247.5, 87.0, 22.0 ],
"style" : "",
"text" : "prepend slider"
}
}
, {
"box" : {
"fontface" : 0,
"fontname" : "Arial",
"fontsize" : 12.0,
"id" : "obj-8",
"maxclass" : "newobj",
"numinlets" : 12,
"numoutlets" : 1,
"outlettype" : [ "list" ],
"patching_rect" : [ 452.0, 220.5, 580.0, 22.0 ],
"style" : "",
"text" : "funnel 12 1"
}
}
, {
"box" : {
"bgcolor" : [ 0.862, 0.862, 0.862, 1.0 ],
"floatoutput" : 1,
"id" : "obj-17",
"maxclass" : "dial",
"needlecolor" : [ 0.784314, 0.368627, 0.368627, 1.0 ],
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "float" ],
"outlinecolor" : [ 0.67451, 0.690196, 0.345098, 1.0 ],
"parameter_enable" : 0,
"patching_rect" : [ 656.0, 153.5, 40.0, 40.0 ],
"size" : 1.0,
"style" : ""
}
}
, {
"box" : {
"bgcolor" : [ 0.862, 0.862, 0.862, 1.0 ],
"floatoutput" : 1,
"id" : "obj-12",
"maxclass" : "dial",
"needlecolor" : [ 0.784314, 0.368627, 0.368627, 1.0 ],
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "float" ],
"outlinecolor" : [ 0.67451, 0.690196, 0.345098, 1.0 ],
"parameter_enable" : 0,
"patching_rect" : [ 605.0, 153.5, 40.0, 40.0 ],
"size" : 1.0,
"style" : ""
}
}
, {
"box" : {
"bgcolor" : [ 0.862, 0.862, 0.862, 1.0 ],
"floatoutput" : 1,
"id" : "obj-10",
"maxclass" : "dial",
"needlecolor" : [ 0.784314, 0.368627, 0.368627, 1.0 ],
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "float" ],
"outlinecolor" : [ 0.67451, 0.690196, 0.345098, 1.0 ],
"parameter_enable" : 0,
"patching_rect" : [ 554.0, 153.5, 40.0, 40.0 ],
"size" : 1.0,
"style" : ""
}
}
, {
"box" : {
"bgcolor" : [ 0.862, 0.862, 0.862, 1.0 ],
"floatoutput" : 1,
"id" : "obj-2",
"maxclass" : "dial",
"needlecolor" : [ 0.784314, 0.368627, 0.368627, 1.0 ],
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "float" ],
"outlinecolor" : [ 0.67451, 0.690196, 0.345098, 1.0 ],
"parameter_enable" : 0,
"patching_rect" : [ 503.0, 153.5, 40.0, 40.0 ],
"size" : 1.0,
"style" : ""
}
}
, {
"box" : {
"bgcolor" : [ 0.862, 0.862, 0.862, 1.0 ],
"floatoutput" : 1,
"id" : "obj-24",
"maxclass" : "dial",
"needlecolor" : [ 0.784314, 0.368627, 0.368627, 1.0 ],
"numinlets" : 1,
"numoutlets" : 1,
"outlettype" : [ "float" ],
"outlinecolor" : [ 0.67451, 0.690196, 0.345098, 1.0 ],
"parameter_enable" : 0,
"patching_rect" : [ 452.0, 153.5, 40.0, 40.0 ],
"size" : 1.0,
"style" : ""
}
}
, {
"box" : {
"id" : "obj-7",
"maxclass" : "ezdac~",
"numinlets" : 2,
"numoutlets" : 0,
"patching_rect" : [ 343.0, 547.0, 48.25, 48.25 ],
"style" : ""
}
}
, {
"box" : {
"fontface" : 0,
"fontname" : "Arial",
"fontsize" : 12.0,
"id" : "obj-1",
"maxclass" : "newobj",
"numinlets" : 2,
"numoutlets" : 3,
"outlettype" : [ "signal", "signal", "" ],
"patching_rect" : [ 343.0, 424.0, 96.0, 22.0 ],
"style" : "",
"text" : "jsusfx~ gain.jsfx"
}
}
],
"lines" : [ {
"patchline" : {
"destination" : [ "obj-13", 1 ],
"disabled" : 0,
"hidden" : 0,
"source" : [ "obj-1", 1 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-13", 0 ],
"disabled" : 0,
"hidden" : 0,
"source" : [ "obj-1", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-8", 2 ],
"disabled" : 0,
"hidden" : 0,
"source" : [ "obj-10", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-1", 0 ],
"disabled" : 0,
"hidden" : 0,
"midpoints" : [ 461.5, 392.25, 352.5, 392.25 ],
"source" : [ "obj-11", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-8", 3 ],
"disabled" : 0,
"hidden" : 0,
"source" : [ "obj-12", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-7", 1 ],
"disabled" : 0,
"hidden" : 0,
"source" : [ "obj-13", 1 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-7", 0 ],
"disabled" : 0,
"hidden" : 0,
"source" : [ "obj-13", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-9", 0 ],
"disabled" : 0,
"hidden" : 0,
"source" : [ "obj-14", 1 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-16", 0 ],
"disabled" : 0,
"hidden" : 0,
"source" : [ "obj-15", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-1", 0 ],
"disabled" : 0,
"hidden" : 0,
"midpoints" : [ 491.5, 392.5, 352.5, 392.5 ],
"source" : [ "obj-16", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-8", 4 ],
"disabled" : 0,
"hidden" : 0,
"source" : [ "obj-17", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-8", 5 ],
"disabled" : 0,
"hidden" : 0,
"source" : [ "obj-18", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-8", 1 ],
"disabled" : 0,
"hidden" : 0,
"source" : [ "obj-2", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-8", 7 ],
"disabled" : 0,
"hidden" : 0,
"source" : [ "obj-22", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-8", 6 ],
"disabled" : 0,
"hidden" : 0,
"source" : [ "obj-23", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-8", 0 ],
"disabled" : 0,
"hidden" : 0,
"source" : [ "obj-24", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-8", 11 ],
"disabled" : 0,
"hidden" : 0,
"source" : [ "obj-25", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-8", 10 ],
"disabled" : 0,
"hidden" : 0,
"source" : [ "obj-26", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-8", 9 ],
"disabled" : 0,
"hidden" : 0,
"source" : [ "obj-27", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-8", 8 ],
"disabled" : 0,
"hidden" : 0,
"source" : [ "obj-28", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-1", 0 ],
"disabled" : 0,
"hidden" : 0,
"midpoints" : [ 588.5, 392.75, 352.5, 392.75 ],
"source" : [ "obj-3", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-1", 1 ],
"disabled" : 0,
"hidden" : 0,
"midpoints" : [ 413.5, 137.0, 429.5, 137.0 ],
"source" : [ "obj-4", 1 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-1", 0 ],
"disabled" : 0,
"hidden" : 0,
"source" : [ "obj-4", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-1", 0 ],
"disabled" : 0,
"hidden" : 0,
"midpoints" : [ 685.5, 393.25, 352.5, 393.25 ],
"source" : [ "obj-5", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-1", 1 ],
"disabled" : 0,
"hidden" : 0,
"midpoints" : [ 413.5, 138.5, 429.5, 138.5 ],
"source" : [ "obj-6", 1 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-1", 0 ],
"disabled" : 0,
"hidden" : 0,
"midpoints" : [ 352.5, 273.5, 352.5, 273.5 ],
"source" : [ "obj-6", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-11", 0 ],
"disabled" : 0,
"hidden" : 0,
"source" : [ "obj-8", 0 ]
}
}
, {
"patchline" : {
"destination" : [ "obj-1", 0 ],
"disabled" : 0,
"hidden" : 0,
"midpoints" : [ 159.5, 393.5, 352.5, 393.5 ],
"source" : [ "obj-9", 0 ]
}
}
],
"parameters" : {
"obj-13" : [ "live.gain~[1]", "live.gain~", 0 ]
}
,
"dependency_cache" : [ {
"name" : "RUWA - Scared to Be Alone.mp3",
"bootpath" : "C74:/packages/MaxIntroLessons/media",
"type" : "Mp3 ",
"implicit" : 1
}
, {
"name" : "brushes.aif",
"bootpath" : "C74:/media/msp",
"type" : "AIFF",
"implicit" : 1
}
, {
"name" : "jsusfx~.mxo",
"type" : "iLaX"
}
],
"embedsnapshot" : 0
}
}
jsusfx-0.4.0/max/jsusfx~.xcodeproj/ 0000775 0000000 0000000 00000000000 13534773077 0017356 5 ustar 00root root 0000000 0000000 jsusfx-0.4.0/max/jsusfx~.xcodeproj/project.pbxproj 0000664 0000000 0000000 00000025765 13534773077 0022451 0 ustar 00root root 0000000 0000000 // !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 46;
objects = {
/* Begin PBXBuildFile section */
22922AD30F38D67900B1EFEA /* commonsyms.c in Sources */ = {isa = PBXBuildFile; fileRef = 22922AD20F38D67900B1EFEA /* commonsyms.c */; };
22CF115E0EE9A6F40054F513 /* jsusfx_max.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 22CF115D0EE9A6F40054F513 /* jsusfx_max.cpp */; };
22CF116E0EE9A7700054F513 /* MaxAudioAPI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 22CF116D0EE9A7700054F513 /* MaxAudioAPI.framework */; };
385AA8A4198685B8004F4164 /* fft.c in Sources */ = {isa = PBXBuildFile; fileRef = 385AA8A3198685B8004F4164 /* fft.c */; };
385AA8AD198685C8004F4164 /* nseel-cfunc.c in Sources */ = {isa = PBXBuildFile; fileRef = 385AA8A6198685C8004F4164 /* nseel-cfunc.c */; };
385AA8AE198685C8004F4164 /* nseel-compiler.c in Sources */ = {isa = PBXBuildFile; fileRef = 385AA8A7198685C8004F4164 /* nseel-compiler.c */; };
385AA8AF198685C8004F4164 /* nseel-eval.c in Sources */ = {isa = PBXBuildFile; fileRef = 385AA8A8198685C8004F4164 /* nseel-eval.c */; };
385AA8B1198685C8004F4164 /* nseel-ram.c in Sources */ = {isa = PBXBuildFile; fileRef = 385AA8AA198685C8004F4164 /* nseel-ram.c */; };
385AA8B2198685C8004F4164 /* nseel-yylex.c in Sources */ = {isa = PBXBuildFile; fileRef = 385AA8AB198685C8004F4164 /* nseel-yylex.c */; };
385AA8B519868709004F4164 /* jsusfx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 385AA8B319868709004F4164 /* jsusfx.cpp */; };
385AA8B619868709004F4164 /* jsusfx.h in Headers */ = {isa = PBXBuildFile; fileRef = 385AA8B419868709004F4164 /* jsusfx.h */; };
385AA8B919889AFD004F4164 /* maxmspsdk.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = 22CF10220EE984600054F513 /* maxmspsdk.xcconfig */; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
22922AD20F38D67900B1EFEA /* commonsyms.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = commonsyms.c; path = "../../MaxSDK-6.1.4/c74support/max-includes/common/commonsyms.c"; sourceTree = SOURCE_ROOT; };
22CF10220EE984600054F513 /* maxmspsdk.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = maxmspsdk.xcconfig; sourceTree = SOURCE_ROOT; };
22CF115D0EE9A6F40054F513 /* jsusfx_max.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = jsusfx_max.cpp; sourceTree = SOURCE_ROOT; };
22CF116D0EE9A7700054F513 /* MaxAudioAPI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MaxAudioAPI.framework; path = "../../MaxSDK-6.1.4/c74support/msp-includes/MaxAudioAPI.framework"; sourceTree = SOURCE_ROOT; };
2FBBEAE508F335360078DB84 /* jsusfx~.mxo */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "jsusfx~.mxo"; sourceTree = BUILT_PRODUCTS_DIR; };
385AA8A3198685B8004F4164 /* fft.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = fft.c; path = ../WDL/fft.c; sourceTree = ""; };
385AA8A6198685C8004F4164 /* nseel-cfunc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "nseel-cfunc.c"; path = "../WDL/eel2/nseel-cfunc.c"; sourceTree = ""; };
385AA8A7198685C8004F4164 /* nseel-compiler.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "nseel-compiler.c"; path = "../WDL/eel2/nseel-compiler.c"; sourceTree = ""; };
385AA8A8198685C8004F4164 /* nseel-eval.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "nseel-eval.c"; path = "../WDL/eel2/nseel-eval.c"; sourceTree = ""; };
385AA8AA198685C8004F4164 /* nseel-ram.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "nseel-ram.c"; path = "../WDL/eel2/nseel-ram.c"; sourceTree = ""; };
385AA8AB198685C8004F4164 /* nseel-yylex.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "nseel-yylex.c"; path = "../WDL/eel2/nseel-yylex.c"; sourceTree = ""; };
385AA8B319868709004F4164 /* jsusfx.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = jsusfx.cpp; path = ../jsusfx.cpp; sourceTree = ""; };
385AA8B419868709004F4164 /* jsusfx.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = jsusfx.h; path = ../jsusfx.h; sourceTree = ""; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
2FBBEADC08F335360078DB84 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
22CF116E0EE9A7700054F513 /* MaxAudioAPI.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
089C166AFE841209C02AAC07 /* iterator */ = {
isa = PBXGroup;
children = (
385AA8B319868709004F4164 /* jsusfx.cpp */,
385AA8B419868709004F4164 /* jsusfx.h */,
385AA8A21986858C004F4164 /* eel2 */,
22CF10220EE984600054F513 /* maxmspsdk.xcconfig */,
22922AD20F38D67900B1EFEA /* commonsyms.c */,
22CF115D0EE9A6F40054F513 /* jsusfx_max.cpp */,
22CF116D0EE9A7700054F513 /* MaxAudioAPI.framework */,
19C28FB4FE9D528D11CA2CBB /* Products */,
);
name = iterator;
sourceTree = "";
};
19C28FB4FE9D528D11CA2CBB /* Products */ = {
isa = PBXGroup;
children = (
2FBBEAE508F335360078DB84 /* jsusfx~.mxo */,
);
name = Products;
sourceTree = "";
};
385AA8A21986858C004F4164 /* eel2 */ = {
isa = PBXGroup;
children = (
385AA8A6198685C8004F4164 /* nseel-cfunc.c */,
385AA8A7198685C8004F4164 /* nseel-compiler.c */,
385AA8A8198685C8004F4164 /* nseel-eval.c */,
385AA8AA198685C8004F4164 /* nseel-ram.c */,
385AA8AB198685C8004F4164 /* nseel-yylex.c */,
385AA8A3198685B8004F4164 /* fft.c */,
);
name = eel2;
sourceTree = "";
};
/* End PBXGroup section */
/* Begin PBXHeadersBuildPhase section */
2FBBEAD708F335360078DB84 /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
385AA8B619868709004F4164 /* jsusfx.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXHeadersBuildPhase section */
/* Begin PBXNativeTarget section */
2FBBEAD608F335360078DB84 /* max-external */ = {
isa = PBXNativeTarget;
buildConfigurationList = 2FBBEAE008F335360078DB84 /* Build configuration list for PBXNativeTarget "max-external" */;
buildPhases = (
2FBBEAD708F335360078DB84 /* Headers */,
2FBBEAD808F335360078DB84 /* Resources */,
2FBBEADA08F335360078DB84 /* Sources */,
2FBBEADC08F335360078DB84 /* Frameworks */,
2FBBEADF08F335360078DB84 /* Rez */,
);
buildRules = (
);
dependencies = (
);
name = "max-external";
productName = iterator;
productReference = 2FBBEAE508F335360078DB84 /* jsusfx~.mxo */;
productType = "com.apple.product-type.bundle";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
089C1669FE841209C02AAC07 /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 0460;
};
buildConfigurationList = 2FBBEACF08F335010078DB84 /* Build configuration list for PBXProject "jsusfx~" */;
compatibilityVersion = "Xcode 3.2";
developmentRegion = English;
hasScannedForEncodings = 1;
knownRegions = (
en,
);
mainGroup = 089C166AFE841209C02AAC07 /* iterator */;
projectDirPath = "";
projectRoot = "";
targets = (
2FBBEAD608F335360078DB84 /* max-external */,
);
};
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
2FBBEAD808F335360078DB84 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
385AA8B919889AFD004F4164 /* maxmspsdk.xcconfig in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXRezBuildPhase section */
2FBBEADF08F335360078DB84 /* Rez */ = {
isa = PBXRezBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXRezBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
2FBBEADA08F335360078DB84 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
22CF115E0EE9A6F40054F513 /* jsusfx_max.cpp in Sources */,
22922AD30F38D67900B1EFEA /* commonsyms.c in Sources */,
385AA8A4198685B8004F4164 /* fft.c in Sources */,
385AA8AD198685C8004F4164 /* nseel-cfunc.c in Sources */,
385AA8AE198685C8004F4164 /* nseel-compiler.c in Sources */,
385AA8AF198685C8004F4164 /* nseel-eval.c in Sources */,
385AA8B1198685C8004F4164 /* nseel-ram.c in Sources */,
385AA8B2198685C8004F4164 /* nseel-yylex.c in Sources */,
385AA8B519868709004F4164 /* jsusfx.cpp in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin XCBuildConfiguration section */
2FBBEAD008F335010078DB84 /* Development */ = {
isa = XCBuildConfiguration;
buildSettings = {
};
name = Development;
};
2FBBEAD108F335010078DB84 /* Deployment */ = {
isa = XCBuildConfiguration;
buildSettings = {
};
name = Deployment;
};
2FBBEAE108F335360078DB84 /* Development */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 22CF10220EE984600054F513 /* maxmspsdk.xcconfig */;
buildSettings = {
COMBINE_HIDPI_IMAGES = YES;
COPY_PHASE_STRIP = NO;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"\"$(SRCROOT)/../../../c74support/msp-includes\"",
);
GCC_OPTIMIZATION_LEVEL = 0;
OTHER_LDFLAGS = "$(C74_SYM_LINKER_FLAGS)";
};
name = Development;
};
2FBBEAE208F335360078DB84 /* Deployment */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 22CF10220EE984600054F513 /* maxmspsdk.xcconfig */;
buildSettings = {
COMBINE_HIDPI_IMAGES = YES;
COPY_PHASE_STRIP = YES;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"\"$(SRCROOT)/../../../c74support/msp-includes\"",
);
OTHER_LDFLAGS = "$(C74_SYM_LINKER_FLAGS)";
};
name = Deployment;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
2FBBEACF08F335010078DB84 /* Build configuration list for PBXProject "jsusfx~" */ = {
isa = XCConfigurationList;
buildConfigurations = (
2FBBEAD008F335010078DB84 /* Development */,
2FBBEAD108F335010078DB84 /* Deployment */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Development;
};
2FBBEAE008F335360078DB84 /* Build configuration list for PBXNativeTarget "max-external" */ = {
isa = XCConfigurationList;
buildConfigurations = (
2FBBEAE108F335360078DB84 /* Development */,
2FBBEAE208F335360078DB84 /* Deployment */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Development;
};
/* End XCConfigurationList section */
};
rootObject = 089C1669FE841209C02AAC07 /* Project object */;
}
jsusfx-0.4.0/max/jsusfx~.xcodeproj/project.xcworkspace/ 0000775 0000000 0000000 00000000000 13534773077 0023354 5 ustar 00root root 0000000 0000000 jsusfx-0.4.0/max/jsusfx~.xcodeproj/project.xcworkspace/contents.xcworkspacedata 0000664 0000000 0000000 00000000230 13534773077 0030311 0 ustar 00root root 0000000 0000000
jsusfx-0.4.0/max/jsusfx~.xcodeproj/project.xcworkspace/xcuserdata/ 0000775 0000000 0000000 00000000000 13534773077 0025517 5 ustar 00root root 0000000 0000000 jsusfx-0.4.0/max/jsusfx~.xcodeproj/project.xcworkspace/xcuserdata/asb2m10.xcuserdatad/ 0000775 0000000 0000000 00000000000 13534773077 0031172 5 ustar 00root root 0000000 0000000 UserInterfaceState.xcuserstate 0000664 0000000 0000000 00000401226 13534773077 0037154 0 ustar 00root root 0000000 0000000 jsusfx-0.4.0/max/jsusfx~.xcodeproj/project.xcworkspace/xcuserdata/asb2m10.xcuserdatad bplist00 #$X$versionX$objectsY$archiverT$top d ) * + , - . / 0 1 2 6 <