-
lacuna
Also IEM has list of Vanilla objects page online:
https://pd.iem.sh/objects/ -
lacuna
@porres the "garbage-filter" since 0,49, as it won't show abstractions w/o helpfile. And the hiccup.
@SCFan32 My recommendation for learning Pd is keeping it straight Vanilla and go the way @whale-av proposed: Learn the list of objects Vanilla vocabulary and learn thinking in Vanilla, instead of searching for objects. This would be the low-level Pd-Vanilla way.
From what I have glimpsed SC is not so very low-low level.
Searching objects of libraries can be done in Deken. Help > Find externals
or deken.puredata.info where ctrl+f full text search helps, too.There are some libraries that make easy high-level patching possible. But the bigger they are, and the more libs you use, the more you have to search for objects.
Searching this forum: https://forum.pdpatchrepo.info/topic/11732/commands-for-forum-search-engine/2
Where in many cases newer posts are more valid, because Pd-Vanilla has developed a lot and solved many issues, added more objects ect.
(keeping backward-compability). -
lacuna
Mabye
[symbol]
|
[float]does the trick?
Pobably it is not encoded as float but neither has no symbol selector.
A symbol without 'symbol' selector looks like a float but isn't.(btw there is [int] but ints are floats in pd)
-
lacuna
I currently don't have Else lib installed, so no definetive answer, also I don't know those Else objects and did not look into their help-files ... only answering because noone did (EDIT well now I'm late), but looking at your patch:
- [print] helps debugging such things!
- After [list prepend amp] you might need [list trim] to remove the 'list' selector from the message (check with [print]).
- Cut the connection between [multi.vsl] and [bpbank~] !? Or why are they connected?
- Vanilla-ways to build such a message as [amp 0 2 0 2 ( would be:
-
lacuna
@dmanz sorry, I was wrong in a rush and corrected my last post now:
[t b a] not [t a b]
it is right to left order,
first set the message (anything) then bang. -
lacuna
@dmanz have a look at the messages-helpfile.
Commata in messages separate messages,
so#anything here | [set open $1, bang( | [willbeovewritten( | [print]
are two successive messages
[set open $1( and [bang(
same as#anything here | [t b a] || |[set open $1( || [willbeoverwritten ( | [print]
Delaying the bang with [del] breaks the deterministic order of operation!
Usually this is bad practice.
(Althought sometimes required, if you need exact timing or have to mess with other rare non-deterministic operations, such as [readsf~] loading from harddrive (Pd 0.55) f.e.)As you have mentioned, you can compose messages with lists, too.
#anything here | [list prepend set] | [list trim] | [t b a] |/ [willbeoverwritten( | [print]
Data type String is called Symbol in Pd.
You can cut the Symbol and List prefix / selector of a message with [list trim]. -
lacuna
Did anyone find an ideal screen size / resolution for Pd yet?
I can not recommend:
14 inch at 1920 x 1080 with 150 % scaling in OS
15,6 inch at 1920 x 1080 with 125% scaling in OS
Either needs zoom-in and there is not much space for patching left.Ideally the screen would sit below ear-level for great studio acoustics. But I probably have to reject this premise.
(...while waiting for mouse-wheel zoom https://github.com/pure-data/pure-data/pull/1659 )
-
lacuna
Don't know what it used to be in Extended,
but IEMlib has some [filter~], too.I guess, the reason why we surprisingly can not find that one in Deken, is because there is no separatre .pd abstraction, nor any help-file in the lib-folder.
It is used for many different filters in IEMlib:
https://forum.pdpatchrepo.info/topic/14632/what-is-iemlib-s-filter
-
lacuna posted in technical issues • read more
-
lacuna
[moses], you can use it to filter big jumps. Maybe use feedback to dynamically adapt the right inlet.
moving-windowed-gate.pd
moving-windowed-gate-help.pd
(edit:small bug fix) -
lacuna
@vulturev1 Use the right outlet of [sigmund~] with [>] and [spigot] to filter out "silence".
Look at [moses], you can use it to filter big jumps. Maybe use feedback to dynamically adapt the right inlet.
Also play with sigmunds window-size and hop-size.
This is a Vanilla moving average (EDIT now with [arraysum]) :
movingaverage3.pd
movingaverage3-help.pd
Moving average is a low pass and it also distorts the good data portion.
Reading your description, maybe a median filter with uneven windowsize is better suited, see this screenshot, made with else/median: https://forum.pdpatchrepo.info/topic/13849/how-to-smoothe-out-arrays/11EDIT: Pd 0.54 Also study helpfile with -minpower, -quality, tracks ect !
-
lacuna
Be aware of naming conventions:
A subpatch is this:
[pd sub]
An abstraction is this:
[abstraction]
(calling another .pd file as object)Both, abstraction and subpatch, can have graph-on-parent.
An abstraction may have arguments, such as
[abstraction 1 2 3 hello]
A subpatch can not have arguments.
$0 in a subpatch is same as in it's parent patch.
$0 of an abstraction is unique.For getting $0 of the parent patch inside of an abstraction, you can handle it as agrument, such as
[abstraction $0]
and poll it inside the abstraction with$1
(first argument).Getting $0 of an abstraction outside of the abstraction, at it's parent patch for example, is one of Pd's issues.
One way to solve this is
inside the abstraction:
[loadbang]
|
[f $0]
|
[outlet] -
lacuna
Impressive examples for struct patches:
https://forum.pdpatchrepo.info/topic/10756/vanilla-struct-multislider-with-jump-on-click-and-drag@Balwyn
https://forum.pdpatchrepo.info/topic/14009/hide-array-name/14
https://forum.pdpatchrepo.info/topic/14037/plot-graph-a-way-to-display-waveforms
Here is a workshop on data structures from some years ago (things might have changed in the meantime, but I don't know). Unfortunately the workshop-patches are not online, but you might ask João in the Pd-mailinglist.
https://media.ccc.de/v/lac2018-26-understanding_and_being_creative_with_pure_data_s_data_structures#t=1633
I am interested in how to pipe data from Pd to a fully equipped plotting-software?
https://stackoverflow.com/questions/17543386/pipe-plot-data-to-gnuplot-scripthttps://stackoverflow.com/questions/33457750/gnuplot-plotting-using-piped-input
@katjav https://www.katjaas.nl/plot/plot.html
(all of this is on my undone-list)
-
lacuna
.
or [text get] instead of [array get] or [tabread] instead of list-drip ....(late edit: [concat] related: https://forum.pdpatchrepo.info/topic/14944/route-behaviour/7 )
-
-
lacuna
okok wasn't sure if my "as being said" sounded arrogant ... allright!
On the question, how to calculate exact: As far as I understand (not): Fixed point arithmetic can be exact but has no headroom.
-
lacuna
@jameslo I'm not a native speaker, no offense intended.
Just was hoping, we would overcome those (non)issues, making courageous decisions or find some better workaround/patch/fix.
Some day, I am going to try the mentioned ones. I am learning, too, thank you all!!! -
lacuna
@jameslo
https://en.wikipedia.org/wiki/Floating-point_arithmetic#Representable_numbers,_conversion_and_rounding"[...] Any rational with a denominator that has a prime factor other than 2 will have an infinite binary expansion. This means that numbers that appear to be short and exact when written in decimal format may need to be approximated when converted to binary floating-point. For example, the decimal number 0.1 is not representable in binary floating-point of any finite precision; the exact binary representation would have a "1100" sequence continuing endlessly:
e = −4; s = 1100110011001100110011001100110011...,
where, as previously, s is the significand and e is the exponent.
When rounded to 24 bits this becomes
e = −4; s = 110011001100110011001101,
which is actually 0.100000001490116119384765625 in decimal. [...]"
And as being said here about SC and Arduino, and on the mailling-list on Max or JSON: Pd is not the only user-friendly (scripting/patching) language/environment that had to deal with this.
Althought backward-compabillity is the most precious thing
and long-term maintaince would become more complicated if PD single and double would differ in such an elementary part, my vote goes for more Pd64 developement, if I had a voice.But for now, it seems like there are several easy experimental improvements, already doable when self-compiling Pd64!?
%.14lg mentioned by @katjav
https://lists.puredata.info/pipermail/pd-list/2012-04/095940.html
or that
http://sourceforge.net/tracker/?func=detail&aid=2952880&group_id=55736&atid=478072Also we could have a look (for %.14lg ) in the code of Katja's Pd-double, and Pd-Spagetties is double, too. (dev stopped, I never tried this)
@jancsika Is Purr-Data double now? https://forum.pdpatchrepo.info/topic/11494/purr-data-double-precision I don't know if or how they care about printing and saving. -
lacuna
yes
12 years ago:
[PD] why does PD round numbers? (in tables, in messageboxes, etc)
https://lists.puredata.info/pipermail/pd-list/2012-04/095892.html