@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.
@@ -9,7 +9,7 @@ export class MidyGMLite extends EventTarget {
9
9
  rpnLSB: number;
10
10
  modulationDepthRange: number;
11
11
  };
12
- constructor(audioContext: any);
12
+ constructor(audioContext: any, options?: {});
13
13
  perceptualSmoothingTime: number;
14
14
  mode: string;
15
15
  numChannels: number;
@@ -40,7 +40,15 @@ export class MidyGMLite extends EventTarget {
40
40
  instruments: Set<any>;
41
41
  exclusiveClassNotes: any[];
42
42
  drumExclusiveClassNotes: any[];
43
+ adsrVoiceCache: Map<any, any>;
44
+ noteOnDurations: Map<any, any>;
45
+ noteOnEvents: Map<any, any>;
46
+ fullVoiceCache: Map<any, any>;
47
+ renderedAudioBuffer: null;
48
+ isRendering: boolean;
49
+ audioModeBufferSource: null;
43
50
  audioContext: any;
51
+ cacheMode: any;
44
52
  masterVolume: any;
45
53
  scheduler: any;
46
54
  schedulerBuffer: any;
@@ -52,7 +60,7 @@ export class MidyGMLite extends EventTarget {
52
60
  modLfoToVolume: (channel: any, note: any, scheduleTime: any) => void;
53
61
  chorusEffectsSend: (_channel: any, _note: any, _scheduleTime: any) => void;
54
62
  reverbEffectsSend: (_channel: any, _note: any, _scheduleTime: any) => void;
55
- delayModLFO: (_channel: any, note: any, scheduleTime: any) => void;
63
+ delayModLFO: (channel: any, note: any, scheduleTime: any) => void;
56
64
  freqModLFO: (_channel: any, note: any, scheduleTime: any) => void;
57
65
  delayVibLFO: (_channel: any, _note: any, _scheduleTime: any) => void;
58
66
  freqVibLFO: (_channel: any, _note: any, _scheduleTime: any) => void;
@@ -64,8 +72,9 @@ export class MidyGMLite extends EventTarget {
64
72
  toUint8Array(input: any): Promise<Uint8Array<ArrayBuffer>>;
65
73
  loadSoundFont(input: any): Promise<void>;
66
74
  loadMIDI(input: any): Promise<void>;
75
+ buildNoteOnDurations(): void;
67
76
  cacheVoiceIds(): void;
68
- getVoiceId(channel: any, noteNumber: any, velocity: any): any;
77
+ getVoiceId(channel: any, noteNumber: any, velocity: any): number | undefined;
69
78
  createChannelAudioNodes(audioContext: any): {
70
79
  gainL: any;
71
80
  gainR: any;
@@ -74,11 +83,12 @@ export class MidyGMLite extends EventTarget {
74
83
  createChannels(audioContext: any): Channel[];
75
84
  decodeOggVorbis(sample: any): Promise<any>;
76
85
  createAudioBuffer(voiceParams: any): Promise<any>;
77
- createBufferSource(channel: any, voiceParams: any, audioBuffer: any): any;
86
+ createBufferSource(channel: any, voiceParams: any, renderedOrRaw: any): any;
78
87
  scheduleTimelineEvents(scheduleTime: any, queueIndex: any): any;
79
88
  getQueueIndex(second: any): number;
80
89
  resetAllStates(): void;
81
90
  updateStates(queueIndex: any, nextQueueIndex: any): void;
91
+ playAudioBuffer(): Promise<void>;
82
92
  playNotes(): Promise<void>;
83
93
  ticksToSecond(ticks: any, secondsPerBeat: any): number;
84
94
  secondToTicks(second: any, secondsPerBeat: any): number;
@@ -90,6 +100,7 @@ export class MidyGMLite extends EventTarget {
90
100
  stopActiveNotes(channelNumber: any, velocity: any, force: any, scheduleTime: any): Promise<any[]>;
91
101
  stopChannelNotes(channelNumber: any, velocity: any, force: any, scheduleTime: any): Promise<any[]>;
92
102
  stopNotes(velocity: any, force: any, scheduleTime: any): Promise<any[]>;
103
+ render(): Promise<null | undefined>;
93
104
  start(): Promise<void>;
94
105
  stop(): Promise<void>;
95
106
  pause(): Promise<void>;
@@ -112,13 +123,22 @@ export class MidyGMLite extends EventTarget {
112
123
  clampCutoffFrequency(frequency: any): number;
113
124
  setFilterEnvelope(note: any, scheduleTime: any): void;
114
125
  startModulation(channel: any, note: any, scheduleTime: any): void;
115
- getAudioBuffer(channel: any, noteNumber: any, velocity: any, voiceParams: any, realtime: any): Promise<any>;
126
+ createAdsRenderedBuffer(note: any, voiceParams: any, audioBuffer: any, isDrum?: boolean): Promise<RenderedBuffer>;
127
+ createAdsrRenderedBuffer(note: any, voiceParams: any, audioBuffer: any, noteDuration: any): Promise<RenderedBuffer>;
128
+ createFullRenderedBuffer(channel: any, note: any, voiceParams: any, noteDuration: any, noteEvent?: {}): Promise<RenderedBuffer>;
129
+ getAudioBuffer(channel: any, note: any, realtime: any): Promise<any>;
130
+ getAdsCachedBuffer(channel: any, note: any, audioBufferId: any, realtime: any): Promise<any>;
131
+ getAdsrCachedBuffer(note: any, audioBufferId: any): Promise<any>;
132
+ getFullCachedBuffer(channel: any, note: any, audioBufferId: any): Promise<any>;
116
133
  setNoteAudioNode(channel: any, note: any, realtime: any): Promise<any>;
117
134
  handleExclusiveClass(note: any, channelNumber: any, startTime: any): void;
118
135
  handleDrumExclusiveClass(note: any, channelNumber: any, startTime: any): void;
119
136
  setNoteRouting(channelNumber: any, note: any, startTime: any): void;
120
- noteOn(channelNumber: any, noteNumber: any, velocity: any, startTime: any): Promise<void>;
137
+ noteOn(channelNumber: any, noteNumber: any, velocity: any, startTime: any): Promise<any>;
138
+ createNote(channelNumber: any, noteNumber: any, velocity: any, startTime: any): Note;
139
+ setupNote(channelNumber: any, note: any, startTime: any): Promise<any>;
121
140
  disconnectNote(note: any): void;
141
+ releaseFullCache(note: any): void;
122
142
  releaseNote(channel: any, note: any, endTime: any): Promise<any>;
123
143
  noteOff(channelNumber: any, noteNumber: any, _velocity: any, endTime: any, force: any): any;
124
144
  setNoteIndex(channel: any, index: any): void;
@@ -142,7 +162,7 @@ export class MidyGMLite extends EventTarget {
142
162
  modLfoToVolume: (channel: any, note: any, scheduleTime: any) => void;
143
163
  chorusEffectsSend: (_channel: any, _note: any, _scheduleTime: any) => void;
144
164
  reverbEffectsSend: (_channel: any, _note: any, _scheduleTime: any) => void;
145
- delayModLFO: (_channel: any, note: any, scheduleTime: any) => void;
165
+ delayModLFO: (channel: any, note: any, scheduleTime: any) => void;
146
166
  freqModLFO: (_channel: any, note: any, scheduleTime: any) => void;
147
167
  delayVibLFO: (_channel: any, _note: any, _scheduleTime: any) => void;
148
168
  freqVibLFO: (_channel: any, _note: any, _scheduleTime: any) => void;
@@ -184,7 +204,8 @@ export class MidyGMLite extends EventTarget {
184
204
  scheduleTask(callback: any, scheduleTime: any): Promise<any>;
185
205
  }
186
206
  declare class Channel {
187
- constructor(audioNodes: any, settings: any);
207
+ constructor(channelNumber: any, audioNodes: any, settings: any);
208
+ channelNumber: number;
188
209
  isDrum: boolean;
189
210
  programNumber: number;
190
211
  scheduleIndex: number;
@@ -200,6 +221,40 @@ declare class Channel {
200
221
  state: ControllerState;
201
222
  resetSettings(settings: any): void;
202
223
  }
224
+ declare class RenderedBuffer {
225
+ constructor(buffer: any, meta?: {});
226
+ buffer: any;
227
+ isLoop: any;
228
+ isFull: any;
229
+ adsDuration: any;
230
+ loopStart: any;
231
+ loopDuration: any;
232
+ noteDuration: any;
233
+ releaseDuration: any;
234
+ }
235
+ declare class Note {
236
+ constructor(noteNumber: any, velocity: any, startTime: any);
237
+ voice: any;
238
+ voiceParams: any;
239
+ adjustedBaseFreq: number;
240
+ index: number;
241
+ ending: boolean;
242
+ bufferSource: any;
243
+ timelineIndex: null;
244
+ renderedBuffer: null;
245
+ fullCacheVoiceId: null;
246
+ filterEnvelopeNode: any;
247
+ volumeEnvelopeNode: any;
248
+ modLfo: any;
249
+ modLfoToPitch: any;
250
+ modLfoToFilterFc: any;
251
+ modLfoToVolume: any;
252
+ noteNumber: any;
253
+ velocity: any;
254
+ startTime: any;
255
+ ready: Promise<any>;
256
+ resolveReady: (value: any) => void;
257
+ }
203
258
  declare class ControllerState {
204
259
  array: Float32Array<ArrayBuffer>;
205
260
  }
@@ -1 +1 @@
1
- {"version":3,"file":"midy-GMLite.d.ts","sourceRoot":"","sources":["../src/midy-GMLite.js"],"names":[],"mappings":"AA0JA;IAwCE;;;;;;;;;MASE;IAEF,+BAgBC;IA9DD,gCAAgC;IAChC,aAAa;IACb,oBAAiB;IACjB,qBAAmB;IACnB,kBAAc;IACd,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,iBAAY;IACZ,gBAAc;IACd,oBAAkB;IAClB,sBAAwB;IACxB,2BAAqC;IACrC,+BAEE;IAeA,kBAAgC;IAChC,kBAA8C;IAC9C,eAAwD;IACxD,qBAGE;IACF,uBAAmD;IACnD;;;;;;;;;;;;MAA2D;IAC3D,6BAA+D;IAC/D,oBAAiD;IAMnD,mCASC;IAED,2DAYC;IAED,yCAmBC;IAED,oCASC;IAED,sBA6BC;IAED,8DAeC;IAED;;;;MAeC;IAED,6CAMC;IAED,2CAsBC;IAED,kDA6BC;IAED,0EAUC;IAED,gEAsDC;IAED,mCASC;IAED,uBAUC;IAED,yDAqCC;IAED,2BA0EC;IAED,uDAEC;IAED,wDAEC;IAED,qCAKC;IAED;;;MAwDC;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,8BAEC;IAED,8BAEC;IAED,4BAEC;IAED,wCAIC;IAED,2DAIC;IAED,6CAEC;IAED,sDAeC;IAED,4DASC;IAED,qDAkBC;IAED,6CAIC;IAED,sDA6BC;IAED,kEAqBC;IAED,4GAkCC;IAED,uEA6CC;IAED,0EAiBC;IAED,8EAiBC;IAED,oEAUC;IAED,0FAwBC;IAED,gCASC;IAED,iEAwBC;IAED,4FAsBC;IAED,6CAUC;IAED,qDAUC;IAED,qFAeC;IAED,+BAmBC;IAED,kDAOC;IAED,sFA2BC;IAED,mFAGC;IAED,wFAGC;IAED,sEAUC;IAED,mEAYC;IAED,wDAKC;IAED,sDAOC;IAED,mDAMC;IAED,kDAKC;IAED;;;;;;;;;;;;MAoCC;IAED,oFAMC;IAED,6EA2BC;IAED,qCAeC;IAED,+FAYC;IAED,wDAUC;IAED,4EAKC;IAED,mEAKC;IAED;;;MAMC;IAED,gEAKC;IAED,uEAKC;IAED,sEAGC;IAED,2DAUC;IAED,yEAWC;IAED,kFAeC;IAED,uDAcC;IAED,gDAEC;IAED,gDAEC;IAED,sEAGC;IAED,qEAKC;IAED,2EAUC;IAED,gFAGC;IAED,6CAmBC;IAGD,8EAgCC;IAED,gFAGC;IAED,+EAgBC;IAED,qCAUC;IAED,4EAaC;IAED,4DAGC;IAED,qDAKC;IAED,gDAYC;IAGD,6DAgBC;CACF;AA7qDD;IAcE,4CAIC;IAjBD,gBAAe;IACf,sBAAkB;IAClB,sBAAkB;IAClB,eAAW;IACX,gBAAY;IACZ,gBAAY;IACZ,eAAa;IACb,eAAa;IACb,6BAA0B;IAC1B,sBAAoB;IACpB,oBAAkB;IAClB,0BAA2B;IAKzB,uBAAkC;IAGpC,mCAEC;CACF;AAqCD;IACE,iCAA8B;CAa/B"}
1
+ {"version":3,"file":"midy-GMLite.d.ts","sourceRoot":"","sources":["../src/midy-GMLite.js"],"names":[],"mappings":"AAwOA;IAgDE;;;;;;;;;MASE;IAEF,6CAiBC;IAvED,gCAAgC;IAChC,aAAa;IACb,oBAAiB;IACjB,qBAAmB;IACnB,kBAAc;IACd,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;IAe3B,kBAAgC;IAChC,eAAwD;IACxD,kBAA8C;IAC9C,eAAwD;IACxD,qBAGE;IACF,uBAAmD;IACnD;;;;;;;;;;;;MAA2D;IAC3D,6BAA+D;IAC/D,oBAAiD;IAMnD,mCASC;IAED,2DAYC;IAED,yCAmBC;IAED,oCAYC;IAED,6BAiIC;IAED,sBAgCC;IAED,6EAiBC;IAED;;;;MAWC;IAED,6CAOC;IAED,2CAsBC;IAED,kDA6BC;IAED,4EAqBC;IAED,gEAwDC;IAED,mCASC;IAED,uBAWC;IAED,yDAqCC;IAED,iCA4EC;IAED,2BA6EC;IAED,uDAEC;IAED,wDAEC;IAED,qCAKC;IAED;;;MAwDC;IAED,kGAeC;IAED,mGAeC;IAED,wEAQC;IAED,oCAkJC;IAED,uBAMC;IAED,sBAIC;IAED,uBAMC;IAED,wBAIC;IAED,0BAKC;IAED,8BAoBC;IAED,wBAYC;IAED,sBAOC;IAED,kEAWC;IAED,kFAYC;IAED,8BAEC;IAED,8BAEC;IAED,4BAEC;IAED,wCAIC;IAED,2DAKC;IAED,6CAEC;IAED,sDAgBC;IAED,4DAMC;IAED,qDAkBC;IAED,6CAIC;IAED,sDA8BC;IAED,kEAwBC;IAED,kHAwEC;IAED,oHAoGC;IAED,gIA0DC;IAED,qEAwBC;IAED,6FAqCC;IAED,iEA+CC;IAED,+EA0CC;IAED,uEA4DC;IAED,0EAiBC;IAED,8EAiBC;IAED,oEAWC;IAED,yFAQC;IAED,qFAKC;IAED,uEA8BC;IAED,gCAUC;IAED,kCAWC;IAED,iEAkFC;IAED,4FAgBC;IAED,6CAUC;IAED,qDAUC;IAED,qFAeC;IAED,+BAmBC;IAED,kDAOC;IAED,sFAsBC;IAED,mFAGC;IAED,wFAGC;IAED,sEAUC;IAED,mEAYC;IAED,wDAKC;IAED,sDAOC;IAED,mDAMC;IAED,kDAKC;IAED;;;;;;;;;;;;MAoCC;IAED,oFAMC;IAED,6EA4BC;IAED,qCAeC;IAED,+FAYC;IAED,wDAWC;IAED,4EAKC;IAED,mEAKC;IAED;;;MAMC;IAED,gEAKC;IAED,uEAKC;IAED,sEAGC;IAED,2DAUC;IAED,yEAgBC;IAED,kFAeC;IAED,uDAcC;IAED,gDAEC;IAED,gDAEC;IAED,sEAGC;IAED,qEAKC;IAED,2EAUC;IAED,gFAGC;IAED,6CAmBC;IAGD,8EAgCC;IAED,gFAGC;IAED,+EAgBC;IAED,qCAUC;IAED,4EAaC;IAED,4DAGC;IAED,qDAMC;IAED,gDAYC;IAGD,6DAgBC;CACF;AA/iFD;IAeE,gEAKC;IAnBD,sBAAkB;IAClB,gBAAe;IACf,sBAAkB;IAClB,sBAAkB;IAClB,eAAW;IACX,gBAAY;IACZ,gBAAY;IACZ,eAAa;IACb,eAAa;IACb,6BAA0B;IAC1B,sBAAoB;IACpB,oBAAkB;IAClB,0BAA2B;IAMzB,uBAAkC;IAGpC,mCAEC;CACF;AAqFD;IAUE,oCASC;IAlBD,YAAO;IACP,YAAO;IACP,YAAO;IACP,iBAAY;IACZ,eAAU;IACV,kBAAa;IACb,kBAAa;IACb,qBAAgB;CAYjB;AA7JD;IAiBE,4DAOC;IAvBD,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;IAGb,gBAA4B;IAC5B,cAAwB;IACxB,eAA0B;IAC1B,oBAEE;IADA,mCAA2B;CAGhC;AAgED;IACE,iCAA8B;CAa/B"}