diff options
36 files changed, 357 insertions, 90 deletions
diff --git a/externals/grill/flext/readme.txt b/externals/grill/flext/readme.txt index a0dd1df7..3bd1594e 100644 --- a/externals/grill/flext/readme.txt +++ b/externals/grill/flext/readme.txt @@ -99,10 +99,13 @@ Version history: (this is possibly only a problem for the signal2 tutorial example) - added flext::GetType(t_atom &), flext::ZeroMem - put the clock_delay for the message queue inside the thread-locked area + Ok for the actual object, but PD has to be thread-safe here as well - BACKWARDS-INCOMPATIBLE CHANGE: flext_base::m_methodmain and flext_base::m_method_ have got const modifiers.... these virtual methods are used rarely (except for example in py/pyext) - now MUCH cleaner platform identification... FLEXT_SYS,FLEXT_OS,FLEXT_CPU definitions - also FLEXT_DEBUG for debug build +- SndObjs: virtual FreeObject routine is now called at destruction (by parent class), derived class doesn't need to call it! +- SndObjs: fixed typo (numbers of output slots was wrong) and init bug 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/fldefs.h b/externals/grill/flext/source/fldefs.h index b670bf76..14f2e012 100644 --- a/externals/grill/flext/source/fldefs.h +++ b/externals/grill/flext/source/fldefs.h @@ -835,6 +835,8 @@ FLEXT_CALL_PRE(M_FUN)(this,ARG1,ARG2,ARG3,ARG4,ARG5) //! @} FLEXT_D_METHOD +#if defined(FLEXT_ATTRIBUTES) && FLEXT_ATTRIBUTES == 1 + /*! \defgroup FLEXT_D_ATTRIB Attribute definition \note These have to reside inside the class declaration @{ @@ -1141,6 +1143,8 @@ AddAttrib(NAME,(bool (*)(flext_base *,int &))(FLEXT_GET_PRE(FUN)),(bool (*)(flex //! @} FLEXT_D_ATTRIB +#endif // FLEXT_ATTRIBUTES + //! @} FLEXT_DEFS diff --git a/externals/grill/flext/source/flsndobj.cpp b/externals/grill/flext/source/flsndobj.cpp index e377b4a7..c3b54014 100644 --- a/externals/grill/flext/source/flsndobj.cpp +++ b/externals/grill/flext/source/flsndobj.cpp @@ -8,9 +8,18 @@ flext_sndobj::flext_sndobj(): smprt(0),blsz(0) {} -flext_sndobj::~flext_sndobj() +bool flext_sndobj::Init() +{ + bool ret = flext_dsp::Init(); + inobjs = CntInSig(); + outobjs = CntOutSig(); + return ret; +} + +void flext_sndobj::Exit() { ClearObjs(); + flext_dsp::Exit(); } void flext_sndobj::ClearObjs() @@ -43,13 +52,13 @@ 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 = CntInSig()]; + 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); } - outobj = new Outlet *[outobjs = CntInSig()]; + outobj = new Outlet *[outobjs]; for(i = 0; i < outobjs; ++i) outobj[i] = new Outlet(out[i],blsz,smprt); NewObjs(); diff --git a/externals/grill/flext/source/flsndobj.h b/externals/grill/flext/source/flsndobj.h index 30099404..c56ba07b 100644 --- a/externals/grill/flext/source/flsndobj.h +++ b/externals/grill/flext/source/flsndobj.h @@ -6,8 +6,8 @@ WARRANTIES, see the file, "license.txt," in this distribution. */ -#ifndef FLEXT_SNDOBJ -#define FLEXT_SNDOBJ +#ifndef __FLSNDOBJ_H +#define __FLSNDOBJ_H #include "flext.h" @@ -25,7 +25,6 @@ class flext_sndobj: public: flext_sndobj(); - virtual ~flext_sndobj(); // these have to be overridden in child classes virtual void NewObjs() {} @@ -37,6 +36,9 @@ public: SndIO &OutObj(int i) { return *outobj[i]; } 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); diff --git a/externals/grill/flext/source/flstdc.h b/externals/grill/flext/source/flstdc.h index bf0ddd23..adf28b0d 100644 --- a/externals/grill/flext/source/flstdc.h +++ b/externals/grill/flext/source/flstdc.h @@ -29,7 +29,7 @@ WARRANTIES, see the file, "license.txt," in this distribution. #pragma warning (disable:4091 4005) #endif -#if FLEXT_OS == FLEXT_OS_WIN +#if FLEXT_OS == FLEXT_OS_WIN && !defined(NT) #define NT #endif diff --git a/externals/grill/flext/tutorial/adv1/adv1.dsp b/externals/grill/flext/tutorial/adv1/adv1.dsp index f857dbf3..9d4d2eef 100644 --- a/externals/grill/flext/tutorial/adv1/adv1.dsp +++ b/externals/grill/flext/tutorial/adv1/adv1.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" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "NT" /D "PD" /YX /FD /c +# ADD CPP /nologo /W3 /O2 /I "..\..\source" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "PD" /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" @@ -70,7 +70,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" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "NT" /D "PD" /Fr /YX /FD /GZ /c +# ADD CPP /nologo /W3 /Gm /ZI /Od /I "..\..\source" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "PD" /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" diff --git a/externals/grill/flext/tutorial/attr1/attr1.dsp b/externals/grill/flext/tutorial/attr1/attr1.dsp index 478e1015..ae5f171a 100644 --- a/externals/grill/flext/tutorial/attr1/attr1.dsp +++ b/externals/grill/flext/tutorial/attr1/attr1.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" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "NT" /D "PD" /YX /FD /c +# ADD CPP /nologo /W3 /O2 /I "..\..\source" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "PD" /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" @@ -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" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "NT" /D "PD" /FR /YX /FD /GZ /c +# ADD CPP /nologo /W3 /Gm /ZI /Od /I "..\..\source" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "PD" /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" diff --git a/externals/grill/flext/tutorial/attr2/attr2.dsp b/externals/grill/flext/tutorial/attr2/attr2.dsp index d95a55ab..e2d921ae 100644 --- a/externals/grill/flext/tutorial/attr2/attr2.dsp +++ b/externals/grill/flext/tutorial/attr2/attr2.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" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "NT" /D "PD" /YX /FD /c +# ADD CPP /nologo /W3 /O2 /I "..\..\source" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "PD" /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" @@ -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" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "NT" /D "PD" /FR /YX /FD /GZ /c +# ADD CPP /nologo /W3 /Gm /ZI /Od /I "..\..\source" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "PD" /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" diff --git a/externals/grill/flext/tutorial/build-pd-bcc.bat b/externals/grill/flext/tutorial/build-pd-bcc.bat index 6b2f5821..90ed411b 100644 --- a/externals/grill/flext/tutorial/build-pd-bcc.bat +++ b/externals/grill/flext/tutorial/build-pd-bcc.bat @@ -32,6 +32,10 @@ @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 .. diff --git a/externals/grill/flext/tutorial/build-pd-msvc.bat b/externals/grill/flext/tutorial/build-pd-msvc.bat index 85ad6649..2c63951b 100644 --- a/externals/grill/flext/tutorial/build-pd-msvc.bat +++ b/externals/grill/flext/tutorial/build-pd-msvc.bat @@ -8,6 +8,7 @@ nmake /f makefile.pd-msvc NAME=attr1 DIR=attr1 nmake /f makefile.pd-msvc NAME=attr2 DIR=attr2 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 diff --git a/externals/grill/flext/tutorial/lib1/lib1.dsp b/externals/grill/flext/tutorial/lib1/lib1.dsp index b661aeb4..1a992987 100644 --- a/externals/grill/flext/tutorial/lib1/lib1.dsp +++ b/externals/grill/flext/tutorial/lib1/lib1.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" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "NT" /D "PD" /YX /FD /c +# ADD CPP /nologo /W3 /O2 /I "..\..\source" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "PD" /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" @@ -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" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "NT" /D "PD" /Fr /YX /FD /GZ /c +# ADD CPP /nologo /W3 /Gm /ZI /Od /I "..\..\source" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "PD" /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" diff --git a/externals/grill/flext/tutorial/makefile.pd-bcc b/externals/grill/flext/tutorial/makefile.pd-bcc index 1e718176..0a21cfff 100644 --- a/externals/grill/flext/tutorial/makefile.pd-bcc +++ b/externals/grill/flext/tutorial/makefile.pd-bcc @@ -18,7 +18,7 @@ LIBPATH=-L$(BCCPATH)\lib -L$(PDPATH)\lib -L$(FLEXTPATH) LIBS=cw32.lib import32.lib C0D32.OBJ # compiler definitions and flags -DEFS=-DPD -DNT +DEFS=-DFLEXT_SYS=2 CFLAGS=-6 -O2 -OS -ff -tWD # the rest can stay untouched diff --git a/externals/grill/flext/tutorial/makefile.pd-cygwin b/externals/grill/flext/tutorial/makefile.pd-cygwin index 5929a701..fae2014d 100644 --- a/externals/grill/flext/tutorial/makefile.pd-cygwin +++ b/externals/grill/flext/tutorial/makefile.pd-cygwin @@ -16,7 +16,7 @@ FLEXTLIB=$(FLEXTPATH)/flext-pdwin.lib INCLUDES=$(PDPATH)/src LIBPATH=$(PDPATH)/bin -FLAGS=-DPD -DNT +FLAGS=-DFLEXT_SYS=2 CFLAGS=-O6 -mcpu=pentiumpro LIBS=m pd @@ -26,7 +26,7 @@ LIBS=m pd # all the source files from the package -EXAMPLES=simple1 simple2 simple3 adv1 attr1 attr2 signal1~ signal2~ lib1 # thread1 thread2 +EXAMPLES=simple1 simple2 simple3 adv1 attr1 attr2 signal1~ signal2~ sndobj1~ lib1 # thread1 thread2 TARGETS=$(patsubst %,$(OUTPATH)/%.dll,$(EXAMPLES)) diff --git a/externals/grill/flext/tutorial/makefile.pd-darwin b/externals/grill/flext/tutorial/makefile.pd-darwin index 1f3743ef..20f4a298 100644 --- a/externals/grill/flext/tutorial/makefile.pd-darwin +++ b/externals/grill/flext/tutorial/makefile.pd-darwin @@ -14,7 +14,7 @@ FLEXTLIB=$(FLEXTPATH)/flext_t.a # take threaded library for all # compiler+linker stuff ### EDIT! ### INCLUDES=$(PDPATH) LIBPATH= -FLAGS=-DPD -Dunix -DMACOSX -DFLEXT_THREADS -Wno-unused -Wno-parentheses -Wno-switch -Wstrict-prototypes # -maltivec +FLAGS=-DFLEXT_SYS=2 -DFLEXT_THREADS -Wno-unused -Wno-parentheses -Wno-switch -Wstrict-prototypes # -maltivec CFLAGS=-O6 LIBS=m LDFLAGS=-bundle -bundle_loader $(PD) @@ -24,7 +24,7 @@ LDFLAGS=-bundle -bundle_loader $(PD) # all the source files from the package -EXAMPLES=simple1 simple2 simple3 adv1 attr1 attr2 signal1~ signal2~ lib1 thread1 thread2 # attr2 +EXAMPLES=simple1 simple2 simple3 adv1 attr1 attr2 signal1~ signal2~ sndobj1~ lib1 thread1 thread2 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 7f1528e4..6bbb4a06 100644 --- a/externals/grill/flext/tutorial/makefile.pd-linux +++ b/externals/grill/flext/tutorial/makefile.pd-linux @@ -14,7 +14,7 @@ FLEXTLIB=$(FLEXTPATH)/flext_t.a # take threaded library for all # compiler+linker stuff ### EDIT! ### INCLUDES=$(PDPATH)/src LIBPATH= -FLAGS=-DPD -DFLEXT_THREADS +FLAGS=-DFLEXT_SYS=2 -DFLEXT_THREADS CFLAGS=-O6 -mcpu=pentiumpro LIBS=m @@ -24,7 +24,7 @@ LIBS=m # all the source files from the package -EXAMPLES=simple1 simple2 simple3 adv1 attr1 attr2 signal1~ signal2~ lib1 thread1 thread2 +EXAMPLES=simple1 simple2 simple3 adv1 attr1 attr2 sndobj1~ signal1~ signal2~ lib1 thread1 thread2 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 3478cb9e..960ee14c 100644 --- a/externals/grill/flext/tutorial/makefile.pd-msvc +++ b/externals/grill/flext/tutorial/makefile.pd-msvc @@ -18,7 +18,7 @@ LIBPATH=/LIBPATH:"$(MSVCPATH)\lib" /LIBPATH:"$(PDPATH)\bin" /LIBPATH:"$(FLEXTPAT LIBS=pd.lib pthreadVC.lib flext_t-pdwin.lib # compiler definitions and flags -DEFS=/DPD /DNT /DFLEXT_THREADS +DEFS=/DFLEXT_SYS=2 /DFLEXT_THREADS CFLAGS=/GR /GD /G6 /Ox /MT diff --git a/externals/grill/flext/tutorial/signal1/signal1.dsp b/externals/grill/flext/tutorial/signal1/signal1.dsp index 707f58ad..0e130e4c 100644 --- a/externals/grill/flext/tutorial/signal1/signal1.dsp +++ b/externals/grill/flext/tutorial/signal1/signal1.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" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "NT" /D "PD" /YX /FD /c +# ADD CPP /nologo /W3 /O2 /I "..\..\source" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "PD" /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" @@ -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" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "NT" /D "PD" /Fr /YX /FD /GZ /c +# ADD CPP /nologo /W3 /Gm /ZI /Od /I "..\..\source" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "PD" /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" diff --git a/externals/grill/flext/tutorial/signal2/signal2.dsp b/externals/grill/flext/tutorial/signal2/signal2.dsp index 6002f7dc..c2e6553f 100644 --- a/externals/grill/flext/tutorial/signal2/signal2.dsp +++ b/externals/grill/flext/tutorial/signal2/signal2.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" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "NT" /D "PD" /YX /FD /c +# ADD CPP /nologo /W3 /O2 /I "..\..\source" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "PD" /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" @@ -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" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "NT" /D "PD" /Fr /YX /FD /GZ /c +# ADD CPP /nologo /W3 /Gm /ZI /Od /I "..\..\source" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "PD" /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" diff --git a/externals/grill/flext/tutorial/simple1/simple1.dsp b/externals/grill/flext/tutorial/simple1/simple1.dsp index a40e22f6..35716adc 100644 --- a/externals/grill/flext/tutorial/simple1/simple1.dsp +++ b/externals/grill/flext/tutorial/simple1/simple1.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" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "NT" /D "PD" /YX /FD /c +# ADD CPP /nologo /W3 /O2 /I "..\..\source" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "PD" /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" @@ -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" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "NT" /D "PD" /Fr /YX /FD /GZ /c +# ADD CPP /nologo /W3 /Gm /ZI /Od /I "..\..\source" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "PD" /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" diff --git a/externals/grill/flext/tutorial/simple2/simple2.dsp b/externals/grill/flext/tutorial/simple2/simple2.dsp index 06e953e0..728f9ba5 100644 --- a/externals/grill/flext/tutorial/simple2/simple2.dsp +++ b/externals/grill/flext/tutorial/simple2/simple2.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" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "NT" /D "PD" /YX /FD /c +# ADD CPP /nologo /W3 /O2 /I "..\..\source" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "PD" /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" @@ -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" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "NT" /D "PD" /FR /YX /FD /GZ /c +# ADD CPP /nologo /W3 /Gm /ZI /Od /I "..\..\source" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "PD" /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" diff --git a/externals/grill/flext/tutorial/simple3/simple3.dsp b/externals/grill/flext/tutorial/simple3/simple3.dsp index dfc0155b..b654d0cd 100644 --- a/externals/grill/flext/tutorial/simple3/simple3.dsp +++ b/externals/grill/flext/tutorial/simple3/simple3.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" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "NT" /D "PD" /YX /FD /c +# ADD CPP /nologo /W3 /O2 /I "..\..\source" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "PD" /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" @@ -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" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "NT" /D "PD" /FR /YX /FD /GZ /c +# ADD CPP /nologo /W3 /Gm /ZI /Od /I "..\..\source" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "PD" /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" diff --git a/externals/grill/flext/tutorial/sndobj1/main.cpp b/externals/grill/flext/tutorial/sndobj1/main.cpp new file mode 100644 index 00000000..e293e6be --- /dev/null +++ b/externals/grill/flext/tutorial/sndobj1/main.cpp @@ -0,0 +1,85 @@ +// signal1~ - a flext tutorial external written by Frank Barknecht +// +// This is a commented port of the pan~ example from the PD-Externals-Howto to +// illustrate the usage of flext. You can get the original code at +// http://iem.kug.ac.at/pd/externals-HOWTO/ + +#define FLEXT_ATTRIBUTES 1 + +#include <flsndobj.h> + +#if !defined(FLEXT_VERSION) || (FLEXT_VERSION < 401) +#error You need at least flext version 0.4.1 +#endif + + +class sndobj1: + public flext_sndobj +{ + FLEXT_HEADER(sndobj1,flext_sndobj) + +public: + sndobj1(); + +protected: + + // these are obligatory! + virtual void NewObjs(); + virtual void FreeObjs(); + virtual void ProcessObjs(); + + // space for a few sndobjs + Pitch *obj1,*obj2; + + float sh1,sh2; + + FLEXT_ATTRVAR_F(sh1) + FLEXT_ATTRVAR_F(sh2) +}; + +FLEXT_NEW_DSP("sndobj1~",sndobj1) + + +sndobj1::sndobj1(): + sh1(1),sh2(1) +{ + AddInSignal(2); // audio ins + AddOutSignal(2); // audio outs + + obj1 = obj2 = NULL; + + FLEXT_ADDATTR_VAR1("shL",sh1); + FLEXT_ADDATTR_VAR1("shR",sh2); +} + +// construct needed SndObjs +void sndobj1::NewObjs() +{ + // set up objects + obj1 = new Pitch(.1f,&InObj(0),sh1,Blocksize(),Samplerate()); + obj2 = new Pitch(.1f,&InObj(1),sh2,Blocksize(),Samplerate()); +} + +// destroy the SndObjs +void sndobj1::FreeObjs() +{ + if(obj1) delete obj1; + if(obj2) delete obj2; +} + +// this is called on every DSP block +void sndobj1::ProcessObjs() +{ + // set current pitch shift + obj1->SetPitch(sh1); + obj2->SetPitch(sh2); + + // do processing here!! + obj1->DoProcess(); + obj2->DoProcess(); + + // output + *obj1 >> OutObj(0); + *obj2 >> OutObj(1); +} + diff --git a/externals/grill/flext/tutorial/sndobj1/sndobj1.cw b/externals/grill/flext/tutorial/sndobj1/sndobj1.cw Binary files differnew file mode 100644 index 00000000..8385296a --- /dev/null +++ b/externals/grill/flext/tutorial/sndobj1/sndobj1.cw diff --git a/externals/grill/flext/tutorial/sndobj1/sndobj1.dsp b/externals/grill/flext/tutorial/sndobj1/sndobj1.dsp new file mode 100644 index 00000000..0be35837 --- /dev/null +++ b/externals/grill/flext/tutorial/sndobj1/sndobj1.dsp @@ -0,0 +1,95 @@ +# Microsoft Developer Studio Project File - Name="sndobj1" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** NICHT BEARBEITEN ** + +# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102 + +CFG=sndobj1 - 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 "sndobj1.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 "sndobj1.mak" CFG="sndobj1 - Win32 Debug" +!MESSAGE +!MESSAGE Für die Konfiguration stehen zur Auswahl: +!MESSAGE +!MESSAGE "sndobj1 - Win32 Release" (basierend auf "Win32 (x86) Dynamic-Link Library") +!MESSAGE "sndobj1 - Win32 Debug" (basierend auf "Win32 (x86) Dynamic-Link Library") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "sndobj1" +# PROP Scc_LocalPath "." +CPP=cl.exe +MTL=midl.exe +RSC=rc.exe + +!IF "$(CFG)" == "sndobj1 - 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 /W3 /O2 /I "..\..\source" /I "f:\prog\packs\sndobj\include" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "PD" /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 flext-pdwin.lib sndobj.lib /nologo /dll /machine:I386 /out:"../pd-msvc/sndobj1~.dll" /libpath:"..\..\pd-msvc" /libpath:"f:\prog\packs\sndobj\lib" + +!ELSEIF "$(CFG)" == "sndobj1 - 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 /W3 /Gm /ZI /Od /I "..\..\source" /I "f:\prog\packs\sndobj\include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "PD" /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 flext_d-pdwin.lib sndobj.lib /nologo /dll /debug /machine:I386 /out:"msvc-debug/sndobj1~.dll" /pdbtype:sept /libpath:"..\..\pd-msvc" /libpath:"f:\prog\packs\sndobj\lib" + +!ENDIF + +# Begin Target + +# Name "sndobj1 - Win32 Release" +# Name "sndobj1 - Win32 Debug" +# Begin Source File + +SOURCE=.\main.cpp +# End Source File +# End Target +# End Project diff --git a/externals/grill/flext/tutorial/thread1/thread1.dsp b/externals/grill/flext/tutorial/thread1/thread1.dsp index 4e0ca9f2..a0eff1c0 100644 --- a/externals/grill/flext/tutorial/thread1/thread1.dsp +++ b/externals/grill/flext/tutorial/thread1/thread1.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 /MT /W3 /O2 /I "..\..\source" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "NT" /D "PD" /D "FLEXT_THREADS" /YX /FD /c +# ADD CPP /nologo /MT /W3 /O2 /I "..\..\source" /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" @@ -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 /MTd /W3 /Gm /ZI /Od /I "..\..\source" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "NT" /D "PD" /D "FLEXT_THREADS" /FR /YX /FD /GZ /c +# ADD CPP /nologo /MTd /W3 /Gm /ZI /Od /I "..\..\source" /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" diff --git a/externals/grill/flext/tutorial/thread2/thread2.dsp b/externals/grill/flext/tutorial/thread2/thread2.dsp index e0f6f115..241cc565 100644 --- a/externals/grill/flext/tutorial/thread2/thread2.dsp +++ b/externals/grill/flext/tutorial/thread2/thread2.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 /MT /W3 /O2 /I "..\..\source" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "NT" /D "PD" /D "FLEXT_THREADS" /YX /FD /c +# ADD CPP /nologo /MT /W3 /O2 /I "..\..\source" /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" @@ -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 /MTd /W3 /Gm /ZI /Od /I "..\..\source" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "NT" /D "PD" /D "FLEXT_THREADS" /FR /YX /FD /GZ /c +# ADD CPP /nologo /MTd /W3 /Gm /ZI /Od /I "..\..\source" /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" diff --git a/externals/grill/flext/tutorial/tutorial.dsw b/externals/grill/flext/tutorial/tutorial.dsw index 42eddaee..8a9d9707 100644 --- a/externals/grill/flext/tutorial/tutorial.dsw +++ b/externals/grill/flext/tutorial/tutorial.dsw @@ -163,6 +163,22 @@ Package=<4> ############################################################################### +Project: "sndobj1"=.\sndobj1\sndobj1.dsp - Package Owner=<4> + +Package=<5> +{{{ + begin source code control + sndobj1 + .\sndobj1 + end source code control +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + Project: "thread1"=.\thread1\thread1.dsp - Package Owner=<4> Package=<5> diff --git a/externals/grill/vasp/vasp.dsp b/externals/grill/vasp/vasp.dsp index 754c3d32..d3077050 100644 --- a/externals/grill/vasp/vasp.dsp +++ b/externals/grill/vasp/vasp.dsp @@ -45,7 +45,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" /D "VASP_EXPORTS" /YX /FD /c -# ADD CPP /nologo /G6 /W3 /O2 /Ob2 /I "c:\programme\audio\pd\src" /I "f:\prog\max\flext\source" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D FLEXT_SYS=2 /D FLEXT_ATTRIBUTES=1 /YX"main.h" /FD /c +# ADD CPP /nologo /G6 /W3 /O2 /Ob2 /I "c:\programme\audio\pd\src" /I "f:\prog\max\flext\source" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D FLEXT_SYS=2 /YX"main.h" /FD /c # ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 # ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 # ADD BASE RSC /l 0xc07 /d "NDEBUG" @@ -72,7 +72,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" /D "VASP_EXPORTS" /YX /FD /GZ /c -# ADD CPP /nologo /W3 /Gm /ZI /Od /I "c:\programme\audio\pd\src" /I "f:\prog\max\flext\source" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D FLEXT_SYS=2 /D "VASP_COMPACT" /D FLEXT_ATTRIBUTES=1 /FR /YX"main.h" /FD /GZ /c +# ADD CPP /nologo /W3 /Gm /ZI /Od /I "c:\programme\audio\pd\src" /I "f:\prog\max\flext\source" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D FLEXT_SYS=2 /D "VASP_COMPACT" /FR /YX"main.h" /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" @@ -99,7 +99,7 @@ LINK32=link.exe # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /MTd /W3 /Gm /GR /GX /ZI /Od /I "c:\programme\audio\pd\src" /I "f:\prog\max\flext" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "PD" /D "NT" /FR /YX /FD /GZ /c -# ADD CPP /nologo /MTd /W3 /Gm /ZI /Od /I "c:\programme\audio\pd\src" /I "f:\prog\max\flext\source" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D FLEXT_SYS=2 /D "FLEXT_THREADS" /D "VASP_COMPACT" /D FLEXT_ATTRIBUTES=1 /FR /YX"main.h" /FD /GZ /c +# ADD CPP /nologo /MTd /W3 /Gm /ZI /Od /I "c:\programme\audio\pd\src" /I "f:\prog\max\flext\source" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D FLEXT_SYS=2 /D "FLEXT_THREADS" /D "VASP_COMPACT" /FR /YX"main.h" /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" @@ -126,7 +126,7 @@ LINK32=link.exe # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /MT /W3 /GR /GX /O2 /Ob2 /I "c:\programme\audio\pd\src" /I "f:\prog\max\flext" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "PD" /D "NT" /YX /FD /c -# ADD CPP /nologo /G6 /MT /W3 /O2 /Ob2 /I "c:\programme\audio\pd\src" /I "f:\prog\max\flext\source" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D FLEXT_SYS=2 /D "FLEXT_THREADS" /D FLEXT_ATTRIBUTES=1 /YX"main.h" /FD /c +# ADD CPP /nologo /G6 /MT /W3 /O2 /Ob2 /I "c:\programme\audio\pd\src" /I "f:\prog\max\flext\source" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D FLEXT_SYS=2 /D "FLEXT_THREADS" /YX"main.h" /FD /c # ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 # ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 # ADD BASE RSC /l 0xc07 /d "NDEBUG" diff --git a/externals/grill/xsample/pd/xgroove~.help.pd b/externals/grill/xsample/pd/xgroove~.help.pd index 74b9e312..da24d9ec 100644 --- a/externals/grill/xsample/pd/xgroove~.help.pd +++ b/externals/grill/xsample/pd/xgroove~.help.pd @@ -1,4 +1,4 @@ -#N canvas 92 110 837 556 12; +#N canvas 92 110 839 558 12; #X obj 258 240 hsl 128 15 0.001 3 1 1 empty empty empty 20 8 0 8 -225271 -1 -1 0 1; #X floatatom 255 261 8 0 0; @@ -88,12 +88,12 @@ -1 -1 0 1; #X floatatom 10 83 5 0 0; #X obj 258 32 vdl 15 0 0 3 empty empty empty 0 -6 0 8 -262144 -1 -1 -1; +0; #X text 277 29 once; #X text 277 45 forward; #X text 277 61 bidir; #X obj 372 31 vdl 15 0 0 3 empty empty empty 0 -6 0 8 -262144 -1 -1 -1; +0; #X text 391 28 none; #X text 391 44 linear; #X text 391 60 4-point; @@ -102,7 +102,7 @@ #X obj 521 275 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X obj 256 134 vdl 15 0 0 4 empty empty empty 0 -6 0 8 -262144 -1 -1 -2; +0; #X text 255 113 units; #X msg 256 199 units \$1; #X obj 364 134 vdl 15 0 0 4 empty empty empty 0 -6 0 8 -262144 -1 -1 @@ -122,6 +122,10 @@ #X obj 536 467 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X msg 557 468 stop; +#X obj 319 343 print A; +#X msg 131 213 getattributes; +#X msg 177 248 getmax; +#X msg 120 248 getmin; #X connect 0 0 1 0; #X connect 1 0 31 0; #X connect 2 0 31 1; @@ -143,6 +147,7 @@ #X connect 31 1 8 0; #X connect 31 2 4 0; #X connect 31 3 5 0; +#X connect 31 5 70 0; #X connect 34 0 37 0; #X connect 35 0 37 0; #X connect 36 0 14 0; @@ -164,3 +169,6 @@ #X connect 66 0 67 0; #X connect 68 0 67 0; #X connect 69 0 67 0; +#X connect 71 0 31 0; +#X connect 72 0 31 0; +#X connect 73 0 31 0; diff --git a/externals/grill/xsample/pd/xplay~.help.pd b/externals/grill/xsample/pd/xplay~.help.pd index 9bca8cbb..5bf89020 100644 --- a/externals/grill/xsample/pd/xplay~.help.pd +++ b/externals/grill/xsample/pd/xplay~.help.pd @@ -1,4 +1,4 @@ -#N canvas 297 114 616 300 12; +#N canvas 297 114 618 302 12; #X obj 69 252 dac~; #X obj 19 54 bng 15 250 50 0 empty empty empty 20 8 0 8 -258699 -1 -1; @@ -9,7 +9,7 @@ #X obj 125 155 *~ 300; #X text 107 176 position signal; #X msg 16 115 help; -#X graph graph7 0 -1 299 1 284 217 584 17; +#N canvas 0 0 450 300 graph7 0; #X array buf 300 float 1; #A 0 -0.03 -0.03 -0.03 -0.0366667 -0.0433333 -0.05 -0.065 -0.08 -0.085 -0.09 -0.096 -0.102 -0.108 -0.114 -0.12 -0.1275 -0.135 -0.1425 -0.15 @@ -39,12 +39,15 @@ 0.25 0.24 0.23 0.22 0.21 0.2 0.19 0.18 0.16 0.15 0.14 0.13 0.12 0.11 0.105 0.1 0.09 0.075 0.06 0.05 0.04 0.03 0.02 0 -0.02 -0.0266667 -0.0333333 -0.04 -0.05; -#X pop; +#X coords 0 1 299 -1 300 200 1; +#X restore 284 17 graph; #X obj 117 82 hsl 128 15 1 100 1 1 empty empty empty 20 8 0 8 -225271 -1 -1 11100 1; #X obj 77 203 xplay~ buf; #X msg 17 168 print; #X obj 124 124 phasor~ 100; +#X obj 151 237 print A; +#X msg 107 16 getattributes; #X connect 1 0 11 0; #X connect 2 0 11 0; #X connect 3 0 11 0; @@ -53,5 +56,7 @@ #X connect 10 0 13 0; #X connect 11 0 0 0; #X connect 11 0 0 1; +#X connect 11 1 14 0; #X connect 12 0 11 0; #X connect 13 0 6 0; +#X connect 15 0 11 0; diff --git a/externals/grill/xsample/pd/xrecord~.help.pd b/externals/grill/xsample/pd/xrecord~.help.pd index 5226f539..80c09f65 100644 --- a/externals/grill/xsample/pd/xrecord~.help.pd +++ b/externals/grill/xsample/pd/xrecord~.help.pd @@ -1,4 +1,4 @@ -#N canvas 134 12 855 608 12; +#N canvas 134 12 857 610 12; #X obj 14 15 bng 15 250 50 0 empty empty empty 20 8 0 8 -258699 -1 -1; #X msg 13 35 stop; @@ -52,7 +52,7 @@ #X obj 411 473 metro 30; #X obj 18 247 metro 30; #X obj 640 21 osc~ 10; -#X obj 91 133 r~ rec; +#X obj 86 78 r~ rec; #X obj 482 339 r~ rec; #X obj 678 95 s~ rec; #X obj 623 48 *~ 1; @@ -82,6 +82,9 @@ #X msg 488 206 100; #X obj 521 426 line~; #X msg 520 401 \$1 20; +#X msg 9 135 getattributes; +#X obj 208 211 print A; +#X msg 10 163 getbuffer; #X connect 0 0 7 0; #X connect 1 0 7 0; #X connect 4 0 7 2; @@ -89,6 +92,7 @@ #X connect 7 0 9 0; #X connect 7 1 2 0; #X connect 7 2 3 0; +#X connect 7 4 72 0; #X connect 8 0 7 0; #X connect 9 0 10 0; #X connect 11 0 41 0; @@ -134,3 +138,5 @@ #X connect 68 0 32 0; #X connect 69 0 24 1; #X connect 70 0 69 0; +#X connect 71 0 7 0; +#X connect 73 0 7 0; diff --git a/externals/grill/xsample/readme.txt b/externals/grill/xsample/readme.txt index 74095a30..425b6a7a 100644 --- a/externals/grill/xsample/readme.txt +++ b/externals/grill/xsample/readme.txt @@ -77,6 +77,7 @@ Version history: - added MaxMSP buffer resize recognition - xgroove~: introduced a crossfading loop zone - adapted source for flext 0.4.1 +- introduced attributes 0.2.4: - according to flext 0.2.3 changed sample type to t_sample (S) diff --git a/externals/grill/xsample/source/groove.cpp b/externals/grill/xsample/source/groove.cpp index b4748a6f..795eb654 100644 --- a/externals/grill/xsample/source/groove.cpp +++ b/externals/grill/xsample/source/groove.cpp @@ -84,6 +84,8 @@ protected: curpos = pos; } + V mg_pos(F &v) const { v = curpos*s2u; } + private: // static V setup(t_class *c); @@ -108,16 +110,20 @@ private: } FLEXT_CALLBACK_F(m_pos) - FLEXT_CALLBACK(m_all) FLEXT_CALLBACK_F(m_min) FLEXT_CALLBACK_F(m_max) - + FLEXT_CALLBACK(m_all) + FLEXT_CALLBACK_F(m_xzone) FLEXT_CALLBACK_F(m_xsymm) FLEXT_CALLBACK_V(m_xshape) FLEXT_CALLBACK_B(m_xkeep) - FLEXT_CALLBACK_1(m_loop,xs_loop) + FLEXT_CALLVAR_F(mg_pos,m_pos) + FLEXT_CALLSET_F(m_min) + FLEXT_CALLSET_F(m_max) + FLEXT_CALLSET_E(m_loop,xs_loop) + FLEXT_ATTRGET_E(loopmode,xs_loop) }; @@ -169,13 +175,15 @@ xgroove::xgroove(I argc,const t_atom *argv): AddOutFloat(2); // play min & max AddOutBang(); // loop bang + FLEXT_ADDMETHOD_(0,"all",m_all); FLEXT_ADDMETHOD(1,m_min); FLEXT_ADDMETHOD(2,m_max); - FLEXT_ADDMETHOD_F(0,"min",m_min); - FLEXT_ADDMETHOD_F(0,"max",m_max); - FLEXT_ADDMETHOD_F(0,"pos",m_pos); - FLEXT_ADDMETHOD_(0,"all",m_all); - FLEXT_ADDMETHOD_B(0,"loop",m_loop); + + FLEXT_ADDATTR_VAR("min",mg_min,m_min); + FLEXT_ADDATTR_VAR("max",mg_max,m_max); + FLEXT_ADDATTR_VAR("pos",mg_pos,m_pos); + + FLEXT_ADDATTR_VAR_E("loop",loopmode,m_loop); FLEXT_ADDMETHOD_F(0,"xzone",m_xzone); FLEXT_ADDMETHOD_F(0,"xsymm",m_xsymm); @@ -634,21 +642,21 @@ V xgroove::m_help() post("Outlets: 1:Audio signal, 2:Position signal, 3:Min position (rounded), 4:Max position (rounded)"); post("Methods:"); post("\thelp: shows this help"); - post("\tset [name]: set buffer or reinit"); + post("\tset [name] / @buffer [name]: set buffer or reinit"); post("\tenable 0/1: turn dsp calculation off/on"); post("\treset: reset min/max playing points and playing offset"); post("\tprint: print current settings"); - post("\tloop 0/1/2: sets looping to off/forward/bidirectional"); - post("\tinterp 0/1/2: set interpolation to off/4-point/linear"); - post("\tmin {unit}: set minimum playing point"); - post("\tmax {unit}: set maximum playing point"); + post("\t@loop 0/1/2: sets looping to off/forward/bidirectional"); + post("\t@interp 0/1/2: set interpolation to off/4-point/linear"); + post("\t@min {unit}: set minimum playing point"); + post("\t@max {unit}: set maximum playing point"); post("\tall: select entire buffer length"); post("\tpos {unit}: set playing position (obeying the current scale mode)"); post("\tbang/start: start playing"); post("\tstop: stop playing"); post("\trefresh: checks buffer and refreshes outlets"); - post("\tunits 0/1/2/3: set units to frames/buffer size/ms/s"); - post("\tsclmode 0/1/2/3: set range of position to units/units in loop/buffer/loop"); + post("\t@units 0/1/2/3: set units to frames/buffer size/ms/s"); + post("\t@sclmode 0/1/2/3: set range of position to units/units in loop/buffer/loop"); post("\txzone {unit}: length of loop crossfade zone"); post("\txsymm -1,0...1: symmetry of crossfade zone inside/outside point"); post("\txshape 0/1 [param 0...1]: shape of crossfading (linear/trig)"); diff --git a/externals/grill/xsample/source/main.cpp b/externals/grill/xsample/source/main.cpp index 30aad069..d8182f57 100644 --- a/externals/grill/xsample/source/main.cpp +++ b/externals/grill/xsample/source/main.cpp @@ -55,8 +55,10 @@ xsample::xsample(): FLEXT_ADDMETHOD_(0,"refresh",m_refresh); FLEXT_ADDMETHOD_(0,"reset",m_reset); - FLEXT_ADDMETHOD_E(0,"units",m_units); - FLEXT_ADDMETHOD_E(0,"sclmode",m_sclmode); + FLEXT_ADDATTR_VAR("buffer",mg_buffer,ms_buffer); + FLEXT_ADDATTR_VAR_E("units",unitmode,m_units); + FLEXT_ADDATTR_VAR_E("sclmode",sclmode,m_sclmode); + FLEXT_ADDATTR_GET("scale",s2u); } xsample::~xsample() diff --git a/externals/grill/xsample/source/main.h b/externals/grill/xsample/source/main.h index c50f8dd6..f0c1bff9 100644 --- a/externals/grill/xsample/source/main.h +++ b/externals/grill/xsample/source/main.h @@ -11,9 +11,10 @@ WARRANTIES, see the file, "license.txt," in this distribution. #ifndef __XSAMPLE_H #define __XSAMPLE_H -#define XSAMPLE_VERSION "0.2.5pre1" +#define XSAMPLE_VERSION "0.2.5pre2" + +#define FLEXT_ATTRIBUTES 1 - #include <flext.h> #if !defined(FLEXT_VERSION) || (FLEXT_VERSION < 401) @@ -118,6 +119,12 @@ protected: BL bufchk() { if(buf->Update()) { m_refresh(); return true; } return false; } + V mg_buffer(AtomList &l) { if(buf) { l(1); SetSymbol(l[0],buf->Symbol()); } else l(); } + V ms_buffer(const AtomList &l) { m_set(l.Count(),l.Atoms()); } + + V mg_min(F &v) const { v = curmin*s2u; } + V mg_max(F &v) const { v = curmax*s2u; } + private: FLEXT_CALLBACK(m_start) @@ -128,8 +135,18 @@ private: FLEXT_CALLBACK(m_refresh) FLEXT_CALLBACK(m_reset) - FLEXT_CALLBACK_1(m_units,xs_unit) - FLEXT_CALLBACK_1(m_sclmode,xs_sclmd) + FLEXT_CALLVAR_V(mg_buffer,ms_buffer) + + FLEXT_CALLSET_E(m_units,xs_unit) + FLEXT_ATTRGET_E(unitmode,xs_unit) + FLEXT_CALLSET_E(m_sclmode,xs_sclmd) + FLEXT_ATTRGET_E(sclmode,xs_sclmd) + + FLEXT_ATTRGET_F(s2u) + +protected: + FLEXT_CALLGET_F(mg_min) + FLEXT_CALLGET_F(mg_max) }; diff --git a/externals/grill/xsample/source/record.cpp b/externals/grill/xsample/source/record.cpp index 052bcc06..d3ce5cee 100644 --- a/externals/grill/xsample/source/record.cpp +++ b/externals/grill/xsample/source/record.cpp @@ -46,10 +46,10 @@ public: virtual V m_min(F mn); virtual V m_max(F mx); - virtual V m_mixmode(BL mx) { mixmode = mx; } - virtual V m_sigmode(BL mode) { /*dorec =*/ sigmode = mode; } - virtual V m_loop(BL lp) { doloop = lp; } - virtual V m_append(BL app) { if(!(appmode = app)) m_pos(0); } +// V m_mixmode(BL mx) { mixmode = mx; } +// V m_sigmode(BL mode) { sigmode = mode; } +// V m_loop(BL lp) { doloop = lp; } + V m_append(BL app) { if(!(appmode = app)) m_pos(0); } virtual V m_draw(I argc,const t_atom *argv); @@ -85,10 +85,11 @@ private: FLEXT_CALLBACK_F(m_min) FLEXT_CALLBACK_F(m_max) - FLEXT_CALLBACK_B(m_loop) - FLEXT_CALLBACK_B(m_mixmode) - FLEXT_CALLBACK_B(m_sigmode) - FLEXT_CALLBACK_B(m_append) + FLEXT_ATTRVAR_B(doloop) + FLEXT_ATTRVAR_B(mixmode) + FLEXT_ATTRVAR_B(sigmode) + FLEXT_CALLSET_B(m_append) + FLEXT_ATTRGET_B(appmode) FLEXT_CALLBACK_V(m_draw) }; @@ -150,12 +151,12 @@ xrecord::xrecord(I argc,const t_atom *argv): FLEXT_ADDMETHOD_F(0,"max",m_max); FLEXT_ADDMETHOD_(0,"all",m_all); - FLEXT_ADDMETHOD_B(0,"loop",m_loop); - FLEXT_ADDMETHOD_B(0,"mixmode",m_mixmode); - FLEXT_ADDMETHOD_B(0,"sigmode",m_sigmode); - FLEXT_ADDMETHOD_B(0,"append",m_append); - FLEXT_ADDMETHOD_(0,"draw",m_draw); + + FLEXT_ADDATTR_VAR1("loop",doloop); + FLEXT_ADDATTR_VAR1("mixmode",mixmode); + FLEXT_ADDATTR_VAR1("sigmode",sigmode); + FLEXT_ADDATTR_VAR("append",appmode,m_append); } @@ -435,10 +436,10 @@ V xrecord::m_help() post("\tenable 0/1: turn dsp calculation off/on"); post("\treset: reset min/max recording points and recording offset"); post("\tprint: print current settings"); - post("\tsigmode 0/1: specify message or signal triggered recording"); - post("\tappend 0/1: reset recording position or append to current position"); - post("\tloop 0/1: switches looping off/on"); - post("\tmixmode 0/1: specify if audio signal should be mixed in"); + post("\t@sigmode 0/1: specify message or signal triggered recording"); + post("\t@append 0/1: reset recording position or append to current position"); + post("\t@loop 0/1: switches looping off/on"); + post("\t@mixmode 0/1: specify if audio signal should be mixed in"); post("\tmin {unit}: set minimum recording point"); post("\tmax {unit}: set maximum recording point"); post("\tall: select entire buffer length"); @@ -446,8 +447,8 @@ V xrecord::m_help() post("\tbang/start: start recording"); post("\tstop: stop recording"); post("\trefresh: checks buffer and refreshes outlets"); - post("\tunits 0/1/2/3: set units to frames/buffer size/ms/s"); - post("\tsclmode 0/1/2/3: set range of position to units/units in loop/buffer/loop"); + post("\t@units 0/1/2/3: set units to frames/buffer size/ms/s"); + post("\t@sclmode 0/1/2/3: set range of position to units/units in loop/buffer/loop"); post("\tdraw [{float}]: redraw buffer immediately (arg omitted) or periodic (in ms)"); post(""); } |