Signature
-
seb-harmonik.ar
@kosuke16 for years I built complex data structures like maps and sets using lists in pd. But things like this are much easier to write using a textual language like Lua (using pd-lua) or even as a c external. Mainly because of accessing object-local data where it's used
-
seb-harmonik.ar
hi, you can see my solution for this problem here: https://github.com/sebshader/instr in the 'monoctl' abstraction.
internally it uses an object from my library [noteson] that keeps track of which keys are pressed and I haven't been good about updating the releases so you'd have to compile it yourself..
you could also try making your own abstraction to use a list to keep track of currently pressed notes instead.I think the 'else' library may also have some solution in its 'mono' object: https://github.com/porres/pd-else
-
seb-harmonik.ar
@ddw_music what's wrong with
[clear(
and[set(
? -
seb-harmonik.ar
Actually the process that is 70% CPU is the GUI process, the lowercase letter one is the one doing the audio
That 70% is probably just from drawing a lot of GUI stuff -
seb-harmonik.ar
You can use a signal going into
[rpole~ 1]
to increment the samples going into[tabread4~]
, and change that signal's value to get different playback rates (1 is normal, 2 is an octave up, 0.5 for octave down)
Then all you have to do is translate from pitch bend values to playback rate -
seb-harmonik.ar
I think you could do the scrolling in tcl/tk only.
load some *-plugin.tcl file that binds the correct keys to bind the class PatchWindow.
but, I'm not sure how to move the objects w/ it.. I guess if you know their receive name you could also move them by index and sending the canvas messages per normal (using iemguts if necessary?) -
seb-harmonik.ar
because other applications use pulseaudio, pd uses either jack or alsa directly.
From my understanding, alsa is only configured to run either jack or pulse. All of the output alsa channels are taken up by one or the other, so jack (or pd) takes over the channels when it starts.
The solution? I think you may be able to use pipewire, there's also certain modules you can install to make it work
https://askubuntu.com/questions/572120/how-to-use-jack-and-pulseaudio-alsa-at-the-same-time-on-the-same-audio-device
https://github.com/jackaudio/jackaudio.github.com/wiki/WalkThrough_User_PulseOnJack