O-/𖣠⚪ᗩ⚪𖣠⚪I⚪𖣠⚪ᗝ⚪𖣠⚪人⚪𖣠⚪ᗩ⚪𖣠⚪𖡼⚪𖣠⚪𖡼⚪𖣠⚪𖡼⚪𖣠⚪𖡼⚪🞋⚪𖡼⚪𖣠⚪𖡼⚪𖣠⚪𖡼⚪𖣠⚪𖡼⚪𖣠⚪ᗩ⚪𖣠⚪人⚪𖣠⚪ᗝ⚪𖣠⚪I⚪𖣠⚪ᗩ⚪𖣠/⚪ᗱᗴ⚪ᴥ⚪ᗩ⚪ᗯ⚪✤⚪ꗳ⚪Ⓞ⚪ᔓᔕ⚪◌⚪◌⚪◌⚪◌⚪◌⚪◌⚪ᔓᔕ⚪Ⓞ⚪ꗳ⚪✤⚪ᗯ⚪ᗩ⚪ᴥ⚪ᗱᗴ⚪/◯ᴥᗱᗴߦᗩᗱᗴᴥ◯ᔓᔕⓄ✻ᑐᑕⓄᑐᑕ◯⚪◯ᑐᑕⓄᑐᑕ✻Ⓞᔓᔕ◯ᴥᗱᗴᗩߦᗱᗴᴥ◯ⵙ◯ᴥᗱᗴߦᗩᗱᗴᴥ◯ᔓᔕⓄ✻ᑐᑕⓄᑐᑕ◯⚪◯ᑐᑕⓄᑐᑕ✻Ⓞᔓᔕ◯ᴥᗱᗴᗩߦᗱᗴᴥ◯/◯ꕤ⏀ᔓᔕᒍᒐ◯⚪◯ᒍᒐᔓᔕ⏀ꕤ◯ⵙ◯ꕤ⏀ᔓᔕᒍᒐ◯⚪◯ᒍᒐᔓᔕ⏀ꕤ◯/XFƧJ.◯ᗱᗴИNⓄᴥᗝ◯ꖴᗝꖴᙏ◯⚪◯ᙏꖴᗝꖴ◯ᗝᴥⓄИNᗱᗴ◯ⵙ◯ᗱᗴИNⓄᴥᗝ◯ꖴᗝꖴᙏ◯⚪◯ᙏꖴᗝꖴ◯ᗝᴥⓄИNᗱᗴ◯.JSFX

58 lines
1.3 KiB
Plaintext
Raw Normal View History

2020-12-29 01:17:33 +00:00
desc:XFSJ.O_ENORD_IDIM_O_MIDI_DRONE_O.JSFX
slider1:0<0,15,1{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}>O_LENAHC_O_CHANEL_O
slider2:57<0,127,1{C0,C#0,D0,D#0,E0,F0,F#0,G0,G#0,A0,A#0,B0,C 1,C#1,D1,D#1,E1,F1,F#1,G1,G#1,A1,A#1,B1,C2,C#2,D2, D#2,E2,F2,F#2,G2,G#2,A2,A#2,B2,C3,C#3,D3,D#3,E3,F3 ,F#3,G3,G#3,A3,A#3,B3,C4,C#4,D4,D#4,E4,F4,F#4,G4,G #4,A4,A#4,B4,C5,C#5,D5,D#5,E5,F5,F#5,G5,G#5,A5,A#5 ,B5,C6,C#6,D6,D#6,E6,F6,F#6,G6,G#6,A6,A#6,B6,C7,C# 7,D7,D#7,E7,F7,F#7,G7,G#7,A7,A#7,B7,C8,C#8,D8,D#8, E8,F8,F#8,G8,G#8,A8,A#8,B8,C9,C#9,D9,D#9,E9,F9,F#9 ,G9,G#9,A9,A#9,B9,C10,C#10,D10,D#10,E10,F10,F#10,G 10}>O_ETON_O_NOTE_O
slider3:127<1,127,1>O_YTICOLEV_O_VELOCITY_O
slider4:0<0,1,1>O
@init
ext_noinit = 1;
prevNote = -1;
prevChannel = -1;
playing = -1;
@slider
channel = slider1;
note = slider2;
slider3 | 0 != velocity ?
(
velocity = slider3 | 0;
playing = -1;
);
play = slider4;
@block
function DoNoteOff(n, v, c)
(
midisend(0, 0x80 | c, n | (v << 8));
midisend(0, 0x90 | c, n );
);
note != prevNote || channel != prevChannel ?
(
!(prevNote < 0) ?
(
DoNoteOff(prevNote, prevVelocity, prevChannel);
);
prevNote = note;
prevChannel = channel;
playing = -1;
);
playing != play ?
(
play ?
(
midisend(0, 0x90, note | (velocity << 8));
prevVelocity = velocity;
)
:
(
DoNoteOff(note, prevVelocity, channel);
);
playing = play;
);