@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/esm/midy-GMLite.js
CHANGED
|
@@ -183,23 +183,23 @@ export class MidyGMLite {
|
|
|
183
183
|
this.totalTime = this.calcTotalTime();
|
|
184
184
|
}
|
|
185
185
|
setChannelAudioNodes(audioContext) {
|
|
186
|
-
const { gainLeft, gainRight } = this.panToGain(
|
|
186
|
+
const { gainLeft, gainRight } = this.panToGain(this.constructor.channelSettings.pan);
|
|
187
187
|
const gainL = new GainNode(audioContext, { gain: gainLeft });
|
|
188
188
|
const gainR = new GainNode(audioContext, { gain: gainRight });
|
|
189
189
|
const merger = new ChannelMergerNode(audioContext, { numberOfInputs: 2 });
|
|
190
190
|
gainL.connect(merger, 0, 0);
|
|
191
191
|
gainR.connect(merger, 0, 1);
|
|
192
|
-
merger.connect(this.masterGain);
|
|
193
192
|
return {
|
|
194
193
|
gainL,
|
|
195
194
|
gainR,
|
|
195
|
+
merger,
|
|
196
196
|
};
|
|
197
197
|
}
|
|
198
198
|
createChannels(audioContext) {
|
|
199
199
|
const channels = Array.from({ length: 16 }, () => {
|
|
200
200
|
return {
|
|
201
|
-
...
|
|
202
|
-
...
|
|
201
|
+
...this.constructor.channelSettings,
|
|
202
|
+
...this.constructor.effectSettings,
|
|
203
203
|
...this.setChannelAudioNodes(audioContext),
|
|
204
204
|
scheduledNotes: new Map(),
|
|
205
205
|
};
|
|
@@ -491,9 +491,9 @@ export class MidyGMLite {
|
|
|
491
491
|
}
|
|
492
492
|
return noteList[0];
|
|
493
493
|
}
|
|
494
|
-
|
|
495
|
-
gainNode.connect(channel.
|
|
496
|
-
|
|
494
|
+
connectEffects(channel, gainNode) {
|
|
495
|
+
gainNode.connect(channel.merger);
|
|
496
|
+
merger.connect(this.masterGain);
|
|
497
497
|
}
|
|
498
498
|
cbToRatio(cb) {
|
|
499
499
|
return Math.pow(10, cb / 200);
|
|
@@ -559,7 +559,7 @@ export class MidyGMLite {
|
|
|
559
559
|
startModulation(channel, note, time) {
|
|
560
560
|
const { instrumentKey } = note;
|
|
561
561
|
note.modLFOGain = new GainNode(this.audioContext, {
|
|
562
|
-
gain: this.cbToRatio(instrumentKey.modLfoToVolume
|
|
562
|
+
gain: this.cbToRatio(instrumentKey.modLfoToVolume + channel.modulation),
|
|
563
563
|
});
|
|
564
564
|
note.modLFO = new OscillatorNode(this.audioContext, {
|
|
565
565
|
frequency: this.centToHz(instrumentKey.freqModLFO),
|
|
@@ -598,7 +598,7 @@ export class MidyGMLite {
|
|
|
598
598
|
if (!instrumentKey)
|
|
599
599
|
return;
|
|
600
600
|
const note = await this.createNote(channel, instrumentKey, noteNumber, velocity, startTime, isSF3);
|
|
601
|
-
this.
|
|
601
|
+
this.connectEffects(channel, note.gainNode);
|
|
602
602
|
const scheduledNotes = channel.scheduledNotes;
|
|
603
603
|
if (scheduledNotes.has(noteNumber)) {
|
|
604
604
|
scheduledNotes.get(noteNumber).push(note);
|
|
@@ -617,39 +617,41 @@ export class MidyGMLite {
|
|
|
617
617
|
return;
|
|
618
618
|
if (!channel.scheduledNotes.has(noteNumber))
|
|
619
619
|
return;
|
|
620
|
-
const
|
|
621
|
-
for (let i = 0; i <
|
|
622
|
-
const
|
|
623
|
-
if (!
|
|
620
|
+
const scheduledNotes = channel.scheduledNotes.get(noteNumber);
|
|
621
|
+
for (let i = 0; i < scheduledNotes.length; i++) {
|
|
622
|
+
const note = scheduledNotes[i];
|
|
623
|
+
if (!note)
|
|
624
624
|
continue;
|
|
625
|
-
if (
|
|
625
|
+
if (note.ending)
|
|
626
626
|
continue;
|
|
627
|
-
const { bufferSource, filterNode, gainNode, modLFO, modLFOGain, instrumentKey, } = targetNote;
|
|
628
627
|
const velocityRate = (velocity + 127) / 127;
|
|
629
|
-
const volEndTime = stopTime +
|
|
630
|
-
|
|
631
|
-
gainNode.gain
|
|
628
|
+
const volEndTime = stopTime +
|
|
629
|
+
note.instrumentKey.volRelease * velocityRate;
|
|
630
|
+
note.gainNode.gain
|
|
631
|
+
.cancelScheduledValues(stopTime)
|
|
632
|
+
.linearRampToValueAtTime(0, volEndTime);
|
|
632
633
|
const maxFreq = this.audioContext.sampleRate / 2;
|
|
633
|
-
const baseFreq = this.centToHz(instrumentKey.initialFilterFc);
|
|
634
|
+
const baseFreq = this.centToHz(note.instrumentKey.initialFilterFc);
|
|
634
635
|
const adjustedBaseFreq = Math.min(maxFreq, baseFreq);
|
|
635
|
-
const modEndTime = stopTime +
|
|
636
|
-
|
|
636
|
+
const modEndTime = stopTime +
|
|
637
|
+
note.instrumentKey.modRelease * velocityRate;
|
|
638
|
+
note.filterNode.frequency
|
|
637
639
|
.cancelScheduledValues(stopTime)
|
|
638
640
|
.linearRampToValueAtTime(adjustedBaseFreq, modEndTime);
|
|
639
|
-
|
|
641
|
+
note.ending = true;
|
|
640
642
|
this.scheduleTask(() => {
|
|
641
|
-
bufferSource.loop = false;
|
|
643
|
+
note.bufferSource.loop = false;
|
|
642
644
|
}, stopTime);
|
|
643
645
|
return new Promise((resolve) => {
|
|
644
|
-
bufferSource.onended = () => {
|
|
645
|
-
|
|
646
|
-
bufferSource.disconnect(
|
|
647
|
-
filterNode.disconnect(
|
|
648
|
-
gainNode.disconnect(
|
|
649
|
-
if (modLFOGain)
|
|
650
|
-
modLFOGain.disconnect(
|
|
651
|
-
if (modLFO)
|
|
652
|
-
modLFO.stop();
|
|
646
|
+
note.bufferSource.onended = () => {
|
|
647
|
+
scheduledNotes[i] = null;
|
|
648
|
+
note.bufferSource.disconnect();
|
|
649
|
+
note.filterNode.disconnect();
|
|
650
|
+
note.gainNode.disconnect();
|
|
651
|
+
if (note.modLFOGain)
|
|
652
|
+
note.modLFOGain.disconnect();
|
|
653
|
+
if (note.modLFO)
|
|
654
|
+
note.modLFO.stop();
|
|
653
655
|
resolve();
|
|
654
656
|
};
|
|
655
657
|
bufferSource.stop(volEndTime);
|
|
@@ -715,7 +717,7 @@ export class MidyGMLite {
|
|
|
715
717
|
case 1:
|
|
716
718
|
return this.setModulation(channelNumber, value);
|
|
717
719
|
case 6:
|
|
718
|
-
return this.
|
|
720
|
+
return this.dataEntryMSB(channelNumber, value);
|
|
719
721
|
case 7:
|
|
720
722
|
return this.setVolume(channelNumber, value);
|
|
721
723
|
case 10:
|
|
@@ -723,7 +725,7 @@ export class MidyGMLite {
|
|
|
723
725
|
case 11:
|
|
724
726
|
return this.setExpression(channelNumber, value);
|
|
725
727
|
case 38:
|
|
726
|
-
return this.
|
|
728
|
+
return this.dataEntryLSB(channelNumber, value);
|
|
727
729
|
case 64:
|
|
728
730
|
return this.setSustainPedal(channelNumber, value);
|
|
729
731
|
case 100:
|
|
@@ -740,22 +742,24 @@ export class MidyGMLite {
|
|
|
740
742
|
console.warn(`Unsupported Control change: controller=${controller} value=${value}`);
|
|
741
743
|
}
|
|
742
744
|
}
|
|
743
|
-
|
|
745
|
+
updateModulation(channel) {
|
|
744
746
|
const now = this.audioContext.currentTime;
|
|
745
|
-
const channel = this.channels[channelNumber];
|
|
746
|
-
channel.modulation = (modulation / 127) *
|
|
747
|
-
(channel.modulationDepthRange * 100);
|
|
748
747
|
const activeNotes = this.getActiveNotes(channel, now);
|
|
749
748
|
activeNotes.forEach((activeNote) => {
|
|
750
749
|
if (activeNote.modLFO) {
|
|
751
|
-
|
|
752
|
-
|
|
750
|
+
const { gainNode, instrumentKey } = activeNote;
|
|
751
|
+
gainNode.gain.setValueAtTime(this.cbToRatio(instrumentKey.modLfoToVolume + channel.modulation), now);
|
|
753
752
|
}
|
|
754
753
|
else {
|
|
755
754
|
this.startModulation(channel, activeNote, now);
|
|
756
755
|
}
|
|
757
756
|
});
|
|
758
757
|
}
|
|
758
|
+
setModulation(channelNumber, modulation) {
|
|
759
|
+
const channel = this.channels[channelNumber];
|
|
760
|
+
channel.modulation = (modulation / 127) * channel.modulationDepthRange;
|
|
761
|
+
this.updateModulation(channel);
|
|
762
|
+
}
|
|
759
763
|
setVolume(channelNumber, volume) {
|
|
760
764
|
const channel = this.channels[channelNumber];
|
|
761
765
|
channel.volume = volume / 127;
|
|
@@ -778,6 +782,10 @@ export class MidyGMLite {
|
|
|
778
782
|
channel.expression = expression / 127;
|
|
779
783
|
this.updateChannelGain(channel);
|
|
780
784
|
}
|
|
785
|
+
dataEntryLSB(channelNumber, value) {
|
|
786
|
+
this.channels[channelNumber].dataLSB = value;
|
|
787
|
+
this.handleRPN(channelNumber);
|
|
788
|
+
}
|
|
781
789
|
updateChannelGain(channel) {
|
|
782
790
|
const now = this.audioContext.currentTime;
|
|
783
791
|
const volume = channel.volume * channel.expression;
|
|
@@ -801,7 +809,7 @@ export class MidyGMLite {
|
|
|
801
809
|
const rpn = channel.rpnMSB * 128 + channel.rpnLSB;
|
|
802
810
|
switch (rpn) {
|
|
803
811
|
case 0:
|
|
804
|
-
this.
|
|
812
|
+
this.handlePitchBendRangeRPN(channelNumber);
|
|
805
813
|
break;
|
|
806
814
|
default:
|
|
807
815
|
console.warn(`Channel ${channelNumber}: Unsupported RPN MSB=${channel.rpnMSB} LSB=${channel.rpnLSB}`);
|
|
@@ -813,9 +821,8 @@ export class MidyGMLite {
|
|
|
813
821
|
setRPNLSB(channelNumber, value) {
|
|
814
822
|
this.channels[channelNumber].rpnLSB = value;
|
|
815
823
|
}
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
isMSB ? channel.dataMSB = value : channel.dataLSB = value;
|
|
824
|
+
dataEntryMSB(channelNumber, value) {
|
|
825
|
+
this.channels[channelNumber].dataMSB = value;
|
|
819
826
|
this.handleRPN(channelNumber);
|
|
820
827
|
}
|
|
821
828
|
updateDetune(channel, detuneChange) {
|
|
@@ -829,7 +836,7 @@ export class MidyGMLite {
|
|
|
829
836
|
.setValueAtTime(detune, now);
|
|
830
837
|
});
|
|
831
838
|
}
|
|
832
|
-
|
|
839
|
+
handlePitchBendRangeRPN(channelNumber) {
|
|
833
840
|
const channel = this.channels[channelNumber];
|
|
834
841
|
this.limitData(channel, 0, 127, 0, 99);
|
|
835
842
|
const pitchBendRange = channel.dataMSB + channel.dataLSB / 100;
|
|
@@ -967,7 +974,7 @@ Object.defineProperty(MidyGMLite, "channelSettings", {
|
|
|
967
974
|
dataLSB: 0,
|
|
968
975
|
program: 0,
|
|
969
976
|
pitchBend: 0,
|
|
970
|
-
modulationDepthRange: 0.5,
|
|
977
|
+
modulationDepthRange: 0.5, // cb
|
|
971
978
|
}
|
|
972
979
|
});
|
|
973
980
|
Object.defineProperty(MidyGMLite, "effectSettings", {
|
package/esm/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/esm/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"}
|