@marmooo/midy 0.3.3 → 0.3.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 +3 -3
- package/esm/midy-GM1.d.ts.map +1 -1
- package/esm/midy-GM1.js +47 -50
- package/esm/midy-GM2.d.ts +13 -31
- package/esm/midy-GM2.d.ts.map +1 -1
- package/esm/midy-GM2.js +185 -206
- package/esm/midy-GMLite.d.ts +3 -3
- package/esm/midy-GMLite.d.ts.map +1 -1
- package/esm/midy-GMLite.js +47 -50
- package/esm/midy.d.ts +14 -31
- package/esm/midy.d.ts.map +1 -1
- package/esm/midy.js +225 -225
- package/package.json +1 -1
- package/script/midy-GM1.d.ts +3 -3
- package/script/midy-GM1.d.ts.map +1 -1
- package/script/midy-GM1.js +47 -50
- package/script/midy-GM2.d.ts +13 -31
- package/script/midy-GM2.d.ts.map +1 -1
- package/script/midy-GM2.js +185 -206
- package/script/midy-GMLite.d.ts +3 -3
- package/script/midy-GMLite.d.ts.map +1 -1
- package/script/midy-GMLite.js +47 -50
- package/script/midy.d.ts +14 -31
- package/script/midy.d.ts.map +1 -1
- package/script/midy.js +225 -225
package/esm/midy-GMLite.d.ts
CHANGED
|
@@ -55,7 +55,7 @@ export class MidyGMLite {
|
|
|
55
55
|
addSoundFont(soundFont: any): void;
|
|
56
56
|
loadSoundFont(input: any): Promise<void>;
|
|
57
57
|
loadMIDI(input: any): Promise<void>;
|
|
58
|
-
|
|
58
|
+
createChannelAudioNodes(audioContext: any): {
|
|
59
59
|
gainL: any;
|
|
60
60
|
gainR: any;
|
|
61
61
|
merger: any;
|
|
@@ -83,7 +83,7 @@ export class MidyGMLite {
|
|
|
83
83
|
seekTo(second: any): void;
|
|
84
84
|
calcTotalTime(): number;
|
|
85
85
|
currentTime(): number;
|
|
86
|
-
processScheduledNotes(channel: any, callback: any): void;
|
|
86
|
+
processScheduledNotes(channel: any, scheduleTime: any, callback: any): void;
|
|
87
87
|
processActiveNotes(channel: any, scheduleTime: any, callback: any): void;
|
|
88
88
|
cbToRatio(cb: any): number;
|
|
89
89
|
rateToCent(rate: any): number;
|
|
@@ -101,7 +101,7 @@ export class MidyGMLite {
|
|
|
101
101
|
createNote(channel: any, voice: any, noteNumber: any, velocity: any, startTime: any, isSF3: any): Promise<Note>;
|
|
102
102
|
handleExclusiveClass(note: any, channelNumber: any, startTime: any): void;
|
|
103
103
|
handleDrumExclusiveClass(note: any, channelNumber: any, startTime: any): void;
|
|
104
|
-
scheduleNoteOn(channelNumber: any, noteNumber: any, velocity: any, startTime: any
|
|
104
|
+
scheduleNoteOn(channelNumber: any, noteNumber: any, velocity: any, startTime: any): Promise<void>;
|
|
105
105
|
noteOn(channelNumber: any, noteNumber: any, velocity: any, scheduleTime: any): Promise<void>;
|
|
106
106
|
disconnectNote(note: any): void;
|
|
107
107
|
releaseNote(channel: any, note: any, endTime: any): Promise<any>;
|
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":"
|
|
1
|
+
{"version":3,"file":"midy-GMLite.d.ts","sourceRoot":"","sources":["../src/midy-GMLite.js"],"names":[],"mappings":"AA0GA;IA2BE;;;;;;;;;MASE;IAEF,+BAcC;IAnDD,aAAa;IACb,oBAAiB;IACjB,qBAAmB;IACnB,kBAAc;IACd,0BAAwB;IACxB,kBAAc;IACd,mBAAiB;IACjB,kBAAc;IACd,mBAAe;IACf,kBAAgB;IAChB,sBAA2C;IAC3C,kCAA+B;IAC/B,gCAA6B;IAC7B,mBAAkB;IAClB,mBAAkB;IAClB,kBAAiB;IACjB,oBAAmB;IACnB,mBAAkB;IAClB,gBAAc;IACd,mBAAiB;IACjB,oBAAkB;IAClB,2BAAqC;IACrC,+BAEE;IAcA,kBAAgC;IAChC,kBAA8C;IAC9C,eAAwD;IACxD,qBAGE;IACF;;;;;;;;;;;MAA2D;IAC3D,6BAA+D;IAC/D,gBAAiD;IAMnD,4BAMC;IAED,mCAWC;IAED,yCAcC;IAED,oCAiBC;IAED;;;;MAeC;IAED,yCAaC;IAED,6DA2BC;IAED,0EAUC;IAED,+EAkDC;IAED,mCAOC;IAED,0BAiEC;IAED,uDAEC;IAED,wDAEC;IAED,6EAEC;IAED;;;MA6EC;IAED,kGAeC;IAED,mGAgBC;IAED,wEAMC;IAED,uBAKC;IAED,aAGC;IAED,cAKC;IAED,wBAIC;IAED,0BAKC;IAED,wBAOC;IAED,sBAGC;IAED,4EASC;IAED,yEASC;IAED,2BAEC;IAED,8BAEC;IAED,8BAEC;IAED,4BAEC;IAED,wCAIC;IAED,2DAIC;IAED,+DAIC;IAED,sDAeC;IAED,qDAoBC;IAED,6CAIC;IAED,sDAsBC;IAED,kEAoBC;IAED,+GA0BC;IAED,gHA6CC;IAED,0EAiBC;IAED,8EAiBC;IAED,kGAuCC;IAED,6FASC;IAED,gCASC;IAED,iEAoBC;IAED,qGAgBC;IAED,sDASC;IAED,qFASC;IAED,sFAeC;IAED,oGA2BC;IAED,sFAGC;IAED,wFAGC;IAED,sEAUC;IAED,mEAQC;IAED,wDAKC;IAED,sDAOC;IAED,mDAMC;IAED,kDAKC;IAED;;;;;;;;;;;MA2BC;IAED,oFAMC;IAED,6EAgCC;IAED,qCAeC;IAED,kGAWC;IAED,wDAUC;IAED,iFAKC;IAED,oEAKC;IAED;;;MAMC;IAED,8DAKC;IAED,4EAKC;IAED,sEAGC;IAED,2DAUC;IAED,yEAWC;IAED,kFAeC;IAED,uDAYC;IAED,gDAEC;IAED,gDAEC;IAED,sEAGC;IAED,qEAKC;IAED,2EAUC;IAED,gFAGC;IAED,yCAqBC;IAGD,8EAgCC;IAED,gFAGC;IAED,+EAgBC;IAED,qCAWC;IAED,4EAaC;IAED,4DAGC;IAED,sDASC;IAED,gDAYC;IAGD,6DAgBC;CACF;AAp9CD;IAWE,0FAMC;IAhBD,cAAW;IACX,gBAAe;IACf,kBAAa;IACb,gBAAW;IACX,iBAAY;IACZ,wBAAmB;IACnB,iBAAY;IACZ,mBAAc;IACd,qBAAgB;IAGd,gBAA4B;IAC5B,cAAwB;IACxB,eAA0B;IAC1B,WAAkB;IAClB,iBAA8B;CAEjC"}
|
package/esm/midy-GMLite.js
CHANGED
|
@@ -83,13 +83,11 @@ const defaultControllerState = {
|
|
|
83
83
|
pitchWheel: { type: 14, defaultValue: 8192 / 16383 },
|
|
84
84
|
pitchWheelSensitivity: { type: 16, defaultValue: 2 / 128 },
|
|
85
85
|
link: { type: 127, defaultValue: 0 },
|
|
86
|
-
// bankMSB: { type: 128 + 0, defaultValue: 121, },
|
|
87
86
|
modulationDepth: { type: 128 + 1, defaultValue: 0 },
|
|
88
87
|
// dataMSB: { type: 128 + 6, defaultValue: 0, },
|
|
89
88
|
volume: { type: 128 + 7, defaultValue: 100 / 127 },
|
|
90
89
|
pan: { type: 128 + 10, defaultValue: 64 / 127 },
|
|
91
90
|
expression: { type: 128 + 11, defaultValue: 1 },
|
|
92
|
-
// bankLSB: { type: 128 + 32, defaultValue: 0, },
|
|
93
91
|
// dataLSB: { type: 128 + 38, defaultValue: 0, },
|
|
94
92
|
sustainPedal: { type: 128 + 64, defaultValue: 0 },
|
|
95
93
|
// rpnLSB: { type: 128 + 100, defaultValue: 127 },
|
|
@@ -118,6 +116,16 @@ class ControllerState {
|
|
|
118
116
|
}
|
|
119
117
|
}
|
|
120
118
|
}
|
|
119
|
+
const volumeEnvelopeKeys = [
|
|
120
|
+
"volDelay",
|
|
121
|
+
"volAttack",
|
|
122
|
+
"volHold",
|
|
123
|
+
"volDecay",
|
|
124
|
+
"volSustain",
|
|
125
|
+
"volRelease",
|
|
126
|
+
"initialAttenuation",
|
|
127
|
+
];
|
|
128
|
+
const volumeEnvelopeKeySet = new Set(volumeEnvelopeKeys);
|
|
121
129
|
const filterEnvelopeKeys = [
|
|
122
130
|
"modEnvToPitch",
|
|
123
131
|
"initialFilterFc",
|
|
@@ -127,20 +135,18 @@ const filterEnvelopeKeys = [
|
|
|
127
135
|
"modHold",
|
|
128
136
|
"modDecay",
|
|
129
137
|
"modSustain",
|
|
130
|
-
"modRelease",
|
|
131
|
-
"playbackRate",
|
|
132
138
|
];
|
|
133
139
|
const filterEnvelopeKeySet = new Set(filterEnvelopeKeys);
|
|
134
|
-
const
|
|
135
|
-
"
|
|
136
|
-
"
|
|
137
|
-
"
|
|
138
|
-
"
|
|
139
|
-
"
|
|
140
|
-
"
|
|
141
|
-
"
|
|
140
|
+
const pitchEnvelopeKeys = [
|
|
141
|
+
"modEnvToPitch",
|
|
142
|
+
"modDelay",
|
|
143
|
+
"modAttack",
|
|
144
|
+
"modHold",
|
|
145
|
+
"modDecay",
|
|
146
|
+
"modSustain",
|
|
147
|
+
"playbackRate",
|
|
142
148
|
];
|
|
143
|
-
const
|
|
149
|
+
const pitchEnvelopeKeySet = new Set(pitchEnvelopeKeys);
|
|
144
150
|
export class MidyGMLite {
|
|
145
151
|
constructor(audioContext) {
|
|
146
152
|
Object.defineProperty(this, "mode", {
|
|
@@ -351,7 +357,7 @@ export class MidyGMLite {
|
|
|
351
357
|
this.timeline = midiData.timeline;
|
|
352
358
|
this.totalTime = this.calcTotalTime();
|
|
353
359
|
}
|
|
354
|
-
|
|
360
|
+
createChannelAudioNodes(audioContext) {
|
|
355
361
|
const { gainLeft, gainRight } = this.panToGain(defaultControllerState.pan.defaultValue);
|
|
356
362
|
const gainL = new GainNode(audioContext, { gain: gainLeft });
|
|
357
363
|
const gainR = new GainNode(audioContext, { gain: gainRight });
|
|
@@ -372,7 +378,7 @@ export class MidyGMLite {
|
|
|
372
378
|
isDrum: false,
|
|
373
379
|
state: new ControllerState(),
|
|
374
380
|
...this.constructor.channelSettings,
|
|
375
|
-
...this.
|
|
381
|
+
...this.createChannelAudioNodes(audioContext),
|
|
376
382
|
scheduledNotes: [],
|
|
377
383
|
sustainNotes: [],
|
|
378
384
|
};
|
|
@@ -615,7 +621,7 @@ export class MidyGMLite {
|
|
|
615
621
|
stopChannelNotes(channelNumber, velocity, force, scheduleTime) {
|
|
616
622
|
const channel = this.channels[channelNumber];
|
|
617
623
|
const promises = [];
|
|
618
|
-
this.processScheduledNotes(channel, (note) => {
|
|
624
|
+
this.processScheduledNotes(channel, scheduleTime, (note) => {
|
|
619
625
|
const promise = this.scheduleNoteOff(channelNumber, note.noteNumber, velocity, scheduleTime, force);
|
|
620
626
|
this.notePromises.push(promise);
|
|
621
627
|
promises.push(promise);
|
|
@@ -674,7 +680,7 @@ export class MidyGMLite {
|
|
|
674
680
|
const now = this.audioContext.currentTime;
|
|
675
681
|
return this.resumeTime + now - this.startTime - this.startDelay;
|
|
676
682
|
}
|
|
677
|
-
processScheduledNotes(channel, callback) {
|
|
683
|
+
processScheduledNotes(channel, scheduleTime, callback) {
|
|
678
684
|
const scheduledNotes = channel.scheduledNotes;
|
|
679
685
|
for (let i = 0; i < scheduledNotes.length; i++) {
|
|
680
686
|
const note = scheduledNotes[i];
|
|
@@ -682,6 +688,8 @@ export class MidyGMLite {
|
|
|
682
688
|
continue;
|
|
683
689
|
if (note.ending)
|
|
684
690
|
continue;
|
|
691
|
+
if (note.startTime < scheduleTime)
|
|
692
|
+
continue;
|
|
685
693
|
callback(note);
|
|
686
694
|
}
|
|
687
695
|
}
|
|
@@ -694,7 +702,7 @@ export class MidyGMLite {
|
|
|
694
702
|
if (note.ending)
|
|
695
703
|
continue;
|
|
696
704
|
if (scheduleTime < note.startTime)
|
|
697
|
-
|
|
705
|
+
break;
|
|
698
706
|
callback(note);
|
|
699
707
|
}
|
|
700
708
|
}
|
|
@@ -716,7 +724,7 @@ export class MidyGMLite {
|
|
|
716
724
|
return pitchWheel * pitchWheelSensitivity;
|
|
717
725
|
}
|
|
718
726
|
updateChannelDetune(channel, scheduleTime) {
|
|
719
|
-
this.processScheduledNotes(channel, (note) => {
|
|
727
|
+
this.processScheduledNotes(channel, scheduleTime, (note) => {
|
|
720
728
|
this.updateDetune(channel, note, scheduleTime);
|
|
721
729
|
});
|
|
722
730
|
}
|
|
@@ -881,7 +889,7 @@ export class MidyGMLite {
|
|
|
881
889
|
}
|
|
882
890
|
this.drumExclusiveClassNotes[index] = note;
|
|
883
891
|
}
|
|
884
|
-
async scheduleNoteOn(channelNumber, noteNumber, velocity, startTime
|
|
892
|
+
async scheduleNoteOn(channelNumber, noteNumber, velocity, startTime) {
|
|
885
893
|
const channel = this.channels[channelNumber];
|
|
886
894
|
const bankNumber = channel.bank;
|
|
887
895
|
const soundFontIndex = this.soundFontTable[channel.programNumber].get(bankNumber);
|
|
@@ -893,7 +901,6 @@ export class MidyGMLite {
|
|
|
893
901
|
return;
|
|
894
902
|
const isSF3 = soundFont.parsed.info.version.major === 3;
|
|
895
903
|
const note = await this.createNote(channel, voice, noteNumber, velocity, startTime, isSF3);
|
|
896
|
-
note.noteOffEvent = noteOffEvent;
|
|
897
904
|
note.volumeEnvelopeNode.connect(channel.gainL);
|
|
898
905
|
note.volumeEnvelopeNode.connect(channel.gainR);
|
|
899
906
|
if (0.5 <= channel.state.sustainPedal) {
|
|
@@ -1090,11 +1097,12 @@ export class MidyGMLite {
|
|
|
1090
1097
|
return state;
|
|
1091
1098
|
}
|
|
1092
1099
|
applyVoiceParams(channel, controllerType, scheduleTime) {
|
|
1093
|
-
this.processScheduledNotes(channel, (note) => {
|
|
1100
|
+
this.processScheduledNotes(channel, scheduleTime, (note) => {
|
|
1094
1101
|
const controllerState = this.getControllerState(channel, note.noteNumber, note.velocity);
|
|
1095
1102
|
const voiceParams = note.voice.getParams(controllerType, controllerState);
|
|
1096
|
-
let
|
|
1097
|
-
let
|
|
1103
|
+
let applyVolumeEnvelope = false;
|
|
1104
|
+
let applyFilterEnvelope = false;
|
|
1105
|
+
let applyPitchEnvelope = false;
|
|
1098
1106
|
for (const [key, value] of Object.entries(voiceParams)) {
|
|
1099
1107
|
const prevValue = note.voiceParams[key];
|
|
1100
1108
|
if (value === prevValue)
|
|
@@ -1103,32 +1111,21 @@ export class MidyGMLite {
|
|
|
1103
1111
|
if (key in this.voiceParamsHandlers) {
|
|
1104
1112
|
this.voiceParamsHandlers[key](channel, note, prevValue, scheduleTime);
|
|
1105
1113
|
}
|
|
1106
|
-
else
|
|
1107
|
-
if (
|
|
1108
|
-
|
|
1109
|
-
|
|
1110
|
-
|
|
1111
|
-
|
|
1112
|
-
|
|
1113
|
-
if (key in voiceParams)
|
|
1114
|
-
noteVoiceParams[key] = voiceParams[key];
|
|
1115
|
-
}
|
|
1116
|
-
this.setFilterEnvelope(note, scheduleTime);
|
|
1117
|
-
this.setPitchEnvelope(note, scheduleTime);
|
|
1118
|
-
}
|
|
1119
|
-
else if (volumeEnvelopeKeySet.has(key)) {
|
|
1120
|
-
if (appliedVolumeEnvelope)
|
|
1121
|
-
continue;
|
|
1122
|
-
appliedVolumeEnvelope = true;
|
|
1123
|
-
const noteVoiceParams = note.voiceParams;
|
|
1124
|
-
for (let i = 0; i < volumeEnvelopeKeys.length; i++) {
|
|
1125
|
-
const key = volumeEnvelopeKeys[i];
|
|
1126
|
-
if (key in voiceParams)
|
|
1127
|
-
noteVoiceParams[key] = voiceParams[key];
|
|
1128
|
-
}
|
|
1129
|
-
this.setVolumeEnvelope(note, scheduleTime);
|
|
1114
|
+
else {
|
|
1115
|
+
if (volumeEnvelopeKeySet.has(key))
|
|
1116
|
+
applyVolumeEnvelope = true;
|
|
1117
|
+
if (filterEnvelopeKeySet.has(key))
|
|
1118
|
+
applyFilterEnvelope = true;
|
|
1119
|
+
if (pitchEnvelopeKeySet.has(key))
|
|
1120
|
+
applyPitchEnvelope = true;
|
|
1130
1121
|
}
|
|
1131
1122
|
}
|
|
1123
|
+
if (applyVolumeEnvelope)
|
|
1124
|
+
this.setVolumeEnvelope(note, scheduleTime);
|
|
1125
|
+
if (applyFilterEnvelope)
|
|
1126
|
+
this.setFilterEnvelope(note, scheduleTime);
|
|
1127
|
+
if (applyPitchEnvelope)
|
|
1128
|
+
this.setPitchEnvelope(note, scheduleTime);
|
|
1132
1129
|
});
|
|
1133
1130
|
}
|
|
1134
1131
|
createControlChangeHandlers() {
|
|
@@ -1160,7 +1157,7 @@ export class MidyGMLite {
|
|
|
1160
1157
|
}
|
|
1161
1158
|
updateModulation(channel, scheduleTime) {
|
|
1162
1159
|
const depth = channel.state.modulationDepth * channel.modulationDepthRange;
|
|
1163
|
-
this.processScheduledNotes(channel, (note) => {
|
|
1160
|
+
this.processScheduledNotes(channel, scheduleTime, (note) => {
|
|
1164
1161
|
if (note.modulationDepth) {
|
|
1165
1162
|
note.modulationDepth.gain.setValueAtTime(depth, scheduleTime);
|
|
1166
1163
|
}
|
|
@@ -1221,7 +1218,7 @@ export class MidyGMLite {
|
|
|
1221
1218
|
scheduleTime ??= this.audioContext.currentTime;
|
|
1222
1219
|
channel.state.sustainPedal = value / 127;
|
|
1223
1220
|
if (64 <= value) {
|
|
1224
|
-
this.processScheduledNotes(channel, (note) => {
|
|
1221
|
+
this.processScheduledNotes(channel, scheduleTime, (note) => {
|
|
1225
1222
|
channel.sustainNotes.push(note);
|
|
1226
1223
|
});
|
|
1227
1224
|
}
|
package/esm/midy.d.ts
CHANGED
|
@@ -14,16 +14,12 @@ export class Midy {
|
|
|
14
14
|
fineTuning: number;
|
|
15
15
|
coarseTuning: number;
|
|
16
16
|
};
|
|
17
|
-
constructor(audioContext: any
|
|
18
|
-
reverbAlgorithm: (audioContext: any) => {
|
|
19
|
-
input: any;
|
|
20
|
-
output: any;
|
|
21
|
-
};
|
|
22
|
-
});
|
|
17
|
+
constructor(audioContext: any);
|
|
23
18
|
mode: string;
|
|
24
19
|
masterFineTuning: number;
|
|
25
20
|
masterCoarseTuning: number;
|
|
26
21
|
reverb: {
|
|
22
|
+
algorithm: string;
|
|
27
23
|
time: number;
|
|
28
24
|
feedback: number;
|
|
29
25
|
};
|
|
@@ -56,19 +52,7 @@ export class Midy {
|
|
|
56
52
|
notePromises: any[];
|
|
57
53
|
exclusiveClassNotes: any[];
|
|
58
54
|
drumExclusiveClassNotes: any[];
|
|
59
|
-
defaultOptions: {
|
|
60
|
-
reverbAlgorithm: (audioContext: any) => {
|
|
61
|
-
input: any;
|
|
62
|
-
output: any;
|
|
63
|
-
};
|
|
64
|
-
};
|
|
65
55
|
audioContext: any;
|
|
66
|
-
options: {
|
|
67
|
-
reverbAlgorithm: (audioContext: any) => {
|
|
68
|
-
input: any;
|
|
69
|
-
output: any;
|
|
70
|
-
};
|
|
71
|
-
};
|
|
72
56
|
masterVolume: any;
|
|
73
57
|
scheduler: any;
|
|
74
58
|
schedulerBuffer: any;
|
|
@@ -89,7 +73,7 @@ export class Midy {
|
|
|
89
73
|
reverbEffect: {
|
|
90
74
|
input: any;
|
|
91
75
|
output: any;
|
|
92
|
-
};
|
|
76
|
+
} | undefined;
|
|
93
77
|
chorusEffect: {
|
|
94
78
|
input: any;
|
|
95
79
|
output: any;
|
|
@@ -103,7 +87,7 @@ export class Midy {
|
|
|
103
87
|
addSoundFont(soundFont: any): void;
|
|
104
88
|
loadSoundFont(input: any): Promise<void>;
|
|
105
89
|
loadMIDI(input: any): Promise<void>;
|
|
106
|
-
|
|
90
|
+
createChannelAudioNodes(audioContext: any): {
|
|
107
91
|
gainL: any;
|
|
108
92
|
gainR: any;
|
|
109
93
|
merger: any;
|
|
@@ -133,7 +117,7 @@ export class Midy {
|
|
|
133
117
|
seekTo(second: any): void;
|
|
134
118
|
calcTotalTime(): number;
|
|
135
119
|
currentTime(): number;
|
|
136
|
-
processScheduledNotes(channel: any, callback: any): void;
|
|
120
|
+
processScheduledNotes(channel: any, scheduleTime: any, callback: any): void;
|
|
137
121
|
processActiveNotes(channel: any, scheduleTime: any, callback: any): void;
|
|
138
122
|
createConvolutionReverbImpulse(audioContext: any, decay: any, preDecay: any): any;
|
|
139
123
|
createConvolutionReverb(audioContext: any, impulse: any): {
|
|
@@ -148,6 +132,10 @@ export class Midy {
|
|
|
148
132
|
input: any;
|
|
149
133
|
output: any;
|
|
150
134
|
};
|
|
135
|
+
createReverbEffect(audioContext: any): {
|
|
136
|
+
input: any;
|
|
137
|
+
output: any;
|
|
138
|
+
} | undefined;
|
|
151
139
|
createChorusEffect(audioContext: any): {
|
|
152
140
|
input: any;
|
|
153
141
|
output: any;
|
|
@@ -181,7 +169,7 @@ export class Midy {
|
|
|
181
169
|
calcBank(channel: any): any;
|
|
182
170
|
handleExclusiveClass(note: any, channelNumber: any, startTime: any): void;
|
|
183
171
|
handleDrumExclusiveClass(note: any, channelNumber: any, startTime: any): void;
|
|
184
|
-
scheduleNoteOn(channelNumber: any, noteNumber: any, velocity: any, startTime: any
|
|
172
|
+
scheduleNoteOn(channelNumber: any, noteNumber: any, velocity: any, startTime: any): Promise<void>;
|
|
185
173
|
noteOn(channelNumber: any, noteNumber: any, velocity: any, scheduleTime: any): Promise<void>;
|
|
186
174
|
disconnectNote(note: any): void;
|
|
187
175
|
releaseNote(channel: any, note: any, endTime: any): Promise<any>;
|
|
@@ -217,7 +205,7 @@ export class Midy {
|
|
|
217
205
|
delayVibLFO: (channel: any, note: any, prevValue: any, scheduleTime: any) => void;
|
|
218
206
|
freqVibLFO: (channel: any, note: any, _prevValue: any, scheduleTime: any) => void;
|
|
219
207
|
};
|
|
220
|
-
getControllerState(channel: any, noteNumber: any, velocity: any): Float32Array<any>;
|
|
208
|
+
getControllerState(channel: any, noteNumber: any, velocity: any, polyphonicKeyPressure: any): Float32Array<any>;
|
|
221
209
|
applyVoiceParams(channel: any, controllerType: any, scheduleTime: any): void;
|
|
222
210
|
createControlChangeHandlers(): any[];
|
|
223
211
|
handleControlChange(channelNumber: any, controllerType: any, value: any, scheduleTime: any): void;
|
|
@@ -226,18 +214,17 @@ export class Midy {
|
|
|
226
214
|
setModulationDepth(channelNumber: any, modulation: any, scheduleTime: any): void;
|
|
227
215
|
updatePortamento(channel: any, scheduleTime: any): void;
|
|
228
216
|
setPortamentoTime(channelNumber: any, portamentoTime: any, scheduleTime: any): void;
|
|
229
|
-
setKeyBasedVolume(channel: any, scheduleTime: any): void;
|
|
230
217
|
setVolume(channelNumber: any, volume: any, scheduleTime: any): void;
|
|
231
218
|
panToGain(pan: any): {
|
|
232
219
|
gainLeft: number;
|
|
233
220
|
gainRight: number;
|
|
234
221
|
};
|
|
235
|
-
setKeyBasedPan(channel: any, scheduleTime: any): void;
|
|
236
222
|
setPan(channelNumber: any, pan: any, scheduleTime: any): void;
|
|
237
223
|
setExpression(channelNumber: any, expression: any, scheduleTime: any): void;
|
|
238
224
|
setBankLSB(channelNumber: any, lsb: any): void;
|
|
239
225
|
dataEntryLSB(channelNumber: any, value: any, scheduleTime: any): void;
|
|
240
226
|
updateChannelVolume(channel: any, scheduleTime: any): void;
|
|
227
|
+
updateKeyBasedVolume(channel: any, scheduleTime: any): void;
|
|
241
228
|
setSustainPedal(channelNumber: any, value: any, scheduleTime: any): void;
|
|
242
229
|
setPortamento(channelNumber: any, value: any, scheduleTime: any): void;
|
|
243
230
|
setSostenutoPedal(channelNumber: any, value: any, scheduleTime: any): void;
|
|
@@ -316,9 +303,8 @@ export class Midy {
|
|
|
316
303
|
getLFOAmplitudeDepth(channel: any, note: any): number;
|
|
317
304
|
setControllerParameters(channel: any, note: any, table: any): void;
|
|
318
305
|
handlePressureSysEx(data: any, tableName: any): void;
|
|
319
|
-
initControlTable():
|
|
320
|
-
|
|
321
|
-
applyControlTable(channel: any, controllerType: any): void;
|
|
306
|
+
initControlTable(): Int8Array<ArrayBuffer>;
|
|
307
|
+
applyControlTable(channel: any, controllerType: any, scheduleTime: any): void;
|
|
322
308
|
handleControlChangeSysEx(data: any): void;
|
|
323
309
|
getKeyBasedInstrumentControlValue(channel: any, keyNumber: any, controllerType: any): any;
|
|
324
310
|
handleKeyBasedInstrumentControlSysEx(data: any, scheduleTime: any): void;
|
|
@@ -334,9 +320,6 @@ declare class Note {
|
|
|
334
320
|
filterDepth: any;
|
|
335
321
|
volumeEnvelopeNode: any;
|
|
336
322
|
volumeDepth: any;
|
|
337
|
-
volumeNode: any;
|
|
338
|
-
gainL: any;
|
|
339
|
-
gainR: any;
|
|
340
323
|
modulationLFO: any;
|
|
341
324
|
modulationDepth: any;
|
|
342
325
|
vibratoLFO: 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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"}
|