hi, I also patched a midi learn abstraction... then I found this discussion and replaced all [select] by [==]... Thank's :-) Hope you'll enjoy this one: both cc and channel values are saved in an external message box with a [set( message in the abstraction itself... so no need to re-learn on each session. Two arguments to scale your 0-127: can be negative numbers or reversed scale. Maybe somebody can help me with that: I didn't found a way to set 0-127 as default. So the two arguments are obligatory... cheers raf
Andrew Faraday a écrit :
I actually prefer your solution to mine, the [==] boxes are exactly what I was looking for and would have saved quite a lot of logic. Also I didn't think of [t a a a] which would have saved quite a lot of time. Will have to keep an eye on these for future work.
I've got you in one place, tho. you can use [*] for conditional logic (with a [bang]) to activate when the right inlet changes. instead of multiple spigots. The logic goes, if all of them are 1, the result is
- If any are 0, the result is zero. Useful stuff. Although more
useful when you're working in audio, usually with [expr~] and the inlets of [*~] are summing.
I've gone on a bit of a tangent here. Always interested in approaches to logic in pd, tho.
Andrew
Date: Wed, 4 Aug 2010 13:20:51 -0400 Subject: Re: [PD] midi learn From: pboivin@gmail.com To: jbturgid@hotmail.com CC: pd-list@iem.at
Hi Andrew,
I made something similar a couple of weeks ago, as I needed a quick way to map midi controllers. It's only for CC though...
Patrick
On Tue, Aug 3, 2010 at 1:09 PM, Andrew Faraday
jbturgid@hotmail.com wrote:
Hey All,
I don't know if anyone's done this but I've attached a midi learn abstraction I've been working on. The logic's a bit messy but I got it working in the end.
Basically from banging the learn patch it listens to the next
signal, either
a note or a control signal, and then filters out only the velocity or control value from that. (I've started taking an interest in
controlling
patches with the velocity, as opposed to the note number).
Let me know what you think, and if you know of anything similar
being done.
Cheers
Andrew
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
#N canvas 192 171 386 238 10; #X obj 37 19 ctlin; #X floatatom 15 45 5 0 0 0 - - -; #X floatatom 50 45 5 0 0 0 - - -; #X floatatom 85 45 5 0 0 0 - - -; #X floatatom 169 105 5 0 0 0 - - -; #X msg 212 60; #X obj 169 29 raf_ctlin 7 333; #X connect 0 0 1 0; #X connect 0 1 2 0; #X connect 0 2 3 0; #X connect 5 0 6 0; #X connect 6 0 4 0; #X connect 6 1 5 0;
#N canvas 178 285 565 559 10; #X obj 50 222 loadbang; #X obj 50 294 -; #X obj 50 318 / 127; #X obj 35 355 *; #X obj 50 246 t b b; #X obj 50 269 f $2; #X obj 86 269 f $1; #X obj 36 378 + $1; #X obj 36 403 outlet; #X obj 195 275 outlet; #X obj 213 240 loadbang; #X obj 80 35 inlet; #X obj 168 132 spigot; #X msg 168 191 set $1 $2; #X obj 35 65 ctlin; #X obj 80 59 unpack; #X obj 35 183 spigot; #X obj 35 120 spigot; #X obj 203 104 tgl 9 0 empty $0-learn empty 17 7 0 10 -24198 -24198 -24198 0 1; #X obj 213 132 spigot; #X obj 168 161 pack f f; #X obj 168 240 t b a; #X obj 168 328 $0; #X msg 168 352 ; $1-learn color 16 16 16; #X obj 286 223 $0; #X msg 286 247 ; $1-learn color 13 13 13; #X obj 314 187 $0; #X msg 314 211 ; $1-learn color 0 0 0; #X obj 286 134 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X obj 286 158 select 1 0; #X obj 286 112 metro 300; #X msg 286 86 stop; #X obj 168 301 t b b; #X obj 68 93 ==; #X obj 48 154 ==; #X connect 0 0 4 0; #X connect 1 0 2 0; #X connect 2 0 3 1; #X connect 3 0 7 0; #X connect 4 0 5 0; #X connect 4 1 6 0; #X connect 5 0 1 0; #X connect 6 0 1 1; #X connect 7 0 8 0; #X connect 10 0 9 0; #X connect 11 0 15 0; #X connect 12 0 20 0; #X connect 13 0 21 0; #X connect 14 0 17 0; #X connect 14 1 12 0; #X connect 14 1 34 0; #X connect 14 2 19 0; #X connect 14 2 33 0; #X connect 15 0 34 1; #X connect 15 1 33 1; #X connect 16 0 3 0; #X connect 17 0 16 0; #X connect 18 0 12 1; #X connect 18 0 19 1; #X connect 18 0 30 0; #X connect 19 0 20 1; #X connect 20 0 13 0; #X connect 21 0 9 0; #X connect 21 0 18 0; #X connect 21 0 32 0; #X connect 21 1 9 0; #X connect 22 0 23 0; #X connect 24 0 25 0; #X connect 26 0 27 0; #X connect 28 0 29 0; #X connect 29 0 24 0; #X connect 29 1 26 0; #X connect 30 0 28 0; #X connect 31 0 30 0; #X connect 32 0 22 0; #X connect 32 1 31 0; #X connect 33 0 17 1; #X connect 34 0 16 1; #X coords 0 -1 1 1 15 15 1 200 100;