diff options
author | Thomas Grill <xovo@users.sourceforge.net> | 2003-01-30 04:36:06 +0000 |
---|---|---|
committer | Thomas Grill <xovo@users.sourceforge.net> | 2003-01-30 04:36:06 +0000 |
commit | 392f24a84a7ca535a7132cfe0a8da55aa28733ce (patch) | |
tree | 9b546e31a6d682c1abf67afb4c06397c488683a2 /externals/grill | |
parent | c1313aea8746276cc4de4dbd177f6bf732db2a05 (diff) |
""
svn path=/trunk/; revision=366
Diffstat (limited to 'externals/grill')
-rw-r--r-- | externals/grill/flext/flext.dsp | 8 | ||||
-rw-r--r-- | externals/grill/flext/readme.txt | 1 | ||||
-rw-r--r-- | externals/grill/flext/source/fldsp.cpp | 3 | ||||
-rwxr-xr-x | externals/grill/flext/source/flprefix.h | 1 | ||||
-rw-r--r-- | externals/grill/flext/source/flsupport.h | 20 | ||||
-rw-r--r-- | externals/grill/vasp/changes.txt | 2 | ||||
-rw-r--r-- | externals/grill/vasp/pd-ex/wedit.pd | 1306 | ||||
-rw-r--r-- | externals/grill/vasp/source/buflib.cpp | 11 | ||||
-rw-r--r-- | externals/grill/vasp/source/main.cpp | 2 | ||||
-rw-r--r-- | externals/grill/vasp/source/vbuffer.h | 6 | ||||
-rw-r--r-- | externals/grill/vasp/todo.txt | 3 |
11 files changed, 1347 insertions, 16 deletions
diff --git a/externals/grill/flext/flext.dsp b/externals/grill/flext/flext.dsp index a0f6b623..ef145039 100644 --- a/externals/grill/flext/flext.dsp +++ b/externals/grill/flext/flext.dsp @@ -43,7 +43,7 @@ RSC=rc.exe # PROP Intermediate_Dir "pd-msvc\s" # PROP Target_Dir "" # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c -# ADD CPP /nologo /G6 /W3 /O2 /I "c:\programme\audio\pd\src" /I "f:\prog\packs\sndobj\include" /I "f:\prog\packs\stk\include" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /D FLEXT_SYS=2 /YX"flext.h" /FD /c +# ADD CPP /nologo /G6 /W3 /O2 /I "c:\programme\audio\pd\src" /I "f:\prog\audio\sndobj\include" /I "f:\prog\audio\stk\include" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /D FLEXT_SYS=2 /YX"flext.h" /FD /c # ADD BASE RSC /l 0xc07 /d "NDEBUG" # ADD RSC /l 0xc07 /d "NDEBUG" BSC32=bscmake.exe @@ -66,7 +66,7 @@ LIB32=link.exe -lib # PROP Intermediate_Dir "pd-msvc\sd" # PROP Target_Dir "" # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c -# ADD CPP /nologo /W3 /Gm /ZI /Od /I "c:\programme\audio\pd\src" /I "f:\prog\packs\sndobj\include" /I "f:\prog\packs\stk\include" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /D FLEXT_SYS=2 /FR /YX"flext.h" /FD /GZ /c +# ADD CPP /nologo /W3 /Gm /ZI /Od /I "c:\programme\audio\pd\src" /I "f:\prog\audio\sndobj\include" /I "f:\prog\audio\stk\include" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /D FLEXT_SYS=2 /FR /YX"flext.h" /FD /GZ /c # ADD BASE RSC /l 0xc07 /d "_DEBUG" # ADD RSC /l 0xc07 /d "_DEBUG" BSC32=bscmake.exe @@ -89,7 +89,7 @@ LIB32=link.exe -lib # PROP Intermediate_Dir "pd-msvc\td" # PROP Target_Dir "" # ADD BASE CPP /nologo /MTd /W3 /Gm /GR /ZI /Od /I "c:\programme\audio\pd\src" /I "." /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /D "PD" /D "NT" /D "FLEXT_THREADS" /FR /YX /FD /GZ /c -# ADD CPP /nologo /MTd /W3 /Gm /ZI /Od /I "c:\programme\audio\pd\src" /I "f:\prog\packs\sndobj\include" /I "f:\prog\packs\stk\include" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /D "FLEXT_SYS_PD" /D "FLEXT_THREADS" /FR /YX"flext.h" /FD /GZ /c +# ADD CPP /nologo /MTd /W3 /Gm /ZI /Od /I "c:\programme\audio\pd\src" /I "f:\prog\audio\sndobj\include" /I "f:\prog\audio\stk\include" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /D "FLEXT_SYS_PD" /D "FLEXT_THREADS" /FR /YX"flext.h" /FD /GZ /c # ADD BASE RSC /l 0xc07 /d "_DEBUG" # ADD RSC /l 0xc07 /d "_DEBUG" BSC32=bscmake.exe @@ -112,7 +112,7 @@ LIB32=link.exe -lib # PROP Intermediate_Dir "pd-msvc\t" # PROP Target_Dir "" # ADD BASE CPP /nologo /MT /W3 /GR /O2 /I "c:\programme\audio\pd\src" /I "." /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /D "PD" /D "NT" /D "FLEXT_THREADS" /YX /FD /c -# ADD CPP /nologo /G6 /MT /W3 /O2 /I "c:\programme\audio\pd\src" /I "f:\prog\packs\sndobj\include" /I "f:\prog\packs\stk\include" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /D FLEXT_SYS=2 /D "FLEXT_THREADS" /YX"flext.h" /FD /c +# ADD CPP /nologo /G6 /MT /W3 /O2 /I "c:\programme\audio\pd\src" /I "f:\prog\audio\sndobj\include" /I "f:\prog\audio\stk\include" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /D FLEXT_SYS=2 /D "FLEXT_THREADS" /YX"flext.h" /FD /c # ADD BASE RSC /l 0xc07 /d "NDEBUG" # ADD RSC /l 0xc07 /d "NDEBUG" BSC32=bscmake.exe diff --git a/externals/grill/flext/readme.txt b/externals/grill/flext/readme.txt index d2005eed..bcffda75 100644 --- a/externals/grill/flext/readme.txt +++ b/externals/grill/flext/readme.txt @@ -117,6 +117,7 @@ Version history: - introduced default returns for the different flext::GetA* functions - pragma for Metrowerks compilers: enumsalwaysint on, bool on - MaxMSP: added assist string for attribute outlets +- added new POSIX for ThrCond::TimedWait (but still have to find out when to enable it....) 0.4.1: - full port for Max@OSX diff --git a/externals/grill/flext/source/fldsp.cpp b/externals/grill/flext/source/fldsp.cpp index 13eab25d..f6270261 100644 --- a/externals/grill/flext/source/fldsp.cpp +++ b/externals/grill/flext/source/fldsp.cpp @@ -186,8 +186,7 @@ void flext_dsp::m_dsp(int /*n*/,t_signalvec const * /*insigs*/,t_signalvec const void flext_dsp::m_signal(int n,t_sample *const * /*insigs*/,t_sample *const *outs) { - for(int i = 0; i < CntOutSig(); ++i) - memset(outs[i],0,n*sizeof(*outs[i])); + for(int i = 0; i < CntOutSig(); ++i) ZeroMem(outs[i],n*sizeof(*outs[i])); } #if FLEXT_SYS != FLEXT_SYS_MAX diff --git a/externals/grill/flext/source/flprefix.h b/externals/grill/flext/source/flprefix.h index f12d1320..51c88096 100755 --- a/externals/grill/flext/source/flprefix.h +++ b/externals/grill/flext/source/flprefix.h @@ -211,7 +211,6 @@ WARRANTIES, see the file, "license.txt," in this distribution. #endif - #if FLEXT_OS == FLEXT_OS_WIN // #pragma message("Compiling for Windows") diff --git a/externals/grill/flext/source/flsupport.h b/externals/grill/flext/source/flsupport.h index 3f771ea0..e2350d04 100644 --- a/externals/grill/flext/source/flsupport.h +++ b/externals/grill/flext/source/flsupport.h @@ -16,6 +16,7 @@ WARRANTIES, see the file, "license.txt," in this distribution. #define __FLSUPPORT_H #include "flstdc.h" +#include <time.h> class FLEXT_SHARE flext_base; @@ -729,11 +730,24 @@ public: } /*! \brief Wait for condition (for a certain time) - \param time Wait time in seconds + \param ftime Wait time in seconds + \ret 0 = signalled, 1 = timed out + \remark Depending on the implementation ftime may not be fractional. + \remark So if ftime = 0 this may suck away your cpu if used in a signalled loop. */ - bool TimedWait(float time) + bool TimedWait(float ftime) { - timespec tm; tm.tv_sec = (long)time; tm.tv_nsec = (long)((time-(long)time)*1.e9); + timespec tm; +#if 0 // find out when the following is defined + clock_gettime(CLOCK_REALTIME,tm); + tm.tv_nsec += (long)((ftime-(long)ftime)*1.e9); + long nns = tm.tv_nsec%1000000000; + tm.tv_sec += (long)ftime+(tm.tv_nsec-nns)/1000000000; + tm.tv_nsec = nns; +#else + tm.tv_sec = time(NULL)+(long)ftime; + tm.tv_nsec = 0; +#endif Lock(); bool ret = pthread_cond_timedwait(&cond,&mutex,&tm) == 0; Unlock(); diff --git a/externals/grill/vasp/changes.txt b/externals/grill/vasp/changes.txt index 96d60de4..df89e9f7 100644 --- a/externals/grill/vasp/changes.txt +++ b/externals/grill/vasp/changes.txt @@ -17,6 +17,8 @@ Version history: - FIX: immediate vasp garbage collection is now done in separate thread - ADD: vasp.size... objects: attribute "keep" determines whether buffer content should be preserved (default = 1) - CHANGE: buffer reference checks upon all operations enforced (by new CVasp (checked vasp) class) +- FIX: immediate vasps can not have frames > size +- FIX: immediate garbage collection was not triggered in threaded build 0.1.1: - FIX: bug in resize of immediate buffers diff --git a/externals/grill/vasp/pd-ex/wedit.pd b/externals/grill/vasp/pd-ex/wedit.pd new file mode 100644 index 00000000..f38ab513 --- /dev/null +++ b/externals/grill/vasp/pd-ex/wedit.pd @@ -0,0 +1,1306 @@ +#N canvas 2 4 744 344 10;
+#X obj 73 100 hsl 401 100 0 400 0 0 \$0-slider1snd \$0-slider1rcv empty
+-2 -6 1728 8 -262144 -1 -1 40000 0;
+#X obj 37 90 cnv 15 600 220 empty empty empty 20 12 0 14 -233017 -66577
+0;
+#N canvas 54 0 535 518 inside 0;
+#X floatatom 166 34 5 0 0 0 - - -;
+#N canvas 207 450 363 320 s-key-handling 0;
+#X floatatom 111 119 5 0 0 0 - - -;
+#N canvas 83 38 598 549 keyinput_s 0;
+#X obj 186 25 keyname;
+#X obj 84 446 spigot;
+#X obj 179 172 0;
+#X obj 179 116 symbol;
+#X msg 179 88 bang;
+#X obj 179 369 sel 1;
+#X msg 179 393 1;
+#X msg 152 393 0;
+#X obj 152 414 s \$0-spig1;
+#X obj 227 415 s \$0-spig1;
+#X msg 227 394 1;
+#X msg 254 394 0;
+#X obj 179 345 change;
+#X obj 84 67 inlet;
+#X obj 84 472 outlet;
+#X obj 179 144 sel s;
+#X text 276 67 if key "s" is down \, then input is let through;
+#X text 332 85 shifts display;
+#X obj 243 473 outlet;
+#X obj 179 223 t b b 0;
+#X obj 201 266 delay 100;
+#X msg 201 245 stop;
+#X obj 179 201 sel 0 1;
+#X obj 179 313 0;
+#X msg 179 289 1;
+#X text 255 242 linux and win have different up/down behaviour...;
+#X text 232 297 only if there is no new input for 100 ms after 0 \,
+0 is sent out;
+#X floatatom 273 365 5 0 0 0 - - -;
+#X obj 360 475 outlet;
+#X obj 442 479 s \$0-res;
+#X connect 0 0 2 1;
+#X connect 0 0 4 0;
+#X connect 0 1 3 1;
+#X connect 1 0 14 0;
+#X connect 2 0 22 0;
+#X connect 3 0 15 0;
+#X connect 4 0 3 0;
+#X connect 5 0 6 0;
+#X connect 5 0 7 0;
+#X connect 5 0 18 0;
+#X connect 5 0 29 0;
+#X connect 5 1 10 0;
+#X connect 5 1 11 0;
+#X connect 6 0 1 1;
+#X connect 6 0 28 0;
+#X connect 7 0 8 0;
+#X connect 10 0 9 0;
+#X connect 11 0 1 1;
+#X connect 11 0 28 0;
+#X connect 12 0 5 0;
+#X connect 12 0 27 0;
+#X connect 13 0 1 0;
+#X connect 15 0 2 0;
+#X connect 19 0 20 0;
+#X connect 19 1 21 0;
+#X connect 19 2 23 1;
+#X connect 20 0 23 0;
+#X connect 21 0 20 0;
+#X connect 22 0 19 0;
+#X connect 22 1 24 0;
+#X connect 23 0 12 0;
+#X connect 24 0 23 0;
+#X restore 97 93 pd keyinput_s;
+#N canvas 271 177 488 456 s_handling 0;
+#X obj 85 27 inlet;
+#X msg 85 272 set \$1;
+#X obj 85 249 0;
+#X obj 85 202 -;
+#X obj 85 225 t b f;
+#X obj 185 302 s \$0-shiftsel;
+#X obj 204 28 inlet;
+#X text 255 82 first position after hit is ref;
+#X obj 173 116 spigot;
+#X msg 204 82 1;
+#X obj 173 145 t f b;
+#X msg 178 82 0;
+#X text 203 12 down;
+#X obj 85 84 t f f;
+#X obj 85 302 s \$0-slider1rcv;
+#X obj 272 127 inlet;
+#X floatatom 272 164 1 0 1 0 - - -;
+#X msg 272 206 \; \$2-slider1rcv steady \$1;
+#X obj 272 184 pack 0 \$0;
+#X text 289 161 0 ist jump;
+#X connect 0 0 13 0;
+#X connect 1 0 14 0;
+#X connect 2 0 1 0;
+#X connect 3 0 4 0;
+#X connect 4 0 2 0;
+#X connect 4 1 5 0;
+#X connect 6 0 9 0;
+#X connect 8 0 10 0;
+#X connect 9 0 8 1;
+#X connect 10 0 3 1;
+#X connect 10 0 2 1;
+#X connect 10 1 11 0;
+#X connect 11 0 8 1;
+#X connect 13 0 3 0;
+#X connect 13 1 8 0;
+#X connect 15 0 16 0;
+#X connect 16 0 18 0;
+#X connect 18 0 17 0;
+#X restore 97 155 pd s_handling;
+#X obj 97 66 r \$0-slider1snd;
+#X connect 1 0 0 0;
+#X connect 1 0 2 0;
+#X connect 1 1 2 1;
+#X connect 1 2 2 2;
+#X connect 3 0 1 0;
+#X restore 220 133 pd s-key-handling;
+#X obj 57 33 r \$0-slider1snd;
+#X obj 88 61 r \$0-spig1;
+#X obj 57 109 spigot;
+#X text 104 108 from s-key-handler;
+#X obj 157 61 loadbang;
+#X msg 157 82 1;
+#X obj 220 155 r \$0-shiftsel;
+#N canvas 0 8 978 613 sliderhandling_with_s_key 0;
+#X obj 57 197 pack 0 0;
+#X obj 57 172 0;
+#X obj 70 150 r \$0-focus;
+#X obj 332 312 s \$0-focus;
+#X msg 345 197 1;
+#X msg 409 197 2;
+#X obj 57 130 t b f;
+#X obj 133 369 max 0;
+#X obj 170 368 - 1;
+#X obj 330 348 + 1;
+#X obj 293 394 min 400;
+#X obj 133 391 min 399;
+#X obj 57 219 route 1 2;
+#X obj 332 288 0;
+#X obj 345 264 spigot;
+#X obj 57 479 400;
+#X obj 57 504 - 1;
+#X obj 312 108 moses 201;
+#X obj 57 93 t f b f;
+#X msg 388 264 1;
+#X obj 388 242 loadbang;
+#X obj 429 392 s \$0-allblack;
+#X msg 429 349 stop \, bang;
+#X obj 429 370 delay 200;
+#X msg 376 197 0;
+#X msg 374 63 0.1;
+#X obj 361 86 + 0;
+#X msg 402 63 -0.1;
+#X obj 375 132 t f b b b;
+#X obj 312 132 t f b b b;
+#X obj 277 193 400;
+#X obj 277 215 - 0;
+#X obj 277 236 * 0.5;
+#X obj 277 257 +;
+#X obj 277 169 t b f f;
+#X text 365 28 wenn rechter bewegt wird \, muss mitte leicht nach links
+verschoben werden / links umgekehrt.;
+#X text 206 167 find middle;
+#X obj 184 424 s \$0-lb;
+#X obj 344 414 s \$0-rb;
+#N canvas 109 66 445 354 lb_graphics 0;
+#X msg 233 182 18;
+#X msg 277 178 -1;
+#X obj 233 205 change;
+#X obj 53 230 pack 0 \$0;
+#X obj 233 227 pack 0 \$0;
+#X obj 277 151 r \$0-allblack;
+#X obj 112 197 pack 0 \$0;
+#X obj 266 98 inlet;
+#X obj 219 127 inlet;
+#X obj 77 99 inlet;
+#X msg 53 254 \; \$2-p1 pos \$1 100;
+#X msg 233 250 \; \$2-p1 color \$1 100;
+#X obj 114 173 + 73;
+#X obj 53 206 + 72;
+#X msg 112 221 \; \$2-p1b pos \$1 100;
+#X connect 0 0 2 0;
+#X connect 1 0 2 0;
+#X connect 2 0 4 0;
+#X connect 3 0 10 0;
+#X connect 4 0 11 0;
+#X connect 5 0 1 0;
+#X connect 6 0 14 0;
+#X connect 7 0 1 0;
+#X connect 8 0 0 0;
+#X connect 9 0 12 0;
+#X connect 9 0 13 0;
+#X connect 12 0 6 0;
+#X connect 13 0 3 0;
+#X restore 132 498 pd lb_graphics;
+#N canvas 0 0 522 353 rb_graphics 0;
+#X msg 134 149 18;
+#X msg 106 149 -1;
+#X obj 106 173 change;
+#X obj 213 183 pack 0 \$0;
+#X obj 106 195 pack 0 \$0;
+#X msg 106 218 \; \$2-p2 color \$1 0;
+#X obj 106 123 r \$0-allblack;
+#X obj 285 161 pack 0 \$0;
+#X obj 91 79 inlet;
+#X obj 304 57 inlet;
+#X obj 213 117 inlet;
+#X obj 213 161 + 72;
+#X obj 285 137 + 73;
+#X msg 213 218 \; \$2-p2 pos \$1 100;
+#X msg 285 185 \; \$2-p2b pos \$1 100;
+#X connect 0 0 2 0;
+#X connect 1 0 2 0;
+#X connect 2 0 4 0;
+#X connect 3 0 13 0;
+#X connect 4 0 5 0;
+#X connect 6 0 1 0;
+#X connect 7 0 14 0;
+#X connect 8 0 1 0;
+#X connect 9 0 0 0;
+#X connect 10 0 11 0;
+#X connect 10 0 12 0;
+#X connect 11 0 3 0;
+#X connect 12 0 7 0;
+#X restore 272 505 pd rb_graphics;
+#X obj 57 280 t b b;
+#N canvas 133 97 348 231 selcnv_graphics 0;
+#X obj 40 25 inlet;
+#X floatatom 158 29 5 0 0 0 - - -;
+#X obj 40 83 pack 0 \$0;
+#X text 164 45 rchte border - linke;
+#X msg 40 113 \; \$2-p1b vis_size \$1 100;
+#X connect 0 0 2 0;
+#X connect 1 0 2 0;
+#X connect 2 0 4 0;
+#X restore 57 528 pd selcnv_graphics;
+#X text 370 330 after 200 ms without moving focus reset;
+#X obj 537 79 inlet;
+#X obj 582 136 r \$0-lb;
+#X obj 664 138 r \$0-rb;
+#X obj 584 268 max 0;
+#X text 629 238 wenns links oder rechts ansteht \, darfst nicht mehr
+verrueckt werden;
+#X msg 664 191 400;
+#X obj 664 168 t b f;
+#X obj 752 344 +;
+#X obj 582 174 * -1;
+#X obj 664 214 - 0;
+#X obj 584 244 min 0;
+#X obj 765 323 - 0;
+#X obj 765 300 t b f;
+#X obj 628 293 + 0;
+#X text 790 325 range;
+#X obj 537 185 + 0;
+#X obj 537 210 0;
+#X text 629 266 range in der sich delta lb bewegen darf;
+#X obj 679 424 * 0.5;
+#X obj 666 449 +;
+#X obj 666 471 s \$0-mid;
+#X obj 293 56 r \$0-mid;
+#X obj 184 444 r \$0-lb;
+#X obj 344 434 r \$0-rb;
+#X obj 628 385 s \$0-lb;
+#X obj 752 368 s \$0-rb;
+#X obj 628 359 t f f f;
+#X obj 57 52 inlet;
+#X obj 499 145 r \$0-res;
+#X msg 500 168 0;
+#X obj 133 413 t b f;
+#X obj 293 416 t b f;
+#X text 39 26 normal input;
+#X text 575 78 input if s-key is pressed \, only delta-values are received!
+;
+#X obj 41 404 r \$0-redraw;
+#X obj 293 371 max 1;
+#X obj 123 465 t f f f b;
+#X obj 275 464 t f f f b;
+#X obj 81 244 t b f;
+#X obj 45 244 t b f;
+#X connect 0 0 12 0;
+#X connect 1 0 0 0;
+#X connect 2 0 1 1;
+#X connect 4 0 14 0;
+#X connect 5 0 14 0;
+#X connect 6 0 1 0;
+#X connect 6 1 0 1;
+#X connect 7 0 11 0;
+#X connect 8 0 11 1;
+#X connect 9 0 79 1;
+#X connect 10 0 75 0;
+#X connect 11 0 74 0;
+#X connect 12 0 83 0;
+#X connect 12 1 82 0;
+#X connect 13 0 3 0;
+#X connect 14 0 13 1;
+#X connect 15 0 16 0;
+#X connect 16 0 42 0;
+#X connect 17 0 29 0;
+#X connect 17 1 28 0;
+#X connect 18 0 6 0;
+#X connect 18 1 13 0;
+#X connect 18 2 17 0;
+#X connect 19 0 14 1;
+#X connect 20 0 19 0;
+#X connect 22 0 23 0;
+#X connect 23 0 19 0;
+#X connect 23 0 21 0;
+#X connect 24 0 14 1;
+#X connect 25 0 26 1;
+#X connect 26 0 17 1;
+#X connect 27 0 26 1;
+#X connect 28 0 30 0;
+#X connect 28 1 24 0;
+#X connect 28 2 5 0;
+#X connect 28 3 27 0;
+#X connect 29 0 34 0;
+#X connect 29 1 24 0;
+#X connect 29 2 4 0;
+#X connect 29 3 25 0;
+#X connect 30 0 31 0;
+#X connect 31 0 32 0;
+#X connect 32 0 33 0;
+#X connect 33 0 26 0;
+#X connect 34 0 30 0;
+#X connect 34 1 31 1;
+#X connect 34 2 33 1;
+#X connect 41 0 15 0;
+#X connect 41 1 22 0;
+#X connect 44 0 59 0;
+#X connect 45 0 52 0;
+#X connect 45 0 56 0;
+#X connect 45 0 57 1;
+#X connect 46 0 50 0;
+#X connect 46 0 55 0;
+#X connect 47 0 57 0;
+#X connect 49 0 53 0;
+#X connect 50 0 49 0;
+#X connect 50 1 53 1;
+#X connect 51 0 69 0;
+#X connect 52 0 47 1;
+#X connect 53 0 54 1;
+#X connect 54 0 47 0;
+#X connect 55 0 51 1;
+#X connect 55 0 62 0;
+#X connect 56 0 55 0;
+#X connect 56 1 55 1;
+#X connect 57 0 70 0;
+#X connect 59 0 60 0;
+#X connect 60 0 54 0;
+#X connect 62 0 63 1;
+#X connect 63 0 64 0;
+#X connect 65 0 26 0;
+#X connect 66 0 80 0;
+#X connect 67 0 81 0;
+#X connect 70 0 68 0;
+#X connect 70 1 63 0;
+#X connect 70 2 51 0;
+#X connect 71 0 18 0;
+#X connect 72 0 73 0;
+#X connect 73 0 59 1;
+#X connect 74 0 39 1;
+#X connect 74 1 37 0;
+#X connect 75 0 40 2;
+#X connect 75 1 38 0;
+#X connect 78 0 15 0;
+#X connect 79 0 10 0;
+#X connect 80 0 39 0;
+#X connect 80 1 16 1;
+#X connect 80 2 9 0;
+#X connect 80 3 40 0;
+#X connect 81 0 8 0;
+#X connect 81 1 15 1;
+#X connect 81 2 40 1;
+#X connect 81 3 39 2;
+#X connect 82 0 41 0;
+#X connect 82 1 79 0;
+#X connect 83 0 41 0;
+#X connect 83 1 7 0;
+#X restore 57 182 pd sliderhandling_with_s_key;
+#N canvas 184 311 651 338 todo 0;
+#X floatatom 60 136 5 0 0 0 - - -;
+#X msg 60 173 \; \$2-p1b size \$1;
+#X obj 60 153 pack 0 \$0;
+#X msg 60 85 \; \$2-p1b color \$1;
+#X floatatom 60 48 5 0 0 0 - - -;
+#X obj 60 65 pack 0 \$0;
+#X text 210 57 wenn eine range den focus erhaelt (indem man in sie
+klickt) dann:;
+#X text 212 96 1 border changes to blue;
+#X text 211 115 2 other border gets black;
+#X text 211 136 3 middle is calculated;
+#X text 211 156 4 range min/max is set and tested;
+#N canvas 0 0 454 304 todo 0;
+#X text 51 126 noch kein scrollen und vergroessern;
+#X text 52 78 beim prototyp noch kein cursor (wird nicht so schnell
+kommen...;
+#X text 47 159 wavedisplay verwendet normale anzeige von pd;
+#X text 44 190 laengenanzeige in samples;
+#X text 78 12 todo;
+#X text 49 36 fuer das gop-tool muss die groesse variabel sein;
+#X restore 65 247 pd todo;
+#X text 79 13 only for testin \, debugging and todo list;
+#N canvas 0 0 474 324 reset 0;
+#X obj 183 177 s \$0-sm;
+#X obj 171 233 s \$0-rb;
+#X obj 123 230 s \$0-lb;
+#X msg 123 208 0;
+#X msg 171 212 400;
+#X obj 106 265 s \$0-redraw;
+#X obj 117 145 t b b b f;
+#X msg 145 102 1;
+#X obj 192 32 inlet;
+#X obj 221 72 symbol \$0-;
+#X msg 221 94 \; \$1 resize 400 \, bang;
+#X connect 3 0 2 0;
+#X connect 4 0 1 0;
+#X connect 6 0 5 0;
+#X connect 6 1 3 0;
+#X connect 6 2 4 0;
+#X connect 6 3 0 0;
+#X connect 7 0 6 0;
+#X connect 8 0 7 0;
+#X connect 8 0 9 0;
+#X connect 9 0 10 0;
+#X restore 150 242 pd reset;
+#X obj 150 223 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X connect 0 0 2 0;
+#X connect 2 0 1 0;
+#X connect 4 0 5 0;
+#X connect 5 0 3 0;
+#X connect 14 0 13 0;
+#X restore 57 208 pd todo;
+#N canvas 154 197 719 348 play 0;
+#X obj 266 115 r \$0-o;
+#X obj 309 87 r \$0-f;
+#X obj 266 156 pack 0 0;
+#X obj 51 197 outlet~;
+#X msg 370 100 stop;
+#X msg 266 177 set \$1 \$2;
+#X msg 51 123 0 400;
+#X msg 69 98 set bang;
+#X msg 149 69 set;
+#X obj 149 49 loadbang;
+#X obj 309 114 t b f;
+#X obj 266 233 spigot;
+#X obj 51 77 t b b b;
+#X msg 297 205 0;
+#X obj 233 75 t b b b;
+#X msg 334 206 1;
+#X text 155 260 loop not exactly a loop \, based on messages not samples
+;
+#X obj 51 158 tabplay~ \$0-;
+#X obj 412 22 r \$0-loopbutton;
+#X obj 233 10 r \$0-playbutton;
+#X obj 51 46 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X text 22 27 play all (not used);
+#X obj 233 50 sel 1 0;
+#X obj 233 32 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 467 149 spigot;
+#X obj 412 68 sel 0 1;
+#X msg 412 90 1;
+#X msg 445 91 0;
+#X obj 541 66 loadbang;
+#X obj 412 46 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 467 177 s \$0-stopped;
+#X obj 118 206 sel 1;
+#X obj 118 182 0;
+#X obj 118 253 sel 1;
+#X obj 118 228 0;
+#X connect 0 0 2 0;
+#X connect 1 0 10 0;
+#X connect 2 0 5 0;
+#X connect 4 0 17 0;
+#X connect 4 0 30 0;
+#X connect 5 0 11 0;
+#X connect 6 0 17 0;
+#X connect 7 0 6 0;
+#X connect 8 0 6 0;
+#X connect 9 0 8 0;
+#X connect 10 0 2 0;
+#X connect 10 1 2 1;
+#X connect 11 0 6 0;
+#X connect 12 0 6 0;
+#X connect 12 1 7 0;
+#X connect 12 2 13 0;
+#X connect 13 0 11 1;
+#X connect 14 0 6 0;
+#X connect 14 1 2 0;
+#X connect 14 2 15 0;
+#X connect 15 0 11 1;
+#X connect 17 0 3 0;
+#X connect 17 1 24 0;
+#X connect 17 1 32 0;
+#X connect 18 0 29 0;
+#X connect 19 0 23 0;
+#X connect 20 0 12 0;
+#X connect 22 0 14 0;
+#X connect 22 1 4 0;
+#X connect 23 0 22 0;
+#X connect 23 0 32 1;
+#X connect 24 0 30 0;
+#X connect 25 0 26 0;
+#X connect 25 1 27 0;
+#X connect 26 0 24 1;
+#X connect 27 0 24 1;
+#X connect 28 0 26 0;
+#X connect 29 0 25 0;
+#X connect 29 0 34 1;
+#X connect 31 0 34 0;
+#X connect 32 0 31 0;
+#X connect 33 0 6 0;
+#X connect 34 0 33 0;
+#X restore 102 360 pd play;
+#N canvas 0 0 474 324 zu_vasp 0;
+#X obj 73 96 r \$0-lb;
+#X obj 173 97 r \$0-rb;
+#X obj 138 177 -;
+#X obj 138 155 t b f;
+#X obj 73 148 s \$0-o;
+#X obj 138 198 s \$0-f;
+#X obj 220 97 r \$0-sm;
+#X obj 120 96 r \$0-sm;
+#X obj 73 124 * 1;
+#X obj 173 120 * 1;
+#X text 81 63 setzt offset und frames(length) in den vasp-objekten
+;
+#X obj 202 155 s \$0-rbs;
+#X connect 0 0 8 0;
+#X connect 1 0 9 0;
+#X connect 2 0 5 0;
+#X connect 3 0 2 0;
+#X connect 3 1 2 1;
+#X connect 6 0 9 1;
+#X connect 7 0 8 1;
+#X connect 8 0 4 0;
+#X connect 8 0 3 0;
+#X connect 9 0 2 0;
+#X connect 9 0 11 0;
+#X restore 103 315 pd zu_vasp;
+#N canvas 105 284 496 275 zu_sampledisplay 0;
+#X obj 63 46 r \$0-lb;
+#X obj 163 47 r \$0-rb;
+#X obj 128 127 -;
+#X obj 128 105 t b f;
+#X obj 210 47 r \$0-sm;
+#X obj 110 46 r \$0-sm;
+#X obj 63 74 * 1;
+#X obj 163 70 * 1;
+#X obj 64 151 div;
+#X obj 185 161 div;
+#X obj 275 161 div;
+#X obj 64 176 s \$0-lbs_displ;
+#X obj 185 183 s \$0-rs_displ;
+#X obj 275 183 s \$0-rbs_displ;
+#X msg 293 66 400;
+#X obj 293 45 loadbang;
+#X connect 0 0 6 0;
+#X connect 1 0 7 0;
+#X connect 2 0 9 0;
+#X connect 3 0 2 0;
+#X connect 3 1 2 1;
+#X connect 4 0 7 1;
+#X connect 5 0 6 1;
+#X connect 6 0 3 0;
+#X connect 6 0 8 0;
+#X connect 7 0 2 0;
+#X connect 7 0 10 0;
+#X connect 8 0 11 0;
+#X connect 9 0 12 0;
+#X connect 10 0 13 0;
+#X connect 14 0 7 0;
+#X connect 15 0 14 0;
+#X restore 103 336 pd zu_sampledisplay;
+#N canvas 191 164 666 513 playbuttons 0;
+#X obj 41 72 tgl 12 0 \$0-playselection \$0-playselection_r empty 16
+6 1728 8 -262144 -1 -1 0 1;
+#X text 67 68 playselection;
+#X obj 41 42 r \$0-playbutton;
+#X obj 41 127 \$0;
+#X obj 59 178 \$0;
+#X msg 137 120 \; \$1-play_white color 11 \; \$1-play_dark color 0
+;
+#X msg 117 219 \; \$1-play_white color 0 \; \$1-play_dark color 11
+;
+#X msg 137 168 \; \$1-playbutton1 color 18;
+#X msg 116 267 \; \$1-playbutton1 color 16;
+#X obj 328 124 \$0;
+#X obj 346 214 \$0;
+#X obj 328 50 r \$0-loopbutton;
+#X msg 424 145 \; \$1-loop_white color 11 \; \$1-loop_dark color 0
+;
+#X msg 424 193 \; \$1-loopbutton1 color 18;
+#X msg 404 244 \; \$1-loop_white color 0 \; \$1-loop_dark color 11
+;
+#X msg 403 292 \; \$1-loopbutton1 color 16;
+#X obj 41 99 sel 1 0;
+#X obj 160 90 s \$0-playbutton;
+#X msg 160 68 set \$1;
+#X text 347 70 playselection loop;
+#X obj 328 74 tgl 12 0 \$0-playselection_loop \$0-playselection_r_loop
+empty 16 6 1728 8 -262144 -1 -1 0 1;
+#X msg 512 94 set \$1;
+#X obj 512 116 s \$0-loopbutton;
+#X obj 328 92 sel 1 0;
+#X obj 81 392 s \$0-playbuttonr;
+#X obj 81 342 r \$0-stopped;
+#X msg 81 365 set 0;
+#X msg 48 366 0;
+#X connect 0 0 16 0;
+#X connect 0 0 18 0;
+#X connect 2 0 0 0;
+#X connect 3 0 5 0;
+#X connect 3 0 7 0;
+#X connect 4 0 6 0;
+#X connect 4 0 8 0;
+#X connect 9 0 12 0;
+#X connect 9 0 13 0;
+#X connect 10 0 14 0;
+#X connect 10 0 15 0;
+#X connect 11 0 20 0;
+#X connect 16 0 3 0;
+#X connect 16 1 4 0;
+#X connect 18 0 17 0;
+#X connect 20 0 21 0;
+#X connect 20 0 23 0;
+#X connect 21 0 22 0;
+#X connect 23 0 9 0;
+#X connect 23 1 10 0;
+#X connect 25 0 26 0;
+#X connect 25 0 27 0;
+#X connect 26 0 24 0;
+#X connect 27 0 0 0;
+#X restore 103 294 pd playbuttons;
+#N canvas 0 0 467 508 reduce 0;
+#X obj 166 199 vasp.!;
+#X text 192 70 reduce to selection;
+#X obj 166 177 vasp.o;
+#X obj 135 246 vasp.u;
+#X obj 166 156 vasp.f;
+#X obj 197 122 r \$0-f;
+#X obj 216 178 r \$0-o;
+#X obj 94 171 vasp.s;
+#X obj 135 224 vasp.=;
+#X obj 282 221 * 0.0025;
+#X obj 269 252 0;
+#X obj 318 302 s \$0-sm;
+#X obj 334 367 s \$0-rb;
+#X obj 285 364 s \$0-lb;
+#X msg 285 342 0;
+#X msg 334 346 400;
+#X obj 269 399 s \$0-redraw;
+#X obj 269 278 t b b b f;
+#X obj 76 133 t b a a;
+#X obj 76 87 symbol \$0-;
+#X msg 76 110 vasp \$1;
+#X obj 76 60 r \$0-reduce;
+#X connect 0 0 8 1;
+#X connect 2 0 0 0;
+#X connect 4 0 2 0;
+#X connect 5 0 4 1;
+#X connect 5 0 7 1;
+#X connect 5 0 9 0;
+#X connect 6 0 2 1;
+#X connect 7 0 8 0;
+#X connect 8 0 3 0;
+#X connect 9 0 10 1;
+#X connect 10 0 17 0;
+#X connect 14 0 13 0;
+#X connect 15 0 12 0;
+#X connect 17 0 16 0;
+#X connect 17 1 14 0;
+#X connect 17 2 15 0;
+#X connect 17 3 11 0;
+#X connect 18 0 10 0;
+#X connect 18 1 7 0;
+#X connect 18 2 4 0;
+#X connect 19 0 20 0;
+#X connect 20 0 18 0;
+#X connect 21 0 19 0;
+#X restore 391 339 pd reduce;
+#N canvas 0 0 315 215 mute 0;
+#X obj 42 124 vasp.= 0;
+#X obj 42 95 vasp.o;
+#X obj 42 156 vasp.u;
+#X obj 42 74 vasp.f;
+#X obj 118 50 r \$0-f;
+#X obj 89 98 r \$0-o;
+#X obj 42 17 symbol \$0-;
+#X msg 42 38 vasp \$1;
+#X obj 192 114 r \$0-set_0;
+#X connect 0 0 2 0;
+#X connect 1 0 0 0;
+#X connect 3 0 1 0;
+#X connect 4 0 3 1;
+#X connect 5 0 1 1;
+#X connect 6 0 7 0;
+#X connect 7 0 3 0;
+#X connect 8 0 6 0;
+#X restore 391 316 pd mute;
+#N canvas 0 0 320 310 noise 0;
+#X obj 115 153 vasp.o;
+#X obj 115 214 vasp.u;
+#X obj 115 132 vasp.f;
+#X obj 191 108 r \$0-f;
+#X obj 162 156 r \$0-o;
+#X obj 115 182 vasp.noise;
+#X obj 115 73 symbol \$0-;
+#X msg 115 96 vasp \$1;
+#X obj 115 43 r \$0-noise;
+#X connect 0 0 5 0;
+#X connect 2 0 0 0;
+#X connect 3 0 2 1;
+#X connect 4 0 0 1;
+#X connect 5 0 1 0;
+#X connect 6 0 7 0;
+#X connect 7 0 2 0;
+#X connect 8 0 6 0;
+#X restore 392 401 pd noise;
+#N canvas 420 161 452 466 open 0;
+#X obj 68 61 openpanel;
+#X obj 68 159 soundfiler;
+#X obj 68 214 * 0.0025;
+#X text 131 214 (dasselbe wie / 400 );
+#X obj 124 307 s \$0-sm;
+#X obj 79 89 s \$0-opened;
+#X obj 122 368 s \$0-rb;
+#X obj 74 365 s \$0-lb;
+#X msg 74 343 0;
+#X msg 122 347 400;
+#X obj 42 398 s \$0-redraw;
+#X obj 88 185 s \$0-length;
+#X text 172 184 (not used yet);
+#X obj 68 116 pack s s;
+#X obj 267 83 symbol \$0-;
+#X obj 267 58 loadbang;
+#X obj 322 56 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X msg 68 136 read -resize \$1 \$2;
+#X obj 68 280 t b b b f;
+#X obj 68 37 r \$0-open;
+#X connect 0 0 5 0;
+#X connect 0 0 13 0;
+#X connect 1 0 2 0;
+#X connect 1 0 11 0;
+#X connect 2 0 18 0;
+#X connect 8 0 7 0;
+#X connect 9 0 6 0;
+#X connect 13 0 17 0;
+#X connect 14 0 13 1;
+#X connect 15 0 14 0;
+#X connect 16 0 14 0;
+#X connect 17 0 1 0;
+#X connect 18 0 10 0;
+#X connect 18 1 8 0;
+#X connect 18 2 9 0;
+#X connect 18 3 4 0;
+#X connect 19 0 0 0;
+#X restore 391 253 pd open;
+#N canvas 0 0 460 310 save 0;
+#X obj 130 277 soundfiler;
+#X msg 144 146 set symbol \$1;
+#X obj 189 119 r \$0-opened;
+#X msg 131 178;
+#X msg 80 153 set;
+#X obj 80 122 loadbang;
+#X obj 131 231 pack s s;
+#X obj 174 207 symbol \$0-;
+#X obj 174 185 loadbang;
+#X msg 130 255 write -wave \$1 \$2;
+#X obj 131 78 r \$0-save;
+#X connect 1 0 3 0;
+#X connect 2 0 1 0;
+#X connect 3 0 6 0;
+#X connect 4 0 3 0;
+#X connect 5 0 4 0;
+#X connect 6 0 9 0;
+#X connect 7 0 6 1;
+#X connect 8 0 7 0;
+#X connect 9 0 0 0;
+#X connect 10 0 3 0;
+#X restore 391 274 pd save;
+#N canvas 0 0 377 253 save_as 0;
+#X obj 130 187 soundfiler;
+#X obj 217 112 symbol \$0-;
+#X obj 217 88 loadbang;
+#X obj 130 142 pack s s;
+#X msg 130 165 write -wave \$1 \$2;
+#X obj 130 80 r \$0-save_as;
+#X obj 130 107 savepanel;
+#X connect 1 0 3 1;
+#X connect 2 0 1 0;
+#X connect 3 0 4 0;
+#X connect 4 0 0 0;
+#X connect 5 0 6 0;
+#X connect 6 0 3 0;
+#X restore 391 295 pd save_as;
+#N canvas 253 35 637 598 cut 0;
+#X obj 242 170 r \$0-o;
+#X obj 502 118 r \$0-rbs;
+#X obj 198 193 vasp.f;
+#X obj 445 117 r \$0-sm;
+#X msg 432 150 400;
+#X obj 432 177 * 1;
+#X obj 432 200 - 0;
+#X obj 400 225 vasp.f;
+#X obj 400 254 vasp.o;
+#X obj 198 271 vasp.!;
+#X obj 400 283 vasp.!;
+#X obj 229 241 +;
+#X text 466 200 frames ab rb;
+#X text 281 173 frames 0-lb;
+#X text 256 244 gesamtframes;
+#X obj 62 332 vasp.=;
+#X obj 123 96 t a a a b;
+#X obj 62 438 vasp.=;
+#X obj 62 414 vasp.o;
+#X obj 62 461 vasp.u;
+#X obj 461 442 s \$0-sm;
+#X obj 477 504 s \$0-rb;
+#X obj 428 504 s \$0-lb;
+#X msg 428 482 0;
+#X msg 477 483 400;
+#X obj 412 539 s \$0-redraw;
+#X obj 412 418 t b b b f;
+#X obj 425 374 * 0.0025;
+#X obj 412 396 0;
+#X obj 400 307 t b a;
+#X obj 151 383 r \$0-o;
+#X text 193 384 frames 0-lb;
+#X obj 198 332 t b a;
+#X msg 62 484 bang;
+#X obj 62 309 vasp.s;
+#X obj 62 381 vasp.f;
+#X obj 123 49 symbol \$0-;
+#X msg 123 72 vasp \$1;
+#X obj 123 27 r \$0-cut;
+#X obj 62 261 symbol \$0-;
+#X msg 62 284 vasp \$1;
+#X obj 174 143 symbol \$0-;
+#X msg 174 166 vasp \$1;
+#X connect 0 0 2 1;
+#X connect 0 0 11 1;
+#X connect 1 0 6 1;
+#X connect 1 0 8 1;
+#X connect 2 0 9 0;
+#X connect 3 0 5 1;
+#X connect 4 0 5 0;
+#X connect 5 0 6 0;
+#X connect 6 0 7 1;
+#X connect 6 0 11 0;
+#X connect 6 0 35 1;
+#X connect 7 0 8 0;
+#X connect 8 0 10 0;
+#X connect 9 0 32 0;
+#X connect 10 0 29 0;
+#X connect 11 0 27 0;
+#X connect 11 0 9 1;
+#X connect 11 0 34 1;
+#X connect 15 0 35 0;
+#X connect 16 2 7 0;
+#X connect 16 3 4 0;
+#X connect 17 0 19 0;
+#X connect 18 0 17 0;
+#X connect 19 0 33 0;
+#X connect 23 0 22 0;
+#X connect 24 0 21 0;
+#X connect 26 0 25 0;
+#X connect 26 1 23 0;
+#X connect 26 2 24 0;
+#X connect 26 3 20 0;
+#X connect 27 0 28 1;
+#X connect 28 0 26 0;
+#X connect 29 0 41 0;
+#X connect 29 1 17 1;
+#X connect 30 0 18 1;
+#X connect 32 0 39 0;
+#X connect 32 1 15 1;
+#X connect 33 0 28 0;
+#X connect 34 0 15 0;
+#X connect 35 0 18 0;
+#X connect 36 0 37 0;
+#X connect 37 0 16 0;
+#X connect 38 0 36 0;
+#X connect 39 0 40 0;
+#X connect 40 0 34 0;
+#X connect 41 0 42 0;
+#X connect 42 0 2 0;
+#X restore 391 360 pd cut;
+#N canvas 0 0 382 262 fade_in 0;
+#X obj 121 149 vasp.o;
+#X obj 121 199 vasp.u;
+#X obj 260 110 r \$0-f;
+#X obj 168 147 r \$0-o;
+#X obj 121 124 vasp.f;
+#X obj 121 175 vasp.*window lin;
+#X obj 121 70 symbol \$0-;
+#X msg 121 93 vasp \$1;
+#X obj 121 46 r \$0-fade_in;
+#X connect 0 0 5 0;
+#X connect 2 0 4 1;
+#X connect 3 0 0 1;
+#X connect 4 0 0 0;
+#X connect 5 0 1 0;
+#X connect 6 0 7 0;
+#X connect 7 0 4 0;
+#X connect 8 0 6 0;
+#X restore 391 212 pd fade_in;
+#N canvas 0 0 474 324 fade_out 0;
+#X obj 121 143 vasp.o;
+#X obj 121 192 vasp.u;
+#X obj 260 110 r \$0-f;
+#X obj 163 143 r \$0-o;
+#X obj 121 118 vasp.f;
+#X obj 121 169 vasp.*!window lin;
+#X obj 121 75 symbol \$0-;
+#X msg 121 98 vasp \$1;
+#X obj 121 52 r \$0-fade_out;
+#X connect 0 0 5 0;
+#X connect 2 0 4 1;
+#X connect 3 0 0 1;
+#X connect 4 0 0 0;
+#X connect 5 0 1 0;
+#X connect 6 0 7 0;
+#X connect 7 0 4 0;
+#X connect 8 0 6 0;
+#X restore 391 233 pd fade_out;
+#N canvas 150 120 483 442 send_array 0;
+#X obj 120 212 vasp.s;
+#X obj 191 187 r \$0-sm;
+#X obj 191 208 * 400;
+#X obj 120 233 vasp.f;
+#X obj 120 275 vasp.u;
+#X obj 264 81 symbol \$1;
+#X obj 264 57 loadbang;
+#X obj 264 104 makefilename test%s;
+#X obj 264 127 sel test;
+#X obj 81 69 r \$0-toarray;
+#X obj 81 130 sel 0 1;
+#X obj 81 104 0;
+#X msg 264 151 0;
+#X obj 81 362 print send_to_array_not_possible;
+#X msg 81 338 no initial array-argument given;
+#X obj 120 163 symbol \$1;
+#X msg 307 152 1;
+#X msg 120 185 vasp \$1;
+#X obj 120 254 vasp.= \$0-;
+#X connect 0 0 3 0;
+#X connect 1 0 2 0;
+#X connect 2 0 0 1;
+#X connect 2 0 3 1;
+#X connect 3 0 18 0;
+#X connect 5 0 7 0;
+#X connect 6 0 5 0;
+#X connect 7 0 8 0;
+#X connect 8 0 12 0;
+#X connect 8 1 16 0;
+#X connect 9 0 11 0;
+#X connect 10 0 14 0;
+#X connect 10 1 15 0;
+#X connect 11 0 10 0;
+#X connect 12 0 11 1;
+#X connect 14 0 13 0;
+#X connect 15 0 17 0;
+#X connect 16 0 11 1;
+#X connect 17 0 0 0;
+#X connect 18 0 4 0;
+#X restore 392 423 pd send_array;
+#N canvas 159 26 503 274 output 0;
+#X obj 338 160 t b;
+#X obj 338 110 f;
+#X obj 338 60 inlet;
+#X text 344 29 mute;
+#X obj 338 185 f;
+#X msg 425 178 0;
+#X msg 338 85 bang;
+#X obj 338 135 moses 1;
+#X obj 425 153 t b f;
+#X obj 397 117 moses 1;
+#X obj 83 148 dbtorms;
+#X obj 397 92 r master-lvl;
+#X obj 83 42 r master-lvl;
+#X obj 338 210 s master-lvl;
+#X obj 22 181 inlet~;
+#X obj 199 41 inlet;
+#X text 199 18 level;
+#X obj 199 100 s master-lvl;
+#X msg 96 65 set \$1;
+#X obj 96 89 outlet;
+#X msg 214 64 \; pd dsp 1;
+#X obj 83 194 line~;
+#X obj 22 212 *~;
+#X obj 22 241 dac~;
+#X obj 83 171 pack 0 50;
+#X text 20 158 audio;
+#X text 93 110 show level;
+#X connect 0 0 4 0;
+#X connect 1 0 7 0;
+#X connect 2 0 6 0;
+#X connect 4 0 13 0;
+#X connect 5 0 13 0;
+#X connect 6 0 1 0;
+#X connect 7 0 0 0;
+#X connect 7 1 8 0;
+#X connect 8 0 5 0;
+#X connect 9 1 4 1;
+#X connect 10 0 24 0;
+#X connect 11 0 1 1;
+#X connect 11 0 9 0;
+#X connect 12 0 10 0;
+#X connect 12 0 18 0;
+#X connect 14 0 22 0;
+#X connect 15 0 17 0;
+#X connect 15 0 20 0;
+#X connect 18 0 19 0;
+#X connect 21 0 22 1;
+#X connect 22 0 23 0;
+#X connect 22 0 23 1;
+#X connect 24 0 21 0;
+#X restore 102 408 pd output;
+#X obj 102 429 s \$0-volr;
+#X obj 126 384 r \$0-vols;
+#X obj 151 361 r \$0-mutevol;
+#N canvas 150 120 766 521 reload_array 0;
+#X obj 361 93 symbol \$1;
+#X obj 348 44 loadbang;
+#X obj 361 116 makefilename test%s;
+#X obj 361 139 sel test;
+#X msg 361 163 0;
+#X msg 146 416 no initial array-argument given;
+#X msg 404 164 1;
+#X obj 348 65 t b b;
+#X obj 348 228 0;
+#X obj 197 43 r \$0-reloadarray;
+#X obj 437 286 symbol \$1;
+#X obj 437 333 vasp.s?;
+#X obj 366 301 symbol \$0-;
+#X obj 366 347 vasp.s;
+#X obj 366 368 vasp.f;
+#X msg 422 396 vasp \$1;
+#X obj 366 416 vasp.=;
+#X obj 422 374 symbol \$1;
+#X obj 366 278 t b b b;
+#X obj 366 440 vasp.u;
+#X text 403 241 load default array into editor \, if argument is given...
+;
+#X obj 545 334 * 0.0025;
+#X obj 601 385 s \$0-sm;
+#X obj 599 446 s \$0-rb;
+#X obj 551 443 s \$0-lb;
+#X msg 551 421 0;
+#X msg 599 425 400;
+#X obj 519 476 s \$0-redraw;
+#X obj 545 358 t b b b f;
+#X obj 197 208 0;
+#X obj 197 234 sel 0 1;
+#X obj 348 255 sel 1;
+#X obj 146 440 print reload_array_not_possible;
+#X msg 437 309 vasp \$1;
+#X msg 366 322 vasp \$1;
+#X connect 0 0 2 0;
+#X connect 1 0 7 0;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 3 1 6 0;
+#X connect 4 0 8 1;
+#X connect 4 0 29 1;
+#X connect 5 0 32 0;
+#X connect 6 0 8 1;
+#X connect 6 0 29 1;
+#X connect 7 0 8 0;
+#X connect 7 1 0 0;
+#X connect 8 0 31 0;
+#X connect 9 0 29 0;
+#X connect 10 0 33 0;
+#X connect 11 0 13 1;
+#X connect 11 0 14 1;
+#X connect 11 0 21 0;
+#X connect 12 0 34 0;
+#X connect 13 0 14 0;
+#X connect 14 0 16 0;
+#X connect 15 0 16 1;
+#X connect 16 0 19 0;
+#X connect 17 0 15 0;
+#X connect 18 0 12 0;
+#X connect 18 1 10 0;
+#X connect 18 2 17 0;
+#X connect 21 0 28 0;
+#X connect 25 0 24 0;
+#X connect 26 0 23 0;
+#X connect 28 0 27 0;
+#X connect 28 1 25 0;
+#X connect 28 2 26 0;
+#X connect 28 3 22 0;
+#X connect 29 0 30 0;
+#X connect 30 0 5 0;
+#X connect 30 1 18 0;
+#X connect 31 0 18 0;
+#X connect 33 0 11 0;
+#X connect 34 0 13 0;
+#X restore 391 445 pd reload_array;
+#N canvas 0 0 392 272 normalize 0;
+#X obj 121 149 vasp.o;
+#X obj 121 199 vasp.u;
+#X obj 260 110 r \$0-f;
+#X obj 168 147 r \$0-o;
+#X obj 121 124 vasp.f;
+#X obj 121 70 symbol \$0-;
+#X msg 121 93 vasp \$1;
+#X obj 121 176 vasp.opt;
+#X obj 121 46 r \$0-normalize;
+#X connect 0 0 7 0;
+#X connect 2 0 4 1;
+#X connect 3 0 0 1;
+#X connect 4 0 0 0;
+#X connect 5 0 6 0;
+#X connect 6 0 4 0;
+#X connect 7 0 1 0;
+#X connect 8 0 5 0;
+#X restore 391 381 pd normalize;
+#X connect 2 0 0 0;
+#X connect 2 0 4 0;
+#X connect 3 0 4 1;
+#X connect 4 0 9 0;
+#X connect 6 0 7 0;
+#X connect 7 0 4 1;
+#X connect 8 0 9 1;
+#X connect 11 0 25 0;
+#X connect 25 0 26 0;
+#X connect 27 0 25 1;
+#X connect 28 0 25 2;
+#X restore 650 289 pd inside;
+#X obj 72 100 cnv 2 2 100 empty \$0-p1 empty 20 12 576 14 -1 -233017
+0;
+#X obj 73 100 cnv 1 400 100 empty \$0-p1b empty 20 12 576 14 -257472
+-262144 0;
+#X obj 472 100 cnv 2 2 100 empty \$0-p2 empty 20 12 576 14 -1 -262144
+0;
+#X obj 473 100 cnv 5 5 100 empty \$0-p2b empty 20 12 576 14 -233017
+-262144 0;
+#N canvas 0 0 450 300 graph1 0;
+#X array \$0- 400 float 0;
+#X coords 0 1 399 -1 400 100 1;
+#X restore 72 100 graph;
+#X obj 484 136 nbx 8 14 -1e+037 1e+037 0 1 empty \$0-rbs_displ right
+0 -6 577 8 -233017 -1 -1 400 256;
+#X obj 484 107 nbx 8 14 -1e+037 1e+037 0 0 empty \$0-lbs_displ left
+0 -6 577 8 -233017 -1 -1 0 256;
+#X obj 484 166 nbx 8 14 -1e+037 1e+037 0 1 empty \$0-rs_displ length
+0 -6 577 8 -233017 -1 -1 400 256;
+#X obj 37 12 cnv 15 600 40 empty empty wedit 10 22 0 24 -257472 -1
+0;
+#X text 188 29 http://www.parasitaere-kapazitaeten.net;
+#X text 188 13 wave editor (P)2003 marius schebella;
+#X text 51 59 click into the array to set range \, use "s"+ mouse to
+shift selection;
+#X obj 71 210 tgl 18 0 \$0-playbutton \$0-playbuttonr empty 0 -6 1728
+8 -262144 -1 -1 0 1;
+#X obj 99 210 tgl 18 0 \$0-loopbutton \$0-loopbuttonr empty 0 -6 1728
+8 -262144 -1 -1 0 1;
+#X obj 66 207 cnv 15 56 25 empty \$0-test empty 20 12 576 14 -233017
+-262144 0;
+#X obj 69 210 cnv 15 20 15 empty \$0-play_white empty 20 12 576 14
+-262144 -262144 0;
+#X obj 71 212 cnv 15 20 15 empty \$0-play_dark empty 20 12 576 14 -128992
+-262144 0;
+#X obj 70 211 cnv 15 20 15 empty \$0-play_normal empty 20 12 576 14
+-233017 -66577 0;
+#X obj 96 210 cnv 15 20 15 empty \$0-loop_white empty 20 12 576 14
+-262144 -262144 0;
+#X obj 98 212 cnv 15 20 15 empty \$0-loop_dark empty 20 12 576 14 -128992
+-262144 0;
+#X obj 97 211 cnv 15 20 15 empty \$0-loop_normal empty 20 12 576 14
+-233017 -66577 0;
+#X obj 77 222 cnv 1 1 1 empty \$0-playbutton1 empty 20 12 576 14 -24198
+-262144 0;
+#X obj 77 220 cnv 1 1 1 empty \$0-playbutton1 empty 20 12 576 14 -24198
+-262144 0;
+#X obj 77 218 cnv 1 1 1 empty \$0-playbutton1 empty 20 12 576 14 -24198
+-262144 0;
+#X obj 77 216 cnv 1 1 1 empty \$0-playbutton1 empty 20 12 576 14 -24198
+-262144 0;
+#X obj 77 214 cnv 1 1 1 empty \$0-playbutton1 empty 20 12 576 14 -24198
+-262144 0;
+#X obj 78 215 cnv 1 1 1 empty \$0-playbutton1 empty 20 12 576 14 -24198
+-262144 0;
+#X obj 78 221 cnv 1 1 1 empty \$0-playbutton1 empty 20 12 576 14 -24198
+-262144 0;
+#X obj 79 216 cnv 1 1 1 empty \$0-playbutton1 empty 20 12 576 14 -24198
+-262144 0;
+#X obj 79 218 cnv 1 1 1 empty \$0-playbutton1 empty 20 12 576 14 -24198
+-262144 0;
+#X obj 79 220 cnv 1 1 1 empty \$0-playbutton1 empty 20 12 576 14 -24198
+-262144 0;
+#X obj 80 217 cnv 1 1 1 empty \$0-playbutton1 empty 20 12 576 14 -24198
+-262144 0;
+#X obj 80 219 cnv 1 1 1 empty \$0-playbutton1 empty 20 12 576 14 -24198
+-262144 0;
+#X obj 81 218 cnv 1 1 1 empty \$0-playbutton1 empty 20 12 576 14 -24198
+-262144 0;
+#X obj 106 219 cnv 1 1 1 empty \$0-loopbutton1 empty 20 12 576 14 -24198
+-262144 0;
+#X obj 106 217 cnv 1 1 1 empty \$0-loopbutton1 empty 20 12 576 14 -24198
+-262144 0;
+#X obj 106 215 cnv 1 1 1 empty \$0-loopbutton1 empty 20 12 576 14 -24198
+-262144 0;
+#X obj 106 213 cnv 1 1 1 empty \$0-loopbutton1 empty 20 12 576 14 -24198
+-262144 0;
+#X obj 107 214 cnv 1 1 1 empty \$0-loopbutton1 empty 20 12 576 14 -24198
+-262144 0;
+#X obj 107 218 cnv 1 1 1 empty \$0-loopbutton1 empty 20 12 576 14 -24198
+-262144 0;
+#X obj 107 216 cnv 1 1 1 empty \$0-loopbutton1 empty 20 12 576 14 -24198
+-262144 0;
+#X obj 108 215 cnv 1 1 1 empty \$0-loopbutton1 empty 20 12 576 14 -24198
+-262144 0;
+#X obj 108 217 cnv 1 1 1 empty \$0-loopbutton1 empty 20 12 576 14 -24198
+-262144 0;
+#X obj 110 216 cnv 1 1 1 empty \$0-loopbutton1 empty 20 12 576 14 -24198
+-262144 0;
+#X obj 112 216 cnv 1 1 1 empty \$0-loopbutton1 empty 20 12 576 14 -24198
+-262144 0;
+#X obj 104 216 cnv 1 1 1 empty \$0-loopbutton1 empty 20 12 576 14 -24198
+-262144 0;
+#X obj 102 216 cnv 1 1 1 empty \$0-loopbutton1 empty 20 12 576 14 -24198
+-262144 0;
+#X obj 101 217 cnv 1 1 1 empty \$0-loopbutton1 empty 20 12 576 14 -24198
+-262144 0;
+#X obj 101 219 cnv 1 1 1 empty \$0-loopbutton1 empty 20 12 576 14 -24198
+-262144 0;
+#X obj 101 221 cnv 1 1 1 empty \$0-loopbutton1 empty 20 12 576 14 -24198
+-262144 0;
+#X obj 102 222 cnv 1 1 1 empty \$0-loopbutton1 empty 20 12 576 14 -24198
+-262144 0;
+#X obj 104 222 cnv 1 1 1 empty \$0-loopbutton1 empty 20 12 576 14 -24198
+-262144 0;
+#X obj 106 222 cnv 1 1 1 empty \$0-loopbutton1 empty 20 12 576 14 -24198
+-262144 0;
+#X obj 108 222 cnv 1 1 1 empty \$0-loopbutton1 empty 20 12 576 14 -24198
+-262144 0;
+#X obj 110 222 cnv 1 1 1 empty \$0-loopbutton1 empty 20 12 576 14 -24198
+-262144 0;
+#X obj 113 217 cnv 1 1 1 empty \$0-loopbutton1 empty 20 12 576 14 -24198
+-262144 0;
+#X obj 113 219 cnv 1 1 1 empty \$0-loopbutton1 empty 20 12 576 14 -24198
+-262144 0;
+#X obj 113 221 cnv 1 1 1 empty \$0-loopbutton1 empty 20 12 576 14 -24198
+-262144 0;
+#X obj 112 222 cnv 1 1 1 empty \$0-loopbutton1 empty 20 12 576 14 -24198
+-262144 0;
+#X obj 484 196 bng 15 250 50 0 \$0-open \$0-nixr open 18 6 1729 8 -241291
+-1 -1;
+#X obj 484 215 bng 15 250 50 0 \$0-save 0-nixr save 18 6 1217 8 -260818
+-1 -1;
+#X obj 484 234 bng 15 250 50 0 \$0-save_as \$0-nixr save_as 18 6 1729
+8 -258699 -1 -1;
+#X obj 250 218 bng 15 250 50 0 \$0-reduce \$0-nixr reduce_to_sel 0
+-6 1729 8 -62784 -1 -1;
+#X obj 361 246 bng 15 250 50 0 \$0-set_0 \$0-nixr set_zero 18 6 1729
+8 -24198 -1 -1;
+#X obj 361 264 bng 15 250 50 0 \$0-noise \$0-nixr noise 18 6 1729 8
+-24198 -1 -1;
+#X obj 213 218 bng 15 250 50 0 \$0-cut \$0-nixr cut 0 -6 1729 8 -62784
+-1 -1;
+#X obj 361 210 bng 15 250 50 0 \$0-fade_in \$0-nixr fade_in 18 6 1729
+8 -24198 -1 -1;
+#X obj 361 228 bng 15 250 50 0 \$0-fade_out \$0-nixr fade_out 18 6
+1729 8 -24198 -1 -1;
+#X obj 484 254 bng 15 250 50 0 \$0-toarray \$0-nixr send_to_array 18
+6 1729 8 -44926 -1 -1;
+#X obj 484 273 bng 15 250 50 0 \$0-reloadarray \$0-nixr reload_from_array
+18 6 1729 8 -44926 -1 -1;
+#X text 535 212 (wave-format);
+#X obj 71 257 nbx 5 14 0 100 0 0 \$0-vols \$0-volr empty 0 -6 1729
+8 -262144 -1 -1 0 256;
+#X obj 117 256 bng 15 250 50 0 \$0-mutevol \$0-nixr empty 0 -6 1728
+8 -262144 -1 -1;
+#X obj 74 238 hsl 101 15 0 100 0 0 \$0-vols \$0-volr volume 6 7 1729
+8 -262144 -1 -1 0 1;
+#X text 140 256 mute;
+#X obj 213 254 bng 15 250 50 0 \$0-normalize \$0-nixr normalize 0 -6
+1729 8 -62784 -1 -1;
+#N canvas 0 0 543 350 help 0;
+#X text 67 47 help:;
+#X text 69 69 this is a very basic wave editor \, kind of prototype...
+;
+#X text 68 92 many operations are not available at the moment (copy
+and paste \, zooming \, scrolling \, cursor). they should follow some
+time...;
+#X text 64 141 the editor needs the libraries vasp (http://www.parasitaere-kapazitaeten.net/vasp)
+and zexy (http://iem.kug.ac.at/~zmoelnig/pd/).;
+#X text 67 197 send to array and reload from array can only be done
+\, if you start wedit with a variable \, like "wedit array1" \, this
+array is then loaded by default. but needs to be updated \, if the
+array is changed outside the editor. by clicking "send to array" the
+edited sample is sent to the (default) array outside.;
+#X text 279 305 marius.schebella@chello.at;
+#X restore 650 266 pd help;
+#X coords 0 0 1 1 200 140 0;
diff --git a/externals/grill/vasp/source/buflib.cpp b/externals/grill/vasp/source/buflib.cpp index 938a1969..b1a9054e 100644 --- a/externals/grill/vasp/source/buflib.cpp +++ b/externals/grill/vasp/source/buflib.cpp @@ -157,8 +157,8 @@ static V LibThr(flext::thr_params *) { flext::RelPriority(-2); - while(libthrexit) { - libthrcond->TimedWait(0.5f); + while(!libthrexit) { + libthrcond->TimedWait(1); // don't go below 1 here as TimedWait might not support fractions of seconds!!! // TODO - should process return value of TimedWait Collect(); } @@ -286,7 +286,12 @@ ImmBuf::ImmBuf(I len): ImmBuf::ImmBuf(BufEntry *e,I len,I offs): VBuffer(0,len,offs), entry(e) -{} +{ + if(Length() > e->alloc) { + Length(e->alloc); + post("vasp - buffer %s: Length (%i) is out of range, corrected to %i",GetString(e->sym),len,e->alloc); + } +} VSymbol ImmBuf::Symbol() const { return entry->sym; } diff --git a/externals/grill/vasp/source/main.cpp b/externals/grill/vasp/source/main.cpp index 83e4b4aa..282ff990 100644 --- a/externals/grill/vasp/source/main.cpp +++ b/externals/grill/vasp/source/main.cpp @@ -12,7 +12,7 @@ WARRANTIES, see the file, "license.txt," in this distribution. #include "classes.h" -const C *VASP_VERSION = "0.1.2pre7"; +const C *VASP_VERSION = "0.1.2pre8"; V lib_setup() { diff --git a/externals/grill/vasp/source/vbuffer.h b/externals/grill/vasp/source/vbuffer.h index 5233f580..01a57af0 100644 --- a/externals/grill/vasp/source/vbuffer.h +++ b/externals/grill/vasp/source/vbuffer.h @@ -13,7 +13,8 @@ WARRANTIES, see the file, "license.txt," in this distribution. #include "main.h" -class VSymbol +class VSymbol: + public flext { public: VSymbol(const t_symbol *s = NULL): sym(s) { Inc(); } @@ -38,7 +39,8 @@ protected: const t_symbol *sym; }; -class VBuffer +class VBuffer: + public flext { public: virtual ~VBuffer() {} diff --git a/externals/grill/vasp/todo.txt b/externals/grill/vasp/todo.txt index 4504fee0..8086a03f 100644 --- a/externals/grill/vasp/todo.txt +++ b/externals/grill/vasp/todo.txt @@ -23,6 +23,9 @@ warning, treat as 0, calculate unit operation, loop, mirror on buffer end, stay - introduce "groups" for attribute organisation (e.g. detach etc.) +- reduce number of warnings for wrong offset, frame size etc. + + objects: --------------------- - wave object for table-lookup oscs. |