@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/script/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>;
|
|
@@ -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/script/midy-GMLite.js
CHANGED
|
@@ -86,13 +86,11 @@ const defaultControllerState = {
|
|
|
86
86
|
pitchWheel: { type: 14, defaultValue: 8192 / 16383 },
|
|
87
87
|
pitchWheelSensitivity: { type: 16, defaultValue: 2 / 128 },
|
|
88
88
|
link: { type: 127, defaultValue: 0 },
|
|
89
|
-
// bankMSB: { type: 128 + 0, defaultValue: 121, },
|
|
90
89
|
modulationDepth: { type: 128 + 1, defaultValue: 0 },
|
|
91
90
|
// dataMSB: { type: 128 + 6, defaultValue: 0, },
|
|
92
91
|
volume: { type: 128 + 7, defaultValue: 100 / 127 },
|
|
93
92
|
pan: { type: 128 + 10, defaultValue: 64 / 127 },
|
|
94
93
|
expression: { type: 128 + 11, defaultValue: 1 },
|
|
95
|
-
// bankLSB: { type: 128 + 32, defaultValue: 0, },
|
|
96
94
|
// dataLSB: { type: 128 + 38, defaultValue: 0, },
|
|
97
95
|
sustainPedal: { type: 128 + 64, defaultValue: 0 },
|
|
98
96
|
// rpnLSB: { type: 128 + 100, defaultValue: 127 },
|
|
@@ -121,6 +119,16 @@ class ControllerState {
|
|
|
121
119
|
}
|
|
122
120
|
}
|
|
123
121
|
}
|
|
122
|
+
const volumeEnvelopeKeys = [
|
|
123
|
+
"volDelay",
|
|
124
|
+
"volAttack",
|
|
125
|
+
"volHold",
|
|
126
|
+
"volDecay",
|
|
127
|
+
"volSustain",
|
|
128
|
+
"volRelease",
|
|
129
|
+
"initialAttenuation",
|
|
130
|
+
];
|
|
131
|
+
const volumeEnvelopeKeySet = new Set(volumeEnvelopeKeys);
|
|
124
132
|
const filterEnvelopeKeys = [
|
|
125
133
|
"modEnvToPitch",
|
|
126
134
|
"initialFilterFc",
|
|
@@ -130,20 +138,18 @@ const filterEnvelopeKeys = [
|
|
|
130
138
|
"modHold",
|
|
131
139
|
"modDecay",
|
|
132
140
|
"modSustain",
|
|
133
|
-
"modRelease",
|
|
134
|
-
"playbackRate",
|
|
135
141
|
];
|
|
136
142
|
const filterEnvelopeKeySet = new Set(filterEnvelopeKeys);
|
|
137
|
-
const
|
|
138
|
-
"
|
|
139
|
-
"
|
|
140
|
-
"
|
|
141
|
-
"
|
|
142
|
-
"
|
|
143
|
-
"
|
|
144
|
-
"
|
|
143
|
+
const pitchEnvelopeKeys = [
|
|
144
|
+
"modEnvToPitch",
|
|
145
|
+
"modDelay",
|
|
146
|
+
"modAttack",
|
|
147
|
+
"modHold",
|
|
148
|
+
"modDecay",
|
|
149
|
+
"modSustain",
|
|
150
|
+
"playbackRate",
|
|
145
151
|
];
|
|
146
|
-
const
|
|
152
|
+
const pitchEnvelopeKeySet = new Set(pitchEnvelopeKeys);
|
|
147
153
|
class MidyGMLite {
|
|
148
154
|
constructor(audioContext) {
|
|
149
155
|
Object.defineProperty(this, "mode", {
|
|
@@ -354,7 +360,7 @@ class MidyGMLite {
|
|
|
354
360
|
this.timeline = midiData.timeline;
|
|
355
361
|
this.totalTime = this.calcTotalTime();
|
|
356
362
|
}
|
|
357
|
-
|
|
363
|
+
createChannelAudioNodes(audioContext) {
|
|
358
364
|
const { gainLeft, gainRight } = this.panToGain(defaultControllerState.pan.defaultValue);
|
|
359
365
|
const gainL = new GainNode(audioContext, { gain: gainLeft });
|
|
360
366
|
const gainR = new GainNode(audioContext, { gain: gainRight });
|
|
@@ -375,7 +381,7 @@ class MidyGMLite {
|
|
|
375
381
|
isDrum: false,
|
|
376
382
|
state: new ControllerState(),
|
|
377
383
|
...this.constructor.channelSettings,
|
|
378
|
-
...this.
|
|
384
|
+
...this.createChannelAudioNodes(audioContext),
|
|
379
385
|
scheduledNotes: [],
|
|
380
386
|
sustainNotes: [],
|
|
381
387
|
};
|
|
@@ -618,7 +624,7 @@ class MidyGMLite {
|
|
|
618
624
|
stopChannelNotes(channelNumber, velocity, force, scheduleTime) {
|
|
619
625
|
const channel = this.channels[channelNumber];
|
|
620
626
|
const promises = [];
|
|
621
|
-
this.processScheduledNotes(channel, (note) => {
|
|
627
|
+
this.processScheduledNotes(channel, scheduleTime, (note) => {
|
|
622
628
|
const promise = this.scheduleNoteOff(channelNumber, note.noteNumber, velocity, scheduleTime, force);
|
|
623
629
|
this.notePromises.push(promise);
|
|
624
630
|
promises.push(promise);
|
|
@@ -677,7 +683,7 @@ class MidyGMLite {
|
|
|
677
683
|
const now = this.audioContext.currentTime;
|
|
678
684
|
return this.resumeTime + now - this.startTime - this.startDelay;
|
|
679
685
|
}
|
|
680
|
-
processScheduledNotes(channel, callback) {
|
|
686
|
+
processScheduledNotes(channel, scheduleTime, callback) {
|
|
681
687
|
const scheduledNotes = channel.scheduledNotes;
|
|
682
688
|
for (let i = 0; i < scheduledNotes.length; i++) {
|
|
683
689
|
const note = scheduledNotes[i];
|
|
@@ -685,6 +691,8 @@ class MidyGMLite {
|
|
|
685
691
|
continue;
|
|
686
692
|
if (note.ending)
|
|
687
693
|
continue;
|
|
694
|
+
if (note.startTime < scheduleTime)
|
|
695
|
+
continue;
|
|
688
696
|
callback(note);
|
|
689
697
|
}
|
|
690
698
|
}
|
|
@@ -697,7 +705,7 @@ class MidyGMLite {
|
|
|
697
705
|
if (note.ending)
|
|
698
706
|
continue;
|
|
699
707
|
if (scheduleTime < note.startTime)
|
|
700
|
-
|
|
708
|
+
break;
|
|
701
709
|
callback(note);
|
|
702
710
|
}
|
|
703
711
|
}
|
|
@@ -719,7 +727,7 @@ class MidyGMLite {
|
|
|
719
727
|
return pitchWheel * pitchWheelSensitivity;
|
|
720
728
|
}
|
|
721
729
|
updateChannelDetune(channel, scheduleTime) {
|
|
722
|
-
this.processScheduledNotes(channel, (note) => {
|
|
730
|
+
this.processScheduledNotes(channel, scheduleTime, (note) => {
|
|
723
731
|
this.updateDetune(channel, note, scheduleTime);
|
|
724
732
|
});
|
|
725
733
|
}
|
|
@@ -884,7 +892,7 @@ class MidyGMLite {
|
|
|
884
892
|
}
|
|
885
893
|
this.drumExclusiveClassNotes[index] = note;
|
|
886
894
|
}
|
|
887
|
-
async scheduleNoteOn(channelNumber, noteNumber, velocity, startTime
|
|
895
|
+
async scheduleNoteOn(channelNumber, noteNumber, velocity, startTime) {
|
|
888
896
|
const channel = this.channels[channelNumber];
|
|
889
897
|
const bankNumber = channel.bank;
|
|
890
898
|
const soundFontIndex = this.soundFontTable[channel.programNumber].get(bankNumber);
|
|
@@ -896,7 +904,6 @@ class MidyGMLite {
|
|
|
896
904
|
return;
|
|
897
905
|
const isSF3 = soundFont.parsed.info.version.major === 3;
|
|
898
906
|
const note = await this.createNote(channel, voice, noteNumber, velocity, startTime, isSF3);
|
|
899
|
-
note.noteOffEvent = noteOffEvent;
|
|
900
907
|
note.volumeEnvelopeNode.connect(channel.gainL);
|
|
901
908
|
note.volumeEnvelopeNode.connect(channel.gainR);
|
|
902
909
|
if (0.5 <= channel.state.sustainPedal) {
|
|
@@ -1093,11 +1100,12 @@ class MidyGMLite {
|
|
|
1093
1100
|
return state;
|
|
1094
1101
|
}
|
|
1095
1102
|
applyVoiceParams(channel, controllerType, scheduleTime) {
|
|
1096
|
-
this.processScheduledNotes(channel, (note) => {
|
|
1103
|
+
this.processScheduledNotes(channel, scheduleTime, (note) => {
|
|
1097
1104
|
const controllerState = this.getControllerState(channel, note.noteNumber, note.velocity);
|
|
1098
1105
|
const voiceParams = note.voice.getParams(controllerType, controllerState);
|
|
1099
|
-
let
|
|
1100
|
-
let
|
|
1106
|
+
let applyVolumeEnvelope = false;
|
|
1107
|
+
let applyFilterEnvelope = false;
|
|
1108
|
+
let applyPitchEnvelope = false;
|
|
1101
1109
|
for (const [key, value] of Object.entries(voiceParams)) {
|
|
1102
1110
|
const prevValue = note.voiceParams[key];
|
|
1103
1111
|
if (value === prevValue)
|
|
@@ -1106,32 +1114,21 @@ class MidyGMLite {
|
|
|
1106
1114
|
if (key in this.voiceParamsHandlers) {
|
|
1107
1115
|
this.voiceParamsHandlers[key](channel, note, prevValue, scheduleTime);
|
|
1108
1116
|
}
|
|
1109
|
-
else
|
|
1110
|
-
if (
|
|
1111
|
-
|
|
1112
|
-
|
|
1113
|
-
|
|
1114
|
-
|
|
1115
|
-
|
|
1116
|
-
if (key in voiceParams)
|
|
1117
|
-
noteVoiceParams[key] = voiceParams[key];
|
|
1118
|
-
}
|
|
1119
|
-
this.setFilterEnvelope(note, scheduleTime);
|
|
1120
|
-
this.setPitchEnvelope(note, scheduleTime);
|
|
1121
|
-
}
|
|
1122
|
-
else if (volumeEnvelopeKeySet.has(key)) {
|
|
1123
|
-
if (appliedVolumeEnvelope)
|
|
1124
|
-
continue;
|
|
1125
|
-
appliedVolumeEnvelope = true;
|
|
1126
|
-
const noteVoiceParams = note.voiceParams;
|
|
1127
|
-
for (let i = 0; i < volumeEnvelopeKeys.length; i++) {
|
|
1128
|
-
const key = volumeEnvelopeKeys[i];
|
|
1129
|
-
if (key in voiceParams)
|
|
1130
|
-
noteVoiceParams[key] = voiceParams[key];
|
|
1131
|
-
}
|
|
1132
|
-
this.setVolumeEnvelope(note, scheduleTime);
|
|
1117
|
+
else {
|
|
1118
|
+
if (volumeEnvelopeKeySet.has(key))
|
|
1119
|
+
applyVolumeEnvelope = true;
|
|
1120
|
+
if (filterEnvelopeKeySet.has(key))
|
|
1121
|
+
applyFilterEnvelope = true;
|
|
1122
|
+
if (pitchEnvelopeKeySet.has(key))
|
|
1123
|
+
applyPitchEnvelope = true;
|
|
1133
1124
|
}
|
|
1134
1125
|
}
|
|
1126
|
+
if (applyVolumeEnvelope)
|
|
1127
|
+
this.setVolumeEnvelope(note, scheduleTime);
|
|
1128
|
+
if (applyFilterEnvelope)
|
|
1129
|
+
this.setFilterEnvelope(note, scheduleTime);
|
|
1130
|
+
if (applyPitchEnvelope)
|
|
1131
|
+
this.setPitchEnvelope(note, scheduleTime);
|
|
1135
1132
|
});
|
|
1136
1133
|
}
|
|
1137
1134
|
createControlChangeHandlers() {
|
|
@@ -1163,7 +1160,7 @@ class MidyGMLite {
|
|
|
1163
1160
|
}
|
|
1164
1161
|
updateModulation(channel, scheduleTime) {
|
|
1165
1162
|
const depth = channel.state.modulationDepth * channel.modulationDepthRange;
|
|
1166
|
-
this.processScheduledNotes(channel, (note) => {
|
|
1163
|
+
this.processScheduledNotes(channel, scheduleTime, (note) => {
|
|
1167
1164
|
if (note.modulationDepth) {
|
|
1168
1165
|
note.modulationDepth.gain.setValueAtTime(depth, scheduleTime);
|
|
1169
1166
|
}
|
|
@@ -1224,7 +1221,7 @@ class MidyGMLite {
|
|
|
1224
1221
|
scheduleTime ??= this.audioContext.currentTime;
|
|
1225
1222
|
channel.state.sustainPedal = value / 127;
|
|
1226
1223
|
if (64 <= value) {
|
|
1227
|
-
this.processScheduledNotes(channel, (note) => {
|
|
1224
|
+
this.processScheduledNotes(channel, scheduleTime, (note) => {
|
|
1228
1225
|
channel.sustainNotes.push(note);
|
|
1229
1226
|
});
|
|
1230
1227
|
}
|
package/script/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/script/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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"}
|