aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--externals/grill/flext/readme.txt3
-rw-r--r--externals/grill/flext/source/fldefs.h4
-rw-r--r--externals/grill/flext/source/flsndobj.cpp15
-rw-r--r--externals/grill/flext/source/flsndobj.h8
-rw-r--r--externals/grill/flext/source/flstdc.h2
-rw-r--r--externals/grill/flext/tutorial/adv1/adv1.dsp4
-rw-r--r--externals/grill/flext/tutorial/attr1/attr1.dsp4
-rw-r--r--externals/grill/flext/tutorial/attr2/attr2.dsp4
-rw-r--r--externals/grill/flext/tutorial/build-pd-bcc.bat4
-rw-r--r--externals/grill/flext/tutorial/build-pd-msvc.bat1
-rw-r--r--externals/grill/flext/tutorial/lib1/lib1.dsp4
-rw-r--r--externals/grill/flext/tutorial/makefile.pd-bcc2
-rw-r--r--externals/grill/flext/tutorial/makefile.pd-cygwin4
-rw-r--r--externals/grill/flext/tutorial/makefile.pd-darwin4
-rw-r--r--externals/grill/flext/tutorial/makefile.pd-linux4
-rw-r--r--externals/grill/flext/tutorial/makefile.pd-msvc2
-rw-r--r--externals/grill/flext/tutorial/signal1/signal1.dsp4
-rw-r--r--externals/grill/flext/tutorial/signal2/signal2.dsp4
-rw-r--r--externals/grill/flext/tutorial/simple1/simple1.dsp4
-rw-r--r--externals/grill/flext/tutorial/simple2/simple2.dsp4
-rw-r--r--externals/grill/flext/tutorial/simple3/simple3.dsp4
-rw-r--r--externals/grill/flext/tutorial/sndobj1/main.cpp85
-rw-r--r--externals/grill/flext/tutorial/sndobj1/sndobj1.cwbin0 -> 101183 bytes
-rw-r--r--externals/grill/flext/tutorial/sndobj1/sndobj1.dsp95
-rw-r--r--externals/grill/flext/tutorial/thread1/thread1.dsp4
-rw-r--r--externals/grill/flext/tutorial/thread2/thread2.dsp4
-rw-r--r--externals/grill/flext/tutorial/tutorial.dsw16
-rw-r--r--externals/grill/vasp/vasp.dsp8
-rw-r--r--externals/grill/xsample/pd/xgroove~.help.pd16
-rw-r--r--externals/grill/xsample/pd/xplay~.help.pd11
-rw-r--r--externals/grill/xsample/pd/xrecord~.help.pd10
-rw-r--r--externals/grill/xsample/readme.txt1
-rw-r--r--externals/grill/xsample/source/groove.cpp38
-rw-r--r--externals/grill/xsample/source/main.cpp6
-rw-r--r--externals/grill/xsample/source/main.h25
-rw-r--r--externals/grill/xsample/source/record.cpp39
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
new file mode 100644
index 00000000..8385296a
--- /dev/null
+++ b/externals/grill/flext/tutorial/sndobj1/sndobj1.cw
Binary files differ
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("");
}