@marmooo/midy 0.0.7 → 0.0.9
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/midy-GM1.d.ts +12 -47
- package/esm/midy-GM1.d.ts.map +1 -1
- package/esm/midy-GM1.js +70 -53
- package/esm/midy-GM2.d.ts +52 -109
- package/esm/midy-GM2.d.ts.map +1 -1
- package/esm/midy-GM2.js +187 -95
- package/esm/midy-GMLite.d.ts +8 -41
- package/esm/midy-GMLite.d.ts.map +1 -1
- package/esm/midy-GMLite.js +53 -46
- package/esm/midy.d.ts +55 -134
- package/esm/midy.d.ts.map +1 -1
- package/esm/midy.js +191 -100
- package/package.json +1 -1
- package/script/midy-GM1.d.ts +12 -47
- package/script/midy-GM1.d.ts.map +1 -1
- package/script/midy-GM1.js +70 -53
- package/script/midy-GM2.d.ts +52 -109
- package/script/midy-GM2.d.ts.map +1 -1
- package/script/midy-GM2.js +187 -95
- package/script/midy-GMLite.d.ts +8 -41
- package/script/midy-GMLite.d.ts.map +1 -1
- package/script/midy-GMLite.js +53 -46
- package/script/midy.d.ts +55 -134
- package/script/midy.d.ts.map +1 -1
- package/script/midy.js +191 -100
package/script/midy-GMLite.js
CHANGED
|
@@ -186,23 +186,23 @@ class MidyGMLite {
|
|
|
186
186
|
this.totalTime = this.calcTotalTime();
|
|
187
187
|
}
|
|
188
188
|
setChannelAudioNodes(audioContext) {
|
|
189
|
-
const { gainLeft, gainRight } = this.panToGain(
|
|
189
|
+
const { gainLeft, gainRight } = this.panToGain(this.constructor.channelSettings.pan);
|
|
190
190
|
const gainL = new GainNode(audioContext, { gain: gainLeft });
|
|
191
191
|
const gainR = new GainNode(audioContext, { gain: gainRight });
|
|
192
192
|
const merger = new ChannelMergerNode(audioContext, { numberOfInputs: 2 });
|
|
193
193
|
gainL.connect(merger, 0, 0);
|
|
194
194
|
gainR.connect(merger, 0, 1);
|
|
195
|
-
merger.connect(this.masterGain);
|
|
196
195
|
return {
|
|
197
196
|
gainL,
|
|
198
197
|
gainR,
|
|
198
|
+
merger,
|
|
199
199
|
};
|
|
200
200
|
}
|
|
201
201
|
createChannels(audioContext) {
|
|
202
202
|
const channels = Array.from({ length: 16 }, () => {
|
|
203
203
|
return {
|
|
204
|
-
...
|
|
205
|
-
...
|
|
204
|
+
...this.constructor.channelSettings,
|
|
205
|
+
...this.constructor.effectSettings,
|
|
206
206
|
...this.setChannelAudioNodes(audioContext),
|
|
207
207
|
scheduledNotes: new Map(),
|
|
208
208
|
};
|
|
@@ -494,9 +494,9 @@ class MidyGMLite {
|
|
|
494
494
|
}
|
|
495
495
|
return noteList[0];
|
|
496
496
|
}
|
|
497
|
-
|
|
498
|
-
gainNode.connect(channel.
|
|
499
|
-
|
|
497
|
+
connectEffects(channel, gainNode) {
|
|
498
|
+
gainNode.connect(channel.merger);
|
|
499
|
+
merger.connect(this.masterGain);
|
|
500
500
|
}
|
|
501
501
|
cbToRatio(cb) {
|
|
502
502
|
return Math.pow(10, cb / 200);
|
|
@@ -562,7 +562,7 @@ class MidyGMLite {
|
|
|
562
562
|
startModulation(channel, note, time) {
|
|
563
563
|
const { instrumentKey } = note;
|
|
564
564
|
note.modLFOGain = new GainNode(this.audioContext, {
|
|
565
|
-
gain: this.cbToRatio(instrumentKey.modLfoToVolume
|
|
565
|
+
gain: this.cbToRatio(instrumentKey.modLfoToVolume + channel.modulation),
|
|
566
566
|
});
|
|
567
567
|
note.modLFO = new OscillatorNode(this.audioContext, {
|
|
568
568
|
frequency: this.centToHz(instrumentKey.freqModLFO),
|
|
@@ -601,7 +601,7 @@ class MidyGMLite {
|
|
|
601
601
|
if (!instrumentKey)
|
|
602
602
|
return;
|
|
603
603
|
const note = await this.createNote(channel, instrumentKey, noteNumber, velocity, startTime, isSF3);
|
|
604
|
-
this.
|
|
604
|
+
this.connectEffects(channel, note.gainNode);
|
|
605
605
|
const scheduledNotes = channel.scheduledNotes;
|
|
606
606
|
if (scheduledNotes.has(noteNumber)) {
|
|
607
607
|
scheduledNotes.get(noteNumber).push(note);
|
|
@@ -620,39 +620,41 @@ class MidyGMLite {
|
|
|
620
620
|
return;
|
|
621
621
|
if (!channel.scheduledNotes.has(noteNumber))
|
|
622
622
|
return;
|
|
623
|
-
const
|
|
624
|
-
for (let i = 0; i <
|
|
625
|
-
const
|
|
626
|
-
if (!
|
|
623
|
+
const scheduledNotes = channel.scheduledNotes.get(noteNumber);
|
|
624
|
+
for (let i = 0; i < scheduledNotes.length; i++) {
|
|
625
|
+
const note = scheduledNotes[i];
|
|
626
|
+
if (!note)
|
|
627
627
|
continue;
|
|
628
|
-
if (
|
|
628
|
+
if (note.ending)
|
|
629
629
|
continue;
|
|
630
|
-
const { bufferSource, filterNode, gainNode, modLFO, modLFOGain, instrumentKey, } = targetNote;
|
|
631
630
|
const velocityRate = (velocity + 127) / 127;
|
|
632
|
-
const volEndTime = stopTime +
|
|
633
|
-
|
|
634
|
-
gainNode.gain
|
|
631
|
+
const volEndTime = stopTime +
|
|
632
|
+
note.instrumentKey.volRelease * velocityRate;
|
|
633
|
+
note.gainNode.gain
|
|
634
|
+
.cancelScheduledValues(stopTime)
|
|
635
|
+
.linearRampToValueAtTime(0, volEndTime);
|
|
635
636
|
const maxFreq = this.audioContext.sampleRate / 2;
|
|
636
|
-
const baseFreq = this.centToHz(instrumentKey.initialFilterFc);
|
|
637
|
+
const baseFreq = this.centToHz(note.instrumentKey.initialFilterFc);
|
|
637
638
|
const adjustedBaseFreq = Math.min(maxFreq, baseFreq);
|
|
638
|
-
const modEndTime = stopTime +
|
|
639
|
-
|
|
639
|
+
const modEndTime = stopTime +
|
|
640
|
+
note.instrumentKey.modRelease * velocityRate;
|
|
641
|
+
note.filterNode.frequency
|
|
640
642
|
.cancelScheduledValues(stopTime)
|
|
641
643
|
.linearRampToValueAtTime(adjustedBaseFreq, modEndTime);
|
|
642
|
-
|
|
644
|
+
note.ending = true;
|
|
643
645
|
this.scheduleTask(() => {
|
|
644
|
-
bufferSource.loop = false;
|
|
646
|
+
note.bufferSource.loop = false;
|
|
645
647
|
}, stopTime);
|
|
646
648
|
return new Promise((resolve) => {
|
|
647
|
-
bufferSource.onended = () => {
|
|
648
|
-
|
|
649
|
-
bufferSource.disconnect(
|
|
650
|
-
filterNode.disconnect(
|
|
651
|
-
gainNode.disconnect(
|
|
652
|
-
if (modLFOGain)
|
|
653
|
-
modLFOGain.disconnect(
|
|
654
|
-
if (modLFO)
|
|
655
|
-
modLFO.stop();
|
|
649
|
+
note.bufferSource.onended = () => {
|
|
650
|
+
scheduledNotes[i] = null;
|
|
651
|
+
note.bufferSource.disconnect();
|
|
652
|
+
note.filterNode.disconnect();
|
|
653
|
+
note.gainNode.disconnect();
|
|
654
|
+
if (note.modLFOGain)
|
|
655
|
+
note.modLFOGain.disconnect();
|
|
656
|
+
if (note.modLFO)
|
|
657
|
+
note.modLFO.stop();
|
|
656
658
|
resolve();
|
|
657
659
|
};
|
|
658
660
|
bufferSource.stop(volEndTime);
|
|
@@ -718,7 +720,7 @@ class MidyGMLite {
|
|
|
718
720
|
case 1:
|
|
719
721
|
return this.setModulation(channelNumber, value);
|
|
720
722
|
case 6:
|
|
721
|
-
return this.
|
|
723
|
+
return this.dataEntryMSB(channelNumber, value);
|
|
722
724
|
case 7:
|
|
723
725
|
return this.setVolume(channelNumber, value);
|
|
724
726
|
case 10:
|
|
@@ -726,7 +728,7 @@ class MidyGMLite {
|
|
|
726
728
|
case 11:
|
|
727
729
|
return this.setExpression(channelNumber, value);
|
|
728
730
|
case 38:
|
|
729
|
-
return this.
|
|
731
|
+
return this.dataEntryLSB(channelNumber, value);
|
|
730
732
|
case 64:
|
|
731
733
|
return this.setSustainPedal(channelNumber, value);
|
|
732
734
|
case 100:
|
|
@@ -743,22 +745,24 @@ class MidyGMLite {
|
|
|
743
745
|
console.warn(`Unsupported Control change: controller=${controller} value=${value}`);
|
|
744
746
|
}
|
|
745
747
|
}
|
|
746
|
-
|
|
748
|
+
updateModulation(channel) {
|
|
747
749
|
const now = this.audioContext.currentTime;
|
|
748
|
-
const channel = this.channels[channelNumber];
|
|
749
|
-
channel.modulation = (modulation / 127) *
|
|
750
|
-
(channel.modulationDepthRange * 100);
|
|
751
750
|
const activeNotes = this.getActiveNotes(channel, now);
|
|
752
751
|
activeNotes.forEach((activeNote) => {
|
|
753
752
|
if (activeNote.modLFO) {
|
|
754
|
-
|
|
755
|
-
|
|
753
|
+
const { gainNode, instrumentKey } = activeNote;
|
|
754
|
+
gainNode.gain.setValueAtTime(this.cbToRatio(instrumentKey.modLfoToVolume + channel.modulation), now);
|
|
756
755
|
}
|
|
757
756
|
else {
|
|
758
757
|
this.startModulation(channel, activeNote, now);
|
|
759
758
|
}
|
|
760
759
|
});
|
|
761
760
|
}
|
|
761
|
+
setModulation(channelNumber, modulation) {
|
|
762
|
+
const channel = this.channels[channelNumber];
|
|
763
|
+
channel.modulation = (modulation / 127) * channel.modulationDepthRange;
|
|
764
|
+
this.updateModulation(channel);
|
|
765
|
+
}
|
|
762
766
|
setVolume(channelNumber, volume) {
|
|
763
767
|
const channel = this.channels[channelNumber];
|
|
764
768
|
channel.volume = volume / 127;
|
|
@@ -781,6 +785,10 @@ class MidyGMLite {
|
|
|
781
785
|
channel.expression = expression / 127;
|
|
782
786
|
this.updateChannelGain(channel);
|
|
783
787
|
}
|
|
788
|
+
dataEntryLSB(channelNumber, value) {
|
|
789
|
+
this.channels[channelNumber].dataLSB = value;
|
|
790
|
+
this.handleRPN(channelNumber);
|
|
791
|
+
}
|
|
784
792
|
updateChannelGain(channel) {
|
|
785
793
|
const now = this.audioContext.currentTime;
|
|
786
794
|
const volume = channel.volume * channel.expression;
|
|
@@ -804,7 +812,7 @@ class MidyGMLite {
|
|
|
804
812
|
const rpn = channel.rpnMSB * 128 + channel.rpnLSB;
|
|
805
813
|
switch (rpn) {
|
|
806
814
|
case 0:
|
|
807
|
-
this.
|
|
815
|
+
this.handlePitchBendRangeRPN(channelNumber);
|
|
808
816
|
break;
|
|
809
817
|
default:
|
|
810
818
|
console.warn(`Channel ${channelNumber}: Unsupported RPN MSB=${channel.rpnMSB} LSB=${channel.rpnLSB}`);
|
|
@@ -816,9 +824,8 @@ class MidyGMLite {
|
|
|
816
824
|
setRPNLSB(channelNumber, value) {
|
|
817
825
|
this.channels[channelNumber].rpnLSB = value;
|
|
818
826
|
}
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
isMSB ? channel.dataMSB = value : channel.dataLSB = value;
|
|
827
|
+
dataEntryMSB(channelNumber, value) {
|
|
828
|
+
this.channels[channelNumber].dataMSB = value;
|
|
822
829
|
this.handleRPN(channelNumber);
|
|
823
830
|
}
|
|
824
831
|
updateDetune(channel, detuneChange) {
|
|
@@ -832,7 +839,7 @@ class MidyGMLite {
|
|
|
832
839
|
.setValueAtTime(detune, now);
|
|
833
840
|
});
|
|
834
841
|
}
|
|
835
|
-
|
|
842
|
+
handlePitchBendRangeRPN(channelNumber) {
|
|
836
843
|
const channel = this.channels[channelNumber];
|
|
837
844
|
this.limitData(channel, 0, 127, 0, 99);
|
|
838
845
|
const pitchBendRange = channel.dataMSB + channel.dataLSB / 100;
|
|
@@ -971,7 +978,7 @@ Object.defineProperty(MidyGMLite, "channelSettings", {
|
|
|
971
978
|
dataLSB: 0,
|
|
972
979
|
program: 0,
|
|
973
980
|
pitchBend: 0,
|
|
974
|
-
modulationDepthRange: 0.5,
|
|
981
|
+
modulationDepthRange: 0.5, // cb
|
|
975
982
|
}
|
|
976
983
|
});
|
|
977
984
|
Object.defineProperty(MidyGMLite, "effectSettings", {
|
package/script/midy.d.ts
CHANGED
|
@@ -40,7 +40,14 @@ export class Midy {
|
|
|
40
40
|
lfoFilterDepth: number;
|
|
41
41
|
lfoAmplitudeDepth: number;
|
|
42
42
|
};
|
|
43
|
-
constructor(audioContext: any
|
|
43
|
+
constructor(audioContext: any, options?: {
|
|
44
|
+
reverbAlgorithm: (audioContext: any) => {
|
|
45
|
+
input: any;
|
|
46
|
+
output: any;
|
|
47
|
+
dryGain: any;
|
|
48
|
+
wetGain: any;
|
|
49
|
+
};
|
|
50
|
+
});
|
|
44
51
|
ticksPerBeat: number;
|
|
45
52
|
totalTime: number;
|
|
46
53
|
reverbFactor: number;
|
|
@@ -63,69 +70,25 @@ export class Midy {
|
|
|
63
70
|
timeline: any[];
|
|
64
71
|
instruments: any[];
|
|
65
72
|
notePromises: any[];
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
sostenutoNotes: Map<any, any>;
|
|
71
|
-
polyphonicKeyPressure: {
|
|
72
|
-
pitchControl: number;
|
|
73
|
-
filterCutoffControl: number;
|
|
74
|
-
amplitudeControl: number;
|
|
75
|
-
lfoPitchDepth: number;
|
|
76
|
-
lfoFilterDepth: number;
|
|
77
|
-
lfoAmplitudeDepth: number;
|
|
78
|
-
};
|
|
79
|
-
channelPressure: {
|
|
80
|
-
pitchControl: number;
|
|
81
|
-
filterCutoffControl: number;
|
|
82
|
-
amplitudeControl: number;
|
|
83
|
-
lfoPitchDepth: number;
|
|
84
|
-
lfoFilterDepth: number;
|
|
85
|
-
lfoAmplitudeDepth: number;
|
|
86
|
-
};
|
|
87
|
-
gainL: any;
|
|
88
|
-
gainR: any;
|
|
89
|
-
reverbEffect: {
|
|
90
|
-
convolverNode: any;
|
|
73
|
+
defaultOptions: {
|
|
74
|
+
reverbAlgorithm: (audioContext: any) => {
|
|
75
|
+
input: any;
|
|
76
|
+
output: any;
|
|
91
77
|
dryGain: any;
|
|
92
78
|
wetGain: any;
|
|
93
79
|
};
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
80
|
+
};
|
|
81
|
+
audioContext: any;
|
|
82
|
+
options: {
|
|
83
|
+
reverbAlgorithm: (audioContext: any) => {
|
|
84
|
+
input: any;
|
|
85
|
+
output: any;
|
|
86
|
+
dryGain: any;
|
|
87
|
+
wetGain: any;
|
|
99
88
|
};
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
portamento: boolean;
|
|
104
|
-
sostenutoPedal: boolean;
|
|
105
|
-
softPedal: number;
|
|
106
|
-
rpnMSB: number;
|
|
107
|
-
rpnLSB: number;
|
|
108
|
-
pitchBendRange: number;
|
|
109
|
-
currentBufferSource: null;
|
|
110
|
-
volume: number;
|
|
111
|
-
pan: number;
|
|
112
|
-
portamentoTime: number;
|
|
113
|
-
reverb: number;
|
|
114
|
-
chorus: number;
|
|
115
|
-
vibratoRate: number;
|
|
116
|
-
vibratoDepth: number;
|
|
117
|
-
vibratoDelay: number;
|
|
118
|
-
bank: number;
|
|
119
|
-
bankMSB: number;
|
|
120
|
-
bankLSB: number;
|
|
121
|
-
dataMSB: number;
|
|
122
|
-
dataLSB: number;
|
|
123
|
-
program: number;
|
|
124
|
-
pitchBend: number;
|
|
125
|
-
fineTuning: number;
|
|
126
|
-
coarseTuning: number;
|
|
127
|
-
modulationDepthRange: number;
|
|
128
|
-
}[];
|
|
89
|
+
};
|
|
90
|
+
masterGain: any;
|
|
91
|
+
channels: any[];
|
|
129
92
|
initSoundFontTable(): any[];
|
|
130
93
|
addSoundFont(soundFont: any): void;
|
|
131
94
|
loadSoundFont(soundFontUrl: any): Promise<void>;
|
|
@@ -133,8 +96,10 @@ export class Midy {
|
|
|
133
96
|
setChannelAudioNodes(audioContext: any): {
|
|
134
97
|
gainL: any;
|
|
135
98
|
gainR: any;
|
|
99
|
+
merger: any;
|
|
136
100
|
reverbEffect: {
|
|
137
|
-
|
|
101
|
+
input: any;
|
|
102
|
+
output: any;
|
|
138
103
|
dryGain: any;
|
|
139
104
|
wetGain: any;
|
|
140
105
|
};
|
|
@@ -143,69 +108,10 @@ export class Midy {
|
|
|
143
108
|
lfoGain: any;
|
|
144
109
|
delayNodes: any[];
|
|
145
110
|
chorusGains: any[];
|
|
111
|
+
output: any;
|
|
146
112
|
};
|
|
147
113
|
};
|
|
148
|
-
createChannels(audioContext: any):
|
|
149
|
-
scheduledNotes: Map<any, any>;
|
|
150
|
-
sostenutoNotes: Map<any, any>;
|
|
151
|
-
polyphonicKeyPressure: {
|
|
152
|
-
pitchControl: number;
|
|
153
|
-
filterCutoffControl: number;
|
|
154
|
-
amplitudeControl: number;
|
|
155
|
-
lfoPitchDepth: number;
|
|
156
|
-
lfoFilterDepth: number;
|
|
157
|
-
lfoAmplitudeDepth: number;
|
|
158
|
-
};
|
|
159
|
-
channelPressure: {
|
|
160
|
-
pitchControl: number;
|
|
161
|
-
filterCutoffControl: number;
|
|
162
|
-
amplitudeControl: number;
|
|
163
|
-
lfoPitchDepth: number;
|
|
164
|
-
lfoFilterDepth: number;
|
|
165
|
-
lfoAmplitudeDepth: number;
|
|
166
|
-
};
|
|
167
|
-
gainL: any;
|
|
168
|
-
gainR: any;
|
|
169
|
-
reverbEffect: {
|
|
170
|
-
convolverNode: any;
|
|
171
|
-
dryGain: any;
|
|
172
|
-
wetGain: any;
|
|
173
|
-
};
|
|
174
|
-
chorusEffect: {
|
|
175
|
-
lfo: any;
|
|
176
|
-
lfoGain: any;
|
|
177
|
-
delayNodes: any[];
|
|
178
|
-
chorusGains: any[];
|
|
179
|
-
};
|
|
180
|
-
expression: number;
|
|
181
|
-
modulation: number;
|
|
182
|
-
sustainPedal: boolean;
|
|
183
|
-
portamento: boolean;
|
|
184
|
-
sostenutoPedal: boolean;
|
|
185
|
-
softPedal: number;
|
|
186
|
-
rpnMSB: number;
|
|
187
|
-
rpnLSB: number;
|
|
188
|
-
pitchBendRange: number;
|
|
189
|
-
currentBufferSource: null;
|
|
190
|
-
volume: number;
|
|
191
|
-
pan: number;
|
|
192
|
-
portamentoTime: number;
|
|
193
|
-
reverb: number;
|
|
194
|
-
chorus: number;
|
|
195
|
-
vibratoRate: number;
|
|
196
|
-
vibratoDepth: number;
|
|
197
|
-
vibratoDelay: number;
|
|
198
|
-
bank: number;
|
|
199
|
-
bankMSB: number;
|
|
200
|
-
bankLSB: number;
|
|
201
|
-
dataMSB: number;
|
|
202
|
-
dataLSB: number;
|
|
203
|
-
program: number;
|
|
204
|
-
pitchBend: number;
|
|
205
|
-
fineTuning: number;
|
|
206
|
-
coarseTuning: number;
|
|
207
|
-
modulationDepthRange: number;
|
|
208
|
-
}[];
|
|
114
|
+
createChannels(audioContext: any): any[];
|
|
209
115
|
createNoteBuffer(instrumentKey: any, isSF3: any): Promise<any>;
|
|
210
116
|
createNoteBufferNode(instrumentKey: any, isSF3: any): Promise<any>;
|
|
211
117
|
convertToFloat32Array(uint8Array: any): Float32Array;
|
|
@@ -228,8 +134,18 @@ export class Midy {
|
|
|
228
134
|
currentTime(): number;
|
|
229
135
|
getActiveNotes(channel: any, time: any): Map<any, any>;
|
|
230
136
|
getActiveNote(noteList: any, time: any): any;
|
|
231
|
-
|
|
137
|
+
createConvolutionReverb(audioContext: any, options?: {}): {
|
|
138
|
+
input: any;
|
|
139
|
+
output: any;
|
|
140
|
+
dryGain: any;
|
|
141
|
+
wetGain: any;
|
|
232
142
|
convolverNode: any;
|
|
143
|
+
};
|
|
144
|
+
createCombFilter(audioContext: any, input: any, delay: any, feedback: any): any;
|
|
145
|
+
createAllpassFilter(audioContext: any, input: any, delay: any, feedback: any): any;
|
|
146
|
+
createSchroederReverb(audioContext: any, options?: {}): {
|
|
147
|
+
input: any;
|
|
148
|
+
output: any;
|
|
233
149
|
dryGain: any;
|
|
234
150
|
wetGain: any;
|
|
235
151
|
};
|
|
@@ -238,8 +154,9 @@ export class Midy {
|
|
|
238
154
|
lfoGain: any;
|
|
239
155
|
delayNodes: any[];
|
|
240
156
|
chorusGains: any[];
|
|
157
|
+
output: any;
|
|
241
158
|
};
|
|
242
|
-
|
|
159
|
+
connectEffects(channel: any, gainNode: any): void;
|
|
243
160
|
cbToRatio(cb: any): number;
|
|
244
161
|
centToHz(cent: any): number;
|
|
245
162
|
calcSemitoneOffset(channel: any): any;
|
|
@@ -256,14 +173,15 @@ export class Midy {
|
|
|
256
173
|
releaseNote(channelNumber: any, noteNumber: any, velocity: any): Promise<any> | undefined;
|
|
257
174
|
releaseSustainPedal(channelNumber: any, halfVelocity: any): any[];
|
|
258
175
|
releaseSostenutoPedal(channelNumber: any, halfVelocity: any): any[];
|
|
259
|
-
handleMIDIMessage(statusByte: any, data1: any, data2: any): any
|
|
176
|
+
handleMIDIMessage(statusByte: any, data1: any, data2: any): void | any[] | Promise<any>;
|
|
260
177
|
handlePolyphonicKeyPressure(channelNumber: any, noteNumber: any, pressure: any): void;
|
|
261
178
|
handleProgramChange(channelNumber: any, program: any): void;
|
|
262
179
|
handleChannelPressure(channelNumber: any, pressure: any): void;
|
|
263
180
|
handlePitchBendMessage(channelNumber: any, lsb: any, msb: any): void;
|
|
264
181
|
setPitchBend(channelNumber: any, pitchBend: any): void;
|
|
265
|
-
handleControlChange(channelNumber: any, controller: any, value: any): any;
|
|
182
|
+
handleControlChange(channelNumber: any, controller: any, value: any): void | any[];
|
|
266
183
|
setBankMSB(channelNumber: any, msb: any): void;
|
|
184
|
+
updateModulation(channel: any): void;
|
|
267
185
|
setModulation(channelNumber: any, modulation: any): void;
|
|
268
186
|
setPortamentoTime(channelNumber: any, portamentoTime: any): void;
|
|
269
187
|
setVolume(channelNumber: any, volume: any): void;
|
|
@@ -274,11 +192,12 @@ export class Midy {
|
|
|
274
192
|
setPan(channelNumber: any, pan: any): void;
|
|
275
193
|
setExpression(channelNumber: any, expression: any): void;
|
|
276
194
|
setBankLSB(channelNumber: any, lsb: any): void;
|
|
195
|
+
dataEntryLSB(channelNumber: any, value: any): void;
|
|
277
196
|
updateChannelGain(channel: any): void;
|
|
278
197
|
setSustainPedal(channelNumber: any, value: any): void;
|
|
279
198
|
setPortamento(channelNumber: any, value: any): void;
|
|
280
|
-
|
|
281
|
-
|
|
199
|
+
setReverbSendLevel(channelNumber: any, reverb: any): void;
|
|
200
|
+
setChorusSendLevel(channelNumber: any, chorus: any): void;
|
|
282
201
|
setSostenutoPedal(channelNumber: any, value: any): void;
|
|
283
202
|
setSoftPedal(channelNumber: any, softPedal: any): void;
|
|
284
203
|
setVibratoRate(channelNumber: any, vibratoRate: any): void;
|
|
@@ -287,18 +206,20 @@ export class Midy {
|
|
|
287
206
|
limitData(channel: any, minMSB: any, maxMSB: any, minLSB: any, maxLSB: any): void;
|
|
288
207
|
limitDataMSB(channel: any, minMSB: any, maxMSB: any): void;
|
|
289
208
|
handleRPN(channelNumber: any, value: any): void;
|
|
290
|
-
|
|
291
|
-
|
|
209
|
+
dataIncrement(channelNumber: any): void;
|
|
210
|
+
dataDecrement(channelNumber: any): void;
|
|
292
211
|
setRPNMSB(channelNumber: any, value: any): void;
|
|
293
212
|
setRPNLSB(channelNumber: any, value: any): void;
|
|
294
|
-
|
|
213
|
+
dataEntryMSB(channelNumber: any, value: any): void;
|
|
295
214
|
updateDetune(channel: any, detuneChange: any): void;
|
|
296
|
-
|
|
215
|
+
handlePitchBendRangeRPN(channelNumber: any): void;
|
|
297
216
|
setPitchBendRange(channelNumber: any, pitchBendRange: any): void;
|
|
298
|
-
|
|
217
|
+
handleFineTuningRPN(channelNumber: any): void;
|
|
299
218
|
setFineTuning(channelNumber: any, fineTuning: any): void;
|
|
300
|
-
|
|
219
|
+
handleCoarseTuningRPN(channelNumber: any): void;
|
|
301
220
|
setCoarseTuning(channelNumber: any, coarseTuning: any): void;
|
|
221
|
+
handleModulationDepthRangeRPN(channelNumber: any): void;
|
|
222
|
+
setModulationDepthRange(channelNumber: any, modulationDepthRange: any): void;
|
|
302
223
|
allSoundOff(channelNumber: any): any[];
|
|
303
224
|
resetAllControllers(channelNumber: any): void;
|
|
304
225
|
allNotesOff(channelNumber: any): any[];
|
package/script/midy.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"midy.d.ts","sourceRoot":"","sources":["../src/midy.js"],"names":[],"mappings":"AAuBA;IAwBE;;;;;;;;;;;;;;;;;;;;MAoBE;IAEF;;;;;;;;;;;MAWE;IAEF;;;;;;;MAOE;
|
|
1
|
+
{"version":3,"file":"midy.d.ts","sourceRoot":"","sources":["../src/midy.js"],"names":[],"mappings":"AAuBA;IAwBE;;;;;;;;;;;;;;;;;;;;MAoBE;IAEF;;;;;;;;;;;MAWE;IAEF;;;;;;;MAOE;IASF;;;;;;;OAOC;IAjFD,qBAAmB;IACnB,kBAAc;IACd,qBAAmB;IACnB,yBAAqB;IACrB,2BAAuB;IACvB,cAAa;IACb,cAAa;IACb,0BAAwB;IACxB,kBAAc;IACd,mBAAiB;IACjB,kBAAc;IACd,mBAAe;IACf,kBAAgB;IAChB,sBAA2C;IAC3C,mBAAkB;IAClB,mBAAkB;IAClB,kBAAiB;IACjB,oBAAmB;IACnB,mBAAkB;IAClB,gBAAc;IACd,mBAAiB;IACjB,oBAAkB;IA8ClB;;;;;;;MAKE;IAGA,kBAAgC;IAChC;;;;;;;MAAqD;IACrD,gBAA4C;IAE5C,gBAAiD;IAInD,4BAMC;IAED,mCASC;IAED,gDAMC;IAED,sCASC;IAED;;;;;;;;;;;;;;;;;MAkBC;IAED,yCAiBC;IAED,+DAyBC;IAED,mEAWC;IAED,qDAOC;IAED,2EAyDC;IAED,mCAOC;IAED,0BA+CC;IAED,uDAEC;IAED,wDAEC;IAED;;;MAgGC;IAED,4BAsBC;IAED,uBAKC;IAED,aAGC;IAED,cAKC;IAED,wBAIC;IAED,0BAKC;IAED,wBAOC;IAED,sBAGC;IAED,uDASC;IAED,6CAQC;IAED;;;;;;MA4CC;IAED,gFAUC;IAED,mFAYC;IAID;;;;;MAuCC;IAED;;;;;;MAoCC;IAED,kDAuBC;IAED,2BAEC;IAED,4BAEC;IAED,sCAKC;IAED,mFAGC;IAED,iDAiBC;IAED,iDAiCC;IAED,0DAmBC;IAED,uDAcC;IAED,wHAqCC;IAED,gDAQC;IAED,kGAgCC;IAED,0EAGC;IAED,sIAiDC;IAED,0FAGC;IAED,kEAeC;IAED,oEAYC;IAED,wFAqBC;IAED,sFAcC;IAED,4DAIC;IAED,+DAcC;IAED,qEAGC;IAED,uDAOC;IAED,mFAkEC;IAED,+CAEC;IAED,qCAcC;IAED,yDAIC;IAED,iEAEC;IAED,iDAIC;IAED;;;MAMC;IAED,2CAIC;IAED,yDAIC;IAED,+CAEC;IAED,mDAGC;IAED,sCAUC;IAED,sDAMC;IAED,oDAEC;IAED,0DASC;IAED,0DAIC;IAED,wDAWC;IAED,uDAGC;IAED,2DAGC;IAED,6DAGC;IAED,6DASC;IAED,kFAeC;IAED,2DAMC;IAED,gDAyBC;IAED,wCAEC;IAED,wCAEC;IAED,gDAEC;IAED,gDAEC;IAED,mDAGC;IAED,oDAUC;IAED,kDAKC;IAED,iEAOC;IAED,8CAKC;IAED,yDAMC;IAED,gDAKC;IAED,6DAMC;IAED,wDAKC;IAED,6EAKC;IAED,uCAoBC;IAED,8CAEC;IAED,uCAoBC;IAED,gBAEC;IAED,eAEC;IAED,eAEC;IAED,eAEC;IAED,4DAmBC;IAED,oBAQC;IAED,oBAQC;IAED,yDAgDC;IAED,yCAGC;IAED,mCAQC;IAED,6CAGC;IAED,2CAMC;IAED,+CAGC;IAED,+CAMC;IAED,wCAEC;IAED,6BASC;IAED,0DAUC;CACF;AA5nDD;IASE,gFAKC;IAbD,kBAAa;IACb,cAAS;IACT,gBAAW;IACX,YAAO;IACP,gBAAW;IACX,YAAO;IACP,gBAAW;IAGT,gBAA4B;IAC5B,cAAwB;IACxB,eAA0B;IAC1B,mBAAkC;CAErC"}
|