@marmooo/midy 0.4.9 → 0.5.1

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.
@@ -14,7 +14,7 @@ export class MidyGM2 extends EventTarget {
14
14
  fineTuning: number;
15
15
  coarseTuning: number;
16
16
  };
17
- constructor(audioContext: any);
17
+ constructor(audioContext: any, options?: {});
18
18
  perceptualSmoothingTime: number;
19
19
  mode: string;
20
20
  masterFineTuning: number;
@@ -61,7 +61,15 @@ export class MidyGM2 extends EventTarget {
61
61
  instruments: Set<any>;
62
62
  exclusiveClassNotes: any[];
63
63
  drumExclusiveClassNotes: any[];
64
+ adsrVoiceCache: Map<any, any>;
65
+ noteOnDurations: Map<any, any>;
66
+ noteOnEvents: Map<any, any>;
67
+ fullVoiceCache: Map<any, any>;
68
+ renderedAudioBuffer: null;
69
+ isRendering: boolean;
70
+ audioModeBufferSource: null;
64
71
  audioContext: any;
72
+ cacheMode: any;
65
73
  masterVolume: any;
66
74
  scheduler: any;
67
75
  schedulerBuffer: any;
@@ -73,7 +81,7 @@ export class MidyGM2 extends EventTarget {
73
81
  modLfoToVolume: (channel: any, note: any, scheduleTime: any) => void;
74
82
  chorusEffectsSend: (channel: any, note: any, scheduleTime: any) => void;
75
83
  reverbEffectsSend: (channel: any, note: any, scheduleTime: any) => void;
76
- delayModLFO: (_channel: any, note: any, _scheduleTime: any) => void;
84
+ delayModLFO: (channel: any, note: any, _scheduleTime: any) => void;
77
85
  freqModLFO: (_channel: any, note: any, scheduleTime: any) => void;
78
86
  delayVibLFO: (channel: any, note: any, _scheduleTime: any) => void;
79
87
  freqVibLFO: (channel: any, note: any, scheduleTime: any) => void;
@@ -86,7 +94,7 @@ export class MidyGM2 extends EventTarget {
86
94
  reverbEffect: {
87
95
  input: any;
88
96
  output: any;
89
- } | undefined;
97
+ };
90
98
  chorusEffect: {
91
99
  input: any;
92
100
  output: any;
@@ -100,22 +108,24 @@ export class MidyGM2 extends EventTarget {
100
108
  toUint8Array(input: any): Promise<Uint8Array<ArrayBuffer>>;
101
109
  loadSoundFont(input: any): Promise<void>;
102
110
  loadMIDI(input: any): Promise<void>;
111
+ buildNoteOnDurations(): void;
103
112
  cacheVoiceIds(): void;
104
- getVoiceId(channel: any, noteNumber: any, velocity: any): any;
113
+ getVoiceId(channel: any, noteNumber: any, velocity: any): number | undefined;
105
114
  createChannelAudioNodes(audioContext: any): {
106
115
  gainL: any;
107
116
  gainR: any;
108
117
  merger: any;
109
118
  };
110
- createChannels(audioContext: any): Channel[];
119
+ createChannels(): Channel[];
111
120
  decodeOggVorbis(sample: any): Promise<any>;
112
121
  createAudioBuffer(voiceParams: any): Promise<any>;
113
122
  isLoopDrum(channel: any, noteNumber: any): boolean;
114
- createBufferSource(channel: any, noteNumber: any, voiceParams: any, audioBuffer: any): any;
123
+ createBufferSource(channel: any, noteNumber: any, voiceParams: any, renderedOrRaw: any): any;
115
124
  scheduleTimelineEvents(scheduleTime: any, queueIndex: any): any;
116
125
  getQueueIndex(second: any): number;
117
126
  resetAllStates(): void;
118
127
  updateStates(queueIndex: any, nextQueueIndex: any): void;
128
+ playAudioBuffer(): Promise<void>;
119
129
  playNotes(): Promise<void>;
120
130
  ticksToSecond(ticks: any, secondsPerBeat: any): number;
121
131
  secondToTicks(second: any, secondsPerBeat: any): number;
@@ -127,6 +137,7 @@ export class MidyGM2 extends EventTarget {
127
137
  stopActiveNotes(channelNumber: any, velocity: any, force: any, scheduleTime: any): Promise<any[]>;
128
138
  stopChannelNotes(channelNumber: any, velocity: any, force: any, scheduleTime: any): Promise<any[]>;
129
139
  stopNotes(velocity: any, force: any, scheduleTime: any): Promise<any[]>;
140
+ render(): Promise<null | undefined>;
130
141
  start(): Promise<void>;
131
142
  stop(): Promise<void>;
132
143
  pause(): Promise<void>;
@@ -137,24 +148,13 @@ export class MidyGM2 extends EventTarget {
137
148
  currentTime(): number;
138
149
  processScheduledNotes(channel: any, callback: any): Promise<void>;
139
150
  processActiveNotes(channel: any, scheduleTime: any, callback: any): Promise<void>;
140
- createConvolutionReverbImpulse(audioContext: any, decay: any, preDecay: any): any;
141
- createConvolutionReverb(audioContext: any, impulse: any): {
142
- input: any;
143
- output: any;
144
- convolverNode: any;
145
- };
146
- createCombFilter(audioContext: any, input: any, delay: any, feedback: any): any;
147
- createAllpassFilter(audioContext: any, input: any, delay: any, feedback: any): any;
148
151
  generateDistributedArray(center: any, count: any, varianceRatio?: number, randomness?: number): any[];
149
- createSchroederReverb(audioContext: any, combFeedbacks: any, combDelays: any, allpassFeedbacks: any, allpassDelays: any): {
152
+ setReverbEffect(algorithm: any): void;
153
+ createReverbEffect(algorithm: any): {
150
154
  input: any;
151
155
  output: any;
152
156
  };
153
- createReverbEffect(audioContext: any): {
154
- input: any;
155
- output: any;
156
- } | undefined;
157
- createChorusEffect(audioContext: any): {
157
+ createChorusEffect(): {
158
158
  input: any;
159
159
  output: any;
160
160
  sendGain: any;
@@ -183,13 +183,22 @@ export class MidyGM2 extends EventTarget {
183
183
  setFilterEnvelope(channel: any, note: any, scheduleTime: any): void;
184
184
  startModulation(channel: any, note: any, scheduleTime: any): void;
185
185
  startVibrato(channel: any, note: any, scheduleTime: any): void;
186
- getAudioBuffer(channel: any, noteNumber: any, velocity: any, voiceParams: any, realtime: any): Promise<any>;
186
+ createAdsRenderedBuffer(channel: any, note: any, voiceParams: any, audioBuffer: any, isDrum?: boolean): Promise<RenderedBuffer>;
187
+ createAdsrRenderedBuffer(channel: any, note: any, voiceParams: any, audioBuffer: any, noteDuration: any): Promise<RenderedBuffer>;
188
+ createFullRenderedBuffer(channel: any, note: any, voiceParams: any, noteDuration: any, noteEvent?: {}): Promise<RenderedBuffer>;
189
+ getAudioBuffer(channel: any, note: any, realtime: any): Promise<any>;
190
+ getAdsCachedBuffer(channel: any, note: any, audioBufferId: any, realtime: any): Promise<any>;
191
+ getAdsrCachedBuffer(channel: any, note: any, audioBufferId: any): Promise<any>;
192
+ getFullCachedBuffer(channel: any, note: any, audioBufferId: any): Promise<any>;
187
193
  setNoteAudioNode(channel: any, note: any, realtime: any): Promise<any>;
188
194
  handleExclusiveClass(note: any, channelNumber: any, startTime: any): void;
189
195
  handleDrumExclusiveClass(note: any, channelNumber: any, startTime: any): void;
190
196
  setNoteRouting(channelNumber: any, note: any, startTime: any): void;
191
- noteOn(channelNumber: any, noteNumber: any, velocity: any, startTime: any): Promise<void>;
197
+ noteOn(channelNumber: any, noteNumber: any, velocity: any, startTime: any): Promise<any>;
198
+ createNote(channelNumber: any, noteNumber: any, velocity: any, startTime: any): Note;
199
+ setupNote(channelNumber: any, note: any, startTime: any): Promise<any>;
192
200
  disconnectNote(note: any): void;
201
+ releaseFullCache(note: any): void;
193
202
  releaseNote(channel: any, note: any, endTime: any): Promise<any>;
194
203
  noteOff(channelNumber: any, noteNumber: any, _velocity: any, endTime: any, force: any): any;
195
204
  setNoteIndex(channel: any, index: any): void;
@@ -220,7 +229,7 @@ export class MidyGM2 extends EventTarget {
220
229
  modLfoToVolume: (channel: any, note: any, scheduleTime: any) => void;
221
230
  chorusEffectsSend: (channel: any, note: any, scheduleTime: any) => void;
222
231
  reverbEffectsSend: (channel: any, note: any, scheduleTime: any) => void;
223
- delayModLFO: (_channel: any, note: any, _scheduleTime: any) => void;
232
+ delayModLFO: (channel: any, note: any, _scheduleTime: any) => void;
224
233
  freqModLFO: (_channel: any, note: any, scheduleTime: any) => void;
225
234
  delayVibLFO: (channel: any, note: any, _scheduleTime: any) => void;
226
235
  freqVibLFO: (channel: any, note: any, scheduleTime: any) => void;
@@ -315,6 +324,7 @@ export class MidyGM2 extends EventTarget {
315
324
  getPitchControl(channel: any, note: any): number;
316
325
  getFilterCutoffControl(channel: any): number;
317
326
  getChannelAmplitudeControl(channel: any): number;
327
+ getAmplitudeControl(channel: any): number;
318
328
  getLFOPitchDepth(channel: any): number;
319
329
  getLFOFilterDepth(channel: any): number;
320
330
  getLFOAmplitudeDepth(channel: any): number;
@@ -332,7 +342,8 @@ export class MidyGM2 extends EventTarget {
332
342
  scheduleTask(callback: any, scheduleTime: any): Promise<any>;
333
343
  }
334
344
  declare class Channel {
335
- constructor(audioNodes: any, settings: any);
345
+ constructor(channelNumber: any, audioNodes: any, settings: any);
346
+ channelNumber: number;
336
347
  isDrum: boolean;
337
348
  programNumber: number;
338
349
  scheduleIndex: number;
@@ -361,6 +372,45 @@ declare class Channel {
361
372
  resetSettings(settings: any): void;
362
373
  resetTable(): void;
363
374
  }
375
+ declare class RenderedBuffer {
376
+ constructor(buffer: any, meta?: {});
377
+ buffer: any;
378
+ isLoop: any;
379
+ isFull: any;
380
+ adsDuration: any;
381
+ loopStart: any;
382
+ loopDuration: any;
383
+ noteDuration: any;
384
+ releaseDuration: any;
385
+ }
386
+ declare class Note {
387
+ constructor(noteNumber: any, velocity: any, startTime: any);
388
+ voice: any;
389
+ voiceParams: any;
390
+ adjustedBaseFreq: number;
391
+ index: number;
392
+ ending: boolean;
393
+ bufferSource: any;
394
+ timelineIndex: null;
395
+ renderedBuffer: null;
396
+ fullCacheVoiceId: null;
397
+ filterEnvelopeNode: any;
398
+ volumeEnvelopeNode: any;
399
+ modLfo: any;
400
+ modLfoToPitch: any;
401
+ modLfoToFilterFc: any;
402
+ modLfoToVolume: any;
403
+ vibLfo: any;
404
+ vibLfoToPitch: any;
405
+ reverbSend: any;
406
+ chorusSend: any;
407
+ portamentoNoteNumber: number;
408
+ noteNumber: any;
409
+ velocity: any;
410
+ startTime: any;
411
+ ready: Promise<any>;
412
+ resolveReady: (value: any) => void;
413
+ }
364
414
  declare class ControllerState {
365
415
  array: Float32Array<ArrayBuffer>;
366
416
  }
@@ -1 +1 @@
1
- {"version":3,"file":"midy-GM2.d.ts","sourceRoot":"","sources":["../src/midy-GM2.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"midy-GM2.d.ts","sourceRoot":"","sources":["../src/midy-GM2.js"],"names":[],"mappings":"AA4TA;IAgEE;;;;;;;;;;;;;;MAcE;IAEF,6CAuBC;IAlGD,gCAAgC;IAChC,aAAa;IACb,yBAAqB;IACrB,2BAAuB;IACvB;;;;MAIE;IACF;;;;;;MAME;IACF,oBAAiB;IACjB,qBAAmB;IACnB,kBAAc;IACd,0BAAsB;IACtB,+BAA6B;IAC7B,0BAAwB;IACxB,kBAAc;IACd,mBAAiB;IACjB,kBAAc;IACd,mBAAe;IACf,kBAAgB;IAChB,0BAAuD;IACvD,4BAAyB;IACzB,0BAAuB;IACvB,kCAA+B;IAC/B,qBAAqC;IACrC,mBAAkB;IAClB,mBAAkB;IAClB,kBAAiB;IACjB,oBAAmB;IACnB,mBAAkB;IAClB,iCAA2C;IAC3C,cAAU;IACV,cAAa;IACb,iBAAY;IACZ,gBAAc;IACd,oBAAkB;IAClB,sBAAwB;IACxB,2BAAqC;IACrC,+BAEE;IAEF,8BAA2B;IAE3B,+BAA4B;IAC5B,4BAAyB;IACzB,8BAA2B;IAE3B,0BAA2B;IAC3B,qBAAoB;IACpB,4BAA6B;IAoB3B,kBAAgC;IAChC,eAAwD;IACxD,kBAA8C;IAC9C,eAAwD;IACxD,qBAGE;IACF,uBAAmD;IACnD;;;;;;;;;;;;MAA2D;IAC3D,6BAA+D;IAC/D,kCAAyE;IACzE,sBAAiD;IACjD,oBAAqC;IACrC;;;MAAkE;IAClE;;;;;;;;MAA6C;IAQ/C,mCASC;IAED,2DAYC;IAED,yCAmBC;IAED,oCAYC;IAED,6BAqJC;IAED,sBAuCC;IAED,6EAiBC;IAED;;;;MAWC;IAED,4BAQC;IAED,2CAsBC;IAED,kDA6BC;IAED,mDAIC;IAED,6FAqBC;IAED,gEA2DC;IAED,mCASC;IAED,uBAWC;IAED,yDA4CC;IAED,iCA4EC;IAED,2BAuFC;IAED,uDAEC;IAED,wDAEC;IAED,qCAMC;IAED;;;MAqFC;IAED,kGAeC;IAED,mGAeC;IAED,wEAQC;IAED,oCAqMC;IAED,uBAMC;IAED,sBAIC;IAED,uBAMC;IAED,wBAIC;IAED,0BAKC;IAED,8BAoBC;IAED,wBAYC;IAED,sBAOC;IAED,kEAWC;IAED,kFAYC;IAED,sGAcC;IAED,sCAIC;IAED;;;MA4DC;IAED;;;;;;;;MA2CC;IAED,8BAEC;IAED,8BAEC;IAED,4BAEC;IAED,qCAWC;IAED,2DASC;IAED,oDAEC;IAED,6CAIC;IAED,mDAIC;IAED,2CAoDC;IAED,8EASC;IAED,oEAiBC;IAED,sEASC;IAED,4DAMC;IAED,6EAOC;IAED,qDAkBC;IAED,6CAIC;IAED,8EAmBC;IAED,oEAgCC;IAED,kEAwBC;IAED,+DAgBC;IAED,gIAyEC;IAED,kIA0GC;IAED,gIA6DC;IAED,qEAwBC;IAED,6FAuCC;IAED,+EAgDC;IAED,+EA0CC;IAED,uEAqFC;IAED,0EAiBC;IAED,8EAoBC;IAED,oEAyBC;IAED,yFAQC;IAED,qFAKC;IAED,uEAiCC;IAED,gCAoBC;IAED,kCAWC;IAED,iEAkFC;IAED,4FAqBC;IAED,6CAUC;IAED,qDAUC;IAED,qFAeC;IAED,uFAkBC;IAED,+BAuBC;IAED,kDAOC;IAED,sBAEC;IAED,mFAcC;IAED,4EAYC;IAED,wFAGC;IAED,sEAWC;IAED,mEAaC;IAED,mEAYC;IAED,sEAMC;IAED,oEAQC;IAED,gEAyBC;IAED,gEAyBC;IAED,gCAKC;IAED,kDAKC;IAED,8CAOC;IAED,gEAMC;IAED;;;;;;;;;;;;MAwDC;IAED,oFAMC;IAED,6EAgCC;IAED,qCA2BC;IAED,+FAeC;IAED,+CAEC;IAED,wDAWC;IAED,4EAMC;IAED,wDAeC;IAED,2EAMC;IAED,mEAKC;IAED,mDAQC;IAED;;;MAMC;IAED,gEAWC;IAED,uEAKC;IAED,+CAEC;IAED,sEAGC;IAED,2DAWC;IAED,4EAoBC;IAED,yEAgBC;IAED,+CAEC;IAED,uEAMC;IAED,2EAkBC;IAED,oDAEC;IAED,0EAeC;IAED,sFAQC;IAED,sFAQC;IAED,kFAeC;IAED,2DAMC;IAED,uDAuBC;IAED,gDAEC;IAED,gDAEC;IAED,sEAGC;IAED,qEAKC;IAED,2EAWC;IAED,iEAMC;IAED,uEASC;IAED,mEAKC;IAED,yEASC;IAED,2EAKC;IAED,iFAMC;IAED,gFAGC;IAED,6CAsBC;IAGD,8EAoCC;IAED,gFAGC;IAED,iEAEC;IAED,gEAEC;IAED,gEAIC;IAED,gEAIC;IAED,+EAgCC;IAED,qCAaC;IAED,qCAaC;IAED,4EAwCC;IAED,4DAGC;IAED,qDAMC;IAED,gEAIC;IAED,yDAYC;IAED,kEAGC;IAED,2DAYC;IAED,sEAeC;IAED,4CAOC;IAED,+BAIC;IAED,qDAiBC;IAED,gCAGC;IAED,kCAEC;IA6BD,4CAEC;IAED,+DAaC;IAED,kDAiBC;IAED,2GAKC;IAED,sDAIC;IAED,qCAEC;IAED,uDAMC;IAED,sCAEC;IAED,uDASC;IAED,sCAEC;IAED,2DAqBC;IAED,0CAEC;IAED,mCAeC;IAED,2FAgBC;IAED,wDAEC;IAED,+DAGC;IAED,qEASC;IAED,uEAOC;IAED,6CAEC;IAED,iDAEC;IAED,6CAEC;IAED,iDAEC;IAED,0CAEC;IAED,uCAEC;IAED,wCAEC;IAED,2CAEC;IAED,8BAyBC;IAED,0EAQC;IAED,4EAOC;IAED,qFASC;IAED,+DAEC;IAED,wEAcC;IAED,6DAiBC;IAED,yEAIC;IAED,0CAmBC;IAED,yEAcC;IAED,gDAYC;IAGD,6DAgBC;CACF;AAxhID;IA2BE,gEAKC;IA/BD,sBAAkB;IAClB,gBAAe;IACf,sBAAkB;IAClB,sBAAkB;IAClB,eAAW;IACX,gBAAc;IACd,gBAAY;IACZ,gBAAY;IACZ,gBAAY;IACZ,eAAa;IACb,eAAa;IACb,cAAa;IACb,6BAA0B;IAC1B,mBAAe;IACf,qBAAiB;IACjB,sBAAoB;IACpB,oBAAkB;IAClB,sBAAoB;IACpB,qCAAmD;IACnD,+CAA2C;IAC3C,6CAA4D;IAC5D,sCAAkD;IAClD,sBAAgC;IAChC,sBAAgC;IAChC,0BAA2B;IAMzB,uBAAkC;IAGpC,mCAEC;IAED,mBAKC;CACF;AAuID;IAUE,oCASC;IAlBD,YAAO;IACP,YAAO;IACP,YAAO;IACP,iBAAY;IACZ,eAAU;IACV,kBAAa;IACb,kBAAa;IACb,qBAAgB;CAYjB;AAvOD;IAsBE,4DAOC;IA5BD,WAAM;IACN,iBAAY;IACZ,yBAAyB;IACzB,cAAW;IACX,gBAAe;IACf,kBAAa;IACb,oBAAqB;IACrB,qBAAsB;IACtB,uBAAwB;IACxB,wBAAmB;IACnB,wBAAmB;IACnB,YAAO;IACP,mBAAc;IACd,sBAAiB;IACjB,oBAAe;IACf,YAAO;IACP,mBAAc;IACd,gBAAW;IACX,gBAAW;IACX,6BAA0B;IAGxB,gBAA4B;IAC5B,cAAwB;IACxB,eAA0B;IAC1B,oBAEE;IADA,mCAA2B;CAGhC;AAsHD;IACE,iCAA8B;CAa/B"}