Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Template for IanniX Script Engine
- function onConfigure() {
- //Name of the script
- iannix.meta("Grid");
- iannix.ask("General", "Number of lines", "indexMax", 16);
- }
- function onCreate() {
- iannix.execute("clear");
- iannix.execute("center 4 0");
- iannix.execute("zoom 100");
- for(var index = 0 ; index < indexMax ; index++)
- addCurve(index, index / indexMax);
- //Control
- iannix.execute("add curve 1100");
- iannix.execute("setPos current " + (indexMax/5) + " 0 0");
- iannix.execute("setGroup current lines");
- iannix.execute("setPointsEllipse current " + (indexMax/5) + " " + (indexMax/5));
- iannix.execute("setColorActive2 current 0 255 200 255");
- iannix.execute("add cursor 100");
- iannix.execute("setPattern current 0 0 1");
- iannix.execute("setGroup current cursors");
- iannix.execute("setCurve current lastCurve");
- iannix.execute("setWidth current 0.1");
- iannix.execute("setColorActive2 current 0 255 255 255");
- iannix.execute("setBoundsSource current 0 " + (indexMax/2.5) + " " + (indexMax/2) + " 0 0");
- iannix.execute("setBoundsTarget current 0 127 127 0");
- iannix.execute("setMessage current 100, midi://LoopBeInternalMIDI/cc 0 0 cursor_value_y");
- iannix.execute("add trigger " + (2000 + index));
- iannix.execute("setGroup current triggers");
- iannix.execute("setPos current " + (index/2.5) + " 0 0");
- iannix.execute("setMessage current 1, midi://LoopBeInternalMIDI/note 1 42 trigger_value");
- iannix.execute("setSize current 0.8");
- iannix.execute("setColorActiveMessage2 current " + transfertMid(0, 40, 0, percent) + " 0 255 255");
- }
- function addCurve(index, percent) {
- iannix.execute("add curve " + (1000 + index));
- iannix.execute("setPos current " + (index/5) + " 0 0");
- iannix.execute("setGroup current lines");
- iannix.execute("setPointsEllipse current " + (index/5) + " " + (index/5));
- iannix.execute("setColorActive2 current " + transfert(20, 40, percent) + " 255 255 255");
- iannix.execute("add cursor " + index);
- iannix.execute("setPattern current 0 0 1");
- iannix.execute("setGroup current cursors");
- iannix.execute("setCurve current lastCurve");
- iannix.execute("setWidth current 0.1");
- iannix.execute("setColorActive2 current 90 255 255 255");
- iannix.execute("add trigger " + (2000 + index));
- iannix.execute("setGroup current triggers");
- iannix.execute("setPos current " + (index/5) + " " + (index/5) + " 0 ");
- iannix.execute("setTriggerOff current 1");
- iannix.execute("setMessage current 1, midi://LoopBeInternalMIDI/note 0 " + (index*3+42) + " trigger_value");
- iannix.execute("setSize current 0.8");
- iannix.execute("setColorActiveMessage2 current " + transfertMid(0, 40, 0, percent) + " 0 255 255");
- }
- function transfert(hueStart, hueEnd, percent) {
- return (hueStart + (hueEnd - hueStart) * percent);
- }
- function transfertMid(hueStart, hueMid, hueEnd, percent) {
- if(percent < 0.5)
- return (hueStart + (hueMid - hueStart) * 2*percent);
- else
- return (hueMid + (hueEnd - hueMid) * (percent-0.5)*2);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement