Hello list,
I'm feeling a little bit dumb, but is it really not possible to restrict the output of [ctlin] to input from a specific channel (but all CC#s)? As far as I can see it is only possible to filter by a CC number (on all channels) or a channel _and_ a CC number. I helped myself with a little abstraction but I can't believe it is not possible with the module itself.
Can anybody tell me how that is working?
Thanks Urs
hi,
i've had the impression that the ctlin object behaves differently
than the notein sometimes, saying that the first and the second
(channel and control#) are flipped. or it could be that i just used a
non standard midi device?
m.
Am 14.09.2005 um 12:09 schrieb Urs Liska:
Hello list,
I'm feeling a little bit dumb, but is it really not possible to
restrict the output of [ctlin] to input from a specific channel
(but all CC#s)? As far as I can see it is only possible to filter by a CC number
(on all channels) or a channel _and_ a CC number. I helped myself with a little abstraction but I can't believe it is
not possible with the module itself.Can anybody tell me how that is working?
Thanks Urs
-- Urs Liska Glümerstr. 5 D-79102 Freiburg
www.graft-music.com www.suono-mobile.de
[Pd 0.39.0, WinXP]
Hallo, Urs Liska hat gesagt: // Urs Liska wrote:
I'm feeling a little bit dumb, but is it really not possible to restrict the output of [ctlin] to input from a specific channel (but all CC#s)? As far as I can see it is only possible to filter by a CC number (on all channels) or a channel _and_ a CC number.
You're right, it is not possible. Reason is, that [ctlin] uses positional arguments and the first argument always is the CC number, while the second is the midi channel.
I see two ways out, if ctlin should change:
One is keyword arguments or attributes as made popular by flext externals. Then it could look like this [ctlin @chan=7 @cc=3] and you could exchange @chan and @cc.
The other solution would be a wildcard as in using [ctlin * 10] to get all controllers from midi channel 10.
For simplicity I'd prefer the second solution actually. It could also be used for [ctlout]
Frank Barknecht _ ______footils.org_ __goto10.org__
In the meantime, I thought to share my little workaround abstraction. The [pack] construct at the end of the line isn't necessary and could be replaced by a second outlet. But I found it very practical for my purposes - especially with the reversal of elements allowing to [route] by CC number.
Best Urs
Frank Barknecht schrieb:
Hallo, Urs Liska hat gesagt: // Urs Liska wrote:
I'm feeling a little bit dumb, but is it really not possible to restrict the output of [ctlin] to input from a specific channel (but all CC#s)? As far as I can see it is only possible to filter by a CC number (on all channels) or a channel _and_ a CC number.
You're right, it is not possible. Reason is, that [ctlin] uses positional arguments and the first argument always is the CC number, while the second is the midi channel.
I see two ways out, if ctlin should change:
One is keyword arguments or attributes as made popular by flext externals. Then it could look like this [ctlin @chan=7 @cc=3] and you could exchange @chan and @cc.
The other solution would be a wildcard as in using [ctlin * 10] to get all controllers from midi channel 10.
For simplicity I'd prefer the second solution actually. It could also be used for [ctlout]
Ciao
Hallo, Urs Liska hat gesagt: // Urs Liska wrote:
In the meantime, I thought to share my little workaround abstraction. The [pack] construct at the end of the line isn't necessary and could be replaced by a second outlet. But I found it very practical for my purposes - especially with the reversal of elements allowing to [route] by CC number.
Attached is how I did it in the past, as an abstraction compatible to yours, but maybe even simpler.
Frank Barknecht _ ______footils.org_ __goto10.org__