@blibliki/engine 0.1.2 → 0.1.3

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.
@@ -5,7 +5,7 @@ export default class MidiDeviceManager {
5
5
  };
6
6
  private initialized;
7
7
  constructor();
8
- find(id: string): MidiDevice;
8
+ find(id: string): MidiDevice | null;
9
9
  onStateChange(callback: (device: MidiDevice) => void): void;
10
10
  private listenChanges;
11
11
  private initializeDevices;
@@ -11,7 +11,7 @@ export default class MidiDeviceManager {
11
11
  find(id) {
12
12
  const device = this.devices[id];
13
13
  if (!device)
14
- throw Error(`Midi device with id ${id} not found`);
14
+ return null;
15
15
  return device;
16
16
  }
17
17
  onStateChange(callback) {
@@ -1 +1 @@
1
- {"version":3,"file":"MidiDeviceManager.js","sourceRoot":"","sources":["../src/MidiDeviceManager.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,cAAc,CAAC;AAEtC,MAAM,CAAC,OAAO,OAAO,iBAAiB;IACpC,OAAO,GAAkC,EAAE,CAAC;IACpC,WAAW,GAAY,KAAK,CAAC;IAErC;QACE,IAAI,CAAC,iBAAiB,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;YACjC,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,EAAU;QACb,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAEhC,IAAI,CAAC,MAAM;YAAE,MAAM,KAAK,CAAC,uBAAuB,EAAE,YAAY,CAAC,CAAC;QAEhE,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,aAAa,CAAC,QAAsC;QAClD,SAAS,CAAC,iBAAiB,EAAE,CAAC,IAAI,CAAC,CAAC,MAAkB,EAAE,EAAE;YACxD,MAAM,CAAC,aAAa,GAAG,CAAC,CAAC,EAAE,EAAE;gBAC3B,MAAM,WAAW,GAAG,CAAC,YAAY,mBAAmB,CAAC;gBAErD,IAAI,CAAC,WAAW;oBAAE,OAAO;gBACzB,IAAI,CAAC,CAAC,IAAI,YAAY,UAAU;oBAAE,OAAO;gBAEzC,MAAM,KAAK,GAAG,CAAC,CAAC,IAAiB,CAAC;gBAElC,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;gBAEnC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjB,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,aAAa;QACnB,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,EAAE,EAAE;YAC5B,IAAI,MAAM,CAAC,KAAK,KAAK,cAAc,EAAE;gBACnC,MAAM,CAAC,UAAU,EAAE,CAAC;gBACpB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;aAChC;iBAAM;gBACL,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC;aAClC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,iBAAiB;QAC7B,IAAI,IAAI,CAAC,WAAW;YAAE,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEzD,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACtC,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBAAE,OAAO;YAEnC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IAEO,KAAK,CAAC,MAAM;QAClB,MAAM,MAAM,GAAqB,EAAE,CAAC;QAEpC,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,iBAAiB,EAAE,CAAC;QACnD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAErD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF"}
1
+ {"version":3,"file":"MidiDeviceManager.js","sourceRoot":"","sources":["../src/MidiDeviceManager.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,cAAc,CAAC;AAEtC,MAAM,CAAC,OAAO,OAAO,iBAAiB;IACpC,OAAO,GAAkC,EAAE,CAAC;IACpC,WAAW,GAAY,KAAK,CAAC;IAErC;QACE,IAAI,CAAC,iBAAiB,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;YACjC,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,EAAU;QACb,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAEhC,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QAEzB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,aAAa,CAAC,QAAsC;QAClD,SAAS,CAAC,iBAAiB,EAAE,CAAC,IAAI,CAAC,CAAC,MAAkB,EAAE,EAAE;YACxD,MAAM,CAAC,aAAa,GAAG,CAAC,CAAC,EAAE,EAAE;gBAC3B,MAAM,WAAW,GAAG,CAAC,YAAY,mBAAmB,CAAC;gBAErD,IAAI,CAAC,WAAW;oBAAE,OAAO;gBACzB,IAAI,CAAC,CAAC,IAAI,YAAY,UAAU;oBAAE,OAAO;gBAEzC,MAAM,KAAK,GAAG,CAAC,CAAC,IAAiB,CAAC;gBAElC,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;gBAEnC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjB,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,aAAa;QACnB,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,EAAE,EAAE;YAC5B,IAAI,MAAM,CAAC,KAAK,KAAK,cAAc,EAAE;gBACnC,MAAM,CAAC,UAAU,EAAE,CAAC;gBACpB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;aAChC;iBAAM;gBACL,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC;aAClC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,iBAAiB;QAC7B,IAAI,IAAI,CAAC,WAAW;YAAE,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEzD,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACtC,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBAAE,OAAO;YAEnC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IAEO,KAAK,CAAC,MAAM;QAClB,MAAM,MAAM,GAAqB,EAAE,CAAC;QAEpC,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,iBAAiB,EAAE,CAAC;QACnD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAErD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF"}
@@ -20,7 +20,7 @@ export default class MidiSelector extends Module {
20
20
  set selectedId(value) {
21
21
  if (this.selectedId) {
22
22
  const prevMidiDevice = Engine.midiDeviceManager.find(this.selectedId);
23
- prevMidiDevice.removeEventListener(this.onMidiEvent);
23
+ prevMidiDevice?.removeEventListener(this.onMidiEvent);
24
24
  }
25
25
  this._props = { ...this.props, selectedId: value };
26
26
  this.addEventListener(value);
@@ -37,7 +37,7 @@ export default class MidiSelector extends Module {
37
37
  if (!this.onMidiEvent || !midiId)
38
38
  return; // Ugly hack because of weird super bug
39
39
  const midiDevice = Engine.midiDeviceManager.find(midiId);
40
- midiDevice.addEventListener(this.onMidiEvent);
40
+ midiDevice?.addEventListener(this.onMidiEvent);
41
41
  }
42
42
  }
43
43
  //# sourceMappingURL=MidiSelector.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MidiSelector.js","sourceRoot":"","sources":["../../src/Module/MidiSelector.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,WAAW,CAAC;AAE/B,OAAO,MAAM,EAAE,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAOlE,MAAM,YAAY,GAA0B;IAC1C,UAAU,EAAE,IAAI;CACjB,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,MAGzC;IACC,UAAU,CAAS;IAEnB,YAAY,IAAY,EAAE,KAAqC;QAC7D,KAAK,CAAC,IAAI,oBAAoB,EAAE,EAAE;YAChC,IAAI;YACJ,KAAK,EAAE,EAAE,GAAG,YAAY,EAAE,GAAG,KAAK,EAAE;YACpC,IAAI,EAAE,UAAU,CAAC,YAAY;SAC9B,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACzC,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACnC,CAAC;IAED,IAAI,UAAU,CAAC,KAAoB;QACjC,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,MAAM,cAAc,GAAG,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACtE,cAAc,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;SACtD;QAED,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;QAEnD,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAEO,eAAe;QACrB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;IAC9D,CAAC;IAEO,WAAW,GAAG,CAAC,SAAoB,EAAE,EAAE;QAC7C,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YAC5C,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEM,gBAAgB,CAAC,MAAqB;QAC5C,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,MAAM;YAAE,OAAO,CAAC,uCAAuC;QAEjF,MAAM,UAAU,GAAG,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACzD,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAChD,CAAC;CACF"}
1
+ {"version":3,"file":"MidiSelector.js","sourceRoot":"","sources":["../../src/Module/MidiSelector.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,WAAW,CAAC;AAE/B,OAAO,MAAM,EAAE,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAOlE,MAAM,YAAY,GAA0B;IAC1C,UAAU,EAAE,IAAI;CACjB,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,MAGzC;IACC,UAAU,CAAS;IAEnB,YAAY,IAAY,EAAE,KAAqC;QAC7D,KAAK,CAAC,IAAI,oBAAoB,EAAE,EAAE;YAChC,IAAI;YACJ,KAAK,EAAE,EAAE,GAAG,YAAY,EAAE,GAAG,KAAK,EAAE;YACpC,IAAI,EAAE,UAAU,CAAC,YAAY;SAC9B,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACzC,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACnC,CAAC;IAED,IAAI,UAAU,CAAC,KAAoB;QACjC,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,MAAM,cAAc,GAAG,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACtE,cAAc,EAAE,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;SACvD;QAED,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;QAEnD,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAEO,eAAe;QACrB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;IAC9D,CAAC;IAEO,WAAW,GAAG,CAAC,SAAoB,EAAE,EAAE;QAC7C,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YAC5C,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEM,gBAAgB,CAAC,MAAqB;QAC5C,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,MAAM;YAAE,OAAO,CAAC,uCAAuC;QAEjF,MAAM,UAAU,GAAG,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACzD,UAAU,EAAE,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACjD,CAAC;CACF"}
@@ -18,4 +18,4 @@ export { default as Oscillator } from "./Oscillator";
18
18
  export { Envelope, AmpEnvelope, FreqEnvelope, EnvelopeStages, } from "./Envelope";
19
19
  export declare type AudioModule = Module<Connectable, any> | PolyModule<Module<Connectable, any>, any>;
20
20
  export declare function createModule(name: string, type: string, props: any): AudioModule;
21
- export declare function moduleClassFromType(type: string): typeof VirtualMidi | typeof Oscillator | typeof PolyOscillator | typeof Envelope | typeof PolyEnvelope | typeof AmpEnvelope | typeof PolyAmpEnvelope | typeof Filter | typeof PolyFilter | typeof Master | typeof VoiceScheduler | typeof Voice | typeof MidiSelector | typeof Volume | typeof PolyVolume;
21
+ export declare function moduleClassFromType(type: string): typeof Oscillator | typeof PolyOscillator | typeof Envelope | typeof PolyEnvelope | typeof AmpEnvelope | typeof PolyAmpEnvelope | typeof Filter | typeof PolyFilter | typeof Master | typeof VoiceScheduler | typeof Voice | typeof MidiSelector | typeof Volume | typeof PolyVolume | typeof VirtualMidi;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blibliki/engine",
3
- "version": "0.1.2",
3
+ "version": "0.1.3",
4
4
  "main": "build/index.js",
5
5
  "types": "build/index.d.ts",
6
6
  "dependencies": {
@@ -11,10 +11,10 @@ export default class MidiDeviceManager {
11
11
  });
12
12
  }
13
13
 
14
- find(id: string): MidiDevice {
14
+ find(id: string): MidiDevice | null {
15
15
  const device = this.devices[id];
16
16
 
17
- if (!device) throw Error(`Midi device with id ${id} not found`);
17
+ if (!device) return null;
18
18
 
19
19
  return device;
20
20
  }
@@ -35,7 +35,7 @@ export default class MidiSelector extends Module<
35
35
  set selectedId(value: string | null) {
36
36
  if (this.selectedId) {
37
37
  const prevMidiDevice = Engine.midiDeviceManager.find(this.selectedId);
38
- prevMidiDevice.removeEventListener(this.onMidiEvent);
38
+ prevMidiDevice?.removeEventListener(this.onMidiEvent);
39
39
  }
40
40
 
41
41
  this._props = { ...this.props, selectedId: value };
@@ -57,6 +57,6 @@ export default class MidiSelector extends Module<
57
57
  if (!this.onMidiEvent || !midiId) return; // Ugly hack because of weird super bug
58
58
 
59
59
  const midiDevice = Engine.midiDeviceManager.find(midiId);
60
- midiDevice.addEventListener(this.onMidiEvent);
60
+ midiDevice?.addEventListener(this.onMidiEvent);
61
61
  }
62
62
  }