@marmooo/midy 0.2.3 → 0.2.4
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 +2 -1
- package/esm/midy-GM1.d.ts.map +1 -1
- package/esm/midy-GM1.js +16 -13
- package/esm/midy-GM2.d.ts +12 -19
- package/esm/midy-GM2.d.ts.map +1 -1
- package/esm/midy-GM2.js +78 -108
- package/esm/midy-GMLite.d.ts +3 -2
- package/esm/midy-GMLite.d.ts.map +1 -1
- package/esm/midy-GMLite.js +18 -13
- package/esm/midy.d.ts +14 -18
- package/esm/midy.d.ts.map +1 -1
- package/esm/midy.js +158 -105
- package/package.json +1 -1
- package/script/midy-GM1.d.ts +2 -1
- package/script/midy-GM1.d.ts.map +1 -1
- package/script/midy-GM1.js +16 -13
- package/script/midy-GM2.d.ts +12 -19
- package/script/midy-GM2.d.ts.map +1 -1
- package/script/midy-GM2.js +78 -108
- package/script/midy-GMLite.d.ts +3 -2
- package/script/midy-GMLite.d.ts.map +1 -1
- package/script/midy-GMLite.js +18 -13
- package/script/midy.d.ts +14 -18
- package/script/midy.d.ts.map +1 -1
- package/script/midy.js +158 -105
package/esm/midy-GMLite.d.ts
CHANGED
|
@@ -94,7 +94,8 @@ export class MidyGMLite {
|
|
|
94
94
|
centToRate(cent: any): number;
|
|
95
95
|
centToHz(cent: any): number;
|
|
96
96
|
calcChannelDetune(channel: any): number;
|
|
97
|
-
|
|
97
|
+
updateChannelDetune(channel: any): void;
|
|
98
|
+
updateDetune(channel: any, note: any): void;
|
|
98
99
|
setVolumeEnvelope(note: any): void;
|
|
99
100
|
setPitchEnvelope(note: any): void;
|
|
100
101
|
clampCutoffFrequency(frequency: any): number;
|
|
@@ -163,7 +164,7 @@ export class MidyGMLite {
|
|
|
163
164
|
setRPNLSB(channelNumber: any, value: any): void;
|
|
164
165
|
dataEntryMSB(channelNumber: any, value: any): void;
|
|
165
166
|
handlePitchBendRangeRPN(channelNumber: any): void;
|
|
166
|
-
setPitchBendRange(channelNumber: any,
|
|
167
|
+
setPitchBendRange(channelNumber: any, value: any): void;
|
|
167
168
|
allSoundOff(channelNumber: any): Promise<void>;
|
|
168
169
|
resetAllControllers(channelNumber: any): void;
|
|
169
170
|
allNotesOff(channelNumber: any): Promise<void>;
|
package/esm/midy-GMLite.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"midy-GMLite.d.ts","sourceRoot":"","sources":["../src/midy-GMLite.js"],"names":[],"mappings":"AAmFA;IAoBE;;;;;;;;;MASE;IAEF,+BAQC;IAtCD,qBAAmB;IACnB,kBAAc;IACd,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;IAClB,iCAA8B;IAc5B,kBAAgC;IAChC,kBAA8C;IAC9C;;;;;;;;;;;MAA2D;IAC3D;;;;;;;;;;;;;MAA+D;IAC/D,gBAAiD;IAKnD,4BAMC;IAED,mCAWC;IAED,gDAMC;IAED,sCASC;IAED;;;;MAeC;IAED,yCAUC;IAED,6DA2BC;IAED,iEAUC;IAED,2EA+CC;IAED,mCAOC;IAED,0BAkDC;IAED,uDAEC;IAED,wDAEC;IAED;;;MAgEC;IAED,+EAmBC;IAED,qDAKC;IAED,uBAKC;IAED,aAGC;IAED,cAKC;IAED,wBAIC;IAED,0BAKC;IAED,wBAOC;IAED,sBAGC;IAED,uDASC;IAED,6CAQC;IAED,2BAEC;IAED,8BAEC;IAED,8BAEC;IAED,4BAEC;IAED,wCAIC;IAED,
|
|
1
|
+
{"version":3,"file":"midy-GMLite.d.ts","sourceRoot":"","sources":["../src/midy-GMLite.js"],"names":[],"mappings":"AAmFA;IAoBE;;;;;;;;;MASE;IAEF,+BAQC;IAtCD,qBAAmB;IACnB,kBAAc;IACd,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;IAClB,iCAA8B;IAc5B,kBAAgC;IAChC,kBAA8C;IAC9C;;;;;;;;;;;MAA2D;IAC3D;;;;;;;;;;;;;MAA+D;IAC/D,gBAAiD;IAKnD,4BAMC;IAED,mCAWC;IAED,gDAMC;IAED,sCASC;IAED;;;;MAeC;IAED,yCAUC;IAED,6DA2BC;IAED,iEAUC;IAED,2EA+CC;IAED,mCAOC;IAED,0BAkDC;IAED,uDAEC;IAED,wDAEC;IAED;;;MAgEC;IAED,+EAmBC;IAED,qDAKC;IAED,uBAKC;IAED,aAGC;IAED,cAKC;IAED,wBAIC;IAED,0BAKC;IAED,wBAOC;IAED,sBAGC;IAED,uDASC;IAED,6CAQC;IAED,2BAEC;IAED,8BAEC;IAED,8BAEC;IAED,4BAEC;IAED,wCAIC;IAED,wCAQC;IAED,4CAKC;IAED,mCAgBC;IAED,kCAqBC;IAED,6CAIC;IAED,mCAuBC;IAED,+DAoBC;IAED,gHA2BC;IAED,kGAgDC;IAED,0EAGC;IAED,qFAwBC;IAED,6HAuBC;IAED,0FAGC;IAED,kEAeC;IAED,gFAiBC;IAED,4DAGC;IAED,qEAGC;IAED,mDASC;IAED,gDASC;IAED,qCAMC;IAED,mCAQC;IAED,gCAOC;IAED,+BAMC;IAED;;;;;;;;;;;MAqBC;IAED,oFAMC;IAED,0DA6CC;IAED;;;;;;;;;;;;;MAeC;IAED,+EAWC;IAED,qCAeC;IAED,8DAIC;IACD,iDAIC;IAED;;;MAMC;IAED,2CAIC;IAED,yDAIC;IAED,mDAGC;IAED,wCAWC;IAED,sDAKC;IAED,kFAeC;IAED,oCAYC;IAED,gDAEC;IAED,gDAEC;IAED,mDAGC;IAED,kDAKC;IAED,wDASC;IAED,+CAEC;IAED,8CAqBC;IAED,+CAEC;IAED,4DAgBC;IAED,oBAMC;IAED,yDAaC;IAED,yCAGC;IAED,mCAQC;IAED,wCAEC;IAED,6BASC;IAED,0DAUC;CACF;AA1tCD;IAQE,0FAMC;IAbD,kBAAa;IACb,gBAAW;IACX,wBAAmB;IACnB,iBAAY;IACZ,mBAAc;IACd,qBAAgB;IAGd,gBAA4B;IAC5B,cAAwB;IACxB,eAA0B;IAC1B,WAAkB;IAClB,iBAA8B;CAEjC"}
|
package/esm/midy-GMLite.js
CHANGED
|
@@ -595,19 +595,22 @@ export class MidyGMLite {
|
|
|
595
595
|
const pitchWheelSensitivity = channel.state.pitchWheelSensitivity * 12800;
|
|
596
596
|
return pitchWheel * pitchWheelSensitivity;
|
|
597
597
|
}
|
|
598
|
-
|
|
599
|
-
const now = this.audioContext.currentTime;
|
|
598
|
+
updateChannelDetune(channel) {
|
|
600
599
|
channel.scheduledNotes.forEach((noteList) => {
|
|
601
600
|
for (let i = 0; i < noteList.length; i++) {
|
|
602
601
|
const note = noteList[i];
|
|
603
602
|
if (!note)
|
|
604
603
|
continue;
|
|
605
|
-
note
|
|
606
|
-
.cancelScheduledValues(now)
|
|
607
|
-
.setValueAtTime(channel.detune, now);
|
|
604
|
+
this.updateDetune(channel, note);
|
|
608
605
|
}
|
|
609
606
|
});
|
|
610
607
|
}
|
|
608
|
+
updateDetune(channel, note) {
|
|
609
|
+
const now = this.audioContext.currentTime;
|
|
610
|
+
note.bufferSource.detune
|
|
611
|
+
.cancelScheduledValues(now)
|
|
612
|
+
.setValueAtTime(channel.detune, now);
|
|
613
|
+
}
|
|
611
614
|
setVolumeEnvelope(note) {
|
|
612
615
|
const now = this.audioContext.currentTime;
|
|
613
616
|
const { voiceParams, startTime } = note;
|
|
@@ -856,7 +859,7 @@ export class MidyGMLite {
|
|
|
856
859
|
const next = (value - 8192) / 8192;
|
|
857
860
|
state.pitchWheel = value / 16383;
|
|
858
861
|
channel.detune += (next - prev) * state.pitchWheelSensitivity * 12800;
|
|
859
|
-
this.
|
|
862
|
+
this.updateChannelDetune(channel);
|
|
860
863
|
this.applyVoiceParams(channel, 14);
|
|
861
864
|
}
|
|
862
865
|
setModLfoToPitch(channel, note) {
|
|
@@ -960,7 +963,7 @@ export class MidyGMLite {
|
|
|
960
963
|
if (key in voiceParams)
|
|
961
964
|
noteVoiceParams[key] = voiceParams[key];
|
|
962
965
|
}
|
|
963
|
-
this.setFilterEnvelope(
|
|
966
|
+
this.setFilterEnvelope(note);
|
|
964
967
|
this.setPitchEnvelope(note);
|
|
965
968
|
}
|
|
966
969
|
else if (volumeEnvelopeKeySet.has(key)) {
|
|
@@ -1000,7 +1003,7 @@ export class MidyGMLite {
|
|
|
1000
1003
|
if (handler) {
|
|
1001
1004
|
handler.call(this, channelNumber, value);
|
|
1002
1005
|
const channel = this.channels[channelNumber];
|
|
1003
|
-
this.applyVoiceParams(channel,
|
|
1006
|
+
this.applyVoiceParams(channel, controllerType + 128);
|
|
1004
1007
|
}
|
|
1005
1008
|
else {
|
|
1006
1009
|
console.warn(`Unsupported Control change: controllerType=${controllerType} value=${value}`);
|
|
@@ -1118,12 +1121,14 @@ export class MidyGMLite {
|
|
|
1118
1121
|
const pitchBendRange = channel.dataMSB + channel.dataLSB / 100;
|
|
1119
1122
|
this.setPitchBendRange(channelNumber, pitchBendRange);
|
|
1120
1123
|
}
|
|
1121
|
-
setPitchBendRange(channelNumber,
|
|
1124
|
+
setPitchBendRange(channelNumber, value) {
|
|
1122
1125
|
const channel = this.channels[channelNumber];
|
|
1123
1126
|
const state = channel.state;
|
|
1124
|
-
|
|
1125
|
-
const
|
|
1126
|
-
|
|
1127
|
+
const prev = state.pitchWheelSensitivity;
|
|
1128
|
+
const next = value / 128;
|
|
1129
|
+
state.pitchWheelSensitivity = next;
|
|
1130
|
+
channel.detune += (state.pitchWheel * 2 - 1) * (next - prev) * 12800;
|
|
1131
|
+
this.updateChannelDetune(channel);
|
|
1127
1132
|
this.applyVoiceParams(channel, 16);
|
|
1128
1133
|
}
|
|
1129
1134
|
allSoundOff(channelNumber) {
|
|
@@ -1140,7 +1145,7 @@ export class MidyGMLite {
|
|
|
1140
1145
|
const state = channel.state;
|
|
1141
1146
|
for (let i = 0; i < stateTypes.length; i++) {
|
|
1142
1147
|
const type = stateTypes[i];
|
|
1143
|
-
state[type] = defaultControllerState[type];
|
|
1148
|
+
state[type] = defaultControllerState[type].defaultValue;
|
|
1144
1149
|
}
|
|
1145
1150
|
const settingTypes = [
|
|
1146
1151
|
"rpnMSB",
|
package/esm/midy.d.ts
CHANGED
|
@@ -3,7 +3,8 @@ export class Midy {
|
|
|
3
3
|
currentBufferSource: null;
|
|
4
4
|
detune: number;
|
|
5
5
|
scaleOctaveTuningTable: any[];
|
|
6
|
-
|
|
6
|
+
channelPressureTable: Uint8Array<ArrayBuffer>;
|
|
7
|
+
polyphonicKeyPressureTable: Uint8Array<ArrayBuffer>;
|
|
7
8
|
keyBasedInstrumentControlTable: Int8Array<ArrayBuffer>;
|
|
8
9
|
program: number;
|
|
9
10
|
bank: number;
|
|
@@ -17,14 +18,6 @@ export class Midy {
|
|
|
17
18
|
coarseTuning: number;
|
|
18
19
|
modulationDepthRange: number;
|
|
19
20
|
};
|
|
20
|
-
static controllerDestinationSettings: {
|
|
21
|
-
pitchControl: number;
|
|
22
|
-
filterCutoffControl: number;
|
|
23
|
-
amplitudeControl: number;
|
|
24
|
-
lfoPitchDepth: number;
|
|
25
|
-
lfoFilterDepth: number;
|
|
26
|
-
lfoAmplitudeDepth: number;
|
|
27
|
-
};
|
|
28
21
|
constructor(audioContext: any, options?: {
|
|
29
22
|
reverbAlgorithm: (audioContext: any) => {
|
|
30
23
|
input: any;
|
|
@@ -201,14 +194,15 @@ export class Midy {
|
|
|
201
194
|
centToHz(cent: any): number;
|
|
202
195
|
calcChannelDetune(channel: any): any;
|
|
203
196
|
calcNoteDetune(channel: any, note: any): any;
|
|
204
|
-
|
|
197
|
+
updateChannelDetune(channel: any): void;
|
|
198
|
+
updateDetune(channel: any, note: any, pressure: any): void;
|
|
205
199
|
getPortamentoTime(channel: any): number;
|
|
206
200
|
setPortamentoStartVolumeEnvelope(channel: any, note: any): void;
|
|
207
|
-
setVolumeEnvelope(channel: any, note: any): void;
|
|
201
|
+
setVolumeEnvelope(channel: any, note: any, pressure: any): void;
|
|
208
202
|
setPitchEnvelope(note: any): void;
|
|
209
203
|
clampCutoffFrequency(frequency: any): number;
|
|
210
204
|
setPortamentoStartFilterEnvelope(channel: any, note: any): void;
|
|
211
|
-
setFilterEnvelope(channel: any, note: any): void;
|
|
205
|
+
setFilterEnvelope(channel: any, note: any, pressure: any): void;
|
|
212
206
|
startModulation(channel: any, note: any, startTime: any): void;
|
|
213
207
|
startVibrato(channel: any, note: any, startTime: any): void;
|
|
214
208
|
createNote(channel: any, voice: any, noteNumber: any, velocity: any, startTime: any, portamento: any, isSF3: any): Promise<Note>;
|
|
@@ -226,14 +220,15 @@ export class Midy {
|
|
|
226
220
|
handleChannelPressure(channelNumber: any, value: any): void;
|
|
227
221
|
handlePitchBendMessage(channelNumber: any, lsb: any, msb: any): void;
|
|
228
222
|
setPitchBend(channelNumber: any, value: any): void;
|
|
229
|
-
setModLfoToPitch(channel: any, note: any): void;
|
|
223
|
+
setModLfoToPitch(channel: any, note: any, pressure: any): void;
|
|
230
224
|
setVibLfoToPitch(channel: any, note: any): void;
|
|
231
|
-
setModLfoToFilterFc(
|
|
232
|
-
setModLfoToVolume(
|
|
225
|
+
setModLfoToFilterFc(note: any, pressure: any): void;
|
|
226
|
+
setModLfoToVolume(note: any, pressure: any): void;
|
|
233
227
|
setReverbEffectsSend(channel: any, note: any, prevValue: any): void;
|
|
234
228
|
setChorusEffectsSend(channel: any, note: any, prevValue: any): void;
|
|
235
229
|
setDelayModLFO(note: any): void;
|
|
236
230
|
setFreqModLFO(note: any): void;
|
|
231
|
+
setFreqVibLFO(channel: any, note: any): void;
|
|
237
232
|
createVoiceParamsHandlers(): {
|
|
238
233
|
modLfoToPitch: (channel: any, note: any, _prevValue: any) => void;
|
|
239
234
|
vibLfoToPitch: (channel: any, note: any, _prevValue: any) => void;
|
|
@@ -341,7 +336,7 @@ export class Midy {
|
|
|
341
336
|
handleUniversalNonRealTimeExclusiveMessage(data: any): void;
|
|
342
337
|
GM1SystemOn(): void;
|
|
343
338
|
GM2SystemOn(): void;
|
|
344
|
-
handleUniversalRealTimeExclusiveMessage(data: any):
|
|
339
|
+
handleUniversalRealTimeExclusiveMessage(data: any): any;
|
|
345
340
|
handleMasterVolumeSysEx(data: any): void;
|
|
346
341
|
setMasterVolume(volume: any): void;
|
|
347
342
|
handleMasterFineTuningSysEx(data: any): void;
|
|
@@ -369,14 +364,14 @@ export class Midy {
|
|
|
369
364
|
getChannelBitmap(data: any): any[];
|
|
370
365
|
handleScaleOctaveTuning1ByteFormatSysEx(data: any): void;
|
|
371
366
|
applyDestinationSettings(channel: any, note: any, table: any): void;
|
|
372
|
-
handleChannelPressureSysEx(data: any): void;
|
|
367
|
+
handleChannelPressureSysEx(data: any, tableName: any): void;
|
|
373
368
|
initControlTable(): Uint8Array<ArrayBuffer>;
|
|
374
369
|
applyControlTable(channel: any, controllerType: any): void;
|
|
375
370
|
handleControlChangeSysEx(data: any): void;
|
|
376
371
|
getKeyBasedInstrumentControlValue(channel: any, keyNumber: any, controllerType: any): number;
|
|
377
372
|
handleKeyBasedInstrumentControlSysEx(data: any): void;
|
|
378
373
|
handleExclusiveMessage(data: any): void;
|
|
379
|
-
handleSysEx(data: any):
|
|
374
|
+
handleSysEx(data: any): any;
|
|
380
375
|
scheduleTask(callback: any, startTime: any): Promise<any>;
|
|
381
376
|
}
|
|
382
377
|
declare class Note {
|
|
@@ -395,6 +390,7 @@ declare class Note {
|
|
|
395
390
|
reverbEffectsSend: any;
|
|
396
391
|
chorusEffectsSend: any;
|
|
397
392
|
portamento: any;
|
|
393
|
+
pressure: number;
|
|
398
394
|
noteNumber: any;
|
|
399
395
|
velocity: any;
|
|
400
396
|
startTime: any;
|
package/esm/midy.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"midy.d.ts","sourceRoot":"","sources":["../src/midy.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"midy.d.ts","sourceRoot":"","sources":["../src/midy.js"],"names":[],"mappings":"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"}
|