From dc65a809679e7217a2ab6981cb8bfc24edd6e784 Mon Sep 17 00:00:00 2001 From: Robin Haberkorn Date: Sat, 28 Apr 2012 23:22:13 +0200 Subject: some contact mic params made configurable --- contact_mic.ck | 39 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) diff --git a/contact_mic.ck b/contact_mic.ck index 12999b0..ce27ed6 100644 --- a/contact_mic.ck +++ b/contact_mic.ck @@ -31,4 +31,41 @@ clipper.output => Delay del => amp; adc.chan(1) => Bus.out_left; adc.chan(1) => Bus.out_right; -while (day => now); +/* + * Mic/effect configuration via MIDI + */ +/* FIXME: custom nanoKONTROL events */ +if (me.args() > 0) + me.exit(); + +/* fixed to Scene 1 */ +0 => int on_channel; + +MidiIn min; + +/* always open MIDI Through port, actual connection is done by Jack */ +if (!min.open(0)) + me.exit(); +<<< "MIDI device:", min.num(), " -> ", min.name() >>>; + +while (min => now) { + while (MidiMsg msg => min.recv) { + msg.data1 & 0x0F => int channel; + msg.data1 & 0xF0 => int cmd; + (msg.data3 $ float)/127 => float value; + + if (channel == on_channel && cmd == 0xB0) { + <<< "Channel:", channel, "Command:", cmd, "Controller:", msg.data2, "Value:", value >>>; + + if (msg.data2 == 14) { + value*0.4 + 0.1 => del.gain; + } else if (msg.data2 == 2) { + value*10::ms => del.delay; + } else if (msg.data2 == 3) { + value*10 + 1 => pregain.gain; + } else if (msg.data2 == 15) { + value*4 + 1 => amp.gain; + } + } + } +} \ No newline at end of file -- cgit v1.2.3