Skip to content

Commit

Permalink
document limitation in delay object; improve delay object tests
Browse files Browse the repository at this point in the history
  • Loading branch information
dromer committed Feb 24, 2025
1 parent de6089e commit 465f935
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 26 deletions.
2 changes: 1 addition & 1 deletion docs/02.getting_started.md
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ This list will be continuously epanded to document differences in object behavio
* On the `[select]` object it is currently not possible to set the arguments via the right inlet (internally a hardcoded switch_case is used).
* Heavy supports remote/send messages, however empty messages are currently removed. So the typical `[; bla 1(` multiline message needs to contain at least something on the first line: `[_; bla 1(`.
* Remote/send messages with `sinesum` or `const` arguments to initialize table values are not supported.
* `[metro]` and `[timer]` objects do not accept tempo messages or unit arguments.
* `[delay]`, `[metro]` and `[timer]` objects do not accept tempo messages or unit arguments.
* `[snapshot~]` does not respond within the same control flow as it executes in signal context. Its output happens on the next audio cycle, so additional care for this control flow needs to be taken into account if you depend on synchronous execution. It also doesn't accept `[set(` messages.
* Certain filters are sensitive to ‘blowing up’ at very low or very high cutoff frequencies and/or resonances, due to the filter coefficients not being perfectly represented with a finite number of bits. While Pure data natively uses 64 bits, platforms like `OWL` and `Daisy` that use 32 bit float are more sensitive to this. For example, the Pure data `[bp~]` filter is implemented with a biquad which is prone to fail or distort with cutoff frequencies less than around 200 Hz (at 48kHz sample rate).
* Heavy does not support multichannel connections.
6 changes: 3 additions & 3 deletions tests/pd/control/test-delay.golden.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
[@ 8.000] print: bang
[@ 10.000] print: bang
[@ 15.000] print: bang
[@ 8.000] print: first
[@ 10.000] print: second
[@ 15.000] print: third
48 changes: 26 additions & 22 deletions tests/pd/control/test-delay.pd
Original file line number Diff line number Diff line change
@@ -1,35 +1,39 @@
#N canvas 723 255 388 397 10;
#X obj 38 41 loadbang;
#X obj 38 23 loadbang;
#X obj 153 253 t b f;
#X obj 226 165 t b b;
#X msg 253 247 stop;
#X obj 226 225 t b b;
#X obj 38 93 t b b b;
#X obj 228 55 delay 1000 1 min;
#X obj 229 31 delay 1000 1 sec;
#X obj 228 78 delay 1000 1 samp;
#X obj 153 345 print;
#X obj 153 414 print;
#X msg 38 252 10;
#X obj 38 277 delay 5 1 msec;
#X msg 153 227 8;
#X obj 153 277 del 5;
#X obj 226 277 delay 10;
#X obj 226 195 delay 5;
#X obj 303 283 delay;
#X connect 0 0 5 0;
#X connect 1 0 13 0;
#X connect 1 1 13 1;
#X connect 2 0 15 0;
#X connect 2 1 14 0;
#X connect 3 0 14 0;
#X connect 4 0 14 0;
#X obj 38 277 delay 5;
#X obj 38 54 bng 25 250 50 0 empty empty empty 17 7 0 10 #191919 #ffffff #ffffff;
#X msg 153 308 first;
#X msg 38 308 second;
#X msg 226 308 third;
#X connect 0 0 13 0;
#X connect 1 0 9 0;
#X connect 1 1 9 1;
#X connect 2 0 11 0;
#X connect 2 1 10 0;
#X connect 3 0 10 0;
#X connect 4 0 10 0;
#X connect 4 1 3 0;
#X connect 5 0 10 0;
#X connect 5 1 12 0;
#X connect 5 0 7 0;
#X connect 5 1 8 0;
#X connect 5 2 2 0;
#X connect 10 0 11 0;
#X connect 11 0 9 0;
#X connect 12 0 1 0;
#X connect 13 0 9 0;
#X connect 14 0 9 0;
#X connect 15 0 4 0;
#X connect 7 0 12 0;
#X connect 8 0 1 0;
#X connect 9 0 14 0;
#X connect 10 0 16 0;
#X connect 11 0 4 0;
#X connect 12 0 15 0;
#X connect 13 0 5 0;
#X connect 14 0 6 0;
#X connect 15 0 6 0;
#X connect 16 0 6 0;

0 comments on commit 465f935

Please sign in to comment.