Is it possible to play a specific channel of a buffer~ using play~?

Mark Durham's icon

Hi forum,

I have a buffer~ with many (64+) channels. I want to have a selection of play~ objects in the same patch - that can playback specific channels of the buffer~ (ie one plays channel 4, another channel 25 etc..) but this seems to be not possible. Can anyone confirm?

Alternatively, is there an easy way to convert a multichannel buffer~ straight to a polybuffer~

Thanks,
Mark

Max Gardener's icon

Gen supports multichannel buffer operators (linked to buffer~ objects, naturally), and you can certainly write a gen~ patch whose operators address individual channels when fetching data for output (it's set by argument). Perhaps you could try that.

Mark Durham's icon

Thanks for the reply Max. I've not used gen~ so much before, but perhaps now is the time..

I'm essentially wanting to replace mc.play~ in a patch, so I have a multichannel signal for all my sample positions (a phasor~ scaled up using mc.scale~). So in gen~, should I try with wave, take the phasor~ into the first inlet, and then route the start and end points scaled up to samples, and the channel in the last inlet of wave?

Mark Durham's icon

Funny - I just ran into this problem again and found my own question....

This was relatively simple, and here is the solution for anyone else encountering this:

The patchcord from top left is loop sync from groove~

Julien Bayle's icon

[mc.wave~] can do it too and I just tested it in production context and it works perfectly.