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?)