@marmooo/midy 0.2.4 → 0.2.6

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 CHANGED
@@ -22,6 +22,8 @@ export class MidyGM1 {
22
22
  resumeTime: number;
23
23
  soundFonts: any[];
24
24
  soundFontTable: any[];
25
+ audioBufferCounter: Map<any, any>;
26
+ audioBufferCache: Map<any, any>;
25
27
  isPlaying: boolean;
26
28
  isPausing: boolean;
27
29
  isPaused: boolean;
@@ -30,27 +32,27 @@ export class MidyGM1 {
30
32
  timeline: any[];
31
33
  instruments: any[];
32
34
  notePromises: any[];
33
- exclusiveClassMap: Map<any, any>;
35
+ exclusiveClassMap: SparseMap;
34
36
  audioContext: any;
35
37
  masterVolume: any;
36
38
  voiceParamsHandlers: {
37
39
  modLfoToPitch: (channel: any, note: any, _prevValue: any) => void;
38
- vibLfoToPitch: (channel: any, note: any, _prevValue: any) => void;
40
+ vibLfoToPitch: (_channel: any, _note: any, _prevValue: any) => void;
39
41
  modLfoToFilterFc: (channel: any, note: any, _prevValue: any) => void;
40
42
  modLfoToVolume: (channel: any, note: any, _prevValue: any) => void;
41
43
  chorusEffectsSend: (_channel: any, _note: any, _prevValue: any) => void;
42
44
  reverbEffectsSend: (_channel: any, _note: any, _prevValue: any) => void;
43
45
  delayModLFO: (_channel: any, note: any, _prevValue: any) => void;
44
46
  freqModLFO: (_channel: any, note: any, _prevValue: any) => void;
45
- delayVibLFO: (channel: any, note: any, prevValue: any) => void;
46
- freqVibLFO: (channel: any, note: any, _prevValue: any) => void;
47
+ delayVibLFO: (_channel: any, _note: any, _prevValue: any) => void;
48
+ freqVibLFO: (_channel: any, _note: any, _prevValue: any) => void;
47
49
  };
48
50
  controlChangeHandlers: {
49
- 1: (channelNumber: any, modulation: any) => void;
51
+ 1: (channelNumber: any, modulation: any, scheduleTime: any) => void;
50
52
  6: (channelNumber: any, value: any) => void;
51
- 7: (channelNumber: any, volume: any) => void;
52
- 10: (channelNumber: any, pan: any) => void;
53
- 11: (channelNumber: any, expression: any) => void;
53
+ 7: (channelNumber: any, volume: any, scheduleTime: any) => void;
54
+ 10: (channelNumber: any, pan: any, scheduleTime: any) => void;
55
+ 11: (channelNumber: any, expression: any, scheduleTime: any) => void;
54
56
  38: (channelNumber: any, value: any) => void;
55
57
  64: (channelNumber: any, value: any) => void;
56
58
  100: (channelNumber: any, value: any) => void;
@@ -71,12 +73,13 @@ export class MidyGM1 {
71
73
  };
72
74
  createChannels(audioContext: any): any[];
73
75
  createNoteBuffer(voiceParams: any, isSF3: any): Promise<any>;
74
- createNoteBufferNode(voiceParams: any, isSF3: any): Promise<any>;
76
+ createNoteBufferNode(audioBuffer: any, voiceParams: any): any;
75
77
  scheduleTimelineEvents(t: any, offset: any, queueIndex: any): Promise<any>;
76
78
  getQueueIndex(second: any): number;
77
79
  playNotes(): Promise<any>;
78
80
  ticksToSecond(ticks: any, secondsPerBeat: any): number;
79
81
  secondToTicks(second: any, secondsPerBeat: any): number;
82
+ getAudioBufferId(programNumber: any, noteNumber: any, velocity: any): string;
80
83
  extractMidiData(midi: any): {
81
84
  instruments: Set<any>;
82
85
  timeline: any[];
@@ -90,7 +93,8 @@ export class MidyGM1 {
90
93
  seekTo(second: any): void;
91
94
  calcTotalTime(): number;
92
95
  currentTime(): number;
93
- getActiveNotes(channel: any, time: any): Map<any, any>;
96
+ processScheduledNotes(channel: any, scheduleTime: any, callback: any): void;
97
+ getActiveNotes(channel: any, time: any): SparseMap;
94
98
  getActiveNote(noteList: any, time: any): any;
95
99
  cbToRatio(cb: any): number;
96
100
  rateToCent(rate: any): number;
@@ -100,10 +104,11 @@ export class MidyGM1 {
100
104
  updateChannelDetune(channel: any): void;
101
105
  updateDetune(channel: any, note: any): void;
102
106
  setVolumeEnvelope(note: any): void;
103
- setPitchEnvelope(note: any): void;
107
+ setPitchEnvelope(note: any, scheduleTime: any): void;
104
108
  clampCutoffFrequency(frequency: any): number;
105
109
  setFilterEnvelope(note: any): void;
106
110
  startModulation(channel: any, note: any, startTime: any): void;
111
+ getAudioBuffer(program: any, noteNumber: any, velocity: any, voiceParams: any, isSF3: any): Promise<any>;
107
112
  createNote(channel: any, voice: any, noteNumber: any, velocity: any, startTime: any, isSF3: any): Promise<Note>;
108
113
  scheduleNoteOn(channelNumber: any, noteNumber: any, velocity: any, startTime: any): Promise<void>;
109
114
  noteOn(channelNumber: any, noteNumber: any, velocity: any): Promise<void>;
@@ -116,31 +121,30 @@ export class MidyGM1 {
116
121
  handlePitchBendMessage(channelNumber: any, lsb: any, msb: any): void;
117
122
  setPitchBend(channelNumber: any, value: any): void;
118
123
  setModLfoToPitch(channel: any, note: any): void;
119
- setVibLfoToPitch(channel: any, note: any): void;
120
124
  setModLfoToFilterFc(note: any): void;
121
125
  setModLfoToVolume(note: any): void;
122
126
  setDelayModLFO(note: any): void;
123
127
  setFreqModLFO(note: any): void;
124
128
  createVoiceParamsHandlers(): {
125
129
  modLfoToPitch: (channel: any, note: any, _prevValue: any) => void;
126
- vibLfoToPitch: (channel: any, note: any, _prevValue: any) => void;
130
+ vibLfoToPitch: (_channel: any, _note: any, _prevValue: any) => void;
127
131
  modLfoToFilterFc: (channel: any, note: any, _prevValue: any) => void;
128
132
  modLfoToVolume: (channel: any, note: any, _prevValue: any) => void;
129
133
  chorusEffectsSend: (_channel: any, _note: any, _prevValue: any) => void;
130
134
  reverbEffectsSend: (_channel: any, _note: any, _prevValue: any) => void;
131
135
  delayModLFO: (_channel: any, note: any, _prevValue: any) => void;
132
136
  freqModLFO: (_channel: any, note: any, _prevValue: any) => void;
133
- delayVibLFO: (channel: any, note: any, prevValue: any) => void;
134
- freqVibLFO: (channel: any, note: any, _prevValue: any) => void;
137
+ delayVibLFO: (_channel: any, _note: any, _prevValue: any) => void;
138
+ freqVibLFO: (_channel: any, _note: any, _prevValue: any) => void;
135
139
  };
136
140
  getControllerState(channel: any, noteNumber: any, velocity: any): Float32Array<any>;
137
141
  applyVoiceParams(channel: any, controllerType: any): void;
138
142
  createControlChangeHandlers(): {
139
- 1: (channelNumber: any, modulation: any) => void;
143
+ 1: (channelNumber: any, modulation: any, scheduleTime: any) => void;
140
144
  6: (channelNumber: any, value: any) => void;
141
- 7: (channelNumber: any, volume: any) => void;
142
- 10: (channelNumber: any, pan: any) => void;
143
- 11: (channelNumber: any, expression: any) => void;
145
+ 7: (channelNumber: any, volume: any, scheduleTime: any) => void;
146
+ 10: (channelNumber: any, pan: any, scheduleTime: any) => void;
147
+ 11: (channelNumber: any, expression: any, scheduleTime: any) => void;
144
148
  38: (channelNumber: any, value: any) => void;
145
149
  64: (channelNumber: any, value: any) => void;
146
150
  100: (channelNumber: any, value: any) => void;
@@ -149,18 +153,18 @@ export class MidyGM1 {
149
153
  121: (channelNumber: any) => void;
150
154
  123: (channelNumber: any) => Promise<void>;
151
155
  };
152
- handleControlChange(channelNumber: any, controllerType: any, value: any): void;
153
- updateModulation(channel: any): void;
154
- setModulationDepth(channelNumber: any, modulation: any): void;
155
- setVolume(channelNumber: any, volume: any): void;
156
+ handleControlChange(channelNumber: any, controllerType: any, value: any, startTime: any): void;
157
+ updateModulation(channel: any, scheduleTime: any): void;
158
+ setModulationDepth(channelNumber: any, modulation: any, scheduleTime: any): void;
159
+ setVolume(channelNumber: any, volume: any, scheduleTime: any): void;
156
160
  panToGain(pan: any): {
157
161
  gainLeft: number;
158
162
  gainRight: number;
159
163
  };
160
- setPan(channelNumber: any, pan: any): void;
161
- setExpression(channelNumber: any, expression: any): void;
164
+ setPan(channelNumber: any, pan: any, scheduleTime: any): void;
165
+ setExpression(channelNumber: any, expression: any, scheduleTime: any): void;
162
166
  dataEntryLSB(channelNumber: any, value: any): void;
163
- updateChannelVolume(channel: any): void;
167
+ updateChannelVolume(channel: any, scheduleTime: any): void;
164
168
  setSustainPedal(channelNumber: any, value: any): void;
165
169
  limitData(channel: any, minMSB: any, maxMSB: any, minLSB: any, maxLSB: any): void;
166
170
  limitDataMSB(channel: any, minMSB: any, maxMSB: any): void;
@@ -186,16 +190,28 @@ export class MidyGM1 {
186
190
  handleSysEx(data: any): void;
187
191
  scheduleTask(callback: any, startTime: any): Promise<any>;
188
192
  }
193
+ declare class SparseMap {
194
+ constructor(size: any);
195
+ data: any[];
196
+ activeIndices: any[];
197
+ set(key: any, value: any): void;
198
+ get(key: any): any;
199
+ delete(key: any): boolean;
200
+ has(key: any): boolean;
201
+ get size(): number;
202
+ clear(): void;
203
+ forEach(callback: any): void;
204
+ [Symbol.iterator](): Generator<any[], void, unknown>;
205
+ }
189
206
  declare class Note {
190
207
  constructor(noteNumber: any, velocity: any, startTime: any, voice: any, voiceParams: any);
191
208
  bufferSource: any;
192
209
  filterNode: any;
210
+ filterDepth: any;
193
211
  volumeEnvelopeNode: any;
194
212
  volumeDepth: any;
195
213
  modulationLFO: any;
196
214
  modulationDepth: any;
197
- vibratoLFO: any;
198
- vibratoDepth: any;
199
215
  noteNumber: any;
200
216
  velocity: any;
201
217
  startTime: any;
@@ -1 +1 @@
1
- {"version":3,"file":"midy-GM1.d.ts","sourceRoot":"","sources":["../src/midy-GM1.js"],"names":[],"mappings":"AAqFA;IAoBE;;;;;;;;;;;;MAYE;IAEF,+BAQC;IAzCD,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;IAiB5B,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,qCAMC;IAED,wCAQC;IAED,4CAKC;IAED,mCAgBC;IAED,kCAqBC;IAED,6CAIC;IAED,mCAuBC;IAED,+DAoBC;IAED,gHA2BC;IAED,kGAgDC;IAED,0EAGC;IAED,qFA4BC;IAED,6HAuBC;IAED,0FAGC;IAED,kEAeC;IAED,gFAiBC;IAED,4DAGC;IAED,qEAGC;IAED,mDASC;IAED,gDASC;IAED,gDASC;IAED,qCAMC;IAED,mCAQC;IAED,gCAOC;IAED,+BAMC;IAED;;;;;;;;;;;MA4CC;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,2DAMC;IAED,oCAkBC;IAED,gDAEC;IAED,gDAEC;IAED,mDAGC;IAED,kDAKC;IAED,wDASC;IAED,8CAKC;IAED,oDAOC;IAED,gDAKC;IAED,sDAOC;IAED,+CAEC;IAED,8CAqBC;IAED,+CAEC;IAED,4DAgBC;IAED,oBAMC;IAED,yDAaC;IAED,yCAGC;IAED,mCAQC;IAED,wCAEC;IAED,6BASC;IAED,0DAUC;CACF;AArzCD;IAUE,0FAMC;IAfD,kBAAa;IACb,gBAAW;IACX,wBAAmB;IACnB,iBAAY;IACZ,mBAAc;IACd,qBAAgB;IAChB,gBAAW;IACX,kBAAa;IAGX,gBAA4B;IAC5B,cAAwB;IACxB,eAA0B;IAC1B,WAAkB;IAClB,iBAA8B;CAEjC"}
1
+ {"version":3,"file":"midy-GM1.d.ts","sourceRoot":"","sources":["../src/midy-GM1.js"],"names":[],"mappings":"AAiJA;IAsBE;;;;;;;;;;;;MAYE;IAEF,+BAQC;IA3CD,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,6BAAuC;IAiBrC,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,8DASC;IAED,2EAqDC;IAED,mCAOC;IAED,0BAoDC;IAED,uDAEC;IAED,wDAEC;IAED,6EAEC;IAED;;;MA4EC;IAED,+EAmBC;IAED,qDAKC;IAED,uBAKC;IAED,aAGC;IAED,cAKC;IAED,wBAIC;IAED,0BAKC;IAED,wBAOC;IAED,sBAGC;IAED,4EASC;IAED,mDASC;IAED,6CAQC;IAED,2BAEC;IAED,8BAEC;IAED,8BAEC;IAED,4BAEC;IAED,qCAMC;IAED,wCAQC;IAED,4CAKC;IAED,mCAgBC;IAED,qDAqBC;IAED,6CAIC;IAED,mCAuBC;IAED,+DAoBC;IAED,yGAgBC;IAED,gHAuCC;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,+FAWC;IAED,wDAWC;IAED,iFAIC;IAED,oEAIC;IAED;;;MAMC;IAED,8DAIC;IAED,4EAIC;IAED,mDAGC;IAED,2DAWC;IAED,sDAKC;IAED,kFAeC;IAED,2DAMC;IAED,oCAkBC;IAED,gDAEC;IAED,gDAEC;IAED,mDAGC;IAED,kDAKC;IAED,wDASC;IAED,8CAKC;IAED,oDAOC;IAED,gDAKC;IAED,sDAOC;IAED,+CAEC;IAED,8CAqBC;IAED,+CAEC;IAED,4DAgBC;IAED,oBAMC;IAED,yDAaC;IAED,yCAGC;IAED,mCAQC;IAED,wCAEC;IAED,6BASC;IAED,0DAUC;CACF;AAz4CD;IACE,uBAGC;IAFC,YAA2B;IAC3B,qBAAuB;IAGzB,gCAKC;IAED,mBAEC;IAED,0BAUC;IAED,uBAEC;IAED,mBAEC;IAED,cAMC;IASD,6BAKC;IAZD,qDAKC;CAQF;AAED;IASE,0FAMC;IAdD,kBAAa;IACb,gBAAW;IACX,iBAAY;IACZ,wBAAmB;IACnB,iBAAY;IACZ,mBAAc;IACd,qBAAgB;IAGd,gBAA4B;IAC5B,cAAwB;IACxB,eAA0B;IAC1B,WAAkB;IAClB,iBAA8B;CAEjC"}