Assignable IDs for M4L devices?
Unique ID’s "—" are really helpful in avoiding crosstalk between multiple versions of a M4L device. But only for devices that do not need to reference each other. I need devices that can reference each other (like record to buffer~ on an audio track, and playback the same buffer on a midi track) and use multiple versions of the devices.
In an abstraction you can use and an argument "#0" to assign IDs. Is there a way to do that with a M4L device?
You can use #0 in abstractions in m4l devices also – obv you would need something to keep track of these and communicate the values between your devices…
Thanks Lee, for the helpful reply. It got me thinking more about it.
I think, I was imagining I could save a M4L device with a name like "Audio Device arg 1". So I could set arg 1, 2, 3, for different buffers.
That may not be realistic.
Your idea about the abstraction is interesting, although I don’t know of a way to dynamically load abstractions…..but, I can put the buffers in a poly~ and dynamically load that!
Currently I set the buffers in each device with messages.
(btw, I should have previously said argument "#1" in abstractions").
Could you give me more of an overview of what you are trying to achieve here?
Are you wanting to be able to put an instance of your device on a number of audio tracks, each with it’s own buffer and then be able to access that buffer from devices on other tracks?
btw, if you could clarify something – why do you want to do the playback on a midi track? on a midi track you would have no audio outputs in the m4l to send the data back to the track… unless you have something else in mind?
I previously should have said "instrument track" instead of "midi track"! (I can’t believe I got that wrong too – musician here!).
So your assumption is correct. I want to record to a buffer on an audio track, and play back that same buffer on an instrument track…which works fine. The trick is how to use multiple instances of those devices, so I can say, record to 3 different recording buffer devices, which are played back with 3 different playback devices.
got ya. Well, an example of how to do this would be, for example, to use the audio track number when forming the name the buffer, thus making it unique, and then have a drop-down menu on the track to select the number of the track that it should talk to – thus both devices would then be able to figure out the unique name of the buffer… or something similar
obv if you start moving tracks around this becomes an issue….
You could have a look at the granulator by Robert Henke : several instruments can be linked to the audio device that picks up the audio signal to be processed.