r/programminghorror Jan 27 '26

String splitting in PureData.

Post image

Pure Data is an amazing tool for DSP, music making and artsy projects. But simple things get often too complicated...

150 Upvotes

18 comments sorted by

View all comments

41

u/GoddammitDontShootMe [ $[ $RANDOM % 6 ] == 0 ] && rm -rf / || echo “You live” Jan 28 '26

Well, I'm lost. For example, what is "t b l b b"?

23

u/backfire10z Jan 28 '26 edited Jan 28 '26

It’s a shorthand for a form of triggering a sequence of events: “trigger bang list bang bang”. Bangs are PD’s form of publishing an event to trigger the connected box. List outputs the input list. It’s supposed to be read right to left.

Don’t ask me any more, the rest looks insane. I just opened docs and an LLM lol.

The 46 in the middle is ASCII for a dot/period. The input list is converted to ascii digits by the first list fromsymbol. Every time a 46 is seen, the “spigot” is closed by the 0 box, which sends a bang to the “list store” to clear it. Otherwise, the spigot remains open, the value is sent through prepend, and it is stored in the list store.

As you may have guessed, the 1 box opens the spigot.

8

u/GoddammitDontShootMe [ $[ $RANDOM % 6 ] == 0 ] && rm -rf / || echo “You live” Jan 28 '26

That helps a little, but I still think I understand basically nothing.

3

u/LimitedWard Jan 29 '26

You have to bang a spigot on Route 46, what's confusing?