forked from blechdom/node-red-flows
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmidi apc tests.json
More file actions
1 lines (1 loc) · 4.18 KB
/
midi apc tests.json
File metadata and controls
1 lines (1 loc) · 4.18 KB
1
[{"id":"b3648bcd.e30688","type":"function","z":"2dd257a8.a8cd08","name":"MIDI KNOB PARSE","func":"var knob_array = [];\nknob_array = msg.payload;\nvar output_array = [];\n\nswitch (knob_array[0]) {\n case 48:\n var scaled_value = Math.floor((knob_array[1]*1000)/127);\n output_array[0] = {payload: scaled_value};\n break;\n case 49:\n var scaled_value = Math.floor((knob_array[1]*1000)/127);\n output_array[1] = {payload: scaled_value};\n break;\n case 50:\n var scaled_value = Math.floor((knob_array[1]*1000)/127);\n output_array[2] = {payload: scaled_value};\n break;\n case 51:\n var scaled_value = Math.floor((knob_array[1]*1000)/127);\n output_array[3] = {payload: scaled_value};\n break;\n case 52:\n var scaled_value = Math.floor((knob_array[1]*1000)/127);\n output_array[4] = {payload: scaled_value};\n break;\n case 53:\n var scaled_value = Math.floor((knob_array[1]*1000)/127);\n output_array[5] = {payload: scaled_value};\n break;\n case 54:\n var scaled_value = Math.floor((knob_array[1]*1000)/127);\n output_array[6] = {payload: scaled_value};\n break;\n case 55:\n var scaled_value = Math.floor((knob_array[1]*3000)/127);\n output_array[7] = {payload: scaled_value};\n break;\n \n}\nreturn output_array;\n\n\n","outputs":8,"noerr":0,"x":510,"y":220,"wires":[[],[],[],[],[],[],[],[]]},{"id":"8f253617.9ea378","type":"midi in","z":"2dd257a8.a8cd08","name":"AKAI APC KEY25 MIDI IN","midiport":"0","x":210,"y":300,"wires":[["b3648bcd.e30688","cb853064.7d62b","c24cca59.2168e8"]]},{"id":"c24cca59.2168e8","type":"midi out","z":"2dd257a8.a8cd08","name":"AKAI APC KEY25 MIDI OUT","midiport":"1","x":880,"y":680,"wires":[]},{"id":"93efe233.bcbb8","type":"inject","z":"2dd257a8.a8cd08","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":140,"y":640,"wires":[["d74f0cf5.d1bbc"]]},{"id":"cb853064.7d62b","type":"debug","z":"2dd257a8.a8cd08","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","x":710,"y":380,"wires":[]},{"id":"d74f0cf5.d1bbc","type":"function","z":"2dd257a8.a8cd08","name":"midi format","func":"msg = { \n midi: {\n raw: [144, 33, 0],\n channel: 1,\n type: \"noteon\",\n data: [33, 0]\n },\n payload: [33, 0]\n };\nreturn msg;","outputs":1,"noerr":0,"x":310,"y":640,"wires":[["c24cca59.2168e8"]]},{"id":"64f65d00.338834","type":"comment","z":"2dd257a8.a8cd08","name":"program APC lights","info":"Type of LED Functions.\n0=off,\n1=green,\n2=green blink,\n3=red,\n4=red blink,\n5=yellow,\n6=yellow blink,\n7-127=green,\n\n-- clip launch grid LED colors\napc40.clip_off = 0\napc40.clip_green = 1\napc40.clip_red = 3\napc40.clip_yellow = 5\napc40.clip_greenflash = 2\napc40.clip_redflash = 4\napc40.clip_yellowflash = 6\n\n-- generic button LEDs\n---- blink only applies to CLIP STOP and SCENE LAUNCH buttons\n---- all other buttons use on/off (incl. ACTIVATOR, SOLO, and ARM)\napc40.button_off = 0\napc40.button_on = 1\napc40.button_blink = 2\n\n-- knob LED ring types\n---- applies to both track and device knobs\napc40.knob_off = 0\napc40.knob_single = 1\napc40.knob_volume = 2\napc40.knob_pan = 3","x":110,"y":60,"wires":[]},{"id":"df0e1dd1.01e9c","type":"inject","z":"2dd257a8.a8cd08","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":400,"y":40,"wires":[["ffb5ed57.9f06c"]]},{"id":"ffb5ed57.9f06c","type":"function","z":"2dd257a8.a8cd08","name":"initialize global buttons array","func":"var buttons_array = [];\nvar led_color = 3;\nfor (var i = 0; i<40; i++) {\n // buttons_array[i] = 0;\n var noteon_obj = {\n midi: {\n raw: [144, (i+32), led_color],\n channel: 1,\n type: \"noteon\",\n data: [(i+32), led_color]\n },\n payload: [(i+32), led_color]\n };\n buttons_array[i] = noteon_obj;\n}\nmsg = buttons_array;\nreturn msg;","outputs":1,"noerr":0,"x":640,"y":40,"wires":[["c24cca59.2168e8","cb853064.7d62b"]]}]