@marmooo/midy 0.1.3 → 0.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm/deps/cdn.jsdelivr.net/npm/@marmooo/{soundfont-parser@0.0.4 → soundfont-parser@0.0.6}/+esm.d.ts +16 -20
- package/esm/deps/cdn.jsdelivr.net/npm/@marmooo/soundfont-parser@0.0.6/+esm.d.ts.map +1 -0
- package/esm/deps/cdn.jsdelivr.net/npm/@marmooo/soundfont-parser@0.0.6/+esm.js +180 -0
- package/esm/midy-GM1.d.ts +32 -3
- package/esm/midy-GM1.d.ts.map +1 -1
- package/esm/midy-GM1.js +93 -87
- package/esm/midy-GM2.d.ts +56 -3
- package/esm/midy-GM2.d.ts.map +1 -1
- package/esm/midy-GM2.js +142 -126
- package/esm/midy-GMLite.d.ts +32 -3
- package/esm/midy-GMLite.d.ts.map +1 -1
- package/esm/midy-GMLite.js +91 -85
- package/esm/midy.d.ts +87 -4
- package/esm/midy.d.ts.map +1 -1
- package/esm/midy.js +234 -140
- package/package.json +1 -1
- package/script/deps/cdn.jsdelivr.net/npm/@marmooo/{soundfont-parser@0.0.4 → soundfont-parser@0.0.6}/+esm.d.ts +16 -20
- package/script/deps/cdn.jsdelivr.net/npm/@marmooo/soundfont-parser@0.0.6/+esm.d.ts.map +1 -0
- package/script/deps/cdn.jsdelivr.net/npm/@marmooo/soundfont-parser@0.0.6/+esm.js +190 -0
- package/script/midy-GM1.d.ts +32 -3
- package/script/midy-GM1.d.ts.map +1 -1
- package/script/midy-GM1.js +93 -87
- package/script/midy-GM2.d.ts +56 -3
- package/script/midy-GM2.d.ts.map +1 -1
- package/script/midy-GM2.js +142 -126
- package/script/midy-GMLite.d.ts +32 -3
- package/script/midy-GMLite.d.ts.map +1 -1
- package/script/midy-GMLite.js +91 -85
- package/script/midy.d.ts +87 -4
- package/script/midy.d.ts.map +1 -1
- package/script/midy.js +234 -140
- package/esm/deps/cdn.jsdelivr.net/npm/@marmooo/soundfont-parser@0.0.4/+esm.d.ts.map +0 -1
- package/esm/deps/cdn.jsdelivr.net/npm/@marmooo/soundfont-parser@0.0.4/+esm.js +0 -162
- package/script/deps/cdn.jsdelivr.net/npm/@marmooo/soundfont-parser@0.0.4/+esm.d.ts.map +0 -1
- package/script/deps/cdn.jsdelivr.net/npm/@marmooo/soundfont-parser@0.0.4/+esm.js +0 -169
package/esm/midy-GM1.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { parseMidi } from "./deps/cdn.jsdelivr.net/npm/midi-file@1.2.4/+esm.js";
|
|
2
|
-
import { parse, SoundFont, } from "./deps/cdn.jsdelivr.net/npm/@marmooo/soundfont-parser@0.0.
|
|
2
|
+
import { parse, SoundFont, } from "./deps/cdn.jsdelivr.net/npm/@marmooo/soundfont-parser@0.0.6/+esm.js";
|
|
3
3
|
class Note {
|
|
4
4
|
constructor(noteNumber, velocity, startTime, instrumentKey) {
|
|
5
5
|
Object.defineProperty(this, "bufferSource", {
|
|
@@ -162,6 +162,7 @@ export class MidyGM1 {
|
|
|
162
162
|
});
|
|
163
163
|
this.audioContext = audioContext;
|
|
164
164
|
this.masterGain = new GainNode(audioContext);
|
|
165
|
+
this.controlChangeHandlers = this.createControlChangeHandlers();
|
|
165
166
|
this.channels = this.createChannels(audioContext);
|
|
166
167
|
this.masterGain.connect(audioContext.destination);
|
|
167
168
|
this.GM1SystemOn();
|
|
@@ -432,12 +433,13 @@ export class MidyGM1 {
|
|
|
432
433
|
const now = this.audioContext.currentTime;
|
|
433
434
|
const channel = this.channels[channelNumber];
|
|
434
435
|
channel.scheduledNotes.forEach((noteList) => {
|
|
435
|
-
noteList.
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
436
|
+
for (let i = 0; i < noteList.length; i++) {
|
|
437
|
+
const note = noteList[i];
|
|
438
|
+
if (!note)
|
|
439
|
+
continue;
|
|
440
|
+
const promise = this.scheduleNoteRelease(channelNumber, note.noteNumber, velocity, now, stopPedal);
|
|
441
|
+
this.notePromises.push(promise);
|
|
442
|
+
}
|
|
441
443
|
});
|
|
442
444
|
channel.scheduledNotes.clear();
|
|
443
445
|
await Promise.all(this.notePromises);
|
|
@@ -529,7 +531,6 @@ export class MidyGM1 {
|
|
|
529
531
|
}
|
|
530
532
|
setVolumeEnvelope(note) {
|
|
531
533
|
const { instrumentKey, startTime } = note;
|
|
532
|
-
note.volumeNode = new GainNode(this.audioContext, { gain: 0 });
|
|
533
534
|
const attackVolume = this.cbToRatio(-instrumentKey.initialAttenuation);
|
|
534
535
|
const sustainVolume = attackVolume * (1 - instrumentKey.volSustain);
|
|
535
536
|
const volDelay = startTime + instrumentKey.volDelay;
|
|
@@ -537,6 +538,8 @@ export class MidyGM1 {
|
|
|
537
538
|
const volHold = volAttack + instrumentKey.volHold;
|
|
538
539
|
const volDecay = volHold + instrumentKey.volDecay;
|
|
539
540
|
note.volumeNode.gain
|
|
541
|
+
.cancelScheduledValues(startTime)
|
|
542
|
+
.setValueAtTime(0, startTime)
|
|
540
543
|
.setValueAtTime(1e-6, volDelay) // exponentialRampToValueAtTime() requires a non-zero value
|
|
541
544
|
.exponentialRampToValueAtTime(attackVolume, volAttack)
|
|
542
545
|
.setValueAtTime(attackVolume, volHold)
|
|
@@ -560,29 +563,27 @@ export class MidyGM1 {
|
|
|
560
563
|
.setValueAtTime(peekPitch, modHold)
|
|
561
564
|
.linearRampToValueAtTime(basePitch, modDecay);
|
|
562
565
|
}
|
|
563
|
-
|
|
564
|
-
const
|
|
565
|
-
const
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
const
|
|
571
|
-
const
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
const
|
|
575
|
-
const
|
|
566
|
+
clampCutoffFrequency(frequency) {
|
|
567
|
+
const minFrequency = 20; // min Hz of initialFilterFc
|
|
568
|
+
const maxFrequency = 20000; // max Hz of initialFilterFc
|
|
569
|
+
return Math.max(minFrequency, Math.min(frequency, maxFrequency));
|
|
570
|
+
}
|
|
571
|
+
setFilterEnvelope(note) {
|
|
572
|
+
const { instrumentKey, startTime } = note;
|
|
573
|
+
const baseFreq = this.centToHz(instrumentKey.initialFilterFc);
|
|
574
|
+
const peekFreq = this.centToHz(instrumentKey.initialFilterFc + instrumentKey.modEnvToFilterFc);
|
|
575
|
+
const sustainFreq = baseFreq +
|
|
576
|
+
(peekFreq - baseFreq) * (1 - instrumentKey.modSustain);
|
|
577
|
+
const adjustedBaseFreq = this.clampCutoffFrequency(baseFreq);
|
|
578
|
+
const adjustedPeekFreq = this.clampCutoffFrequency(peekFreq);
|
|
579
|
+
const adjustedSustainFreq = this.clampCutoffFrequency(sustainFreq);
|
|
576
580
|
const modDelay = startTime + instrumentKey.modDelay;
|
|
577
581
|
const modAttack = modDelay + instrumentKey.modAttack;
|
|
578
582
|
const modHold = modAttack + instrumentKey.modHold;
|
|
579
583
|
const modDecay = modHold + instrumentKey.modDecay;
|
|
580
|
-
note.filterNode = new BiquadFilterNode(this.audioContext, {
|
|
581
|
-
type: "lowpass",
|
|
582
|
-
Q: instrumentKey.initialFilterQ / 10, // dB
|
|
583
|
-
frequency: adjustedBaseFreq,
|
|
584
|
-
});
|
|
585
584
|
note.filterNode.frequency
|
|
585
|
+
.cancelScheduledValues(startTime)
|
|
586
|
+
.setValueAtTime(adjustedBaseFreq, startTime)
|
|
586
587
|
.setValueAtTime(adjustedBaseFreq, modDelay)
|
|
587
588
|
.exponentialRampToValueAtTime(adjustedPeekFreq, modAttack)
|
|
588
589
|
.setValueAtTime(adjustedPeekFreq, modHold)
|
|
@@ -619,8 +620,13 @@ export class MidyGM1 {
|
|
|
619
620
|
const semitoneOffset = this.calcSemitoneOffset(channel);
|
|
620
621
|
const note = new Note(noteNumber, velocity, startTime, instrumentKey);
|
|
621
622
|
note.bufferSource = await this.createNoteBufferNode(instrumentKey, isSF3);
|
|
622
|
-
this.
|
|
623
|
+
note.volumeNode = new GainNode(this.audioContext);
|
|
624
|
+
note.filterNode = new BiquadFilterNode(this.audioContext, {
|
|
625
|
+
type: "lowpass",
|
|
626
|
+
Q: instrumentKey.initialFilterQ / 10 * channel.filterResonance, // dB
|
|
627
|
+
});
|
|
623
628
|
this.setVolumeEnvelope(note);
|
|
629
|
+
this.setFilterEnvelope(note);
|
|
624
630
|
if (0 < channel.modulationDepth) {
|
|
625
631
|
this.setPitch(note, semitoneOffset);
|
|
626
632
|
this.startModulation(channel, note, startTime);
|
|
@@ -641,7 +647,7 @@ export class MidyGM1 {
|
|
|
641
647
|
return;
|
|
642
648
|
const soundFont = this.soundFonts[soundFontIndex];
|
|
643
649
|
const isSF3 = soundFont.parsed.info.version.major === 3;
|
|
644
|
-
const instrumentKey = soundFont.getInstrumentKey(bankNumber, channel.program, noteNumber);
|
|
650
|
+
const instrumentKey = soundFont.getInstrumentKey(bankNumber, channel.program, noteNumber, velocity);
|
|
645
651
|
if (!instrumentKey)
|
|
646
652
|
return;
|
|
647
653
|
const note = await this.createNote(channel, instrumentKey, noteNumber, velocity, startTime, isSF3);
|
|
@@ -659,7 +665,7 @@ export class MidyGM1 {
|
|
|
659
665
|
const now = this.audioContext.currentTime;
|
|
660
666
|
return this.scheduleNoteOn(channelNumber, noteNumber, velocity, now);
|
|
661
667
|
}
|
|
662
|
-
scheduleNoteRelease(channelNumber, noteNumber,
|
|
668
|
+
scheduleNoteRelease(channelNumber, noteNumber, _velocity, stopTime, stopPedal = false) {
|
|
663
669
|
const channel = this.channels[channelNumber];
|
|
664
670
|
if (stopPedal && channel.sustainPedal)
|
|
665
671
|
return;
|
|
@@ -672,14 +678,11 @@ export class MidyGM1 {
|
|
|
672
678
|
continue;
|
|
673
679
|
if (note.ending)
|
|
674
680
|
continue;
|
|
675
|
-
const
|
|
676
|
-
const volEndTime = stopTime +
|
|
677
|
-
note.instrumentKey.volRelease * velocityRate;
|
|
681
|
+
const volEndTime = stopTime + note.instrumentKey.volRelease;
|
|
678
682
|
note.volumeNode.gain
|
|
679
683
|
.cancelScheduledValues(stopTime)
|
|
680
684
|
.linearRampToValueAtTime(0, volEndTime);
|
|
681
|
-
const modRelease = stopTime +
|
|
682
|
-
note.instrumentKey.modRelease * velocityRate;
|
|
685
|
+
const modRelease = stopTime + note.instrumentKey.modRelease;
|
|
683
686
|
note.filterNode.frequency
|
|
684
687
|
.cancelScheduledValues(stopTime)
|
|
685
688
|
.linearRampToValueAtTime(0, modRelease);
|
|
@@ -693,12 +696,11 @@ export class MidyGM1 {
|
|
|
693
696
|
note.bufferSource.disconnect();
|
|
694
697
|
note.volumeNode.disconnect();
|
|
695
698
|
note.filterNode.disconnect();
|
|
696
|
-
if (note.
|
|
699
|
+
if (note.modulationDepth) {
|
|
697
700
|
note.volumeDepth.disconnect();
|
|
698
|
-
if (note.modulationDepth)
|
|
699
701
|
note.modulationDepth.disconnect();
|
|
700
|
-
if (note.modulationLFO)
|
|
701
702
|
note.modulationLFO.stop();
|
|
703
|
+
}
|
|
702
704
|
resolve();
|
|
703
705
|
};
|
|
704
706
|
note.bufferSource.stop(volEndTime);
|
|
@@ -715,13 +717,14 @@ export class MidyGM1 {
|
|
|
715
717
|
const promises = [];
|
|
716
718
|
channel.sustainPedal = false;
|
|
717
719
|
channel.scheduledNotes.forEach((noteList) => {
|
|
718
|
-
noteList.
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
720
|
+
for (let i = 0; i < noteList.length; i++) {
|
|
721
|
+
const note = noteList[i];
|
|
722
|
+
if (!note)
|
|
723
|
+
continue;
|
|
724
|
+
const { noteNumber } = note;
|
|
725
|
+
const promise = this.releaseNote(channelNumber, noteNumber, velocity);
|
|
726
|
+
promises.push(promise);
|
|
727
|
+
}
|
|
725
728
|
});
|
|
726
729
|
return promises;
|
|
727
730
|
}
|
|
@@ -759,47 +762,46 @@ export class MidyGM1 {
|
|
|
759
762
|
channel.pitchBendRange * 100;
|
|
760
763
|
this.updateDetune(channel, detuneChange);
|
|
761
764
|
}
|
|
765
|
+
createControlChangeHandlers() {
|
|
766
|
+
return {
|
|
767
|
+
1: this.setModulationDepth,
|
|
768
|
+
6: this.dataEntryMSB,
|
|
769
|
+
7: this.setVolume,
|
|
770
|
+
10: this.setPan,
|
|
771
|
+
11: this.setExpression,
|
|
772
|
+
38: this.dataEntryLSB,
|
|
773
|
+
64: this.setSustainPedal,
|
|
774
|
+
100: this.setRPNLSB,
|
|
775
|
+
101: this.setRPNMSB,
|
|
776
|
+
120: this.allSoundOff,
|
|
777
|
+
121: this.resetAllControllers,
|
|
778
|
+
123: this.allNotesOff,
|
|
779
|
+
};
|
|
780
|
+
}
|
|
762
781
|
handleControlChange(channelNumber, controller, value) {
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
return this.setVolume(channelNumber, value);
|
|
770
|
-
case 10:
|
|
771
|
-
return this.setPan(channelNumber, value);
|
|
772
|
-
case 11:
|
|
773
|
-
return this.setExpression(channelNumber, value);
|
|
774
|
-
case 38:
|
|
775
|
-
return this.dataEntryLSB(channelNumber, value);
|
|
776
|
-
case 64:
|
|
777
|
-
return this.setSustainPedal(channelNumber, value);
|
|
778
|
-
case 100:
|
|
779
|
-
return this.setRPNLSB(channelNumber, value);
|
|
780
|
-
case 101:
|
|
781
|
-
return this.setRPNMSB(channelNumber, value);
|
|
782
|
-
case 120:
|
|
783
|
-
return this.allSoundOff(channelNumber);
|
|
784
|
-
case 121:
|
|
785
|
-
return this.resetAllControllers(channelNumber);
|
|
786
|
-
case 123:
|
|
787
|
-
return this.allNotesOff(channelNumber);
|
|
788
|
-
default:
|
|
789
|
-
console.warn(`Unsupported Control change: controller=${controller} value=${value}`);
|
|
782
|
+
const handler = this.controlChangeHandlers[controller];
|
|
783
|
+
if (handler) {
|
|
784
|
+
handler.call(this, channelNumber, value);
|
|
785
|
+
}
|
|
786
|
+
else {
|
|
787
|
+
console.warn(`Unsupported Control change: controller=${controller} value=${value}`);
|
|
790
788
|
}
|
|
791
789
|
}
|
|
792
790
|
updateModulation(channel) {
|
|
793
791
|
const now = this.audioContext.currentTime;
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
792
|
+
channel.scheduledNotes.forEach((noteList) => {
|
|
793
|
+
for (let i = 0; i < noteList.length; i++) {
|
|
794
|
+
const note = noteList[i];
|
|
795
|
+
if (!note)
|
|
796
|
+
continue;
|
|
797
|
+
if (note.modulationDepth) {
|
|
798
|
+
note.modulationDepth.gain.setValueAtTime(channel.modulationDepth, now);
|
|
799
|
+
}
|
|
800
|
+
else {
|
|
801
|
+
const semitoneOffset = this.calcSemitoneOffset(channel);
|
|
802
|
+
this.setPitch(note, semitoneOffset);
|
|
803
|
+
this.startModulation(channel, note, now);
|
|
804
|
+
}
|
|
803
805
|
}
|
|
804
806
|
});
|
|
805
807
|
}
|
|
@@ -907,13 +909,17 @@ export class MidyGM1 {
|
|
|
907
909
|
}
|
|
908
910
|
updateDetune(channel, detuneChange) {
|
|
909
911
|
const now = this.audioContext.currentTime;
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
.
|
|
912
|
+
channel.scheduledNotes.forEach((noteList) => {
|
|
913
|
+
for (let i = 0; i < noteList.length; i++) {
|
|
914
|
+
const note = noteList[i];
|
|
915
|
+
if (!note)
|
|
916
|
+
continue;
|
|
917
|
+
const { bufferSource } = note;
|
|
918
|
+
const detune = bufferSource.detune.value + detuneChange;
|
|
919
|
+
bufferSource.detune
|
|
920
|
+
.cancelScheduledValues(now)
|
|
921
|
+
.setValueAtTime(detune, now);
|
|
922
|
+
}
|
|
917
923
|
});
|
|
918
924
|
}
|
|
919
925
|
handlePitchBendRangeRPN(channelNumber) {
|
package/esm/midy-GM2.d.ts
CHANGED
|
@@ -92,6 +92,32 @@ export class MidyGM2 {
|
|
|
92
92
|
};
|
|
93
93
|
};
|
|
94
94
|
masterGain: any;
|
|
95
|
+
controlChangeHandlers: {
|
|
96
|
+
0: (channelNumber: any, msb: any) => void;
|
|
97
|
+
1: (channelNumber: any, modulation: any) => void;
|
|
98
|
+
5: (channelNumber: any, portamentoTime: any) => void;
|
|
99
|
+
6: (channelNumber: any, value: any) => void;
|
|
100
|
+
7: (channelNumber: any, volume: any) => void;
|
|
101
|
+
10: (channelNumber: any, pan: any) => void;
|
|
102
|
+
11: (channelNumber: any, expression: any) => void;
|
|
103
|
+
32: (channelNumber: any, lsb: any) => void;
|
|
104
|
+
38: (channelNumber: any, value: any) => void;
|
|
105
|
+
64: (channelNumber: any, value: any) => void;
|
|
106
|
+
65: (channelNumber: any, value: any) => void;
|
|
107
|
+
66: (channelNumber: any, value: any) => void;
|
|
108
|
+
67: (channelNumber: any, softPedal: any) => void;
|
|
109
|
+
91: (channelNumber: any, reverbSendLevel: any) => void;
|
|
110
|
+
93: (channelNumber: any, chorusSendLevel: any) => void;
|
|
111
|
+
100: (channelNumber: any, value: any) => void;
|
|
112
|
+
101: (channelNumber: any, value: any) => void;
|
|
113
|
+
120: (channelNumber: any) => Promise<void>;
|
|
114
|
+
121: (channelNumber: any) => void;
|
|
115
|
+
123: (channelNumber: any) => Promise<void>;
|
|
116
|
+
124: () => void;
|
|
117
|
+
125: () => void;
|
|
118
|
+
126: () => void;
|
|
119
|
+
127: () => void;
|
|
120
|
+
};
|
|
95
121
|
channels: any[];
|
|
96
122
|
reverbEffect: {
|
|
97
123
|
input: any;
|
|
@@ -167,14 +193,15 @@ export class MidyGM2 {
|
|
|
167
193
|
calcPlaybackRate(instrumentKey: any, noteNumber: any, semitoneOffset: any): number;
|
|
168
194
|
setVolumeEnvelope(note: any): void;
|
|
169
195
|
setPitch(note: any, semitoneOffset: any): void;
|
|
170
|
-
|
|
196
|
+
clampCutoffFrequency(frequency: any): number;
|
|
197
|
+
setFilterEnvelope(channel: any, note: any): void;
|
|
171
198
|
startModulation(channel: any, note: any, startTime: any): void;
|
|
172
199
|
startVibrato(channel: any, note: any, startTime: any): void;
|
|
173
200
|
createNote(channel: any, instrumentKey: any, noteNumber: any, velocity: any, startTime: any, isSF3: any): Promise<Note>;
|
|
174
201
|
calcBank(channel: any, channelNumber: any): any;
|
|
175
202
|
scheduleNoteOn(channelNumber: any, noteNumber: any, velocity: any, startTime: any): Promise<void>;
|
|
176
203
|
noteOn(channelNumber: any, noteNumber: any, velocity: any): Promise<void>;
|
|
177
|
-
scheduleNoteRelease(channelNumber: any, noteNumber: any,
|
|
204
|
+
scheduleNoteRelease(channelNumber: any, noteNumber: any, _velocity: any, stopTime: any, stopPedal?: boolean): Promise<any> | undefined;
|
|
178
205
|
releaseNote(channelNumber: any, noteNumber: any, velocity: any): Promise<any> | undefined;
|
|
179
206
|
releaseSustainPedal(channelNumber: any, halfVelocity: any): any[];
|
|
180
207
|
releaseSostenutoPedal(channelNumber: any, halfVelocity: any): any[];
|
|
@@ -183,7 +210,33 @@ export class MidyGM2 {
|
|
|
183
210
|
handleChannelPressure(channelNumber: any, pressure: any): void;
|
|
184
211
|
handlePitchBendMessage(channelNumber: any, lsb: any, msb: any): void;
|
|
185
212
|
setPitchBend(channelNumber: any, pitchBend: any): void;
|
|
186
|
-
|
|
213
|
+
createControlChangeHandlers(): {
|
|
214
|
+
0: (channelNumber: any, msb: any) => void;
|
|
215
|
+
1: (channelNumber: any, modulation: any) => void;
|
|
216
|
+
5: (channelNumber: any, portamentoTime: any) => void;
|
|
217
|
+
6: (channelNumber: any, value: any) => void;
|
|
218
|
+
7: (channelNumber: any, volume: any) => void;
|
|
219
|
+
10: (channelNumber: any, pan: any) => void;
|
|
220
|
+
11: (channelNumber: any, expression: any) => void;
|
|
221
|
+
32: (channelNumber: any, lsb: any) => void;
|
|
222
|
+
38: (channelNumber: any, value: any) => void;
|
|
223
|
+
64: (channelNumber: any, value: any) => void;
|
|
224
|
+
65: (channelNumber: any, value: any) => void;
|
|
225
|
+
66: (channelNumber: any, value: any) => void;
|
|
226
|
+
67: (channelNumber: any, softPedal: any) => void;
|
|
227
|
+
91: (channelNumber: any, reverbSendLevel: any) => void;
|
|
228
|
+
93: (channelNumber: any, chorusSendLevel: any) => void;
|
|
229
|
+
100: (channelNumber: any, value: any) => void;
|
|
230
|
+
101: (channelNumber: any, value: any) => void;
|
|
231
|
+
120: (channelNumber: any) => Promise<void>;
|
|
232
|
+
121: (channelNumber: any) => void;
|
|
233
|
+
123: (channelNumber: any) => Promise<void>;
|
|
234
|
+
124: () => void;
|
|
235
|
+
125: () => void;
|
|
236
|
+
126: () => void;
|
|
237
|
+
127: () => void;
|
|
238
|
+
};
|
|
239
|
+
handleControlChange(channelNumber: any, controller: any, value: any): void;
|
|
187
240
|
setBankMSB(channelNumber: any, msb: any): void;
|
|
188
241
|
updateModulation(channel: any): void;
|
|
189
242
|
setModulationDepth(channelNumber: any, modulation: any): void;
|
package/esm/midy-GM2.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"midy-GM2.d.ts","sourceRoot":"","sources":["../src/midy-GM2.js"],"names":[],"mappings":"AAwBA;IAkCE;;;;;;;;;;;;;;;;;;;;MAoBE;IAEF;;;;;;;;;;;MAWE;IAEF;;;;;;;MAOE;IAgCF;;;;;
|
|
1
|
+
{"version":3,"file":"midy-GM2.d.ts","sourceRoot":"","sources":["../src/midy-GM2.js"],"names":[],"mappings":"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"}
|