diff options
Diffstat (limited to 'externals/grill')
68 files changed, 1098 insertions, 656 deletions
diff --git a/externals/grill/delsplit/delsplit.cw b/externals/grill/delsplit/delsplit.cw Binary files differindex c0c7fef3..8a4a41ac 100755 --- a/externals/grill/delsplit/delsplit.cw +++ b/externals/grill/delsplit/delsplit.cw diff --git a/externals/grill/flext/config-pd-bcc.txt b/externals/grill/flext/config-pd-bcc.txt index 3d989e3e..15b8a37e 100644 --- a/externals/grill/flext/config-pd-bcc.txt +++ b/externals/grill/flext/config-pd-bcc.txt @@ -9,9 +9,13 @@ PDPATH=c:\programme\audio\pd BCCPATH=c:\programme\prog\bcc55 # where is the SndObj include directory? -# (leave blank to disable SndObj support) +# (leave blank or comment out to disable SndObj support) SNDOBJ=f:\prog\packs\sndobj\include +# where is the STK include directory? +# (leave blank or comment out to disable STK support) +STK=f:\prog\packs\stk\include + # build directory for flext libraries? OUTPATH=.\pd-bcc diff --git a/externals/grill/flext/config-pd-cygwin.txt b/externals/grill/flext/config-pd-cygwin.txt index 667af1ef..ede2a3d9 100644 --- a/externals/grill/flext/config-pd-cygwin.txt +++ b/externals/grill/flext/config-pd-cygwin.txt @@ -6,9 +6,13 @@ PDPATH=/cygdrive/c/programme/audio/pd # where is the SndObj include directory? -# (leave blank to disable SndObj support) +# (leave blank or comment out to disable SndObj support) SNDOBJ=/cygdrive/f/prog/packs/sndobj/include +# where is the STK include directory? +# (leave blank or comment out to disable STK support) +STK=/cygdrive/f/prog/packs/stk/include + # where should flext libraries be built? TARGDIR=./pd-cygwin diff --git a/externals/grill/flext/config-pd-darwin.txt b/externals/grill/flext/config-pd-darwin.txt index 7daaa036..71d746a1 100644 --- a/externals/grill/flext/config-pd-darwin.txt +++ b/externals/grill/flext/config-pd-darwin.txt @@ -6,9 +6,13 @@ PDPATH=/usr/local/pd/src # where is the SndObj include directory? -# (leave blank to disable SndObj support) +# (leave blank or comment out to disable SndObj support) # SNDOBJ=/usr/src/sndobj/include +# where is the STK include directory? +# (leave blank or comment out to disable STK support) +# STK=/usr/src/stk/include + # where should flext libraries be built? TARGDIR=./pd-darwin diff --git a/externals/grill/flext/config-pd-linux.txt b/externals/grill/flext/config-pd-linux.txt index 3995e500..d445c035 100644 --- a/externals/grill/flext/config-pd-linux.txt +++ b/externals/grill/flext/config-pd-linux.txt @@ -11,9 +11,13 @@ CXX=g++ PDPATH= # where is the SndObj include directory? -# (leave blank to disable SndObj support) +# (leave blank or comment out to disable SndObj support) SNDOBJ=/usr/local/include/SndObj +# where is the STK include directory? +# (leave blank or comment out to disable STK support) +STK=/usr/src/stk-4.1.1/include + # where should flext libraries be built? TARGDIR=./pd-linux diff --git a/externals/grill/flext/config-pd-msvc.txt b/externals/grill/flext/config-pd-msvc.txt index 6b8102ce..83c908d8 100644 --- a/externals/grill/flext/config-pd-msvc.txt +++ b/externals/grill/flext/config-pd-msvc.txt @@ -9,9 +9,13 @@ PDPATH=c:\programme\audio\pd MSVCPATH="c:\programme\prog\microsoft visual studio\VC98" # where is the SndObj include directory? -# (leave blank to disable SndObj support) +# (leave blank or comment out to disable SndObj support) SNDOBJ=f:\prog\packs\sndobj\include +# where is the STK include directory? +# (leave blank or comment out to disable STK support) +STK=f:\prog\packs\stk\include + # where should flext libraries be built? # object files will be placed in subfolders OUTPATH=".\pd-msvc" diff --git a/externals/grill/flext/flext.cw b/externals/grill/flext/flext.cw Binary files differindex 6ff16f56..6e5f4625 100644 --- a/externals/grill/flext/flext.cw +++ b/externals/grill/flext/flext.cw diff --git a/externals/grill/flext/flext.dsp b/externals/grill/flext/flext.dsp index 2c1656e5..a0f6b623 100644 --- a/externals/grill/flext/flext.dsp +++ b/externals/grill/flext/flext.dsp @@ -66,7 +66,7 @@ LIB32=link.exe -lib # PROP Intermediate_Dir "pd-msvc\sd" # PROP Target_Dir "" # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c -# ADD CPP /nologo /W3 /Gm /ZI /Od /I "c:\programme\audio\pd\src" /I "f:\prog\packs\sndobj\include" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /D FLEXT_SYS=2 /FR /YX"flext.h" /FD /GZ /c +# ADD CPP /nologo /W3 /Gm /ZI /Od /I "c:\programme\audio\pd\src" /I "f:\prog\packs\sndobj\include" /I "f:\prog\packs\stk\include" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /D FLEXT_SYS=2 /FR /YX"flext.h" /FD /GZ /c # ADD BASE RSC /l 0xc07 /d "_DEBUG" # ADD RSC /l 0xc07 /d "_DEBUG" BSC32=bscmake.exe @@ -89,7 +89,7 @@ LIB32=link.exe -lib # PROP Intermediate_Dir "pd-msvc\td" # PROP Target_Dir "" # ADD BASE CPP /nologo /MTd /W3 /Gm /GR /ZI /Od /I "c:\programme\audio\pd\src" /I "." /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /D "PD" /D "NT" /D "FLEXT_THREADS" /FR /YX /FD /GZ /c -# ADD CPP /nologo /MTd /W3 /Gm /ZI /Od /I "c:\programme\audio\pd\src" /I "f:\prog\packs\sndobj\include" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /D "FLEXT_SYS_PD" /D "FLEXT_THREADS" /FR /YX"flext.h" /FD /GZ /c +# ADD CPP /nologo /MTd /W3 /Gm /ZI /Od /I "c:\programme\audio\pd\src" /I "f:\prog\packs\sndobj\include" /I "f:\prog\packs\stk\include" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /D "FLEXT_SYS_PD" /D "FLEXT_THREADS" /FR /YX"flext.h" /FD /GZ /c # ADD BASE RSC /l 0xc07 /d "_DEBUG" # ADD RSC /l 0xc07 /d "_DEBUG" BSC32=bscmake.exe @@ -112,7 +112,7 @@ LIB32=link.exe -lib # PROP Intermediate_Dir "pd-msvc\t" # PROP Target_Dir "" # ADD BASE CPP /nologo /MT /W3 /GR /O2 /I "c:\programme\audio\pd\src" /I "." /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /D "PD" /D "NT" /D "FLEXT_THREADS" /YX /FD /c -# ADD CPP /nologo /G6 /MT /W3 /O2 /I "c:\programme\audio\pd\src" /I "f:\prog\packs\sndobj\include" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /D FLEXT_SYS=2 /D "FLEXT_THREADS" /YX"flext.h" /FD /c +# ADD CPP /nologo /G6 /MT /W3 /O2 /I "c:\programme\audio\pd\src" /I "f:\prog\packs\sndobj\include" /I "f:\prog\packs\stk\include" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /D FLEXT_SYS=2 /D "FLEXT_THREADS" /YX"flext.h" /FD /c # ADD BASE RSC /l 0xc07 /d "NDEBUG" # ADD RSC /l 0xc07 /d "NDEBUG" BSC32=bscmake.exe diff --git a/externals/grill/flext/make-inc.pd-msvc b/externals/grill/flext/make-inc.pd-msvc index 7de273bc..c159cb1f 100644 --- a/externals/grill/flext/make-inc.pd-msvc +++ b/externals/grill/flext/make-inc.pd-msvc @@ -13,7 +13,11 @@ SOURCE=source INCPATH=/I$(MSVCPATH)\include /I$(PDPATH)\src /I$(SOURCE) !ifdef SNDOBJ -INCPATH=$(INCPATH) /I$(SNDOBJ) +INCPATH=$(INCPATH) /I$(SNDOBJ) +!endif + +!ifdef STK +INCPATH=$(INCPATH) /I$(STK) !endif # compiler definitions and flags @@ -62,6 +66,11 @@ SRCS=$(SRCS) $(SRCS_SNDOBJ) HDRS=$(HDRS) $(HDRS_SNDOBJ) !endif +!ifdef STK +SRCS=$(SRCS) $(SRCS_STK) +HDRS=$(HDRS) $(HDRS_STK) +!endif + #default target all: $(OUTPATH)\$(NAME)-$(TARGET).lib diff --git a/externals/grill/flext/makefile.pd-linux b/externals/grill/flext/makefile.pd-linux index 4ec7cb96..1230c332 100644 --- a/externals/grill/flext/makefile.pd-linux +++ b/externals/grill/flext/makefile.pd-linux @@ -13,7 +13,7 @@ CONFIG=config-pd-linux.txt include $(CONFIG) # compiler+linker stuff -INCLUDES=$(PDPATH) $(SNDOBJ) +INCLUDES=$(PDPATH) $(SNDOBJ) $(STK) FLAGS=-DFLEXT_SYS=2 CFLAGS=-O6 -mcpu=pentiumpro CFLAGS_D=-mcpu=pentiumpro -g @@ -30,11 +30,13 @@ NAME=flext include make-files.txt ifdef SNDOBJ -_SRCS=$(SRCS) $(SRCS_SNDOBJ) -_HDRS=$(HDRS) $(HDRS_SNDOBJ) -else -_SRCS=$(SRCS) -_HDRS=$(HDRS) +SRCS+=$(SRCS_SNDOBJ) +HDRS+=$(HDRS_SNDOBJ) +endif + +ifdef STK +SRCS+=$(SRCS_STK) +HDRS+=$(HDRS_STK) endif MAKEFILE=makefile.pd-linux @@ -48,7 +50,7 @@ all: $(TARGDIR) $(TARGET) $(TARGET_D) $(TARGET_T) $(TARGET_TD) $(TARGDIR): mkdir $(TARGDIR) -$(patsubst %,source/%,$(_SRCS)): $(patsubst %,source/%,$(_HDRS)) $(patsubst %,source/%,$(IHDRS)) $(MAKEFILE) $(CONFIG) +$(patsubst %,source/%,$(SRCS)): $(patsubst %,source/%,$(HDRS)) $(patsubst %,source/%,$(IHDRS)) $(MAKEFILE) $(CONFIG) touch $@ $(TARGDIR)/%.o : source/%.cpp @@ -63,19 +65,19 @@ $(TARGDIR)/%.to : source/%.cpp $(TARGDIR)/%.tdo : source/%.cpp $(CXX) -c $(CFLAGS_D) $(CFLAGS_T) $(FLAGS) $(patsubst %,-I%,$(INCLUDES) source) $< -o $@ -$(TARGET) : $(patsubst %.cpp,$(TARGDIR)/%.o,$(_SRCS)) +$(TARGET) : $(patsubst %.cpp,$(TARGDIR)/%.o,$(SRCS)) ar rc $@ $^ chmod 755 $@ -$(TARGET_D) : $(patsubst %.cpp,$(TARGDIR)/%.do,$(_SRCS)) +$(TARGET_D) : $(patsubst %.cpp,$(TARGDIR)/%.do,$(SRCS)) ar rc $@ $^ chmod 755 $@ -$(TARGET_T) : $(patsubst %.cpp,$(TARGDIR)/%.to,$(_SRCS)) +$(TARGET_T) : $(patsubst %.cpp,$(TARGDIR)/%.to,$(SRCS)) ar rc $@ $^ chmod 755 $@ -$(TARGET_TD) : $(patsubst %.cpp,$(TARGDIR)/%.tdo,$(_SRCS)) +$(TARGET_TD) : $(patsubst %.cpp,$(TARGDIR)/%.tdo,$(SRCS)) ar rc $@ $^ chmod 755 $@ @@ -91,7 +93,7 @@ $(INSTDIR): install:: $(INSTDIR) endif -install:: $(TARGET) $(TARGET_D) $(TARGET_T) $(TARGET_TD) $(patsubst %,source/%,$(_HDRS)) +install:: $(TARGET) $(TARGET_D) $(TARGET_T) $(TARGET_TD) $(patsubst %,source/%,$(HDRS)) cp $^ $(INSTDIR) chmod 755 $(patsubst %,$(INSTDIR)/%,$(notdir $^)) chown root.users $(patsubst %,$(INSTDIR)/%,$(notdir $^)) diff --git a/externals/grill/flext/readme.txt b/externals/grill/flext/readme.txt index 9c7b2d60..64e3cc31 100644 --- a/externals/grill/flext/readme.txt +++ b/externals/grill/flext/readme.txt @@ -130,6 +130,7 @@ Version history: - stripped the ThrMutex and ThrCond classes of non-portable (and irrelevant) functionality - simplified "ToQueue*" and threaded "ToOut*" message queue mechanism for Max/MSP - deprecated FLEXT_ADDMETHOD_V and FLEXT_ADDMETHOD_A definitions which only lead to confusion +- BACKWARDS-INCOMPATIBLE CHANGE: flext_sndobj::NewObjs must return a boolean!! 0.4.0: - the use of the const keyword is enforced (e.g. the preferred type for symbols is now "const t_symbol *") diff --git a/externals/grill/flext/source/flsndobj.cpp b/externals/grill/flext/source/flsndobj.cpp index a18da9d3..e5203556 100644 --- a/externals/grill/flext/source/flsndobj.cpp +++ b/externals/grill/flext/source/flsndobj.cpp @@ -37,14 +37,16 @@ void flext_sndobj::ClearObjs() FreeObjs(); if(inobj) { - for(int i = 0; i < inobjs; ++i) { delete inobj[i]; delete tmpobj[i]; } + for(int i = 0; i < inobjs; ++i) delete inobj[i]; delete[] inobj; inobj = NULL; + } + if(tmpobj) { + for(int i = 0; i < inobjs; ++i) delete tmpobj[i]; delete[] tmpobj; tmpobj = NULL; - inobjs = 0; } if(outobj) { for(int i = 0; i < outobjs; ++i) delete outobj[i]; - delete[] outobj; outobj = NULL; outobjs = 0; + delete[] outobj; outobj = NULL; } } @@ -62,16 +64,20 @@ void flext_sndobj::m_dsp(int n,t_sample *const *in,t_sample *const *out) smprt = Samplerate(); // set up sndobjs for inlets and outlets - inobj = new Inlet *[inobjs]; - tmpobj = new SndObj *[inobjs]; - for(i = 0; i < inobjs; ++i) { - inobj[i] = new Inlet(in[i],blsz,smprt); - tmpobj[i] = new SndObj(NULL,blsz,smprt); + if(inobjs) { + inobj = new Inlet *[inobjs]; + tmpobj = new SndObj *[inobjs]; + for(i = 0; i < inobjs; ++i) { + inobj[i] = new Inlet(in[i],blsz,smprt); + tmpobj[i] = new SndObj(NULL,blsz,smprt); + } + } + if(outobjs) { + outobj = new Outlet *[outobjs]; + for(i = 0; i < outobjs; ++i) outobj[i] = new Outlet(out[i],blsz,smprt); } - outobj = new Outlet *[outobjs]; - for(i = 0; i < outobjs; ++i) outobj[i] = new Outlet(out[i],blsz,smprt); - NewObjs(); + if(!NewObjs()) ClearObjs(); } else { // assign changed input/output vectors diff --git a/externals/grill/flext/source/flsndobj.h b/externals/grill/flext/source/flsndobj.h index 66f98a94..960267be 100644 --- a/externals/grill/flext/source/flsndobj.h +++ b/externals/grill/flext/source/flsndobj.h @@ -29,7 +29,7 @@ public: flext_sndobj(); // these have to be overridden in child classes - virtual void NewObjs() {} + virtual bool NewObjs() { return true; } virtual void FreeObjs() {} virtual void ProcessObjs() {} diff --git a/externals/grill/flext/source/flstk.cpp b/externals/grill/flext/source/flstk.cpp index 6a56aacb..58fd192e 100644 --- a/externals/grill/flext/source/flstk.cpp +++ b/externals/grill/flext/source/flstk.cpp @@ -37,11 +37,11 @@ void flext_stk::ClearObjs() if(inobj) { for(int i = 0; i < inobjs; ++i) delete inobj[i]; - delete[] inobj; inobj = NULL; inobjs = 0; + delete[] inobj; inobj = NULL; } if(outobj) { for(int i = 0; i < outobjs; ++i) delete outobj[i]; - delete[] outobj; outobj = NULL; outobjs = 0; + delete[] outobj; outobj = NULL; } } @@ -61,14 +61,18 @@ void flext_stk::m_dsp(int n,t_sample *const *in,t_sample *const *out) Stk::setSampleRate(smprt); // set up sndobjs for inlets and outlets - inobj = new Inlet *[inobjs]; - for(i = 0; i < inobjs; ++i) { - inobj[i] = new Inlet(in[i],blsz); + if(inobjs) { + inobj = new Input *[inobjs]; + for(i = 0; i < inobjs; ++i) + inobj[i] = new Input(in[i],blsz); + } + if(outobjs) { + outobj = new Output *[outobjs]; + for(i = 0; i < outobjs; ++i) + outobj[i] = new Output(out[i],blsz); } - outobj = new Outlet *[outobjs]; - for(i = 0; i < outobjs; ++i) outobj[i] = new Outlet(out[i],blsz); - NewObjs(); + if(!NewObjs()) ClearObjs(); } else { // assign changed input/output vectors @@ -80,24 +84,24 @@ void flext_stk::m_dsp(int n,t_sample *const *in,t_sample *const *out) void flext_stk::m_signal(int n,t_sample *const *in,t_sample *const *out) { - ProcessObjs(); + if(inobjs || outobjs) ProcessObjs(blsz); } // inlet class -flext_stk::Inlet::Inlet(const t_sample *b,int v): +flext_stk::Input::Input(const t_sample *b,int v): buf(b),vecsz(v), index(0) {} -t_sample flext_stk::Inlet::tick() +MY_FLOAT flext_stk::Input::tick() { if(++index >= vecsz) index = 0; return lastOut(); } -t_sample *flext_stk::Inlet::tick(t_sample *vector,unsigned int vectorSize) +MY_FLOAT *flext_stk::Input::tick(MY_FLOAT *vector,unsigned int vectorSize) { for(unsigned int i = 0; i < vectorSize; i++) vector[i] = tick(); return vector; @@ -106,18 +110,18 @@ t_sample *flext_stk::Inlet::tick(t_sample *vector,unsigned int vectorSize) // outlet class -flext_stk::Outlet::Outlet(t_sample *b,int v): +flext_stk::Output::Output(t_sample *b,int v): buf(b),vecsz(v), index(0) {} -void flext_stk::Outlet::tick(t_sample s) +void flext_stk::Output::tick(MY_FLOAT s) { - buf[index] = s; + buf[index] = (t_sample)s; if(++index >= vecsz) index = 0; } -void flext_stk::Outlet::tick(const t_sample *vector,unsigned int vectorSize) +void flext_stk::Output::tick(const MY_FLOAT *vector,unsigned int vectorSize) { for(unsigned int i = 0; i < vectorSize; i++) tick(vector[i]); } diff --git a/externals/grill/flext/source/flstk.h b/externals/grill/flext/source/flstk.h index d340bcb1..7311e032 100644 --- a/externals/grill/flext/source/flstk.h +++ b/externals/grill/flext/source/flstk.h @@ -11,43 +11,36 @@ WARRANTIES, see the file, "license.txt," in this distribution. #ifndef __FLSTK_H #define __FLSTK_H -#include "flext.h" - -#include <stk.h> +#include <flext.h> +#include <Stk.h> class FLEXT_SHARE flext_stk: public flext_dsp -{ +{ FLEXT_HEADER(flext_stk,flext_dsp) public: flext_stk(); // these have to be overridden in child classes - virtual void NewObjs() {} + virtual bool NewObjs() { return true; } virtual void FreeObjs() {} - virtual void ProcessObjs() {} + virtual void ProcessObjs(int blocksize) {} protected: virtual bool Init(); virtual void Exit(); - virtual void m_dsp(int n,t_sample *const *in,t_sample *const *out); - virtual void m_signal(int n,t_sample *const *in,t_sample *const *out); - -private: //! STK object for reading from inlet buffer - class Inlet: + class Input: public Stk { public: - Inlet(const t_sample *b,int vecsz); - - const t_sample *lastFrame() const { return buf+index; } - t_sample lastOut() const { return buf[index]; } + Input(const t_sample *b,int vecsz); - t_sample tick(); - t_sample *tick(t_sample *vector,unsigned int vectorSize); + MY_FLOAT lastOut() const { return (MY_FLOAT)buf[index]; } + MY_FLOAT tick(); + MY_FLOAT *tick(MY_FLOAT *vector,unsigned int vectorSize); void SetBuf(const t_sample *b) { buf = b; } @@ -57,14 +50,14 @@ private: }; //! STK object for writing to outlet buffer - class Outlet: + class Output: public Stk { public: - Outlet(t_sample *b,int vecsz); + Output(t_sample *b,int vecsz); - void tick(t_sample sample); - void tick(const t_sample *vector,unsigned int vectorSize); + void tick(MY_FLOAT sample); + void tick(const MY_FLOAT *vector,unsigned int vectorSize); void SetBuf(t_sample *b) { buf = b; } @@ -73,11 +66,18 @@ private: int vecsz,index; }; + Input &Inlet(int ix) { return *inobj[ix]; } + Output &Outlet(int ix) { return *outobj[ix]; } + +private: + virtual void m_dsp(int n,t_sample *const *in,t_sample *const *out); + virtual void m_signal(int n,t_sample *const *in,t_sample *const *out); + void ClearObjs(); int inobjs,outobjs; - Inlet **inobj; - Outlet **outobj; + Input **inobj; + Output **outobj; float smprt; int blsz; diff --git a/externals/grill/flext/tutorial/adv1/main.cpp b/externals/grill/flext/tutorial/adv1/main.cpp index 7e1047ce..4150800f 100755 --- a/externals/grill/flext/tutorial/adv1/main.cpp +++ b/externals/grill/flext/tutorial/adv1/main.cpp @@ -1,7 +1,7 @@ /* flext tutorial - advanced 1 -Copyright (c) 2002 Thomas Grill (xovo@gmx.net) +Copyright (c) 2002,2003 Thomas Grill (xovo@gmx.net) For information on usage and redistribution, and for a DISCLAIMER OF ALL WARRANTIES, see the file, "license.txt," in this distribution. diff --git a/externals/grill/flext/tutorial/adv2/main.cpp b/externals/grill/flext/tutorial/adv2/main.cpp index 32adaf85..10322010 100644 --- a/externals/grill/flext/tutorial/adv2/main.cpp +++ b/externals/grill/flext/tutorial/adv2/main.cpp @@ -1,7 +1,7 @@ /* flext tutorial - advanced 2 -Copyright (c) 2002 Thomas Grill (xovo@gmx.net) +Copyright (c) 2002,2003 Thomas Grill (xovo@gmx.net) For information on usage and redistribution, and for a DISCLAIMER OF ALL WARRANTIES, see the file, "license.txt," in this distribution. @@ -46,12 +46,12 @@ private: // define the _static_ class setup function static void setup(t_class *c); - FLEXT_CALLBACK(m_tag); - FLEXT_CALLBACK_I(m_tag_and_int); - FLEXT_CALLBACK_S(m_sym); + FLEXT_CALLBACK(m_tag) + FLEXT_CALLBACK_I(m_tag_and_int) + FLEXT_CALLBACK_S(m_sym) }; -// instantiate the class (constructor has a variable argument list) +// instantiate the class (constructor takes no arguments) FLEXT_NEW("adv2",adv2) diff --git a/externals/grill/flext/tutorial/adv3/main.cpp b/externals/grill/flext/tutorial/adv3/main.cpp index 0306e68f..78615172 100644 --- a/externals/grill/flext/tutorial/adv3/main.cpp +++ b/externals/grill/flext/tutorial/adv3/main.cpp @@ -1,7 +1,7 @@ /* flext tutorial - advanced 3 -Copyright (c) 2002 Thomas Grill (xovo@gmx.net) +Copyright (c) 2002,2003 Thomas Grill (xovo@gmx.net) For information on usage and redistribution, and for a DISCLAIMER OF ALL WARRANTIES, see the file, "license.txt," in this distribution. @@ -74,6 +74,7 @@ public: } protected: + void m_reset() { i_count = i_down; @@ -115,6 +116,7 @@ protected: int i_count,i_down,i_up,i_step; private: + static void setup(t_class *c) { // --- set up methods (class scope) --- @@ -127,7 +129,7 @@ private: // no, variable list or anything and all single arguments are recognized automatically, ... FLEXT_CADDMETHOD_(c,0,"reset",m_reset); FLEXT_CADDMETHOD_(c,0,"set",m_set); - // ..., more complex types (combinations of types) have to be specified + // ..., more complex types (combinations of types) have to be specified explicitly FLEXT_CADDMETHOD_II(c,0,"bound",m_bound); // two int arguments // set up methods for inlets 1 and 2 diff --git a/externals/grill/flext/tutorial/attr1/main.cpp b/externals/grill/flext/tutorial/attr1/main.cpp index 2659a9ac..e4abc47b 100644 --- a/externals/grill/flext/tutorial/attr1/main.cpp +++ b/externals/grill/flext/tutorial/attr1/main.cpp @@ -1,7 +1,7 @@ /* flext tutorial - attributes 1 -Copyright (c) 2002 Thomas Grill (xovo@gmx.net) +Copyright (c) 2002,2003 Thomas Grill (xovo@gmx.net) For information on usage and redistribution, and for a DISCLAIMER OF ALL WARRANTIES, see the file, "license.txt," in this distribution. diff --git a/externals/grill/flext/tutorial/attr2/main.cpp b/externals/grill/flext/tutorial/attr2/main.cpp index d6df4e78..f75ce412 100644 --- a/externals/grill/flext/tutorial/attr2/main.cpp +++ b/externals/grill/flext/tutorial/attr2/main.cpp @@ -1,7 +1,7 @@ /* flext tutorial - attributes 2 -Copyright (c) 2002 Thomas Grill (xovo@gmx.net) +Copyright (c) 2002,2003 Thomas Grill (xovo@gmx.net) For information on usage and redistribution, and for a DISCLAIMER OF ALL WARRANTIES, see the file, "license.txt," in this distribution. diff --git a/externals/grill/flext/tutorial/attr3/main.cpp b/externals/grill/flext/tutorial/attr3/main.cpp index 835c2881..4c2736c5 100644 --- a/externals/grill/flext/tutorial/attr3/main.cpp +++ b/externals/grill/flext/tutorial/attr3/main.cpp @@ -1,7 +1,7 @@ /* flext tutorial - attributes 3 -Copyright (c) 2002 Thomas Grill (xovo@gmx.net) +Copyright (c) 2002,2003 Thomas Grill (xovo@gmx.net) For information on usage and redistribution, and for a DISCLAIMER OF ALL WARRANTIES, see the file, "license.txt," in this distribution. @@ -11,19 +11,23 @@ This is tutorial example "advanced 3" with the usage of attributes. */ + // IMPORTANT: enable attribute processing (specify before inclusion of flext headers!) // For clarity, this is done here, but you'd better specify it as a compiler definition // FLEXT_ATTRIBUTES must be 0 or 1, #define FLEXT_ATTRIBUTES 1 + // include flext header #include <flext.h> + // check for appropriate flext version #if !defined(FLEXT_VERSION) || (FLEXT_VERSION < 401) #error You need at least flext version 0.4.1 #endif + class attr3: public flext_base { @@ -31,28 +35,11 @@ class attr3: public: // constructor with no arguments - attr3(int argc,t_atom *argv): - i_step(1) + // initial values are set by attributes at creation time (see help file) + attr3(): + // initialize data members + i_down(0),i_up(0),i_count(0),i_step(1) { - // --- initialize bounds and step size --- - int f1 = 0,f2 = 0; - switch(argc) { - default: - case 3: - i_step = GetInt(argv[2]); - case 2: - f2 = GetInt(argv[1]); - case 1: - f1 = GetInt(argv[0]); - case 0: - ; - } - if(argc < 2) f2 = f1; - - m_bound(f1,f2); - - i_count = i_down; - // --- define inlets and outlets --- AddInAnything(); // default inlet AddInList(); // inlet for bounds @@ -88,7 +75,7 @@ protected: ToOutInt(0,f); } - void m_bound(int f1,int f2) + void m_bounds(int f1,int f2) { i_down = f1 < f2?f1:f2; i_up = f1 > f2?f1:f2; @@ -96,27 +83,29 @@ protected: void m_step(int s) { i_step = s; } - int i_count,i_down,i_up,i_step; // setter method of bounds variables - void ms_bound(const AtomList &l) + void ms_bounds(const AtomList &l) { if(l.Count() == 2 && CanbeInt(l[0]) && CanbeInt(l[1])) - // if it is a two element integer list use m_bound method - m_bound(GetAInt(l[0]),GetAInt(l[1])); + // if it is a two element integer list use m_bounds method + m_bounds(GetAInt(l[0]),GetAInt(l[1])); else // else post a warning - post("%s - bound needs to integer parameters",thisName()); + post("%s - 'bounds' needs two integer parameters",thisName()); } // getter method of bounds variables - void mg_bound(AtomList &l) const + void mg_bounds(AtomList &l) const { l(2); // initialize two element list SetInt(l[0],i_down); // set first element SetInt(l[1],i_up); // set second element } + + int i_count,i_down,i_up,i_step; + private: static void setup(t_class *c) @@ -132,15 +121,19 @@ private: // set up methods for inlets 1 and 2 // no message tag used - FLEXT_CADDMETHOD(c,1,m_bound); // variable arg type recognized automatically + FLEXT_CADDMETHOD(c,1,m_bounds); // variable arg type recognized automatically FLEXT_CADDMETHOD(c,2,m_step); // single int arg also recognized automatically // --- set up attributes (class scope) --- + // these have equally named getters and setters + // see the wrappers below FLEXT_CADDATTR_VAR1(c,"count",i_count); FLEXT_CADDATTR_VAR1(c,"step",i_step); - FLEXT_CADDATTR_VAR(c,"bound",mg_bound,ms_bound); + // bounds has differently named getter and setter functions + // see the wrappers below + FLEXT_CADDATTR_VAR(c,"bounds",mg_bounds,ms_bounds); } // normal method callbacks for bang and reset @@ -148,16 +141,17 @@ private: FLEXT_CALLBACK(m_reset) FLEXT_CALLBACK_V(m_set) // normal method wrapper for m_set - FLEXT_ATTRVAR_I(i_count) // wrapper function for integer variable i_count + FLEXT_ATTRVAR_I(i_count) // wrapper functions (get and set) for integer variable i_count - FLEXT_CALLBACK_II(m_bound) // normal method wrapper for m_bound - FLEXT_CALLVAR_V(mg_bound,ms_bound) // getter and setter method of bounds + FLEXT_CALLBACK_II(m_bounds) // normal method wrapper for m_bounds + FLEXT_CALLVAR_V(mg_bounds,ms_bounds) // getter and setter method of bounds FLEXT_CALLBACK_I(m_step) // normal method wrapper for m_step - FLEXT_ATTRVAR_I(i_step) // wrapper function for integer variable i_step + FLEXT_ATTRVAR_I(i_step) // wrapper functions (get and set) for integer variable i_step }; -// instantiate the class (constructor has a variable argument list) -FLEXT_NEW_V("attr3",attr3) + +// instantiate the class (constructor takes no arguments) +FLEXT_NEW("attr3",attr3) diff --git a/externals/grill/flext/tutorial/build-pd-bcc.bat b/externals/grill/flext/tutorial/build-pd-bcc.bat index 45961f13..5c180607 100644 --- a/externals/grill/flext/tutorial/build-pd-bcc.bat +++ b/externals/grill/flext/tutorial/build-pd-bcc.bat @@ -44,12 +44,21 @@ @make -f ..\makefile.pd-bcc NAME=signal2~ SETUPFUNCTION=signal2_tilde_setup @cd .. -@cd sndobj1 -@make -f ..\makefile.pd-bcc NAME=sndobj1~ SETUPFUNCTION=sndobj1_tilde_setup -@cd .. - @cd lib1 @make -f ..\makefile.pd-bcc NAME=lib1 SETUPFUNCTION=lib1_setup @cd .. +rem @cd sndobj1 +rem @make -f ..\makefile.pd-bcc NAME=sndobj1~ SETUPFUNCTION=sndobj1_tilde_setup +rem @cd .. + +rem @cd stk1 +rem @make -f ..\makefile.pd-bcc NAME=stk1~ SETUPFUNCTION=stk1_tilde_setup +rem @cd .. + +rem @cd stk2 +rem @make -f ..\makefile.pd-bcc NAME=stk2~ SETUPFUNCTION=stk2_tilde_setup +rem @cd .. + + diff --git a/externals/grill/flext/tutorial/build-pd-msvc.bat b/externals/grill/flext/tutorial/build-pd-msvc.bat index a01bee53..1a0923b1 100644 --- a/externals/grill/flext/tutorial/build-pd-msvc.bat +++ b/externals/grill/flext/tutorial/build-pd-msvc.bat @@ -1,18 +1,3 @@ @echo --- Building flext tutorial examples with MSVC++ --- -nmake /f makefile.pd-msvc NAME=simple1 DIR=simple1 -nmake /f makefile.pd-msvc NAME=simple2 DIR=simple2 -nmake /f makefile.pd-msvc NAME=simple3 DIR=simple3 -nmake /f makefile.pd-msvc NAME=adv1 DIR=adv1 -nmake /f makefile.pd-msvc NAME=adv2 DIR=adv2 -nmake /f makefile.pd-msvc NAME=adv3 DIR=adv3 -nmake /f makefile.pd-msvc NAME=attr1 DIR=attr1 -nmake /f makefile.pd-msvc NAME=attr2 DIR=attr2 -nmake /f makefile.pd-msvc NAME=attr3 DIR=attr3 -nmake /f makefile.pd-msvc NAME=signal1~ DIR=signal1 -nmake /f makefile.pd-msvc NAME=signal2~ DIR=signal2 -nmake /f makefile.pd-msvc NAME=sndobj1~ DIR=sndobj1 -nmake /f makefile.pd-msvc NAME=thread1 DIR=thread1 -nmake /f makefile.pd-msvc NAME=thread2 DIR=thread2 -nmake /f makefile.pd-msvc NAME=lib1 DIR=lib1 - +nmake /f makefile.pd-msvc diff --git a/externals/grill/flext/tutorial/config-pd-cygwin.txt b/externals/grill/flext/tutorial/config-pd-cygwin.txt index fb87c554..81d4136e 100644 --- a/externals/grill/flext/tutorial/config-pd-cygwin.txt +++ b/externals/grill/flext/tutorial/config-pd-cygwin.txt @@ -9,5 +9,15 @@ PDPATH=/cygdrive/c/programme/audio/pd # where do the flext libraries reside? FLEXTPATH=${PDPATH}/flext +# where is the SndObj include directory? +# (leave blank or comment out to disable SndObj support) +# if defined, you must have a libsndobj.a library in the lib path +SNDOBJ=/usr/local/include/SndObj + +# where is the STK include directory? +# (leave blank or comment out to disable STK support) +# if defined, you must have a libstk.a library in the lib path +STK=/usr/src/stk-4.1.1/include + # where should the examples be built? OUTPATH=./pd-cygwin diff --git a/externals/grill/flext/tutorial/config-pd-darwin.txt b/externals/grill/flext/tutorial/config-pd-darwin.txt index 27afd885..0c12880b 100644 --- a/externals/grill/flext/tutorial/config-pd-darwin.txt +++ b/externals/grill/flext/tutorial/config-pd-darwin.txt @@ -14,6 +14,16 @@ PD=/usr/local/pd/bin/pd # where do the flext libraries reside? FLEXTPATH=/usr/local/pd/flext +# where is the SndObj include directory? +# (leave blank or comment out to disable SndObj support) +# if defined, you must have a libsndobj.a library in the lib path +SNDOBJ=/usr/local/include/SndObj + +# where is the STK include directory? +# (leave blank or comment out to disable STK support) +# if defined, you must have a libstk.a library in the lib path +STK=/usr/src/stk-4.1.1/include + # where should the examples be built? (relative path) OUTPATH=./pd-darwin diff --git a/externals/grill/flext/tutorial/config-pd-linux.txt b/externals/grill/flext/tutorial/config-pd-linux.txt index 75c7ea73..3569347c 100644 --- a/externals/grill/flext/tutorial/config-pd-linux.txt +++ b/externals/grill/flext/tutorial/config-pd-linux.txt @@ -14,6 +14,16 @@ PDPATH= # where do the flext libraries reside? FLEXTPATH=/usr/local/lib/pd/flext +# where is the SndObj include directory? +# (leave blank or comment out to disable SndObj support) +# if defined, you must have a libsndobj.a library in the lib path +SNDOBJ=/usr/local/include/SndObj + +# where is the STK include directory? +# (leave blank or comment out to disable STK support) +# if defined, you must have a libstk.a library in the lib path +# STK=/usr/src/stk-4.1.1/include + # where should the examples be built? (relative path) OUTPATH=./pd-linux diff --git a/externals/grill/flext/tutorial/config-pd-msvc.txt b/externals/grill/flext/tutorial/config-pd-msvc.txt index e864d423..8dda9ad9 100644 --- a/externals/grill/flext/tutorial/config-pd-msvc.txt +++ b/externals/grill/flext/tutorial/config-pd-msvc.txt @@ -12,5 +12,15 @@ MSVCPATH=c:\programme\prog\microsoft visual studio\VC98 # where do the flext libraries reside? FLEXTPATH=$(PDPATH)\flext +# where is the SndObj include directory? +# (leave blank or comment out to disable SndObj support) +SNDOBJ=f:\prog\packs\sndobj\include +SNDOBJLIB=f:\prog\packs\sndobj\lib\sndobj.lib + +# where is the STK include directory? +# (leave blank or comment out to disable STK support) +STK=f:\prog\packs\stk\include +STKLIB=f:\prog\packs\stk\lib\stk.lib + # where should the examples be built? OUTPATH=.\pd-msvc diff --git a/externals/grill/flext/tutorial/lib1/main.cpp b/externals/grill/flext/tutorial/lib1/main.cpp index 1f0a3120..e90c154d 100644 --- a/externals/grill/flext/tutorial/lib1/main.cpp +++ b/externals/grill/flext/tutorial/lib1/main.cpp @@ -1,7 +1,7 @@ /* flext tutorial - library 1 -Copyright (c) 2002 Thomas Grill (xovo@gmx.net) +Copyright (c) 2002,2003 Thomas Grill (xovo@gmx.net) For information on usage and redistribution, and for a DISCLAIMER OF ALL WARRANTIES, see the file, "license.txt," in this distribution. diff --git a/externals/grill/flext/tutorial/make-sub.pd-msvc b/externals/grill/flext/tutorial/make-sub.pd-msvc new file mode 100644 index 00000000..b1ffbdf3 --- /dev/null +++ b/externals/grill/flext/tutorial/make-sub.pd-msvc @@ -0,0 +1,55 @@ +# flext tutorial examples +# Copyright (c) 2001-2003 Thomas Grill (xovo@gmx.net) +# +# Sub-Makefile for MSVC++ +# +# --------------------------------------------------------------- + +!include config-pd-msvc.txt + +# includes +INCPATH=/I"$(MSVCPATH)\include" /I"$(PDPATH)\src" /I"$(FLEXTPATH)" +LIBPATH=/LIBPATH:"$(MSVCPATH)\lib" /LIBPATH:"$(PDPATH)\bin" /LIBPATH:"$(FLEXTPATH)" +LIBS=pd.lib pthreadVC.lib flext_t-pdwin.lib + +CFLAGS=/GR /GD /G6 /Ox /MT + +!ifdef SNDOBJ +INCPATH=$(INCPATH) /I"$(SNDOBJ)" +LIBS=$(LIBS) "$(SNDOBJLIB)" +!endif + +!ifdef STK +INCPATH=$(INCPATH) /I"$(STK)" +LIBS=$(LIBS) "$(STKLIB)" +CFLAGS=$(CFLAGS) /GX +!endif + +# compiler definitions and flags +DEFS=/DFLEXT_SYS=2 /DFLEXT_THREADS + + + +# the rest can stay untouched +# ---------------------------------------------- + +# all the source files from the package +SRCS=main.cpp +HDRS= + +# ----------------------------------------------- + +all: $(OUTPATH) $(OUTPATH)\$(NAME).dll + +$(OUTPATH): + -mkdir $(OUTPATH) + +$(OUTPATH)\$(NAME)~.dll : $(OUTPATH)\$(NAME).dll + -ren $** $< + +$(OUTPATH)\$(NAME).dll : $(DIR)\$(SRCS) + cl /c /LD $(CFLAGS) $(DEFS) $(INCPATH) $** /Fotemp.obj + link /DLL /out:$@ /INCREMENTAL:NO temp.obj $(LIBS) $(LIBPATH) + @-del $(OUTPATH)\*.exp + @-del $(OUTPATH)\*.lib + @-del temp.obj diff --git a/externals/grill/flext/tutorial/makefile.pd-cygwin b/externals/grill/flext/tutorial/makefile.pd-cygwin index c74855ad..60f5b08e 100644 --- a/externals/grill/flext/tutorial/makefile.pd-cygwin +++ b/externals/grill/flext/tutorial/makefile.pd-cygwin @@ -27,7 +27,19 @@ LIBS=m pd # all the source files from the package -EXAMPLES=simple1 simple2 simple3 adv1 adv2 adv3 attr1 attr2 attr3 signal1~ signal2~ sndobj1~ lib1 # thread1 thread2 +EXAMPLES=simple1 simple2 simple3 adv1 adv2 adv3 attr1 attr2 attr3 signal1~ signal2~ lib1 # thread1 thread2 + +ifdef SNDOBJ +INCLUDES+=$(SNDOBJ) +EXAMPLES+=sndobj1~ +LIBS+=sndobj +endif + +ifdef STK +INCLUDES+=$(STK) +EXAMPLES+=stk1~ stk2~ +LIBS+=stk +endif TARGETS=$(patsubst %,$(OUTPATH)/%.dll,$(EXAMPLES)) diff --git a/externals/grill/flext/tutorial/makefile.pd-darwin b/externals/grill/flext/tutorial/makefile.pd-darwin index 3bd23066..ad8da699 100644 --- a/externals/grill/flext/tutorial/makefile.pd-darwin +++ b/externals/grill/flext/tutorial/makefile.pd-darwin @@ -25,8 +25,19 @@ LDFLAGS=-bundle -bundle_loader $(PD) # all the source files from the package -EXAMPLES=simple1 simple2 simple3 adv1 adv2 adv3 attr1 attr2 attr3 signal1~ signal2~ sndobj1~ lib1 thread1 thread2 +EXAMPLES=simple1 simple2 simple3 adv1 adv2 adv3 attr1 attr2 attr3 signal1~ signal2~ lib1 thread1 thread2 +ifdef SNDOBJ +INCLUDES+=$(SNDOBJ) +EXAMPLES+=sndobj1~ +LIBS+=sndobj +endif + +ifdef STK +INCLUDES+=$(STK) +EXAMPLES+=stk1~ stk2~ +LIBS+=stk +endif TARGETS=$(patsubst %,$(OUTPATH)/%.pd_darwin,$(EXAMPLES)) diff --git a/externals/grill/flext/tutorial/makefile.pd-linux b/externals/grill/flext/tutorial/makefile.pd-linux index dadb861c..0bad96fb 100644 --- a/externals/grill/flext/tutorial/makefile.pd-linux +++ b/externals/grill/flext/tutorial/makefile.pd-linux @@ -13,7 +13,7 @@ FLEXTLIB=$(FLEXTPATH)/flext_t.a # take threaded library for all # compiler+linker stuff ### EDIT! ### -INCLUDES=$(PDPATH)/src +INCLUDES=$(PDPATH)/src LIBPATH= FLAGS=-DFLEXT_SYS=2 -DFLEXT_THREADS CFLAGS=-O6 -mcpu=pentiumpro @@ -25,7 +25,19 @@ LIBS=m # all the source files from the package -EXAMPLES=simple1 simple2 simple3 adv1 adv2 adv3 attr1 attr2 attr3 sndobj1~ signal1~ signal2~ lib1 thread1 thread2 +EXAMPLES=simple1 simple2 simple3 adv1 adv2 adv3 attr1 attr2 attr3 signal1~ signal2~ lib1 thread1 thread2 + +ifdef SNDOBJ +INCLUDES+=$(SNDOBJ) +EXAMPLES+=sndobj1~ +LIBS+=sndobj +endif + +ifdef STK +INCLUDES+=$(STK) +EXAMPLES+=stk1~ stk2~ +LIBS+=stk +endif TARGETS=$(patsubst %,$(OUTPATH)/%.pd_linux,$(EXAMPLES)) diff --git a/externals/grill/flext/tutorial/makefile.pd-msvc b/externals/grill/flext/tutorial/makefile.pd-msvc index 385630e0..51c3a58b 100644 --- a/externals/grill/flext/tutorial/makefile.pd-msvc +++ b/externals/grill/flext/tutorial/makefile.pd-msvc @@ -3,46 +3,46 @@ # # Makefile for MSVC++ # -# -# IMPORTANT: Adjust some of the paths also in makefile-inc.msvc -# -# usage: make -f makefile.pd-msvc -# # --------------------------------------------------------------- !include config-pd-msvc.txt -# includes -INCPATH=/I"$(MSVCPATH)\include" /I"$(PDPATH)\src" /I"$(FLEXTPATH)" -LIBPATH=/LIBPATH:"$(MSVCPATH)\lib" /LIBPATH:"$(PDPATH)\bin" /LIBPATH:"$(FLEXTPATH)" -LIBS=pd.lib pthreadVC.lib flext_t-pdwin.lib -# compiler definitions and flags -DEFS=/DFLEXT_SYS=2 /DFLEXT_THREADS +TARGETS=normal threads -CFLAGS=/GR /GD /G6 /Ox /MT +!ifdef SNDOBJ +TARGETS=$(TARGETS) sndobj +!endif +!ifdef STK +TARGETS=$(TARGETS) stk +!endif -# the rest can stay untouched -# ---------------------------------------------- +all: $(TARGETS) -# all the source files from the package -SRCS=main.cpp -HDRS= +normal: + nmake /f make-sub.pd-msvc NAME=simple1 DIR=simple1 + nmake /f make-sub.pd-msvc NAME=simple2 DIR=simple2 + nmake /f make-sub.pd-msvc NAME=simple3 DIR=simple3 + nmake /f make-sub.pd-msvc NAME=adv1 DIR=adv1 + nmake /f make-sub.pd-msvc NAME=adv2 DIR=adv2 + nmake /f make-sub.pd-msvc NAME=adv3 DIR=adv3 + nmake /f make-sub.pd-msvc NAME=attr1 DIR=attr1 + nmake /f make-sub.pd-msvc NAME=attr2 DIR=attr2 + nmake /f make-sub.pd-msvc NAME=attr3 DIR=attr3 + nmake /f make-sub.pd-msvc NAME=signal1~ DIR=signal1 + nmake /f make-sub.pd-msvc NAME=signal2~ DIR=signal2 + nmake /f make-sub.pd-msvc NAME=lib1 DIR=lib1 -# ----------------------------------------------- +threads: + nmake /f make-sub.pd-msvc NAME=thread1 DIR=thread1 + nmake /f make-sub.pd-msvc NAME=thread2 DIR=thread2 -all: $(OUTPATH) $(OUTPATH)\$(NAME).dll +sndobj: + nmake /f make-sub.pd-msvc NAME=sndobj1~ DIR=sndobj1 -$(OUTPATH): - -mkdir $(OUTPATH) +stk: + nmake /f make-sub.pd-msvc NAME=stk1~ DIR=stk1 + nmake /f make-sub.pd-msvc NAME=stk2~ DIR=stk2 -$(OUTPATH)\$(NAME)~.dll : $(OUTPATH)\$(NAME).dll - -ren $** $< -$(OUTPATH)\$(NAME).dll : $(DIR)\$(SRCS) - cl /c /LD $(CFLAGS) $(DEFS) $(INCPATH) $** /Fotemp.obj - link /DLL /out:$@ /INCREMENTAL:NO temp.obj $(LIBS) $(LIBPATH) - @-del $(OUTPATH)\*.exp - @-del $(OUTPATH)\*.lib - @-del temp.obj diff --git a/externals/grill/flext/tutorial/pd/ex-adv1.pd b/externals/grill/flext/tutorial/pd/ex-adv1.pd index 65735a45..93695c7e 100644 --- a/externals/grill/flext/tutorial/pd/ex-adv1.pd +++ b/externals/grill/flext/tutorial/pd/ex-adv1.pd @@ -1,22 +1,22 @@ #N canvas 46 58 586 341 12; #X msg 34 92 or two words; #X msg 169 93 2 3; -#X msg 48 291 one 6; +#X msg 48 291 one or two words; #X obj 72 213 print result; #X obj 49 172 adv1 one; #X obj 48 263 prepend set; #X text 162 257 you can also use "prepend"; -#X obj 16 8 cnv 15 550 40 empty empty adv1 10 22 32 24 -260818 -1 0 +#X obj 16 8 cnv 15 550 40 empty empty adv1 10 22 0 24 -260818 -1 0 ; -#X text 175 7 flext tutorial \, (C)2002 Thomas Grill; #X text 175 27 http://www.parasitaere-kapazitaeten.net; #X text 199 214 watch the console!; #X msg 69 121 6; #X text 210 110 send the object various messages; #X text 160 274 (if adv1 has already been loaded); +#X text 175 9 flext tutorial \, (C)2002 \, 2003 Thomas Grill; #X connect 0 0 4 0; #X connect 1 0 4 0; #X connect 4 0 3 0; #X connect 4 0 5 0; #X connect 5 0 2 0; -#X connect 11 0 4 0; +#X connect 10 0 4 0; diff --git a/externals/grill/flext/tutorial/pd/ex-adv2.pd b/externals/grill/flext/tutorial/pd/ex-adv2.pd index af534de2..851c1a88 100644 --- a/externals/grill/flext/tutorial/pd/ex-adv2.pd +++ b/externals/grill/flext/tutorial/pd/ex-adv2.pd @@ -1,23 +1,23 @@ -#N canvas 329 97 587 348 12;
-#X msg 26 97 help;
-#X msg 123 146 born;
-#X msg 172 147 to;
-#X msg 214 149 hula;
-#X msg 228 230 yeah;
-#X msg 228 192 hula 1;
-#X text 280 231 other symbol;
-#X text 261 150 tag without argument;
-#X text 297 190 tag and argument;
-#X text 72 97 print a help message;
-#X obj 16 7 cnv 15 550 40 empty empty adv2 10 22 0 24 -260818 -1 0
-;
-#X text 174 8 flext tutorial \, (C)2002 Thomas Grill;
-#X text 174 28 http://www.parasitaere-kapazitaeten.net;
-#X obj 148 293 adv2;
-#X text 21 49 this is identical to the simple3 example;
-#X connect 0 0 13 0;
-#X connect 1 0 13 0;
-#X connect 2 0 13 0;
-#X connect 3 0 13 0;
-#X connect 4 0 13 0;
-#X connect 5 0 13 0;
+#N canvas 329 97 587 348 12; +#X msg 26 97 help; +#X msg 123 146 born; +#X msg 172 147 to; +#X msg 214 149 hula; +#X msg 228 230 yeah; +#X msg 228 192 hula 1; +#X text 280 231 other symbol; +#X text 261 150 tag without argument; +#X text 297 190 tag and argument; +#X text 72 97 print a help message; +#X obj 16 7 cnv 15 550 40 empty empty adv2 10 22 0 24 -260818 -1 0 +; +#X text 174 28 http://www.parasitaere-kapazitaeten.net; +#X obj 148 293 adv2; +#X text 21 49 this is identical to the simple3 example; +#X text 174 8 flext tutorial \, (C)2002 \, 2003 Thomas Grill; +#X connect 0 0 12 0; +#X connect 1 0 12 0; +#X connect 2 0 12 0; +#X connect 3 0 12 0; +#X connect 4 0 12 0; +#X connect 5 0 12 0; diff --git a/externals/grill/flext/tutorial/pd/ex-adv3.pd b/externals/grill/flext/tutorial/pd/ex-adv3.pd index d58567f3..09b0a0ff 100644 --- a/externals/grill/flext/tutorial/pd/ex-adv3.pd +++ b/externals/grill/flext/tutorial/pd/ex-adv3.pd @@ -1,40 +1,40 @@ -#N canvas 175 139 597 355 12;
-#X obj 16 7 cnv 15 550 40 empty empty adv3 10 22 0 24 -260818 -1 0
-;
-#X text 174 8 flext tutorial \, (C)2002 Thomas Grill;
-#X text 174 28 http://www.parasitaere-kapazitaeten.net;
-#X obj 229 266 adv3 2 5 1;
-#X obj 305 303 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 223 300 nbx 5 18 -1e+037 1e+037 0 0 empty empty empty 0 -6 0
-12 -228992 -1 -1 0 256;
-#X msg 269 120 1 10;
-#X msg 389 118 1;
-#X msg 424 118 -1;
-#X msg 460 118 2;
-#X obj 88 119 bng 25 250 50 0 empty empty empty 0 -6 0 8 -258699 -1
--1;
-#X msg 313 119 7 2;
-#X text 325 300 end has been reached;
-#X obj 157 117 nbx 5 18 -1e+037 1e+037 0 0 empty empty empty 0 -6 0
-12 -228992 -1 -1 0 256;
-#X msg 158 140 set \$1;
-#X text 72 98 trigger;
-#X text 147 98 set counter;
-#X text 264 99 set bounds;
-#X text 390 96 set step size;
-#X msg 80 186 reset;
-#X text 83 166 reset;
-#X text 21 49 this is a port of IOhannes Zmoelnings "counter" example
-;
-#X connect 3 0 5 0;
-#X connect 3 1 4 0;
-#X connect 6 0 3 1;
-#X connect 7 0 3 2;
-#X connect 8 0 3 2;
-#X connect 9 0 3 2;
-#X connect 10 0 3 0;
-#X connect 11 0 3 1;
-#X connect 13 0 14 0;
-#X connect 14 0 3 0;
-#X connect 19 0 3 0;
+#N canvas 175 139 597 355 12; +#X obj 16 7 cnv 15 550 40 empty empty adv3 10 22 0 24 -260818 -1 0 +; +#X text 174 28 http://www.parasitaere-kapazitaeten.net; +#X obj 229 266 adv3 2 5 1; +#X obj 305 303 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 223 300 nbx 5 18 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 12 +-228992 -1 -1 0 256; +#X msg 269 120 1 10; +#X msg 389 118 1; +#X msg 424 118 -1; +#X msg 460 118 2; +#X obj 88 119 bng 25 250 50 0 empty empty empty 0 -6 0 8 -258699 -1 +-1; +#X msg 313 119 7 2; +#X text 325 300 end has been reached; +#X obj 157 117 nbx 5 18 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 12 +-228992 -1 -1 0 256; +#X msg 158 140 set \$1; +#X text 72 98 trigger; +#X text 147 98 set counter; +#X text 264 99 set bounds; +#X text 390 96 set step size; +#X msg 80 186 reset; +#X text 83 166 reset; +#X text 21 49 this is a port of IOhannes Zmoelnings "counter" example +; +#X text 174 8 flext tutorial \, (C)2002 \, 2003 Thomas Grill; +#X connect 2 0 4 0; +#X connect 2 1 3 0; +#X connect 5 0 2 1; +#X connect 6 0 2 2; +#X connect 7 0 2 2; +#X connect 8 0 2 2; +#X connect 9 0 2 0; +#X connect 10 0 2 1; +#X connect 12 0 13 0; +#X connect 13 0 2 0; +#X connect 18 0 2 0; diff --git a/externals/grill/flext/tutorial/pd/ex-attr1.pd b/externals/grill/flext/tutorial/pd/ex-attr1.pd index 97bfad84..bc713e7a 100644 --- a/externals/grill/flext/tutorial/pd/ex-attr1.pd +++ b/externals/grill/flext/tutorial/pd/ex-attr1.pd @@ -12,23 +12,23 @@ #X text 230 216 set attribute "arg"; #X text 295 123 query object attributes (watch console); #X text 228 167 query attribute "arg" (watch console); -#X obj 16 8 cnv 15 550 40 empty empty attr1 10 22 32 24 -260818 -1 -0; -#X text 175 8 flext tutorial \, (C)2002 Thomas Grill; +#X obj 16 8 cnv 15 550 40 empty empty attr1 10 22 0 24 -260818 -1 0 +; #X text 175 28 http://www.parasitaere-kapazitaeten.net; #X text 206 85 get some "help"; #X text 26 413 result; -#X obj 23 139 nbx 4 16 -999 999 0 0 empty empty empty 0 -6 32 12 -261681 --1 -1 49 256; -#X obj 29 395 nbx 7 16 -1e+37 1e+37 0 0 empty empty empty 0 -6 32 12 --228992 -1 -1 52 256; -#X obj 161 206 nbx 4 16 -999 999 0 0 empty empty empty 0 -6 32 12 -261681 --1 -1 0 256; +#X obj 23 139 nbx 4 16 -999 999 0 0 empty empty empty 0 -6 0 12 -261681 +-1 -1 109 256; +#X obj 29 395 nbx 7 16 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 12 +-228992 -1 -1 143 256; +#X obj 161 206 nbx 4 16 -999 999 0 0 empty empty empty 0 -6 0 12 -261681 +-1 -1 34 256; +#X text 175 10 flext tutorial \, (C)2002 \, 2003 Thomas Grill; #X connect 0 0 1 0; -#X connect 1 0 19 0; +#X connect 1 0 18 0; #X connect 1 1 6 0; #X connect 3 0 1 0; #X connect 7 0 1 0; #X connect 9 0 1 0; -#X connect 18 0 1 0; -#X connect 20 0 9 0; +#X connect 17 0 1 0; +#X connect 19 0 9 0; diff --git a/externals/grill/flext/tutorial/pd/ex-attr2.pd b/externals/grill/flext/tutorial/pd/ex-attr2.pd index 4ac89a0e..de1b0c63 100644 --- a/externals/grill/flext/tutorial/pd/ex-attr2.pd +++ b/externals/grill/flext/tutorial/pd/ex-attr2.pd @@ -1,17 +1,17 @@ #N canvas 364 29 605 442 12; #X msg 21 84 help; #X msg 23 119 getattributes; -#X text 265 350 there is one additional outlet; -#X text 265 365 for all attribute-enabled objects; -#X obj 247 389 print; -#X msg 23 162 getarg; +#X text 265 357 there is one additional outlet; +#X text 265 372 for all attribute-enabled objects; +#X obj 247 396 print; +#X msg 23 155 getarg; #X text 67 84 get some help; -#X text 15 314 trigger output; -#X msg 23 222 arg \$1; +#X text 15 249 trigger output; +#X msg 271 294 arg \$1; #X text 160 118 query object attributes (watch console); -#X msg 96 162 getop; -#X obj 159 330 attr2 @op +; -#X text 255 161 query attributes; +#X msg 96 155 getop; +#X obj 159 337 attr2 @op +; +#X text 238 154 query attributes; #X text 333 210 set attributes; #X msg 169 200 op +; #X msg 168 225 op -; @@ -19,24 +19,25 @@ #X msg 269 224 op **; #X msg 269 200 op =; #X msg 219 224 op /; -#X msg 158 162 getresult; -#X obj 16 8 cnv 15 550 40 empty empty attr2 10 22 32 24 -260818 -1 -0; -#X text 173 8 flext tutorial \, (C)2002 Thomas Grill; +#X msg 158 155 getresult; +#X obj 16 8 cnv 15 550 40 empty empty attr2 10 22 0 24 -260818 -1 0 +; #X text 173 28 http://www.parasitaere-kapazitaeten.net; -#X text 91 391 result; -#X obj 23 336 nbx 4 16 -999 999 0 0 empty empty empty 0 -6 32 12 -261681 --1 -1 -55 256; -#X obj 23 201 nbx 4 16 -999 999 0 0 empty empty empty 0 -6 96 12 -261681 --1 -1 1 256; -#X obj 151 391 nbx 7 16 -1e+37 1e+37 0 0 empty empty empty 0 -6 32 -12 -228992 -1 -1 -54 256; +#X text 91 398 result; +#X obj 23 271 nbx 4 16 -999 999 0 0 empty empty empty 0 -6 0 12 -261681 +-1 -1 40 256; +#X obj 271 273 nbx 4 16 -999 999 0 0 empty empty empty 0 -6 0 12 -261681 +-1 -1 10 256; +#X obj 151 398 nbx 7 16 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 12 +-228992 -1 -1 400 256; +#X text 171 10 flext tutorial \, (C)2002 \, 2003 Thomas Grill; +#X text 328 274 set argument; #X connect 0 0 11 0; #X connect 1 0 11 0; #X connect 5 0 11 0; #X connect 8 0 11 0; #X connect 10 0 11 0; -#X connect 11 0 27 0; +#X connect 11 0 26 0; #X connect 11 1 4 0; #X connect 14 0 11 0; #X connect 15 0 11 0; @@ -45,5 +46,5 @@ #X connect 18 0 11 0; #X connect 19 0 11 0; #X connect 20 0 11 0; -#X connect 25 0 11 0; -#X connect 26 0 8 0; +#X connect 24 0 11 0; +#X connect 25 0 8 0; diff --git a/externals/grill/flext/tutorial/pd/ex-attr3.pd b/externals/grill/flext/tutorial/pd/ex-attr3.pd index de7d6bf2..b55bf2fd 100644 --- a/externals/grill/flext/tutorial/pd/ex-attr3.pd +++ b/externals/grill/flext/tutorial/pd/ex-attr3.pd @@ -1,60 +1,60 @@ -#N canvas 175 139 603 453 12;
-#X obj 16 7 cnv 15 550 40 empty empty attr3 10 22 0 24 -260818 -1 0
-;
-#X text 174 8 flext tutorial \, (C)2002 Thomas Grill;
-#X text 174 28 http://www.parasitaere-kapazitaeten.net;
-#X obj 293 364 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 196 361 nbx 5 18 -1e+037 1e+037 0 0 empty empty empty 0 -6 0
-12 -228992 -1 -1 8 256;
-#X msg 264 129 1 10;
-#X msg 384 127 1;
-#X msg 419 127 -1;
-#X msg 455 127 2;
-#X obj 36 128 bng 25 250 50 0 empty empty empty 0 -6 0 8 -258699 -1
--1;
-#X msg 308 128 7 2;
-#X obj 159 123 nbx 5 18 -1e+037 1e+037 0 0 empty empty empty 0 -6 0
-12 -228992 -1 -1 0 256;
-#X msg 160 146 set \$1;
-#X text 20 107 trigger;
-#X text 149 104 set counter;
-#X text 259 108 set bounds;
-#X text 385 105 set step size;
-#X msg 87 135 reset;
-#X text 90 115 reset;
-#X text 23 63 with attributes;
-#X obj 197 327 attr3 @bounds 2 5 @step 1;
-#X msg 32 195 getattributes;
-#X obj 392 363 print;
-#X text 440 362 attributes;
-#X msg 32 237 getcount;
-#X msg 258 234 getbounds;
-#X msg 388 232 getstep;
-#X text 149 193 list all attributes;
-#X msg 32 266 count 3;
-#X text 109 238 get count;
-#X text 104 266 set count;
-#X msg 257 261 bounds 5 15;
-#X msg 387 259 step 3;
-#X text 21 49 this is a port of IOhannes Zmoelnings "counter" example
-;
-#X connect 5 0 20 1;
-#X connect 6 0 20 2;
-#X connect 7 0 20 2;
-#X connect 8 0 20 2;
-#X connect 9 0 20 0;
-#X connect 10 0 20 1;
-#X connect 11 0 12 0;
-#X connect 12 0 20 0;
-#X connect 17 0 20 0;
-#X connect 20 0 4 0;
-#X connect 20 1 3 0;
-#X connect 20 2 22 0;
-#X connect 21 0 20 0;
-#X connect 24 0 20 0;
-#X connect 25 0 20 0;
-#X connect 26 0 20 0;
-#X connect 28 0 20 0;
-#X connect 31 0 20 0;
-#X connect 32 0 20 0;
+#N canvas 175 139 603 453 12; +#X obj 16 7 cnv 15 550 40 empty empty attr3 10 22 0 24 -260818 -1 0 +; +#X text 174 28 http://www.parasitaere-kapazitaeten.net; +#X obj 293 364 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 196 361 nbx 5 18 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 12 +-228992 -1 -1 0 256; +#X msg 264 129 1 10; +#X msg 384 127 1; +#X msg 419 127 -1; +#X msg 455 127 2; +#X obj 36 128 bng 25 250 50 0 empty empty empty 0 -6 0 8 -258699 -1 +-1; +#X msg 308 128 7 2; +#X obj 159 123 nbx 5 18 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 12 +-228992 -1 -1 0 256; +#X msg 160 146 set \$1; +#X text 20 107 trigger; +#X text 149 104 set counter; +#X text 259 108 set bounds; +#X text 385 105 set step size; +#X msg 87 135 reset; +#X text 90 115 reset; +#X text 23 63 with attributes; +#X obj 197 327 attr3 @bounds 2 5 @step 1; +#X msg 32 195 getattributes; +#X obj 392 363 print; +#X text 440 362 attributes; +#X msg 32 237 getcount; +#X msg 388 232 getstep; +#X text 149 193 list all attributes; +#X msg 32 266 count 3; +#X text 109 238 get count; +#X text 104 266 set count; +#X msg 387 259 step 3; +#X text 21 49 this is a port of IOhannes Zmoelnings "counter" example +; +#X msg 258 234 getbounds; +#X msg 257 261 bounds 5 15; +#X text 174 8 flext tutorial \, (C)2002 \, 2003 Thomas Grill; +#X connect 4 0 19 1; +#X connect 5 0 19 2; +#X connect 6 0 19 2; +#X connect 7 0 19 2; +#X connect 8 0 19 0; +#X connect 9 0 19 1; +#X connect 10 0 11 0; +#X connect 11 0 19 0; +#X connect 16 0 19 0; +#X connect 19 0 3 0; +#X connect 19 1 2 0; +#X connect 19 2 21 0; +#X connect 20 0 19 0; +#X connect 23 0 19 0; +#X connect 24 0 19 0; +#X connect 26 0 19 0; +#X connect 29 0 19 0; +#X connect 31 0 19 0; +#X connect 32 0 19 0; diff --git a/externals/grill/flext/tutorial/pd/ex-lib1.pd b/externals/grill/flext/tutorial/pd/ex-lib1.pd index 83311593..885e1ba2 100644 --- a/externals/grill/flext/tutorial/pd/ex-lib1.pd +++ b/externals/grill/flext/tutorial/pd/ex-lib1.pd @@ -1,51 +1,51 @@ #N canvas 120 205 580 295 12; -#X msg 106 125 arg \$1; -#X obj 34 161 lib1.+ @arg 3; -#X text 105 77 set arg; -#X msg 289 124 arg \$1; -#X text 288 78 set arg; -#X msg 476 127 arg \$1; -#X text 475 81 set arg; -#X obj 396 165 lib1.* @arg 2; -#X obj 214 163 lib1.- @arg 7; -#X text 29 76 trigger; -#X text 211 80 trigger; -#X text 395 81 trigger; +#X msg 102 172 arg \$1; +#X obj 30 208 lib1.+ @arg 3; +#X text 101 124 set arg; +#X msg 285 171 arg \$1; +#X text 284 125 set arg; +#X msg 472 174 arg \$1; +#X text 471 128 set arg; +#X obj 392 212 lib1.* @arg 2; +#X obj 210 210 lib1.- @arg 7; +#X text 25 123 trigger; +#X text 207 127 trigger; +#X text 391 128 trigger; #X obj 16 8 cnv 15 550 40 empty empty lib1 10 22 0 24 -260818 -1 0 ; -#X text 173 8 flext tutorial \, (C)2002 Thomas Grill; #X text 173 28 http://www.parasitaere-kapazitaeten.net; -#X obj 34 100 nbx 4 16 -999 999 0 0 empty empty empty 0 -6 0 12 -261681 +#X obj 30 147 nbx 4 16 -999 999 0 0 empty empty empty 0 -6 0 12 -261681 -1 -1 0 256; -#X obj 105 99 nbx 4 16 -999 999 0 0 empty empty empty 0 -6 0 12 -261681 +#X obj 101 146 nbx 4 16 -999 999 0 0 empty empty empty 0 -6 0 12 -261681 -1 -1 0 256; -#X obj 216 100 nbx 4 16 -999 999 0 0 empty empty empty 0 -6 0 12 -261681 +#X obj 212 147 nbx 4 16 -999 999 0 0 empty empty empty 0 -6 0 12 -261681 -1 -1 0 256; -#X obj 288 102 nbx 4 16 -999 999 0 0 empty empty empty 0 -6 0 12 -261681 +#X obj 284 149 nbx 4 16 -999 999 0 0 empty empty empty 0 -6 0 12 -261681 -1 -1 0 256; -#X obj 398 102 nbx 4 16 -999 999 0 0 empty empty empty 0 -6 0 12 -261681 +#X obj 394 149 nbx 4 16 -999 999 0 0 empty empty empty 0 -6 0 12 -261681 -1 -1 0 256; -#X obj 476 105 nbx 4 16 -999 999 0 0 empty empty empty 0 -6 0 12 -261681 +#X obj 472 152 nbx 4 16 -999 999 0 0 empty empty empty 0 -6 0 12 -261681 -1 -1 0 256; -#X obj 34 194 nbx 7 16 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 12 +#X obj 30 241 nbx 7 16 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 12 -228992 -1 -1 0 256; -#X obj 214 194 nbx 7 16 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 12 +#X obj 210 241 nbx 7 16 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 12 -228992 -1 -1 0 256; -#X obj 396 194 nbx 7 16 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 12 +#X obj 392 241 nbx 7 16 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 12 -228992 -1 -1 0 256; -#X text 26 245 In order to use the objects the library must have been +#X text 25 56 In order to use the objects the library must have been ; -#X text 27 263 loaded at PD startup (with the "-lib lib1" argument) +#X text 26 74 loaded at PD startup (with the "-lib lib1" argument) ; +#X text 173 8 flext tutorial \, (C)2002 \, 2003 Thomas Grill; #X connect 0 0 1 0; -#X connect 1 0 21 0; +#X connect 1 0 20 0; #X connect 3 0 8 0; #X connect 5 0 7 0; -#X connect 7 0 23 0; -#X connect 8 0 22 0; -#X connect 15 0 1 0; -#X connect 16 0 0 0; -#X connect 17 0 8 0; -#X connect 18 0 3 0; -#X connect 19 0 7 0; -#X connect 20 0 5 0; +#X connect 7 0 22 0; +#X connect 8 0 21 0; +#X connect 14 0 1 0; +#X connect 15 0 0 0; +#X connect 16 0 8 0; +#X connect 17 0 3 0; +#X connect 18 0 7 0; +#X connect 19 0 5 0; diff --git a/externals/grill/flext/tutorial/pd/ex-signal1.pd b/externals/grill/flext/tutorial/pd/ex-signal1.pd index bfa445cd..9187d586 100644 --- a/externals/grill/flext/tutorial/pd/ex-signal1.pd +++ b/externals/grill/flext/tutorial/pd/ex-signal1.pd @@ -1,25 +1,25 @@ #N canvas 335 232 575 335 12; -#X obj 137 137 hsl 128 15 0 1 0 0 empty empty empty 20 8 32 8 -261681 +#X obj 137 137 hsl 128 15 0 1 0 0 empty empty empty 20 8 0 8 -261681 -1 -1 0 1; #X obj 31 92 osc~ 440; #X obj 34 279 dac~; #X obj 126 92 osc~ 880; #X obj 44 206 signal1~; -#X obj 16 8 cnv 15 550 40 empty empty signal1 10 22 32 24 -260818 -1 +#X obj 16 8 cnv 15 550 40 empty empty signal1 10 22 0 24 -260818 -1 0; -#X text 175 8 flext tutorial \, (C)2002 Thomas Grill; #X text 175 28 http://www.parasitaere-kapazitaeten.net; #X text 276 151 control the mixing; #X text 113 241 adjust the volume; #X obj 44 240 *~ 0.5; #X text 28 73 source 1; #X text 128 72 source 2; -#X obj 135 159 nbx 5 16 0 1 0 0 empty empty empty 0 -6 32 12 -261681 +#X obj 135 159 nbx 5 16 0 1 0 0 empty empty empty 0 -6 0 12 -261681 -1 -1 0 256; -#X connect 0 0 13 0; +#X text 175 8 flext tutorial \, (C)2002 \, 2003 Thomas Grill; +#X connect 0 0 12 0; #X connect 1 0 4 0; #X connect 3 0 4 1; -#X connect 4 0 10 0; -#X connect 10 0 2 0; -#X connect 10 0 2 1; -#X connect 13 0 4 2; +#X connect 4 0 9 0; +#X connect 9 0 2 0; +#X connect 9 0 2 1; +#X connect 12 0 4 2; diff --git a/externals/grill/flext/tutorial/pd/ex-signal2.pd b/externals/grill/flext/tutorial/pd/ex-signal2.pd index b26604c4..c081c3b5 100644 --- a/externals/grill/flext/tutorial/pd/ex-signal2.pd +++ b/externals/grill/flext/tutorial/pd/ex-signal2.pd @@ -1,25 +1,25 @@ #N canvas 41 125 583 263 12; #X obj 81 133 signal2~; -#X obj 76 88 bng 25 250 50 0 empty empty empty 0 -6 32 8 -261681 -1 +#X obj 76 88 bng 25 250 50 0 empty empty empty 0 -6 0 8 -261681 -1 -1; #X text 108 94 bang to get audio system parameters; #X text 233 212 channels in and out; -#X obj 16 8 cnv 15 550 40 empty empty signal2 10 22 32 24 -260818 -1 +#X obj 16 8 cnv 15 550 40 empty empty signal2 10 22 0 24 -260818 -1 0; -#X text 175 8 flext tutorial \, (C)2002 Thomas Grill; #X text 175 28 http://www.parasitaere-kapazitaeten.net; -#X obj 38 191 nbx 5 16 -1e+37 1e+37 0 0 empty empty empty 0 -6 32 12 +#X obj 38 191 nbx 5 16 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 12 +-228992 -1 -1 0 256; +#X obj 130 191 nbx 5 16 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 12 +-228992 -1 -1 0 256; +#X obj 233 191 nbx 5 16 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 12 +-228992 -1 -1 0 256; +#X obj 325 191 nbx 5 16 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 12 -228992 -1 -1 0 256; -#X obj 130 191 nbx 5 16 -1e+37 1e+37 0 0 empty empty empty 0 -6 32 -12 -228992 -1 -1 0 256; -#X obj 233 191 nbx 5 16 -1e+37 1e+37 0 0 empty empty empty 0 -6 32 -12 -228992 -1 -1 0 256; -#X obj 325 191 nbx 5 16 -1e+37 1e+37 0 0 empty empty empty 0 -6 32 -12 -228992 -1 -1 0 256; #X text 12 211 samplerate; #X text 128 211 blocksize; -#X connect 0 0 7 0; -#X connect 0 1 8 0; -#X connect 0 2 9 0; -#X connect 0 3 10 0; +#X text 173 10 flext tutorial \, (C)2002 \, 2003 Thomas Grill; +#X connect 0 0 6 0; +#X connect 0 1 7 0; +#X connect 0 2 8 0; +#X connect 0 3 9 0; #X connect 1 0 0 0; diff --git a/externals/grill/flext/tutorial/pd/ex-simple1.pd b/externals/grill/flext/tutorial/pd/ex-simple1.pd index e2872868..eb32567d 100644 --- a/externals/grill/flext/tutorial/pd/ex-simple1.pd +++ b/externals/grill/flext/tutorial/pd/ex-simple1.pd @@ -3,14 +3,14 @@ #X text 203 187 inverse; #X text 169 96 input; #X obj 113 141 simple1; -#X obj 16 8 cnv 15 550 40 empty empty simple1 10 22 32 24 -260818 -1 +#X obj 16 8 cnv 15 550 40 empty empty simple1 10 22 0 24 -260818 -1 0; -#X text 175 8 flext tutorial \, (C)2002 Thomas Grill; #X text 175 28 http://www.parasitaere-kapazitaeten.net; -#X obj 114 96 nbx 4 16 -999 999 0 0 empty empty empty 0 -6 32 12 -261681 --1 -1 104 256; -#X obj 112 190 nbx 7 16 -1e+37 1e+37 0 0 empty empty empty 0 -6 32 -12 -228992 -1 -1 0.00961538 256; +#X obj 114 96 nbx 4 16 -999 999 0 0 empty empty empty 0 -6 0 12 -261681 +-1 -1 88 256; +#X obj 112 190 nbx 7 16 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 12 +-228992 -1 -1 0.0113636 256; +#X text 175 8 flext tutorial \, (C)2002 \, 2003 Thomas Grill; #X connect 0 0 3 0; -#X connect 3 0 8 0; -#X connect 7 0 3 0; +#X connect 3 0 7 0; +#X connect 6 0 3 0; diff --git a/externals/grill/flext/tutorial/pd/ex-simple2.pd b/externals/grill/flext/tutorial/pd/ex-simple2.pd index 02ad85a7..dfc0cb8a 100644 --- a/externals/grill/flext/tutorial/pd/ex-simple2.pd +++ b/externals/grill/flext/tutorial/pd/ex-simple2.pd @@ -4,18 +4,18 @@ #X text 103 119 triggering; #X text 215 120 non-triggering; #X text 206 197 default argument; -#X obj 16 8 cnv 15 550 40 empty empty simple2 10 22 32 24 -260818 -1 +#X obj 16 8 cnv 15 550 40 empty empty simple2 10 22 0 24 -260818 -1 0; -#X text 174 8 flext tutorial \, (C)2002 Thomas Grill; #X text 174 28 http://www.parasitaere-kapazitaeten.net; #X text 66 82 print a "help" message (to the console); -#X obj 110 144 nbx 4 16 -999 999 0 0 empty empty empty 0 -6 32 12 -261681 +#X obj 110 144 nbx 4 16 -999 999 0 0 empty empty empty 0 -6 0 12 -261681 +-1 -1 22 256; +#X obj 217 144 nbx 4 16 -999 999 0 0 empty empty empty 0 -6 0 12 -261681 -1 -1 0 256; -#X obj 217 144 nbx 4 16 -999 999 0 0 empty empty empty 0 -6 32 12 -261681 --1 -1 0 256; -#X obj 111 239 nbx 7 16 -1e+37 1e+37 0 0 empty empty empty 0 -6 32 -12 -228992 -1 -1 0 256; -#X connect 0 0 11 0; +#X obj 111 239 nbx 7 16 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 12 +-228992 -1 -1 25 256; +#X text 174 10 flext tutorial \, (C)2002 \, 2003 Thomas Grill; +#X connect 0 0 10 0; #X connect 1 0 0 0; -#X connect 9 0 0 0; -#X connect 10 0 0 1; +#X connect 8 0 0 0; +#X connect 9 0 0 1; diff --git a/externals/grill/flext/tutorial/pd/ex-simple3.pd b/externals/grill/flext/tutorial/pd/ex-simple3.pd index bf58a003..c9bbc211 100644 --- a/externals/grill/flext/tutorial/pd/ex-simple3.pd +++ b/externals/grill/flext/tutorial/pd/ex-simple3.pd @@ -10,10 +10,10 @@ #X text 257 140 tag without argument; #X text 293 180 tag and argument; #X text 68 87 print a help message; -#X obj 16 8 cnv 15 550 40 empty empty simple3 10 22 32 24 -260818 -1 +#X obj 16 8 cnv 15 550 40 empty empty simple3 10 22 0 24 -260818 -1 0; -#X text 174 8 flext tutorial \, (C)2002 Thomas Grill; #X text 174 28 http://www.parasitaere-kapazitaeten.net; +#X text 174 10 flext tutorial \, (C)2002 \, 2003 Thomas Grill; #X connect 0 0 7 0; #X connect 1 0 7 0; #X connect 2 0 7 0; diff --git a/externals/grill/flext/tutorial/pd/ex-sndobj1.pd b/externals/grill/flext/tutorial/pd/ex-sndobj1.pd index c343558e..37bc8981 100644 --- a/externals/grill/flext/tutorial/pd/ex-sndobj1.pd +++ b/externals/grill/flext/tutorial/pd/ex-sndobj1.pd @@ -1,34 +1,34 @@ -#N canvas 405 36 584 392 12;
-#X obj 56 348 dac~;
-#X obj 15 8 cnv 15 550 40 empty empty sndobj1 10 22 0 24 -260818 -1
-0;
-#X text 175 8 flext tutorial \, (C)2002 Thomas Grill;
-#X text 175 28 http://www.parasitaere-kapazitaeten.net;
-#X text 170 285 adjust the volume;
-#X text 35 97 source;
-#X obj 171 268 hsl 128 15 0.01 1 1 0 empty empty empty -2 -6 0 8 -261681
--1 -1 7200 1;
-#X msg 160 148 shL \$1;
-#X msg 218 148 shR \$1;
-#X obj 244 84 hsl 128 15 0.5 2 1 0 empty empty empty -2 -6 0 8 -261681
--1 -1 1800 1;
-#X obj 244 104 hsl 128 15 0.5 2 1 0 empty empty empty -2 -6 0 8 -261681
--1 -1 5100 1;
-#X text 149 82 pitch left;
-#X text 149 102 pitch right;
-#X obj 31 119 osc~ 442;
-#X obj 32 226 sndobj1~ @shL 0.7 @shR 1.2;
-#X obj 32 304 *~ 0.3;
-#X obj 91 304 *~ 0.3;
-#X connect 6 0 15 1;
-#X connect 6 0 16 1;
-#X connect 7 0 14 0;
-#X connect 8 0 14 0;
-#X connect 9 0 7 0;
-#X connect 10 0 8 0;
-#X connect 13 0 14 0;
-#X connect 13 0 14 1;
-#X connect 14 0 15 0;
-#X connect 14 1 16 0;
-#X connect 15 0 0 0;
-#X connect 16 0 0 1;
+#N canvas 405 36 584 392 12; +#X obj 56 348 dac~; +#X obj 15 8 cnv 15 550 40 empty empty sndobj1 10 22 0 24 -260818 -1 +0; +#X text 175 28 http://www.parasitaere-kapazitaeten.net; +#X text 170 285 adjust the volume; +#X text 35 97 source; +#X obj 171 268 hsl 128 15 0.01 1 1 0 empty empty empty -2 -6 0 8 -261681 +-1 -1 0 1; +#X msg 160 148 shL \$1; +#X msg 218 148 shR \$1; +#X obj 244 84 hsl 128 15 0.5 2 1 0 empty empty empty -2 -6 0 8 -261681 +-1 -1 0 1; +#X obj 244 104 hsl 128 15 0.5 2 1 0 empty empty empty -2 -6 0 8 -261681 +-1 -1 0 1; +#X text 149 82 pitch left; +#X text 149 102 pitch right; +#X obj 31 119 osc~ 442; +#X obj 32 226 sndobj1~ @shL 0.7 @shR 1.2; +#X obj 32 304 *~ 0.3; +#X obj 91 304 *~ 0.3; +#X text 175 8 flext tutorial \, (C)2002 \, 2003 Thomas Grill; +#X connect 5 0 14 1; +#X connect 5 0 15 1; +#X connect 6 0 13 0; +#X connect 7 0 13 0; +#X connect 8 0 6 0; +#X connect 9 0 7 0; +#X connect 12 0 13 0; +#X connect 12 0 13 1; +#X connect 13 0 14 0; +#X connect 13 1 15 0; +#X connect 14 0 0 0; +#X connect 15 0 0 1; diff --git a/externals/grill/flext/tutorial/pd/ex-stk1.pd b/externals/grill/flext/tutorial/pd/ex-stk1.pd new file mode 100644 index 00000000..24bcbb49 --- /dev/null +++ b/externals/grill/flext/tutorial/pd/ex-stk1.pd @@ -0,0 +1,15 @@ +#N canvas 237 9 577 257 12;
+#X obj 66 186 dac~;
+#X obj 15 8 cnv 15 550 40 empty empty stk1 10 22 0 24 -260818 -1 0
+;
+#X text 175 28 http://www.parasitaere-kapazitaeten.net;
+#X text 184 118 adjust the volume;
+#X obj 185 101 hsl 128 15 0.01 1 1 0 empty empty empty -2 -6 0 8 -261681
+-1 -1 0 1;
+#X obj 76 132 *~ 0.3;
+#X text 175 8 flext tutorial \, (C)2002-2003 Thomas Grill;
+#X obj 76 86 stk1~;
+#X connect 4 0 5 1;
+#X connect 5 0 0 0;
+#X connect 5 0 0 1;
+#X connect 7 0 5 0;
diff --git a/externals/grill/flext/tutorial/pd/ex-stk2.pd b/externals/grill/flext/tutorial/pd/ex-stk2.pd new file mode 100644 index 00000000..2a4e8ed3 --- /dev/null +++ b/externals/grill/flext/tutorial/pd/ex-stk2.pd @@ -0,0 +1,31 @@ +#N canvas 245 28 590 384 12;
+#X obj 68 318 dac~;
+#X obj 15 8 cnv 15 550 40 empty empty stk2 10 22 0 24 -260818 -1 0
+;
+#X text 175 28 http://www.parasitaere-kapazitaeten.net;
+#X text 193 229 adjust the volume;
+#X obj 194 212 hsl 128 15 0.01 1 1 0 empty empty empty -2 -6 0 8 -261681
+-1 -1 0 1;
+#X obj 68 263 *~ 0.3;
+#X text 175 8 flext tutorial \, (C)2002-2003 Thomas Grill;
+#X obj 68 215 stk2~;
+#X obj 125 263 *~ 0.3;
+#X msg 183 139 shL \$1;
+#X msg 241 139 shR \$1;
+#X obj 267 77 hsl 128 15 0.5 2 1 0 empty empty empty -2 -6 0 8 -261681
+-1 -1 0 1;
+#X obj 267 95 hsl 128 15 0.5 2 1 0 empty empty empty -2 -6 0 8 -261681
+-1 -1 0 1;
+#X text 172 73 pitch left;
+#X text 172 93 pitch right;
+#X obj 68 78 osc~ 442;
+#X connect 4 0 5 1;
+#X connect 5 0 0 0;
+#X connect 7 0 5 0;
+#X connect 7 1 8 0;
+#X connect 8 0 0 1;
+#X connect 9 0 7 0;
+#X connect 10 0 7 0;
+#X connect 11 0 9 0;
+#X connect 12 0 10 0;
+#X connect 15 0 7 0;
diff --git a/externals/grill/flext/tutorial/pd/ex-thread1.pd b/externals/grill/flext/tutorial/pd/ex-thread1.pd index 341bcc37..a4b7ba79 100644 --- a/externals/grill/flext/tutorial/pd/ex-thread1.pd +++ b/externals/grill/flext/tutorial/pd/ex-thread1.pd @@ -1,43 +1,43 @@ -#N canvas 105 266 702 345 12;
-#X obj 39 91 bng 25 250 50 0 empty empty start 0 -6 0 8 -261681 -1
--1;
-#X obj 130 246 thread1;
-#X obj 220 247 thread1;
-#X obj 312 247 thread1;
-#X obj 405 247 thread1;
-#X obj 131 185 delay 200;
-#X obj 220 184 delay 200;
-#X obj 313 186 delay 200;
-#X obj 404 185 delay 200;
-#X text 78 85 click to start;
-#X text 126 103 (if you click twice \, the same thread is started a
-second time);
-#X obj 16 8 cnv 15 550 40 empty empty thread1 10 22 0 24 -260818 -1
-0;
-#X text 175 8 flext tutorial \, (C)2002 Thomas Grill;
-#X text 175 28 http://www.parasitaere-kapazitaeten.net;
-#X obj 131 277 nbx 5 16 -1e+037 1e+037 0 0 empty empty empty 0 -6 0
-12 -228992 -1 -1 0 256;
-#X obj 221 277 nbx 5 16 -1e+037 1e+037 0 0 empty empty empty 0 -6 0
-12 -228992 -1 -1 0 256;
-#X obj 311 277 nbx 5 16 -1e+037 1e+037 0 0 empty empty empty 0 -6 0
-12 -228992 -1 -1 0 256;
-#X obj 406 276 nbx 5 16 -1e+037 1e+037 0 0 empty empty empty 0 -6 0
-12 -228992 -1 -1 0 256;
-#X obj 39 244 thread1;
-#X obj 39 277 nbx 5 16 -1e+037 1e+037 0 0 empty empty empty 0 -6 0
-12 -228992 -1 -1 0 256;
-#X connect 0 0 5 0;
-#X connect 0 0 18 0;
-#X connect 1 0 14 0;
-#X connect 2 0 15 0;
-#X connect 3 0 16 0;
-#X connect 4 0 17 0;
-#X connect 5 0 1 0;
-#X connect 5 0 6 0;
-#X connect 6 0 2 0;
-#X connect 6 0 7 0;
-#X connect 7 0 3 0;
-#X connect 7 0 8 0;
-#X connect 8 0 4 0;
-#X connect 18 0 19 0;
+#N canvas 105 266 702 345 12; +#X obj 39 91 bng 25 250 50 0 empty empty start 0 -6 0 8 -261681 -1 +-1; +#X obj 130 246 thread1; +#X obj 220 247 thread1; +#X obj 312 247 thread1; +#X obj 405 247 thread1; +#X obj 131 185 delay 200; +#X obj 220 184 delay 200; +#X obj 313 186 delay 200; +#X obj 404 185 delay 200; +#X text 78 85 click to start; +#X text 126 103 (if you click twice \, the same thread is started a +second time); +#X obj 16 8 cnv 15 550 40 empty empty thread1 10 22 0 24 -260818 -1 +0; +#X text 175 28 http://www.parasitaere-kapazitaeten.net; +#X obj 131 277 nbx 5 16 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 12 +-228992 -1 -1 0 256; +#X obj 221 277 nbx 5 16 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 12 +-228992 -1 -1 0 256; +#X obj 311 277 nbx 5 16 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 12 +-228992 -1 -1 0 256; +#X obj 406 276 nbx 5 16 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 12 +-228992 -1 -1 0 256; +#X obj 39 244 thread1; +#X obj 39 277 nbx 5 16 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 12 +-228992 -1 -1 0 256; +#X text 175 10 flext tutorial \, (C)2002 \, 2003 Thomas Grill; +#X connect 0 0 5 0; +#X connect 0 0 17 0; +#X connect 1 0 13 0; +#X connect 2 0 14 0; +#X connect 3 0 15 0; +#X connect 4 0 16 0; +#X connect 5 0 1 0; +#X connect 5 0 6 0; +#X connect 6 0 2 0; +#X connect 6 0 7 0; +#X connect 7 0 3 0; +#X connect 7 0 8 0; +#X connect 8 0 4 0; +#X connect 17 0 18 0; diff --git a/externals/grill/flext/tutorial/pd/ex-thread2.pd b/externals/grill/flext/tutorial/pd/ex-thread2.pd index cb2e764a..dc71ac48 100644 --- a/externals/grill/flext/tutorial/pd/ex-thread2.pd +++ b/externals/grill/flext/tutorial/pd/ex-thread2.pd @@ -1,9 +1,9 @@ #N canvas 116 192 587 332 12; #X msg 84 188 stop; #X msg 255 192 stop; -#X obj 199 99 bng 25 250 50 0 empty empty empty 0 -6 32 8 -261681 -1 +#X obj 199 99 bng 25 250 50 0 empty empty empty 0 -6 0 8 -261681 -1 -1; -#X obj 291 99 bng 25 250 50 0 empty empty empty 0 -6 32 8 -261681 -1 +#X obj 291 99 bng 25 250 50 0 empty empty empty 0 -6 0 8 -261681 -1 -1; #X text 191 78 start; #X text 283 77 stop; @@ -17,16 +17,16 @@ #X msg 133 188 text; #X msg 302 192 text; #X msg 470 190 text; -#X obj 16 8 cnv 15 550 40 empty empty thread2 10 22 32 24 -260818 -1 +#X obj 16 8 cnv 15 550 40 empty empty thread2 10 22 0 24 -260818 -1 0; -#X text 174 8 flext tutorial \, (C)2002 Thomas Grill; #X text 174 28 http://www.parasitaere-kapazitaeten.net; -#X obj 65 264 nbx 5 16 -1e+37 1e+37 0 0 empty empty empty 0 -6 32 12 +#X obj 65 264 nbx 5 16 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 12 -228992 -1 -1 0 256; -#X obj 231 265 nbx 5 16 -1e+37 1e+37 0 0 empty empty empty 0 -6 32 -12 -228992 -1 -1 0 256; -#X obj 403 267 nbx 5 16 -1e+37 1e+37 0 0 empty empty empty 0 -6 32 -12 -228992 -1 -1 0 256; +#X obj 231 265 nbx 5 16 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 12 +-228992 -1 -1 0 256; +#X obj 403 267 nbx 5 16 -1e+37 1e+37 0 0 empty empty empty 0 -6 0 12 +-228992 -1 -1 0 256; +#X text 174 10 flext tutorial \, (C)2002 \, 2003 Thomas Grill; #X connect 0 0 12 0; #X connect 1 0 11 0; #X connect 2 0 6 0; @@ -39,9 +39,9 @@ #X connect 7 0 11 0; #X connect 8 0 10 0; #X connect 9 0 10 0; -#X connect 10 0 21 0; -#X connect 11 0 20 0; -#X connect 12 0 19 0; +#X connect 10 0 20 0; +#X connect 11 0 19 0; +#X connect 12 0 18 0; #X connect 13 0 12 0; #X connect 14 0 11 0; #X connect 15 0 10 0; diff --git a/externals/grill/flext/tutorial/readme.txt b/externals/grill/flext/tutorial/readme.txt index a059dc77..0e445a5a 100644 --- a/externals/grill/flext/tutorial/readme.txt +++ b/externals/grill/flext/tutorial/readme.txt @@ -12,6 +12,20 @@ Contribution of examples to the package is higly appreciated! ---------------------------------------------------------------------------- +The recommended order to go through the tutorial examples is the following: + +1) simple* +2) adv* +3) attr* +4) signal* +5) lib* +6) thread* + +and, if needed +7) sndobj* and/or stk* + +---------------------------------------------------------------------------- + The package should at least compile (and is tested) with the following compilers: pd - Windows: @@ -41,5 +55,3 @@ Max/MSP - MacOSX: ------------------ o Metrowerks CodeWarrior V6: edit & use the several ".cw" project files ----------------------------------------------------------------------------- - diff --git a/externals/grill/flext/tutorial/signal2/main.cpp b/externals/grill/flext/tutorial/signal2/main.cpp index 76a2ca7b..69d86e5b 100644 --- a/externals/grill/flext/tutorial/signal2/main.cpp +++ b/externals/grill/flext/tutorial/signal2/main.cpp @@ -1,7 +1,7 @@ /* flext tutorial - signal 2 -Copyright (c) 2002 Thomas Grill (xovo@gmx.net) +Copyright (c) 2002,2003 Thomas Grill (xovo@gmx.net) For information on usage and redistribution, and for a DISCLAIMER OF ALL WARRANTIES, see the file, "license.txt," in this distribution. diff --git a/externals/grill/flext/tutorial/simple1/main.cpp b/externals/grill/flext/tutorial/simple1/main.cpp index 599e97f6..6099a792 100755 --- a/externals/grill/flext/tutorial/simple1/main.cpp +++ b/externals/grill/flext/tutorial/simple1/main.cpp @@ -1,7 +1,7 @@ /* flext tutorial - simple 1 -Copyright (c) 2002 Thomas Grill (xovo@gmx.net) +Copyright (c) 2002,2003 Thomas Grill (xovo@gmx.net) For information on usage and redistribution, and for a DISCLAIMER OF ALL WARRANTIES, see the file, "license.txt," in this distribution. diff --git a/externals/grill/flext/tutorial/simple2/main.cpp b/externals/grill/flext/tutorial/simple2/main.cpp index 49b05351..894ceb47 100755 --- a/externals/grill/flext/tutorial/simple2/main.cpp +++ b/externals/grill/flext/tutorial/simple2/main.cpp @@ -1,7 +1,7 @@ /* flext tutorial - simple 2 -Copyright (c) 2002 Thomas Grill (xovo@gmx.net) +Copyright (c) 2002,2003 Thomas Grill (xovo@gmx.net) For information on usage and redistribution, and for a DISCLAIMER OF ALL WARRANTIES, see the file, "license.txt," in this distribution. diff --git a/externals/grill/flext/tutorial/simple3/main.cpp b/externals/grill/flext/tutorial/simple3/main.cpp index d13ce42d..33b81032 100644 --- a/externals/grill/flext/tutorial/simple3/main.cpp +++ b/externals/grill/flext/tutorial/simple3/main.cpp @@ -1,7 +1,7 @@ /* flext tutorial - simple 3 -Copyright (c) 2002 Thomas Grill (xovo@gmx.net) +Copyright (c) 2002,2003 Thomas Grill (xovo@gmx.net) For information on usage and redistribution, and for a DISCLAIMER OF ALL WARRANTIES, see the file, "license.txt," in this distribution. diff --git a/externals/grill/flext/tutorial/sndobj1/main.cpp b/externals/grill/flext/tutorial/sndobj1/main.cpp index 7e6c7663..2a339ee6 100644 --- a/externals/grill/flext/tutorial/sndobj1/main.cpp +++ b/externals/grill/flext/tutorial/sndobj1/main.cpp @@ -1,7 +1,7 @@ /* flext tutorial - sndobj 1 -Copyright (c) 2002 Thomas Grill (xovo@gmx.net) +Copyright (c) 2002,2003 Thomas Grill (xovo@gmx.net) For information on usage and redistribution, and for a DISCLAIMER OF ALL WARRANTIES, see the file, "license.txt," in this distribution. @@ -10,7 +10,9 @@ WARRANTIES, see the file, "license.txt," in this distribution. This is an example of an external using the SndObj library. See http://www.may.ie/academic/music/musictec/SndObj/ -This object shows simple stereo pitch shifting. +The SndObj library should be compiled multithreaded. + +This external features simple stereo pitch shifting. */ @@ -26,15 +28,13 @@ This object shows simple stereo pitch shifting. class sndobj1: public flext_sndobj { - FLEXT_HEADER(sndobj1,flext_sndobj) + FLEXT_HEADER_S(sndobj1,flext_sndobj,Setup) public: sndobj1(); -protected: - // these are obligatory! - virtual void NewObjs(); + virtual bool NewObjs(); virtual void FreeObjs(); virtual void ProcessObjs(); @@ -43,6 +43,9 @@ protected: float sh1,sh2; +private: + static void Setup(t_class *c); + FLEXT_ATTRVAR_F(sh1) FLEXT_ATTRVAR_F(sh2) }; @@ -51,23 +54,26 @@ FLEXT_NEW_DSP("sndobj1~",sndobj1) sndobj1::sndobj1(): - sh1(1),sh2(1) + sh1(1),sh2(1), + obj1(NULL),obj2(NULL) { AddInSignal(2); // audio ins AddOutSignal(2); // audio outs +} - obj1 = obj2 = NULL; - - FLEXT_ADDATTR_VAR1("shL",sh1); - FLEXT_ADDATTR_VAR1("shR",sh2); +void sndobj1::Setup(t_class *c) +{ + FLEXT_CADDATTR_VAR1(c,"shL",sh1); + FLEXT_CADDATTR_VAR1(c,"shR",sh2); } // construct needed SndObjs -void sndobj1::NewObjs() +bool sndobj1::NewObjs() { // set up objects obj1 = new Pitch(.1f,&InObj(0),sh1,Blocksize(),Samplerate()); obj2 = new Pitch(.1f,&InObj(1),sh2,Blocksize(),Samplerate()); + return true; } // destroy the SndObjs diff --git a/externals/grill/flext/tutorial/stk1/main.cpp b/externals/grill/flext/tutorial/stk1/main.cpp index 31e10e70..4f7c7e6a 100644 --- a/externals/grill/flext/tutorial/stk1/main.cpp +++ b/externals/grill/flext/tutorial/stk1/main.cpp @@ -1,25 +1,32 @@ /* flext tutorial - stk 1 -Copyright (c) 2002 Thomas Grill (xovo@gmx.net) +Copyright (c) 2002,2003 Thomas Grill (xovo@gmx.net) For information on usage and redistribution, and for a DISCLAIMER OF ALL WARRANTIES, see the file, "license.txt," in this distribution. ------------------------------------------------------------------------- This is an example of an external using the STK ("synthesis toolkit") library. -See http://ccrma-www.stanford.edu/software/stk +For STK see http://ccrma-www.stanford.edu/software/stk -*/ +STK needs C++ exceptions switched on. + +The STK tutorial examples assume that a static stk library exists which contains all the +source files (except rt*.cpp) of the stk/src directory. +The library should be compiled multithreaded and with the appropriate compiler flags for +the respective platform (e.g. __OS_WINDOWS__ and __LITTLE_ENDIAN__ for Windows) -#define FLEXT_ATTRIBUTES 1 +*/ #include <flstk.h> - + #if !defined(FLEXT_VERSION) || (FLEXT_VERSION < 401) #error You need at least flext version 0.4.1 #endif +#include "Noise.h" + class stk1: public flext_stk @@ -30,66 +37,54 @@ public: stk1(); protected: - // these are obligatory! - virtual void NewObjs(); - virtual void FreeObjs(); - virtual void ProcessObjs(); - - // space for a few sndobjs -// Pitch *obj1,*obj2; - - float sh1,sh2; + virtual bool NewObjs(); // create STK instruments + virtual void FreeObjs(); // destroy STK instruments + virtual void ProcessObjs(int n); // do DSP processing - FLEXT_ATTRVAR_F(sh1) - FLEXT_ATTRVAR_F(sh2) +private: + Noise *inst; + static void Setup(t_class *c); }; FLEXT_NEW_DSP("stk1~",stk1) - + stk1::stk1(): - sh1(1),sh2(1) + inst(NULL) { - AddInSignal(2); // audio ins - AddOutSignal(2); // audio outs - -// obj1 = obj2 = NULL; - - FLEXT_ADDATTR_VAR1("shL",sh1); - FLEXT_ADDATTR_VAR1("shR",sh2); + AddInAnything(); + AddOutSignal(); } -// construct needed SndObjs -void stk1::NewObjs() + +// create STK instruments +bool stk1::NewObjs() { + bool ok = true; + // set up objects -// obj1 = new Pitch(.1f,&InObj(0),sh1,Blocksize(),Samplerate()); -// obj2 = new Pitch(.1f,&InObj(1),sh2,Blocksize(),Samplerate()); + try { + inst = new Noise; + } + catch (StkError &) { + post("%s - Noise() setup failed!",thisName()); + ok = false; + } + return ok; } -// destroy the SndObjs + +// destroy the STK instruments void stk1::FreeObjs() { -// if(obj1) delete obj1; -// if(obj2) delete obj2; + if(inst) delete inst; } // this is called on every DSP block -void stk1::ProcessObjs() +void stk1::ProcessObjs(int n) { -/* - // set current pitch shift - obj1->SetPitch(sh1); - obj2->SetPitch(sh2); - - // do processing here!! - obj1->DoProcess(); - obj2->DoProcess(); - - // output - *obj1 >> OutObj(0); - *obj2 >> OutObj(1); -*/ + while(n--) Outlet(0).tick(inst->tick()); } + diff --git a/externals/grill/flext/tutorial/stk1/stk1.dsp b/externals/grill/flext/tutorial/stk1/stk1.dsp index 7ee60fdb..2be3c776 100644 --- a/externals/grill/flext/tutorial/stk1/stk1.dsp +++ b/externals/grill/flext/tutorial/stk1/stk1.dsp @@ -43,7 +43,7 @@ RSC=rc.exe # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /YX /FD /c -# ADD CPP /nologo /W3 /O2 /I "..\..\source" /I "f:\prog\packs\sndobj\include" /I "f:\prog\packs\stk\include" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "PD" /YX /FD /c +# ADD CPP /nologo /MT /W3 /GX /O2 /I "..\..\source" /I "f:\prog\packs\sndobj\include" /I "f:\prog\packs\stk\include" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "PD" /D "FLEXT_THREADS" /YX /FD /c # ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 # ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 # ADD BASE RSC /l 0xc07 /d "NDEBUG" @@ -53,7 +53,7 @@ BSC32=bscmake.exe # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib /nologo /dll /machine:I386 -# ADD LINK32 kernel32.lib user32.lib pd.lib flext-pdwin.lib stk.lib /nologo /dll /machine:I386 /out:"../pd-msvc/stk1~.dll" /libpath:"..\..\pd-msvc" /libpath:"f:\prog\packs\stk\lib" +# ADD LINK32 kernel32.lib user32.lib pd.lib pthreadVC.lib flext_t-pdwin.lib stk.lib /nologo /dll /machine:I386 /out:"../pd-msvc/stk1~.dll" /libpath:"..\..\pd-msvc" /libpath:"f:\prog\packs\stk\lib" !ELSEIF "$(CFG)" == "stk1 - Win32 Debug" @@ -69,7 +69,7 @@ LINK32=link.exe # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /YX /FD /GZ /c -# ADD CPP /nologo /W3 /Gm /ZI /Od /I "..\..\source" /I "f:\prog\packs\sndobj\include" /I "f:\prog\packs\stk\include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "PD" /Fr /YX /FD /GZ /c +# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "..\..\source" /I "f:\prog\packs\sndobj\include" /I "f:\prog\packs\stk\include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "PD" /D "FLEXT_THREADS" /Fr /YX /FD /GZ /c # ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32 # ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 # ADD BASE RSC /l 0xc07 /d "_DEBUG" @@ -79,7 +79,7 @@ BSC32=bscmake.exe # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept -# ADD LINK32 kernel32.lib user32.lib pd.lib flext_d-pdwin.lib stk.lib /nologo /dll /debug /machine:I386 /out:"msvc-debug/stk1~.dll" /pdbtype:sept /libpath:"..\..\pd-msvc" /libpath:"f:\prog\packs\stk\lib" +# ADD LINK32 kernel32.lib user32.lib pd.lib pthreadVC.lib flext_td-pdwin.lib stk_d.lib /nologo /dll /debug /machine:I386 /out:"msvc-debug/stk1~.dll" /pdbtype:sept /libpath:"..\..\pd-msvc" /libpath:"f:\prog\packs\stk\lib" !ENDIF diff --git a/externals/grill/flext/tutorial/stk2/main.cpp b/externals/grill/flext/tutorial/stk2/main.cpp new file mode 100644 index 00000000..5d6cb72c --- /dev/null +++ b/externals/grill/flext/tutorial/stk2/main.cpp @@ -0,0 +1,109 @@ +/* +flext tutorial - stk 2 + +Copyright (c) 2002,2003 Thomas Grill (xovo@gmx.net) +For information on usage and redistribution, and for a DISCLAIMER OF ALL +WARRANTIES, see the file, "license.txt," in this distribution. + +------------------------------------------------------------------------- + +This is an example of an external using the STK ("synthesis toolkit") library. +For STK see http://ccrma-www.stanford.edu/software/stk + +STK needs C++ exceptions switched on. + +The STK tutorial examples assume that a static stk library exists which contains all the +source files (except rt*.cpp) of the stk/src directory. +The library should be compiled multithreaded and with the appropriate compiler flags for +the respective platform (e.g. __OS_WINDOWS__ and __LITTLE_ENDIAN__ for Windows) + +*/ + +#include <flstk.h> + +#if !defined(FLEXT_VERSION) || (FLEXT_VERSION < 401) +#error You need at least flext version 0.4.1 +#endif + +#include "PitShift.h" + + +class stk2: + public flext_stk +{ + FLEXT_HEADER_S(stk2,flext_stk,Setup) + +public: + stk2(); + + void m_sh1(float f) { if(inst[0]) inst[0]->setShift(f); } + void m_sh2(float f) { if(inst[1]) inst[1]->setShift(f); } + + // these are obligatory! + virtual bool NewObjs(); // create STK instruments + virtual void FreeObjs(); // destroy STK instruments + virtual void ProcessObjs(int n); // do DSP processing + + PitShift *inst[2]; + +private: + static void Setup(t_class *c); + + FLEXT_CALLBACK_F(m_sh1) + FLEXT_CALLBACK_F(m_sh2) +}; + +FLEXT_NEW_DSP("stk2~",stk2) + + +stk2::stk2() +{ + AddInSignal(); + AddOutSignal(2); + + inst[0] = inst[1] = NULL; +} + +void stk2::Setup(t_class *c) +{ + FLEXT_CADDMETHOD_F(c,0,"shL",m_sh1); + FLEXT_CADDMETHOD_F(c,0,"shR",m_sh2); +} + + +// create STK instruments +bool stk2::NewObjs() +{ + bool ok = true; + + // set up objects + try { + for(int i = 0; i < 2; ++i) + inst[i] = new PitShift; + } + catch (StkError &) { + post("%s - Noise() setup failed!",thisName()); + ok = false; + } + return ok; +} + + +// destroy the STK instruments +void stk2::FreeObjs() +{ + for(int i = 0; i < 2; ++i) + if(inst[i]) delete inst[i]; +} + +// this is called on every DSP block +void stk2::ProcessObjs(int n) +{ + while(n--) { + MY_FLOAT f = Inlet(0).tick(); + for(int i = 0; i < 2; ++i) + Outlet(i).tick(inst[i]->tick(f)); + } +} + + diff --git a/externals/grill/flext/tutorial/stk2/stk2.dsp b/externals/grill/flext/tutorial/stk2/stk2.dsp new file mode 100644 index 00000000..8ace2bf9 --- /dev/null +++ b/externals/grill/flext/tutorial/stk2/stk2.dsp @@ -0,0 +1,95 @@ +# Microsoft Developer Studio Project File - Name="stk2" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** NICHT BEARBEITEN ** + +# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102 + +CFG=stk2 - Win32 Debug +!MESSAGE Dies ist kein gültiges Makefile. Zum Erstellen dieses Projekts mit NMAKE +!MESSAGE verwenden Sie den Befehl "Makefile exportieren" und führen Sie den Befehl +!MESSAGE +!MESSAGE NMAKE /f "stk2.mak". +!MESSAGE +!MESSAGE Sie können beim Ausführen von NMAKE eine Konfiguration angeben +!MESSAGE durch Definieren des Makros CFG in der Befehlszeile. Zum Beispiel: +!MESSAGE +!MESSAGE NMAKE /f "stk2.mak" CFG="stk2 - Win32 Debug" +!MESSAGE +!MESSAGE Für die Konfiguration stehen zur Auswahl: +!MESSAGE +!MESSAGE "stk2 - Win32 Release" (basierend auf "Win32 (x86) Dynamic-Link Library") +!MESSAGE "stk2 - Win32 Debug" (basierend auf "Win32 (x86) Dynamic-Link Library") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "stk2" +# PROP Scc_LocalPath "." +CPP=cl.exe +MTL=midl.exe +RSC=rc.exe + +!IF "$(CFG)" == "stk2 - Win32 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "msvc" +# PROP Intermediate_Dir "msvc" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /YX /FD /c +# ADD CPP /nologo /MT /W3 /GX /O2 /I "..\..\source" /I "f:\prog\packs\sndobj\include" /I "f:\prog\packs\stk\include" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "PD" /D "FLEXT_THREADS" /YX /FD /c +# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 +# ADD BASE RSC /l 0xc07 /d "NDEBUG" +# ADD RSC /l 0xc07 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib /nologo /dll /machine:I386 +# ADD LINK32 kernel32.lib user32.lib pd.lib pthreadVC.lib flext_t-pdwin.lib stk.lib /nologo /dll /machine:I386 /out:"../pd-msvc/stk2~.dll" /libpath:"..\..\pd-msvc" /libpath:"f:\prog\packs\stk\lib" + +!ELSEIF "$(CFG)" == "stk2 - Win32 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Debug" +# PROP BASE Intermediate_Dir "Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "msvc-debug" +# PROP Intermediate_Dir "msvc-debug" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /YX /FD /GZ /c +# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "..\..\source" /I "f:\prog\packs\sndobj\include" /I "f:\prog\packs\stk\include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "PD" /D "FLEXT_THREADS" /Fr /YX /FD /GZ /c +# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32 +# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 +# ADD BASE RSC /l 0xc07 /d "_DEBUG" +# ADD RSC /l 0xc07 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept +# ADD LINK32 kernel32.lib user32.lib pd.lib pthreadVC.lib flext_td-pdwin.lib stk_d.lib /nologo /dll /debug /machine:I386 /out:"msvc-debug/stk2~.dll" /pdbtype:sept /libpath:"..\..\pd-msvc" /libpath:"f:\prog\packs\stk\lib" + +!ENDIF + +# Begin Target + +# Name "stk2 - Win32 Release" +# Name "stk2 - Win32 Debug" +# Begin Source File + +SOURCE=.\main.cpp +# End Source File +# End Target +# End Project diff --git a/externals/grill/flext/tutorial/thread1/main.cpp b/externals/grill/flext/tutorial/thread1/main.cpp index c0d172e6..e5e0c0e3 100644 --- a/externals/grill/flext/tutorial/thread1/main.cpp +++ b/externals/grill/flext/tutorial/thread1/main.cpp @@ -1,7 +1,7 @@ /* flext tutorial - threads 1 -Copyright (c) 2002 Thomas Grill (xovo@gmx.net) +Copyright (c) 2002,2003 Thomas Grill (xovo@gmx.net) For information on usage and redistribution, and for a DISCLAIMER OF ALL WARRANTIES, see the file, "license.txt," in this distribution. diff --git a/externals/grill/flext/tutorial/thread2/main.cpp b/externals/grill/flext/tutorial/thread2/main.cpp index 0abb5962..40e82b3c 100644 --- a/externals/grill/flext/tutorial/thread2/main.cpp +++ b/externals/grill/flext/tutorial/thread2/main.cpp @@ -1,7 +1,7 @@ /* flext tutorial - threads 2 -Copyright (c) 2002 Thomas Grill (xovo@gmx.net) +Copyright (c) 2002,2003 Thomas Grill (xovo@gmx.net) For information on usage and redistribution, and for a DISCLAIMER OF ALL WARRANTIES, see the file, "license.txt," in this distribution. diff --git a/externals/grill/flext/tutorial/tutorial.dsw b/externals/grill/flext/tutorial/tutorial.dsw index 9ef8d03f..9fdef2da 100644 --- a/externals/grill/flext/tutorial/tutorial.dsw +++ b/externals/grill/flext/tutorial/tutorial.dsw @@ -243,6 +243,22 @@ Package=<4> ############################################################################### +Project: "stk2"=.\stk2\stk2.dsp - Package Owner=<4> + +Package=<5> +{{{ + begin source code control + stk2 + .\stk2 + end source code control +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + Project: "thread1"=.\thread1\thread1.dsp - Package Owner=<4> Package=<5> diff --git a/externals/grill/guitest/flgui.cpp b/externals/grill/guitest/flgui.cpp index 2753d303..1771e992 100644 --- a/externals/grill/guitest/flgui.cpp +++ b/externals/grill/guitest/flgui.cpp @@ -40,7 +40,7 @@ flext_gui::flext_gui(int xs,int ys): #endif bindsym(NULL) { - canvas = new Canvas(thisCanvas()); + canvas = new FCanvas(thisCanvas()); objs = new GuiGroup(canvas); #if FLEXT_SYS == FLEXT_SYS_PD diff --git a/externals/grill/guitest/flgui.h b/externals/grill/guitest/flgui.h index 3ca2b399..ab512a1a 100644 --- a/externals/grill/guitest/flgui.h +++ b/externals/grill/guitest/flgui.h @@ -9,7 +9,7 @@ #include <g_canvas.h> #endif -class Canvas; +class FCanvas; class GuiObj; class GuiGroup; class GuiSingle; @@ -135,7 +135,7 @@ protected: private: bool visible; - Canvas *canvas; + FCanvas *canvas; GuiGroup *objs; const t_symbol *bindsym; diff --git a/externals/grill/guitest/flguiobj.cpp b/externals/grill/guitest/flguiobj.cpp index 5641e9b5..7bb22098 100644 --- a/externals/grill/guitest/flguiobj.cpp +++ b/externals/grill/guitest/flguiobj.cpp @@ -13,18 +13,18 @@ #if FLEXT_SYS == FLEXT_SYS_PD -bool Canvas::store = true; -bool Canvas::debug = false; +bool FCanvas::store = true; +bool FCanvas::debug = false; #endif -Canvas::Canvas(t_canvas *c): +FCanvas::FCanvas(t_canvas *c): canvas(c) #if FLEXT_SYS == FLEXT_SYS_PD ,buffer(new char[BUFSIZE]),bufix(0),waiting(0) #endif {} -Canvas::~Canvas() +FCanvas::~FCanvas() { #if FLEXT_SYS == FLEXT_SYS_PD if(buffer) delete[] buffer; @@ -32,13 +32,13 @@ Canvas::~Canvas() } #if FLEXT_SYS == FLEXT_SYS_PD -void Canvas::Send(const char *t) +void FCanvas::Send(const char *t) { if(debug) post("GUI - %s",t); sys_gui((char *)t); } -void Canvas::SendBuf() +void FCanvas::SendBuf() { if(bufix) { Send(buffer); @@ -46,7 +46,7 @@ void Canvas::SendBuf() } } -void Canvas::ToBuf(const char *t) +void FCanvas::ToBuf(const char *t) { int len = strlen(t); if(!len) return; @@ -65,7 +65,7 @@ void Canvas::ToBuf(const char *t) } } -Canvas &Canvas::TkC() +FCanvas &FCanvas::TkC() { char tmp[20]; sprintf(tmp,".x%x.c ",canvas); @@ -73,13 +73,13 @@ Canvas &Canvas::TkC() return *this; } -Canvas &Canvas::TkE() +FCanvas &FCanvas::TkE() { ToBuf("\n"); return *this; } -Canvas &Canvas::Tk(char *fmt,...) +FCanvas &FCanvas::Tk(char *fmt,...) { // int result, i; char buf[2048]; @@ -93,7 +93,7 @@ Canvas &Canvas::Tk(char *fmt,...) } #endif -bool Canvas::Pre(int x,int y) +bool FCanvas::Pre(int x,int y) { xpos = x,ypos = y; #if FLEXT_SYS == FLEXT_SYS_PD @@ -111,7 +111,7 @@ bool Canvas::Pre(int x,int y) #endif } -void Canvas::Post() +void FCanvas::Post() { #if FLEXT_SYS == FLEXT_SYS_PD if(!--waiting) SendBuf(); @@ -128,7 +128,7 @@ void Canvas::Post() // -------------------------------------------------------------------------- -Rect &Rect::Add(const Pnt &p) +FRect &FRect::Add(const FPnt &p) { if(p.x < lo.x) lo.x = p.x; if(p.y < lo.y) lo.y = p.y; @@ -137,7 +137,7 @@ Rect &Rect::Add(const Pnt &p) return *this; } -Rect &Rect::Add(const Rect &r) +FRect &FRect::Add(const FRect &r) { if(r.lo.x < lo.x) lo.x = r.lo.x; if(r.lo.y < lo.y) lo.y = r.lo.y; @@ -146,12 +146,12 @@ Rect &Rect::Add(const Rect &r) return *this; } -bool Rect::In(const Pnt &p) const +bool FRect::In(const FPnt &p) const { return p.x >= lo.x && p.x <= hi.x && p.y >= lo.y && p.y <= hi.y; } -bool Rect::Inter(const Rect &r) const +bool FRect::Inter(const FRect &r) const { return true; } @@ -160,7 +160,7 @@ bool Rect::Inter(const Rect &r) const // -------------------------------------------------------------------------- -GuiObj::GuiObj(Canvas *c,GuiGroup *p): +GuiObj::GuiObj(FCanvas *c,GuiGroup *p): canvas(c),idsym(NULL), parent(p) // ,ori(0,0) @@ -181,7 +181,7 @@ GuiSingle::Event::Event(int evmask,bool (*m)(flext_gui &g,GuiSingle &obj,const f GuiSingle::Event::~Event() { if(nxt) delete nxt; } -GuiSingle::GuiSingle(Canvas *c,GuiGroup *p,const t_symbol *s): +GuiSingle::GuiSingle(FCanvas *c,GuiGroup *p,const t_symbol *s): GuiObj(c,p),sym(s),active(false),event(NULL) { char tmp[20]; @@ -320,7 +320,7 @@ void GuiSingle::RmvEvent(int evmask,bool (*m)(flext_gui &g,GuiSingle &obj,const // -------------------------------------------------------------------------- -GuiGroup::GuiGroup(Canvas *c,GuiGroup *p): +GuiGroup::GuiGroup(FCanvas *c,GuiGroup *p): GuiObj(c,p),head(NULL),tail(NULL) { char tmp[20]; @@ -455,7 +455,7 @@ GuiSingle *GuiGroup::Add_Point(int x,int y,long fill) return obj; } -GuiSingle *GuiGroup::Add_Cloud(int n,const Pnt *p,long fill) +GuiSingle *GuiGroup::Add_Cloud(int n,const FPnt *p,long fill) { GuiCloud *obj = new GuiCloud(canvas,this); obj->Set(n,p,fill); @@ -487,7 +487,7 @@ GuiSingle *GuiGroup::Add_Line(int x1,int y1,int x2,int y2,int width,long fill) return obj; } -GuiSingle *GuiGroup::Add_Poly(int n,const Pnt *p,int width,long fill) +GuiSingle *GuiGroup::Add_Poly(int n,const FPnt *p,int width,long fill) { GuiPoly *obj = new GuiPoly(canvas,this); obj->Set(n,p,width,fill); @@ -561,13 +561,13 @@ GuiObj &GuiPoint::Draw() } -GuiObj &GuiCloud::Set(int n,const Pnt *p,long fl) +GuiObj &GuiCloud::Set(int n,const FPnt *p,long fl) { int i; Delete(); fill = fl; - pnt = new Pnt[pnts = n]; + pnt = new FPnt[pnts = n]; rect(pnt[0] = p[0],p[0]); for(i = 1; i < n; ++i) rect.Add(pnt[i] = p[i]); @@ -713,14 +713,14 @@ GuiObj &GuiLine::Draw() } -GuiObj &GuiPoly::Set(int n,const Pnt *p,int wd,long fl) +GuiObj &GuiPoly::Set(int n,const FPnt *p,int wd,long fl) { int i; Delete(); width = wd,fill = fl; - pnt = new Pnt[pnts = n]; + pnt = new FPnt[pnts = n]; rect(pnt[0] = p[0],p[0]); for(i = 1; i < n; ++i) rect.Add(pnt[i] = p[i]); diff --git a/externals/grill/guitest/flguiobj.h b/externals/grill/guitest/flguiobj.h index b4448bc2..86c7366a 100644 --- a/externals/grill/guitest/flguiobj.h +++ b/externals/grill/guitest/flguiobj.h @@ -6,16 +6,16 @@ #include "flgui.h" -class Canvas +class FCanvas { public: - Canvas(t_canvas *c); - ~Canvas(); + FCanvas(t_canvas *c); + ~FCanvas(); #if FLEXT_SYS == FLEXT_SYS_PD - Canvas &Tk(char *fmt,...); - Canvas &TkC(); - Canvas &TkE(); + FCanvas &Tk(char *fmt,...); + FCanvas &TkC(); + FCanvas &TkE(); void ToBuf(const char *t); #endif @@ -48,17 +48,17 @@ protected: }; -class Pnt +class FPnt { public: - Pnt() {} - Pnt(const Pnt &p): x(p.x),y(p.y) {} - Pnt(int px,int py): x(px),y(py) {} + FPnt() {} + FPnt(const FPnt &p): x(p.x),y(p.y) {} + FPnt(int px,int py): x(px),y(py) {} - Pnt &operator =(const Pnt &p) { x = p.x,y = p.y; return *this; } - Pnt &operator ()(int px,int py) { x = px,y = py; return *this; } + FPnt &operator =(const FPnt &p) { x = p.x,y = p.y; return *this; } + FPnt &operator ()(int px,int py) { x = px,y = py; return *this; } - Pnt &Move(int dx,int dy) { x += dx,y += dy; return *this; } + FPnt &Move(int dx,int dy) { x += dx,y += dy; return *this; } int X() const { return x; } int Y() const { return y; } @@ -67,32 +67,32 @@ public: int x,y; }; -class Rect +class FRect { public: - Rect() {} - Rect(const Rect &r): lo(r.lo),hi(r.hi) {} - Rect(int xlo,int ylo,int xhi,int yhi): lo(xlo,ylo),hi(xhi,yhi) {} + FRect() {} + FRect(const FRect &r): lo(r.lo),hi(r.hi) {} + FRect(int xlo,int ylo,int xhi,int yhi): lo(xlo,ylo),hi(xhi,yhi) {} - Rect &operator =(const Rect &r) { lo = r.lo; hi = r.hi; return *this; } - Rect &operator ()(const Pnt &l,const Pnt &h) { lo = l; hi = h; return *this; } - Rect &operator ()(int xlo,int ylo,int xhi,int yhi) { lo(xlo,ylo); hi(xhi,yhi); return *this; } + FRect &operator =(const FRect &r) { lo = r.lo; hi = r.hi; return *this; } + FRect &operator ()(const FPnt &l,const FPnt &h) { lo = l; hi = h; return *this; } + FRect &operator ()(int xlo,int ylo,int xhi,int yhi) { lo(xlo,ylo); hi(xhi,yhi); return *this; } - Rect &Move(int dx,int dy) { lo.Move(dx,dy); hi.Move(dx,dy); return *this; } - Rect &MoveTo(int x,int y) { hi(x+hi.X()-lo.X(),y+hi.Y()-lo.Y()); lo(x,y); return *this; } + FRect &Move(int dx,int dy) { lo.Move(dx,dy); hi.Move(dx,dy); return *this; } + FRect &MoveTo(int x,int y) { hi(x+hi.X()-lo.X(),y+hi.Y()-lo.Y()); lo(x,y); return *this; } - Pnt &Lo() { return lo; } - Pnt &Hi() { return hi; } + FPnt &Lo() { return lo; } + FPnt &Hi() { return hi; } int SizeX() const { return hi.X()-lo.X()+1; } int SizeY() const { return hi.Y()-lo.Y()+1; } - Rect &Add(const Pnt &p); - Rect &Add(const Rect &r); - bool In(const Pnt &p) const; - bool Inter(const Rect &r) const; + FRect &Add(const FPnt &p); + FRect &Add(const FRect &r); + bool In(const FPnt &p) const; + bool Inter(const FRect &r) const; protected: - Pnt lo,hi; + FPnt lo,hi; }; class GuiObj: @@ -100,7 +100,7 @@ class GuiObj: { friend class GuiGroup; public: - GuiObj(Canvas *c = NULL,GuiGroup *p = NULL); + GuiObj(FCanvas *c = NULL,GuiGroup *p = NULL); virtual ~GuiObj(); const t_symbol *Id() const { return idsym; } @@ -111,8 +111,8 @@ public: /* void Origin(int x,int y) { ori(x,y); } - void Origin(const Pnt &p) { ori = p; } - const Pnt &Origin() const { return ori; } + void Origin(const FPnt &p) { ori = p; } + const FPnt &Origin() const { return ori; } void OriMove(int dx,int dy) { ori.Move(dx,dy); } int OriX() const { return ori.X(); } int OriY() const { return ori.Y(); } @@ -126,18 +126,18 @@ public: virtual GuiObj &Draw() = 0; - Canvas &Canv() { return *canvas; } + FCanvas &Canv() { return *canvas; } protected: virtual GuiObj &Delete() = 0; GuiGroup *parent; - Canvas *canvas; + FCanvas *canvas; const t_symbol *idsym; virtual bool Method(flext_gui &g,const flext_gui::CBParams &p) = 0; - Rect rect; + FRect rect; }; @@ -146,7 +146,7 @@ class GuiSingle: { friend class flext_gui; public: - GuiSingle(Canvas *c = NULL,GuiGroup *p = NULL,const t_symbol *s = NULL); + GuiSingle(FCanvas *c = NULL,GuiGroup *p = NULL,const t_symbol *s = NULL); ~GuiSingle(); virtual const t_symbol *Symbol() const { return sym; } @@ -156,7 +156,7 @@ public: virtual void Active() { active = true; } virtual void Inactive() { active = false; } - virtual bool In(const Pnt &p) const { return false; } + virtual bool In(const FPnt &p) const { return false; } virtual GuiSingle *Find(const t_symbol *s); virtual GuiObj &MoveTo(int x,int y); @@ -197,7 +197,7 @@ class GuiPoint: { friend class GuiGroup; - GuiPoint(Canvas *c = NULL,GuiGroup *p = NULL,const t_symbol *s = NULL): GuiSingle(c,p,s) {} + GuiPoint(FCanvas *c = NULL,GuiGroup *p = NULL,const t_symbol *s = NULL): GuiSingle(c,p,s) {} GuiObj &Set(int x,int y,long fill = -1); virtual GuiObj &Draw(); @@ -211,14 +211,14 @@ class GuiCloud: { friend class GuiGroup; - GuiCloud(Canvas *c = NULL,GuiGroup *p = NULL,const t_symbol *s = NULL): GuiSingle(c,p,s),pnt(NULL) {} - GuiObj &Set(int n,const Pnt *p,long fill = -1); + GuiCloud(FCanvas *c = NULL,GuiGroup *p = NULL,const t_symbol *s = NULL): GuiSingle(c,p,s),pnt(NULL) {} + GuiObj &Set(int n,const FPnt *p,long fill = -1); virtual GuiObj &Draw(); virtual GuiObj &Delete(); long fill; int pnts; - Pnt *pnt; + FPnt *pnt; public: }; @@ -228,11 +228,11 @@ class GuiBox: { friend class GuiGroup; - GuiBox(Canvas *c = NULL,GuiGroup *p = NULL,const t_symbol *s = NULL): GuiSingle(c,p,s) {} + GuiBox(FCanvas *c = NULL,GuiGroup *p = NULL,const t_symbol *s = NULL): GuiSingle(c,p,s) {} GuiObj &Set(int x,int y,int xsz,int ysz,int width = -1,long fill = -1,long outl = -1); virtual GuiObj &Draw(); - virtual bool In(const Pnt &p) const { return rect.In(p); } + virtual bool In(const FPnt &p) const { return rect.In(p); } int width; long fill,outln; @@ -245,11 +245,11 @@ class GuiRect: { friend class GuiGroup; - GuiRect(Canvas *c = NULL,GuiGroup *p = NULL,const t_symbol *s = NULL): GuiSingle(c,p,s) {} + GuiRect(FCanvas *c = NULL,GuiGroup *p = NULL,const t_symbol *s = NULL): GuiSingle(c,p,s) {} GuiObj &Set(int x,int y,int xsz,int ysz,int width = -1,long outl = -1); virtual GuiObj &Draw(); - virtual bool In(const Pnt &p) const { return rect.In(p); } + virtual bool In(const FPnt &p) const { return rect.In(p); } int width; long outln; @@ -262,13 +262,13 @@ class GuiLine: { friend class GuiGroup; - GuiLine(Canvas *c = NULL,GuiGroup *p = NULL,const t_symbol *s = NULL): GuiSingle(c,p,s) {} + GuiLine(FCanvas *c = NULL,GuiGroup *p = NULL,const t_symbol *s = NULL): GuiSingle(c,p,s) {} GuiObj &Set(int x1,int y1,int x2,int y2,int width = -1,long fill = -1); virtual GuiObj &Draw(); int width; long fill; - Pnt p1,p2; + FPnt p1,p2; public: }; @@ -278,15 +278,15 @@ class GuiPoly: { friend class GuiGroup; - GuiPoly(Canvas *c = NULL,GuiGroup *p = NULL,const t_symbol *s = NULL): GuiSingle(c,p,s),pnt(NULL) {} - GuiObj &Set(int n,const Pnt *p,int width = -1,long fill = -1); + GuiPoly(FCanvas *c = NULL,GuiGroup *p = NULL,const t_symbol *s = NULL): GuiSingle(c,p,s),pnt(NULL) {} + GuiObj &Set(int n,const FPnt *p,int width = -1,long fill = -1); virtual GuiObj &Draw(); virtual GuiObj &Delete(); int width; long fill; int pnts; - Pnt *pnt; + FPnt *pnt; public: }; @@ -298,7 +298,7 @@ class GuiText: public: enum just_t { none = -1,left = 0,right,center }; protected: - GuiText(Canvas *c = NULL,GuiGroup *p = NULL,const t_symbol *s = NULL): GuiSingle(c,p,s) {} + GuiText(FCanvas *c = NULL,GuiGroup *p = NULL,const t_symbol *s = NULL): GuiSingle(c,p,s) {} GuiObj &Set(int x,int y,const char *txt = NULL,long fill = -1,just_t just = none); virtual GuiObj &Draw(); @@ -312,7 +312,7 @@ class GuiGroup: { friend class flext_gui; public: - GuiGroup(Canvas *c,GuiGroup *p = NULL); + GuiGroup(FCanvas *c,GuiGroup *p = NULL); ~GuiGroup(); virtual GuiSingle *Find(const t_symbol *s); @@ -326,15 +326,15 @@ public: GuiGroup *Add_Group(); GuiSingle *Add_Point(int x,int y,long fill = -1); - inline GuiSingle *Add_Point(const Pnt &p,long fill = -1) { return Add_Point(p.X(),p.Y(),fill); } - GuiSingle *Add_Cloud(int n,const Pnt *p,long fill = -1); + inline GuiSingle *Add_Point(const FPnt &p,long fill = -1) { return Add_Point(p.X(),p.Y(),fill); } + GuiSingle *Add_Cloud(int n,const FPnt *p,long fill = -1); GuiSingle *Add_Box(int x,int y,int xsz,int ysz,int width = -1,long fill = -1,long outl = -1); GuiSingle *Add_Rect(int x,int y,int xsz,int ysz,int width = -1,long outl = -1); GuiSingle *Add_Line(int x1,int y1,int x2,int y2,int width = -1,long fill = -1); - inline GuiSingle *Add_Line(const Pnt &p1,const Pnt &p2,int width = -1,long fill = -1) { return Add_Line(p1.X(),p1.Y(),p2.X(),p2.Y(),width,fill); } - GuiSingle *Add_Poly(int n,const Pnt *p,int width = -1,long fill = -1); + inline GuiSingle *Add_Line(const FPnt &p1,const FPnt &p2,int width = -1,long fill = -1) { return Add_Line(p1.X(),p1.Y(),p2.X(),p2.Y(),width,fill); } + GuiSingle *Add_Poly(int n,const FPnt *p,int width = -1,long fill = -1); GuiSingle *Add_Text(int x,int y,const char *txt,long fill = -1,GuiText::just_t just = GuiText::none); - inline GuiSingle *Add_Text(const Pnt &p,const char *txt,long fill = -1,GuiText::just_t just = GuiText::none) { return Add_Text(p.X(),p.Y(),txt,fill,just); } + inline GuiSingle *Add_Text(const FPnt &p,const char *txt,long fill = -1,GuiText::just_t just = GuiText::none) { return Add_Text(p.X(),p.Y(),txt,fill,just); } GuiSingle *Remove(GuiSingle *obj); diff --git a/externals/grill/guitest/main.cpp b/externals/grill/guitest/main.cpp index 661c3ad2..fa5a6f71 100644 --- a/externals/grill/guitest/main.cpp +++ b/externals/grill/guitest/main.cpp @@ -61,7 +61,7 @@ void guitest::g_Create() Group().Add_Text(1,1,"Hula",-1); I n = XSize()-16; - Pnt *p = new Pnt[n]; + FPnt *p = new FPnt[n]; for(int i = 0; i < n; ++i) { p[i](8+i,10+rand()%(YSize()-11)); } |