@marmooo/midy 0.4.9 → 0.5.0

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.d.ts CHANGED
@@ -17,7 +17,7 @@ export class Midy extends EventTarget {
17
17
  isMPEMember: boolean;
18
18
  isMPEManager: boolean;
19
19
  };
20
- constructor(audioContext: any);
20
+ constructor(audioContext: any, options?: {});
21
21
  perceptualSmoothingTime: number;
22
22
  mode: string;
23
23
  masterFineTuning: number;
@@ -65,6 +65,13 @@ export class Midy extends EventTarget {
65
65
  instruments: Set<any>;
66
66
  exclusiveClassNotes: any[];
67
67
  drumExclusiveClassNotes: any[];
68
+ adsrVoiceCache: Map<any, any>;
69
+ noteOnDurations: Map<any, any>;
70
+ noteOnEvents: Map<any, any>;
71
+ fullVoiceCache: Map<any, any>;
72
+ renderedAudioBuffer: null;
73
+ isRendering: boolean;
74
+ audioModeBufferSource: null;
68
75
  mpeEnabled: boolean;
69
76
  lowerMPEMembers: number;
70
77
  upperMPEMembers: number;
@@ -72,10 +79,8 @@ export class Midy extends EventTarget {
72
79
  channelToNotes: Map<any, any>;
73
80
  noteToChannel: Map<any, any>;
74
81
  };
75
- decoder: OggVorbisDecoderWebWorker;
76
- decoderReady: Promise<void>;
77
- decoderQueue: Promise<void>;
78
82
  audioContext: any;
83
+ cacheMode: any;
79
84
  masterVolume: any;
80
85
  scheduler: any;
81
86
  schedulerBuffer: any;
@@ -87,7 +92,7 @@ export class Midy extends EventTarget {
87
92
  modLfoToVolume: (channel: any, note: any, scheduleTime: any) => void;
88
93
  chorusEffectsSend: (channel: any, note: any, scheduleTime: any) => void;
89
94
  reverbEffectsSend: (channel: any, note: any, scheduleTime: any) => void;
90
- delayModLFO: (_channel: any, note: any, _scheduleTime: any) => void;
95
+ delayModLFO: (channel: any, note: any, _scheduleTime: any) => void;
91
96
  freqModLFO: (_channel: any, note: any, scheduleTime: any) => void;
92
97
  delayVibLFO: (channel: any, note: any, _scheduleTime: any) => void;
93
98
  freqVibLFO: (channel: any, note: any, scheduleTime: any) => void;
@@ -114,8 +119,9 @@ export class Midy extends EventTarget {
114
119
  toUint8Array(input: any): Promise<Uint8Array<ArrayBuffer>>;
115
120
  loadSoundFont(input: any): Promise<void>;
116
121
  loadMIDI(input: any): Promise<void>;
122
+ buildNoteOnDurations(): void;
117
123
  cacheVoiceIds(): void;
118
- getVoiceId(channel: any, noteNumber: any, velocity: any): any;
124
+ getVoiceId(channel: any, noteNumber: any, velocity: any): number | undefined;
119
125
  createChannelAudioNodes(audioContext: any): {
120
126
  gainL: any;
121
127
  gainR: any;
@@ -125,11 +131,12 @@ export class Midy extends EventTarget {
125
131
  decodeOggVorbis(sample: any): Promise<any>;
126
132
  createAudioBuffer(voiceParams: any): Promise<any>;
127
133
  isLoopDrum(channel: any, noteNumber: any): boolean;
128
- createBufferSource(channel: any, noteNumber: any, voiceParams: any, audioBuffer: any): any;
134
+ createBufferSource(channel: any, noteNumber: any, voiceParams: any, renderedOrRaw: any): any;
129
135
  scheduleTimelineEvents(scheduleTime: any, queueIndex: any): any;
130
136
  getQueueIndex(second: any): number;
131
137
  resetAllStates(): void;
132
138
  updateStates(queueIndex: any, nextQueueIndex: any): void;
139
+ playAudioBuffer(): Promise<void>;
133
140
  playNotes(): Promise<void>;
134
141
  ticksToSecond(ticks: any, secondsPerBeat: any): number;
135
142
  secondToTicks(second: any, secondsPerBeat: any): number;
@@ -141,6 +148,7 @@ export class Midy extends EventTarget {
141
148
  stopActiveNotes(channelNumber: any, velocity: any, force: any, scheduleTime: any): Promise<any[]>;
142
149
  stopChannelNotes(channelNumber: any, velocity: any, force: any, scheduleTime: any): Promise<any[]>;
143
150
  stopNotes(velocity: any, force: any, scheduleTime: any): Promise<any[]>;
151
+ render(): Promise<null | undefined>;
144
152
  start(): Promise<void>;
145
153
  stop(): Promise<void>;
146
154
  pause(): Promise<void>;
@@ -199,14 +207,22 @@ export class Midy extends EventTarget {
199
207
  setFilterEnvelope(channel: any, note: any, scheduleTime: any): void;
200
208
  startModulation(channel: any, note: any, scheduleTime: any): void;
201
209
  startVibrato(channel: any, note: any, scheduleTime: any): void;
202
- getAudioBuffer(channel: any, noteNumber: any, velocity: any, voiceParams: any, realtime: any): Promise<any>;
210
+ createAdsRenderedBuffer(channel: any, note: any, voiceParams: any, audioBuffer: any, isDrum?: boolean): Promise<RenderedBuffer>;
211
+ createAdsrRenderedBuffer(channel: any, note: any, voiceParams: any, audioBuffer: any, noteDuration: any): Promise<RenderedBuffer>;
212
+ createFullRenderedBuffer(channel: any, note: any, voiceParams: any, noteDuration: any, noteEvent?: {}): Promise<RenderedBuffer>;
213
+ getAudioBuffer(channel: any, note: any, realtime: any): Promise<any>;
214
+ getAdsCachedBuffer(channel: any, note: any, audioBufferId: any, realtime: any): Promise<any>;
215
+ getAdsrCachedBuffer(channel: any, note: any, audioBufferId: any): Promise<any>;
216
+ getFullCachedBuffer(note: any, audioBufferId: any): Promise<any>;
203
217
  setNoteAudioNode(channel: any, note: any, realtime: any): Promise<any>;
204
218
  handleExclusiveClass(note: any, channelNumber: any, startTime: any): void;
205
219
  handleDrumExclusiveClass(note: any, channelNumber: any, startTime: any): void;
206
220
  setNoteRouting(channelNumber: any, note: any, startTime: any): void;
207
- noteOn(channelNumber: any, noteNumber: any, velocity: any, startTime: any): Promise<void>;
208
- startNote(channelNumber: any, noteNumber: any, velocity: any, startTime: any): Promise<Note | undefined>;
221
+ noteOn(channelNumber: any, noteNumber: any, velocity: any, startTime: any): Promise<any>;
222
+ createNote(channelNumber: any, noteNumber: any, velocity: any, startTime: any): Note;
223
+ setupNote(channelNumber: any, note: any, startTime: any): Promise<any>;
209
224
  disconnectNote(note: any): void;
225
+ releaseFullCache(note: any): void;
210
226
  releaseNote(channel: any, note: any, endTime: any): Promise<any>;
211
227
  noteOff(channelNumber: any, noteNumber: any, velocity: any, endTime: any, force: any): any;
212
228
  stopNote(channelNumber: any, noteNumber: any, _velocity: any, endTime: any, force: any): any;
@@ -242,7 +258,7 @@ export class Midy extends EventTarget {
242
258
  modLfoToVolume: (channel: any, note: any, scheduleTime: any) => void;
243
259
  chorusEffectsSend: (channel: any, note: any, scheduleTime: any) => void;
244
260
  reverbEffectsSend: (channel: any, note: any, scheduleTime: any) => void;
245
- delayModLFO: (_channel: any, note: any, _scheduleTime: any) => void;
261
+ delayModLFO: (channel: any, note: any, _scheduleTime: any) => void;
246
262
  freqModLFO: (_channel: any, note: any, scheduleTime: any) => void;
247
263
  delayVibLFO: (channel: any, note: any, _scheduleTime: any) => void;
248
264
  freqVibLFO: (channel: any, note: any, scheduleTime: any) => void;
@@ -377,7 +393,6 @@ export class Midy extends EventTarget {
377
393
  handleSysEx(data: any, scheduleTime: any): void;
378
394
  scheduleTask(callback: any, scheduleTime: any): Promise<any>;
379
395
  }
380
- import { OggVorbisDecoderWebWorker } from "@wasm-audio-decoders/ogg-vorbis";
381
396
  declare class Channel {
382
397
  constructor(audioNodes: any, settings: any);
383
398
  isDrum: boolean;
@@ -407,7 +422,18 @@ declare class Channel {
407
422
  currentBufferSource: null;
408
423
  state: ControllerState;
409
424
  resetSettings(settings: any): void;
410
- resetTable(channel: any): void;
425
+ resetTable(): void;
426
+ }
427
+ declare class RenderedBuffer {
428
+ constructor(buffer: any, meta?: {});
429
+ buffer: any;
430
+ isLoop: any;
431
+ isFull: any;
432
+ adsDuration: any;
433
+ loopStart: any;
434
+ loopDuration: any;
435
+ noteDuration: any;
436
+ releaseDuration: any;
411
437
  }
412
438
  declare class Note {
413
439
  constructor(noteNumber: any, velocity: any, startTime: any);
@@ -417,6 +443,9 @@ declare class Note {
417
443
  index: number;
418
444
  ending: boolean;
419
445
  bufferSource: any;
446
+ timelineIndex: null;
447
+ renderedBuffer: null;
448
+ fullCacheVoiceId: null;
420
449
  filterEnvelopeNode: any;
421
450
  volumeEnvelopeNode: any;
422
451
  volumeNode: any;
package/esm/midy.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"midy.d.ts","sourceRoot":"","sources":["../src/midy.js"],"names":[],"mappings":"AAwPA;IAgEE;;;;;;;;;;;;;;;;;MAiBE;IAEF,+BAyBC;IAvGD,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,iCAEG;IACH,cAAU;IACV,cAAa;IACb,kBAAc;IACd,iBAAY;IACZ,gBAAc;IACd,oBAAkB;IAClB,sBAAwB;IACxB,2BAAqC;IACrC,+BAEE;IACF,oBAAmB;IACnB,wBAAoB;IACpB,wBAAoB;IACpB;;;MAGE;IAuBA,mCAA8C;IAC9C,4BAAsC;IACtC,4BAAqC;IACrC,kBAAgC;IAChC,kBAA8C;IAC9C,eAAwD;IACxD,qBAGE;IACF,uBAAmD;IACnD;;;;;;;;;;;;MAA2D;IAC3D,6BAA+D;IAC/D,kCAAyE;IACzE,sBAAiD;IACjD,oBAAiD;IACjD;;;kBAAyD;IACzD;;;;;;;;MAAyD;IAQ3D,mCASC;IAED,2DAYC;IAED,yCAmBC;IAED,oCASC;IAED,sBAoCC;IAED,8DAeC;IAED;;;;MAeC;IAED,6CAMC;IAED,2CAsBC;IAED,kDA6BC;IAED,mDAIC;IAED,2FAWC;IAED,gEAiEC;IAED,mCASC;IAED,uBAUC;IAED,yDAqCC;IAED,2BA0FC;IAED,uDAEC;IAED,wDAEC;IAED,qCAMC;IAED;;;MAqFC;IAED,kGAeC;IAED,mGAeC;IAED,wEAQC;IAED,uBAMC;IAED,sBAIC;IAED,uBAMC;IAED,wBAIC;IAED,0BAKC;IAED,8BAMC;IAED,wBAYC;IAED,sBAIC;IAED,kEAWC;IAED,kFAYC;IAED,sDAaC;IAED,kFAuBC;IAED;;;;MASC;IAED,gFAUC;IAED,mFAYC;IAED,sGAcC;IAID;;;MA8BC;IAED;;;kBA6BC;IAED;;;;;;;;MA0CC;IAED,8BAEC;IAED,8BAEC;IAED,4BAEC;IAED,qCAWC;IAED,2DAQC;IAED,oDAEC;IAED,6CAKC;IAED,mDAMC;IAED,2CAoDC;IAED,8EASC;IAED,oEAoBC;IAED,gEAKC;IAED,sEAgBC;IAED,4DASC;IAED,6EAOC;IAED,qDAkBC;IAED,6CAIC;IAED,8EAsBC;IAED,oEAkCC;IAED,kEAqBC;IAED,+DAgBC;IAED,4GAkCC;IAED,uEA2EC;IAED,0EAiBC;IAED,8EAoBC;IAED,oEAuBC;IAED,0FAWC;IAED,yGAyBC;IAED,gCAoBC;IAED,iEA0BC;IAED,2FAwCC;IAED,6FA2BC;IAED,6CAUC;IAED,qDAUC;IAED,qFAeC;IAED,uFAkBC;IAED,+BAyCC;IAED,kDAOC;IAED,sBAEC;IAED,sGAgBC;IAED,kFAIC;IAED,qFAcC;IAED,4EAKC;IAED,8EAWC;IAED,wFAGC;IAED,sEAIC;IAED,wEAWC;IAED,mEAcC;IAED,mEAaC;IAED,sEAMC;IAED,oEAQC;IAED,gEAyBC;IAED,gEAyBC;IAED,gCAKC;IAED,kDAKC;IAED,8CAQC;IAED,gEAOC;IAED;;;;;;;;;;;;MA6DC;IAED,gHAQC;IAED,6EAgCC;IAED,qCA4CC;IAED,+FAKC;IAED,iGAcC;IAED,+CAEC;IAED,wDAWC;IAED,4EASC;IAED,wDAeC;IAED,2EASC;IAED,mEAQC;IAED,mDAQC;IAED;;;MAMC;IAED,gEAcC;IAED,uEAQC;IAED,+CAEC;IAED,sEAGC;IAED,2DAqBC;IAED,4EA6BC;IAED,yEAYC;IAED,+CAEC;IAED,uEAMC;IAED,2EAcC;IAED,oDAEC;IAED,0EAeC;IAED,8EAeC;IAED,8EAKC;IAED,4EAUC;IAED,4EAaC;IAED,0EAQC;IAED,8EASC;IAED,gFAeC;IAED,gFAUC;IAED,iFAKC;IAED,sFAQC;IAED,sFAQC;IAED,kFAeC;IAED,2DAMC;IAED,mEA+BC;IAGD,2DAGC;IAGD,2DAGC;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,kEAoBC;IAED,2EAGC;IAED,qEAGC;IAED,iGAIC;IAED,6CAsBC;IAGD,8EAuCC;IAED,gFAGC;IAED,iEAGC;IAED,gEAGC;IAED,gEAKC;IAED,gEAKC;IAED,+EAuCC;IAED,qCAaC;IAED,qCAaC;IAED,4EA6DC;IAED,4DAGC;IAED,qDAKC;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,2FAoBC;IAED,mEAGC;IAED,+DAGC;IAED,qEASC;IAED,uEAOC;IAED,uEAOC;IAED,6CAEC;IAED,qDAEC;IAED,iDAEC;IAED,wDAEC;IAED,iDAEC;IAED,yDAEC;IAED,qDAEC;IAED,kDAEC;IAED,mDAEC;IAED,sDAEC;IAED,8BA8BC;IAED,0EAQC;IAED,4EAOC;IAED,kFAOC;IAED,qFASC;IAED,+DAEC;IAED,qEAEC;IAED,wEAcC;IAED,6DAiBC;IAED,iFAUC;IAED,yEAIC;IAED,0CAuEC;IAED,yEAcC;IAED,gDAYC;IAGD,6DAgBC;CACF;0CA5uHyC,iCAAiC;AA4C3E;IA2BE,4CAIC;IA9BD,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,kDAA8C;IAC9C,6CAA4D;IAC5D,mDAAkE;IAClE,sCAAkD;IAClD,sBAAgC;IAChC,sBAAgC;IAChC,0BAA2B;IAKzB,uBAAkC;IAGpC,mCAEC;IAED,+BAMC;CACF;AA3ED;IAqBE,4DAOC;IA3BD,WAAM;IACN,iBAAY;IACZ,yBAAyB;IACzB,cAAW;IACX,gBAAe;IACf,kBAAa;IACb,wBAAmB;IACnB,wBAAmB;IACnB,gBAAW;IACX,YAAO;IACP,mBAAc;IACd,sBAAiB;IACjB,oBAAe;IACf,YAAO;IACP,mBAAc;IACd,gBAAW;IACX,gBAAW;IACX,6BAA0B;IAC1B,iBAAa;IAGX,gBAA4B;IAC5B,cAAwB;IACxB,eAA0B;IAC1B,oBAEE;IADA,mCAA2B;CAGhC;AAsID;IACE,iCAA8B;CAa/B"}
1
+ {"version":3,"file":"midy.d.ts","sourceRoot":"","sources":["../src/midy.js"],"names":[],"mappings":"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"}