@sudobility/music_player 0.1.56 → 0.1.58
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/CLAUDE.md +2 -0
- package/dist/mocks/index.d.ts +10 -1
- package/dist/mocks/index.d.ts.map +1 -1
- package/dist/mocks/index.js +13 -0
- package/dist/mocks/index.js.map +1 -1
- package/dist/player.d.ts +4 -1
- package/dist/player.d.ts.map +1 -1
- package/dist/player.js +17 -0
- package/dist/player.js.map +1 -1
- package/dist/react/index.d.ts +10 -0
- package/dist/react/index.d.ts.map +1 -0
- package/dist/react/index.js +9 -0
- package/dist/react/index.js.map +1 -0
- package/dist/react/usePlaybackReadiness.d.ts +17 -0
- package/dist/react/usePlaybackReadiness.d.ts.map +1 -0
- package/dist/react/usePlaybackReadiness.js +36 -0
- package/dist/react/usePlaybackReadiness.js.map +1 -0
- package/dist/rn/playback/sample-engine.d.ts.map +1 -1
- package/dist/rn/playback/sample-engine.js +10 -1
- package/dist/rn/playback/sample-engine.js.map +1 -1
- package/dist/singleton.d.ts +6 -0
- package/dist/singleton.d.ts.map +1 -1
- package/dist/singleton.js +8 -0
- package/dist/singleton.js.map +1 -1
- package/dist/types.d.ts +25 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +9 -1
- package/dist/types.js.map +1 -1
- package/package.json +18 -4
package/CLAUDE.md
CHANGED
|
@@ -327,6 +327,8 @@ installs `js-synthesizer` and a React Native app installs
|
|
|
327
327
|
carries 0..1 and `planVoice` normalizes 0..127, so the renderer scales back up.
|
|
328
328
|
Getting that backwards renders a file ~127x too quiet, which is why it has its
|
|
329
329
|
own test.
|
|
330
|
+
- **The player owns whether it can sound a note (`readiness`: `notReady` → `preparing` → `ready`), and `usePlaybackReadiness` (`@sudobility/music_player/react`) is how a Play button shows it — and what starts the bring-up.** The bring-up used to be started by whatever first pushed a score into the player, which is a different moment on every path to the editor: after a click on a project it had been under way for a while, and on a link opened cold nothing had touched the player, so the Play button sat enabled over an engine that had not begun and the press that should have played started the load. Now the first component to ask starts it: the hook reads `readiness`, calls `prepare()` once where it is `notReady`, and answers only `preparing` or `ready` — `notReady` is internal. **`failed` counts as `ready`**: the failure is reported through `onLoadState` for the host to show, and a Play that retries is the one thing left to offer; a spinner that never ends offers nothing. `prepare()` is the engine's own idempotent, retryable `initialize` — **and every engine's `initialize` has to report `ready` when it is up with no score**: the RN sample engine reported only while loading a score's packs, so an engine asked to come up before any score came up in silence and the Play button spun for good. React is an optional peer, used by the `./react` entry alone, so a host driving playback from outside React installs nothing. `getMusicPlayerIfInitialized()` is for a component that can render without a player (a transport in a test): the hook takes `null` and answers `ready`. Both apps' Play buttons use exactly this, and neither reads the store's `synthLoad` for it any more — the store only hears about a load something started.
|
|
331
|
+
|
|
330
332
|
## Related Projects
|
|
331
333
|
|
|
332
334
|
- `music_types` — the model, the score domain, the playhead (`@sudobility/music_types`)
|
package/dist/mocks/index.d.ts
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import type { PlaybackLoadState, PlaybackTrack, Score, ScoreRange, SoundingNote, TransportPlaybackState } from '@sudobility/music_types';
|
|
9
9
|
import { PlaybackBus } from '../shared/bus.js';
|
|
10
|
-
import type { IMusicPlayer, Unsubscribe } from '../types.js';
|
|
10
|
+
import type { IMusicPlayer, PlaybackReadiness, Unsubscribe } from '../types.js';
|
|
11
11
|
export declare class MockMusicPlayer implements IMusicPlayer {
|
|
12
12
|
readonly calls: string[];
|
|
13
13
|
/** The score it was last handed, for tests to assert on. */
|
|
@@ -38,6 +38,15 @@ export declare class MockMusicPlayer implements IMusicPlayer {
|
|
|
38
38
|
onSounding(fn: (n: readonly SoundingNote[]) => void): Unsubscribe;
|
|
39
39
|
onTransport(fn: (s: TransportPlaybackState) => void): Unsubscribe;
|
|
40
40
|
onLoadState(fn: (s: PlaybackLoadState) => void): Unsubscribe;
|
|
41
|
+
/**
|
|
42
|
+
* Follows what `emitLoadState` last reported, as the real player's does;
|
|
43
|
+
* `ready` to begin with, so a test that never mentions loading sees a Play
|
|
44
|
+
* button. `prepare()` is counted and changes nothing: what it leads to is
|
|
45
|
+
* whatever the test reports next.
|
|
46
|
+
*/
|
|
47
|
+
readiness: PlaybackReadiness;
|
|
48
|
+
prepareCalls: number;
|
|
49
|
+
prepare(): Promise<void>;
|
|
41
50
|
dispose(): void;
|
|
42
51
|
emitPosition(tick: number): void;
|
|
43
52
|
emitSounding(notes: readonly SoundingNote[]): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mocks/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EACV,iBAAiB,EACjB,aAAa,EACb,KAAK,EACL,UAAU,EACV,YAAY,EACZ,sBAAsB,EACvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mocks/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EACV,iBAAiB,EACjB,aAAa,EACb,KAAK,EACL,UAAU,EACV,YAAY,EACZ,sBAAsB,EACvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAEhF,qBAAa,eAAgB,YAAW,YAAY;IAClD,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,CAAM;IAC9B,4DAA4D;IAC5D,WAAW,EAAE,KAAK,GAAG,IAAI,CAAQ;IAEjC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkC;IAC3D,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAE9B;IACJ,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkD;IAC5E,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA6C;IAEvE,yFAAyF;IACzF,QAAQ,CAAC,GAAG,cAAqB;IAE3B,IAAI,CACR,KAAK,EAAE,KAAK,EACZ,IAAI,GAAE;QAAE,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;KAAO,GACjD,OAAO,CAAC,IAAI,CAAC;IASV,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAG3B,KAAK,IAAI,IAAI;IAGb,IAAI,IAAI,IAAI;IAGZ,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAGxB,OAAO,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,GAAG,IAAI;IAKvC,kBAAkB,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAGnC,YAAY,CAAC,EAAE,EAAE,OAAO,GAAG,IAAI;IAG/B,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAG7C,eAAe,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI;IAGhC,QAAQ,CAAC,MAAM,EAAE,SAAS,aAAa,EAAE,GAAG,IAAI;IAGhD,gBAAgB,CAAC,GAAG,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI;IAG9C,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,UAAQ,GAAG,IAAI;IAGjE,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI3B,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,GAAG,WAAW;IAIhD,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,YAAY,EAAE,KAAK,IAAI,GAAG,WAAW;IAIjE,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,sBAAsB,KAAK,IAAI,GAAG,WAAW;IAIjE,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,iBAAiB,KAAK,IAAI,GAAG,WAAW;IAK5D;;;;;OAKG;IACH,SAAS,EAAE,iBAAiB,CAAW;IACvC,YAAY,SAAK;IAEX,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAI9B,OAAO,IAAI,IAAI;IAKf,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIhC,YAAY,CAAC,KAAK,EAAE,SAAS,YAAY,EAAE,GAAG,IAAI;IAIlD,aAAa,CAAC,KAAK,EAAE,sBAAsB,GAAG,IAAI;IAGlD,aAAa,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI;CAI9C"}
|
package/dist/mocks/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { PlaybackBus } from '../shared/bus.js';
|
|
2
|
+
import { readinessOf } from '../types.js';
|
|
2
3
|
export class MockMusicPlayer {
|
|
3
4
|
calls = [];
|
|
4
5
|
/** The score it was last handed, for tests to assert on. */
|
|
@@ -70,6 +71,17 @@ export class MockMusicPlayer {
|
|
|
70
71
|
this.loadState.add(fn);
|
|
71
72
|
return () => this.loadState.delete(fn);
|
|
72
73
|
}
|
|
74
|
+
/**
|
|
75
|
+
* Follows what `emitLoadState` last reported, as the real player's does;
|
|
76
|
+
* `ready` to begin with, so a test that never mentions loading sees a Play
|
|
77
|
+
* button. `prepare()` is counted and changes nothing: what it leads to is
|
|
78
|
+
* whatever the test reports next.
|
|
79
|
+
*/
|
|
80
|
+
readiness = 'ready';
|
|
81
|
+
prepareCalls = 0;
|
|
82
|
+
async prepare() {
|
|
83
|
+
this.prepareCalls += 1;
|
|
84
|
+
}
|
|
73
85
|
dispose() {
|
|
74
86
|
this.calls.push('dispose');
|
|
75
87
|
}
|
|
@@ -89,6 +101,7 @@ export class MockMusicPlayer {
|
|
|
89
101
|
fn(state);
|
|
90
102
|
}
|
|
91
103
|
emitLoadState(state) {
|
|
104
|
+
this.readiness = readinessOf(state);
|
|
92
105
|
for (const fn of this.loadState)
|
|
93
106
|
fn(state);
|
|
94
107
|
}
|
package/dist/mocks/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mocks/index.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mocks/index.ts"],"names":[],"mappings":"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"}
|
package/dist/player.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { PlaybackLoadState, PlaybackTrack, Score, ScoreRange, SoundingNote, TransportPlaybackState } from '@sudobility/music_types';
|
|
2
2
|
import type { PlaybackEngine } from './engine.js';
|
|
3
3
|
import { PlaybackBus } from './shared/bus.js';
|
|
4
|
-
import type { IMusicPlayer, Unsubscribe } from './types.js';
|
|
4
|
+
import type { IMusicPlayer, PlaybackReadiness, Unsubscribe } from './types.js';
|
|
5
5
|
export declare class MusicPlayer implements IMusicPlayer {
|
|
6
6
|
private readonly engine;
|
|
7
7
|
/**
|
|
@@ -25,6 +25,7 @@ export declare class MusicPlayer implements IMusicPlayer {
|
|
|
25
25
|
private state;
|
|
26
26
|
private score;
|
|
27
27
|
private visibleTrackIds;
|
|
28
|
+
private loadState;
|
|
28
29
|
private readonly loadStateListeners;
|
|
29
30
|
/** Detaches the position subscription this player follows. */
|
|
30
31
|
private readonly stopFollowingPosition;
|
|
@@ -64,6 +65,8 @@ export declare class MusicPlayer implements IMusicPlayer {
|
|
|
64
65
|
onSounding(fn: (notes: readonly SoundingNote[]) => void): Unsubscribe;
|
|
65
66
|
onTransport(fn: (state: TransportPlaybackState) => void): Unsubscribe;
|
|
66
67
|
onLoadState(fn: (state: PlaybackLoadState) => void): Unsubscribe;
|
|
68
|
+
get readiness(): PlaybackReadiness;
|
|
69
|
+
prepare(): Promise<void>;
|
|
67
70
|
dispose(): void;
|
|
68
71
|
/**
|
|
69
72
|
* How many score ticks pass per real second at the current position.
|
package/dist/player.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"player.d.ts","sourceRoot":"","sources":["../src/player.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAEV,iBAAiB,EAEjB,aAAa,EACb,KAAK,EACL,UAAU,EACV,YAAY,EACZ,sBAAsB,EACvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"player.d.ts","sourceRoot":"","sources":["../src/player.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAEV,iBAAiB,EAEjB,aAAa,EACb,KAAK,EACL,UAAU,EACV,YAAY,EACZ,sBAAsB,EACvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAG9C,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE/E,qBAAa,WAAY,YAAW,YAAY;IAoClC,OAAO,CAAC,QAAQ,CAAC,MAAM;IAnCnC;;;;OAIG;IACH,QAAQ,CAAC,GAAG,cAAqB;IAEjC;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAA2D;IAE3E,2FAA2F;IAC3F,OAAO,CAAC,KAAK,CAAsC;IAEnD,sGAAsG;IACtG,OAAO,CAAC,UAAU,CAAK;IAEvB,iGAAiG;IACjG,OAAO,CAAC,KAAK,CAAqC;IAElD,OAAO,CAAC,KAAK,CAAsB;IACnC,OAAO,CAAC,eAAe,CAAkC;IAEzD,OAAO,CAAC,SAAS,CAAyC;IAC1D,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAE/B;IAEJ,8DAA8D;IAC9D,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAa;gBAEtB,MAAM,EAAE,cAAc;IA0D7C,IAAI,CACR,KAAK,EAAE,KAAK,EACZ,IAAI,GAAE;QAAE,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;KAAO,GACjD,OAAO,CAAC,IAAI,CAAC;IA4BV,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B,aAAa,IAAI,IAAI;IAIrB,KAAK,IAAI,IAAI;IAIb,IAAI,IAAI,IAAI;IAIZ;;;;;;;;;;;OAWG;IACH,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAK7B,OAAO,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,GAAG,IAAI;IAIvC,6FAA6F;IAC7F,eAAe,IAAI,UAAU,GAAG,IAAI;IAKpC,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAK5C,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIpC,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI7C,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAIrC,QAAQ,CAAC,MAAM,EAAE,SAAS,aAAa,EAAE,GAAG,IAAI;IAIhD,gBAAgB,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI;IAK1D,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,UAAQ,GAAG,IAAI;IAMjE,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI3B,UAAU,CAAC,EAAE,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,GAAG,WAAW;IAIxD,UAAU,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,SAAS,YAAY,EAAE,KAAK,IAAI,GAAG,WAAW;IAIrE,WAAW,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,sBAAsB,KAAK,IAAI,GAAG,WAAW;IAIrE,WAAW,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,GAAG,WAAW;IAKhE,IAAI,SAAS,IAAI,iBAAiB,CAEjC;IAEK,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAW9B,OAAO,IAAI,IAAI;IAMf;;;;;;;;OAQG;IACH,OAAO,CAAC,cAAc;IAUtB;;;;;;;;;OASG;IACH,OAAO,CAAC,oBAAoB;CAS7B"}
|
package/dist/player.js
CHANGED
|
@@ -10,6 +10,7 @@ import { scoreEndTick, sourceTickFor, performanceTickFor, } from '@sudobility/mu
|
|
|
10
10
|
import { getMusicPositionSource } from '@sudobility/music_types';
|
|
11
11
|
import { PlaybackBus } from './shared/bus.js';
|
|
12
12
|
import { playbackPlan, playbackTracks, resolveVoice } from './shared/plan.js';
|
|
13
|
+
import { readinessOf } from './types.js';
|
|
13
14
|
export class MusicPlayer {
|
|
14
15
|
engine;
|
|
15
16
|
/**
|
|
@@ -33,6 +34,7 @@ export class MusicPlayer {
|
|
|
33
34
|
state = 'stopped';
|
|
34
35
|
score = null;
|
|
35
36
|
visibleTrackIds = null;
|
|
37
|
+
loadState = { status: 'idle' };
|
|
36
38
|
loadStateListeners = new Set();
|
|
37
39
|
/** Detaches the position subscription this player follows. */
|
|
38
40
|
stopFollowingPosition;
|
|
@@ -83,6 +85,7 @@ export class MusicPlayer {
|
|
|
83
85
|
},
|
|
84
86
|
// Optional on the contract: an engine with nothing to load never calls it.
|
|
85
87
|
onLoadStateChange: state => {
|
|
88
|
+
this.loadState = state;
|
|
86
89
|
for (const listener of this.loadStateListeners)
|
|
87
90
|
listener(state);
|
|
88
91
|
},
|
|
@@ -192,6 +195,20 @@ export class MusicPlayer {
|
|
|
192
195
|
this.loadStateListeners.add(fn);
|
|
193
196
|
return () => this.loadStateListeners.delete(fn);
|
|
194
197
|
}
|
|
198
|
+
get readiness() {
|
|
199
|
+
return readinessOf(this.loadState);
|
|
200
|
+
}
|
|
201
|
+
async prepare() {
|
|
202
|
+
// The engine's own `initialize` is idempotent and retryable; nothing to
|
|
203
|
+
// add here but the name. A rejection is already reported as a `failed`
|
|
204
|
+
// load state, so it is not thrown twice.
|
|
205
|
+
try {
|
|
206
|
+
await this.engine.initialize();
|
|
207
|
+
}
|
|
208
|
+
catch {
|
|
209
|
+
// Reported through `onLoadState`; see above.
|
|
210
|
+
}
|
|
211
|
+
}
|
|
195
212
|
dispose() {
|
|
196
213
|
this.stopFollowingPosition();
|
|
197
214
|
this.loadStateListeners.clear();
|
package/dist/player.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"player.js","sourceRoot":"","sources":["../src/player.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EACL,YAAY,EACZ,aAAa,EACb,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AAYjC,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"player.js","sourceRoot":"","sources":["../src/player.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* React bindings for the player: `usePlaybackReadiness`.
|
|
3
|
+
*
|
|
4
|
+
* Its own entry point (`@sudobility/music_player/react`), because the rest of
|
|
5
|
+
* this package has no React in it and a host that drives playback from
|
|
6
|
+
* outside React must not be made to install it.
|
|
7
|
+
*/
|
|
8
|
+
export { usePlaybackReadiness } from './usePlaybackReadiness.js';
|
|
9
|
+
export type { UsePlaybackReadinessOptions } from './usePlaybackReadiness.js';
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,YAAY,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* React bindings for the player: `usePlaybackReadiness`.
|
|
3
|
+
*
|
|
4
|
+
* Its own entry point (`@sudobility/music_player/react`), because the rest of
|
|
5
|
+
* this package has no React in it and a host that drives playback from
|
|
6
|
+
* outside React must not be made to install it.
|
|
7
|
+
*/
|
|
8
|
+
export { usePlaybackReadiness } from './usePlaybackReadiness.js';
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { IMusicPlayer, PlaybackReadiness } from '../types.js';
|
|
2
|
+
export type UsePlaybackReadinessOptions = {
|
|
3
|
+
/**
|
|
4
|
+
* Whether to start the bring-up from here. On by default; a host that
|
|
5
|
+
* must wait for a gesture before touching audio turns it off and calls
|
|
6
|
+
* `prepare()` itself.
|
|
7
|
+
*/
|
|
8
|
+
prepare?: boolean;
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* `preparing` until the engine can sound a note, `ready` after.
|
|
12
|
+
*
|
|
13
|
+
* `null` for a host with no player — a test rendering a transport on its
|
|
14
|
+
* own — which has nothing to wait for and is `ready`.
|
|
15
|
+
*/
|
|
16
|
+
export declare function usePlaybackReadiness(player: IMusicPlayer | null, { prepare }?: UsePlaybackReadinessOptions): Exclude<PlaybackReadiness, 'notReady'>;
|
|
17
|
+
//# sourceMappingURL=usePlaybackReadiness.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePlaybackReadiness.d.ts","sourceRoot":"","sources":["../../src/react/usePlaybackReadiness.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEnE,MAAM,MAAM,2BAA2B,GAAG;IACxC;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,YAAY,GAAG,IAAI,EAC3B,EAAE,OAAc,EAAE,GAAE,2BAAgC,GACnD,OAAO,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAYxC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Whether the engine can sound a note, as a value a Play button can show —
|
|
3
|
+
* and the thing that gets it there.
|
|
4
|
+
*
|
|
5
|
+
* The bring-up used to be started by whatever first pushed a score into the
|
|
6
|
+
* player, which is a different moment on every path to the editor: after a
|
|
7
|
+
* click on a project it had been under way for a while, and on a link opened
|
|
8
|
+
* cold nothing had touched the player at all, so the Play button sat enabled
|
|
9
|
+
* over an engine that had not begun to load. Pressing it started the load,
|
|
10
|
+
* and the spinner that followed lasted as long as the load did. Now the first
|
|
11
|
+
* component to ask is what starts it: the hook reads `player.readiness`, and
|
|
12
|
+
* where that is `notReady` it calls `prepare()` — once, on mount — so a
|
|
13
|
+
* screen that shows a Play button is a screen on which the engine is coming
|
|
14
|
+
* up. `notReady` is the player's own internal state; a caller only ever
|
|
15
|
+
* sees `preparing` or `ready`.
|
|
16
|
+
*
|
|
17
|
+
* `useSyncExternalStore` over `onLoadState`, so a change is a re-render of
|
|
18
|
+
* the button and nothing else.
|
|
19
|
+
*/
|
|
20
|
+
import { useEffect, useSyncExternalStore } from 'react';
|
|
21
|
+
/**
|
|
22
|
+
* `preparing` until the engine can sound a note, `ready` after.
|
|
23
|
+
*
|
|
24
|
+
* `null` for a host with no player — a test rendering a transport on its
|
|
25
|
+
* own — which has nothing to wait for and is `ready`.
|
|
26
|
+
*/
|
|
27
|
+
export function usePlaybackReadiness(player, { prepare = true } = {}) {
|
|
28
|
+
const readiness = useSyncExternalStore(onChange => (player ? player.onLoadState(onChange) : () => undefined), () => (player ? player.readiness : 'ready'), () => (player ? player.readiness : 'ready'));
|
|
29
|
+
useEffect(() => {
|
|
30
|
+
if (prepare && player && player.readiness === 'notReady') {
|
|
31
|
+
void player.prepare();
|
|
32
|
+
}
|
|
33
|
+
}, [player, prepare]);
|
|
34
|
+
return readiness === 'ready' ? 'ready' : 'preparing';
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=usePlaybackReadiness.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePlaybackReadiness.js","sourceRoot":"","sources":["../../src/react/usePlaybackReadiness.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAC;AAYxD;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAClC,MAA2B,EAC3B,EAAE,OAAO,GAAG,IAAI,KAAkC,EAAE;IAEpD,MAAM,SAAS,GAAG,oBAAoB,CACpC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,EACrE,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,EAC3C,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAC5C,CAAC;IACF,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,OAAO,IAAI,MAAM,IAAI,MAAM,CAAC,SAAS,KAAK,UAAU,EAAE,CAAC;YACzD,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC;QACxB,CAAC;IACH,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACtB,OAAO,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC;AACvD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sample-engine.d.ts","sourceRoot":"","sources":["../../../src/rn/playback/sample-engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,OAAO,KAAK,EAIV,YAAY,EACZ,aAAa,EACb,UAAU,EAIX,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EACd,gBAAgB,EACjB,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"sample-engine.d.ts","sourceRoot":"","sources":["../../../src/rn/playback/sample-engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { NoteQueue } from '../../shared/note-queue.js';
|
|
|
2
2
|
import { SoundingSet } from '../../shared/sounding-set.js';
|
|
3
3
|
import { planDispatch } from '../../shared/pump-window.js';
|
|
4
4
|
import { headroomTrimFor } from '../../shared/mix.js';
|
|
5
|
-
import { instrumentGain, PERCUSSION_GAIN } from '../../shared/instrument-gain.js';
|
|
5
|
+
import { instrumentGain, PERCUSSION_GAIN, } from '../../shared/instrument-gain.js';
|
|
6
6
|
import { gmPackName, percussionPackName } from './gm-pack-name.js';
|
|
7
7
|
import { PackLibrary } from './pack-library.js';
|
|
8
8
|
import { RELEASE_SECONDS, planVoice } from './voice-plan.js';
|
|
@@ -109,6 +109,15 @@ export class RNSamplePlaybackEngine {
|
|
|
109
109
|
packBase: this.deps.packBase,
|
|
110
110
|
percussionBase: this.deps.percussionBase,
|
|
111
111
|
});
|
|
112
|
+
/*
|
|
113
|
+
Up, and said so. The packs a score needs are loaded when the score is,
|
|
114
|
+
with their own `loading` → `ready`; but an engine asked to come up
|
|
115
|
+
before any score (`IMusicPlayer.prepare`, from a Play button on
|
|
116
|
+
screen) reported nothing here, so its readiness stayed `notReady` and
|
|
117
|
+
the button stayed a spinner for good.
|
|
118
|
+
*/
|
|
119
|
+
if (this.loadState.status === 'idle')
|
|
120
|
+
this.reportLoad({ status: 'ready' });
|
|
112
121
|
}
|
|
113
122
|
async load(plan) {
|
|
114
123
|
/*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sample-engine.js","sourceRoot":"","sources":["../../../src/rn/playback/sample-engine.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sample-engine.js","sourceRoot":"","sources":["../../../src/rn/playback/sample-engine.ts"],"names":[],"mappings":"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"}
|
package/dist/singleton.d.ts
CHANGED
|
@@ -18,6 +18,12 @@ export declare class MusicPlayerNotInitializedError extends Error {
|
|
|
18
18
|
*/
|
|
19
19
|
export declare function initializeMusicPlayer(player: IMusicPlayer): IMusicPlayer;
|
|
20
20
|
export declare function getMusicPlayer(): IMusicPlayer;
|
|
21
|
+
/**
|
|
22
|
+
* The player, or `null` before the composition root has installed one — for
|
|
23
|
+
* a component that can render without it, such as a transport in a test,
|
|
24
|
+
* rather than one that should have thrown.
|
|
25
|
+
*/
|
|
26
|
+
export declare function getMusicPlayerIfInitialized(): IMusicPlayer | null;
|
|
21
27
|
/** Test-only: clears the singleton so suites cannot leak into each other. */
|
|
22
28
|
export declare function resetMusicPlayer(): void;
|
|
23
29
|
//# sourceMappingURL=singleton.d.ts.map
|
package/dist/singleton.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"singleton.d.ts","sourceRoot":"","sources":["../src/singleton.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAI/C,qBAAa,8BAA+B,SAAQ,KAAK;;CAOxD;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,YAAY,GAAG,YAAY,CAGxE;AAED,wBAAgB,cAAc,IAAI,YAAY,CAG7C;AAED,6EAA6E;AAC7E,wBAAgB,gBAAgB,IAAI,IAAI,CAEvC"}
|
|
1
|
+
{"version":3,"file":"singleton.d.ts","sourceRoot":"","sources":["../src/singleton.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAI/C,qBAAa,8BAA+B,SAAQ,KAAK;;CAOxD;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,YAAY,GAAG,YAAY,CAGxE;AAED,wBAAgB,cAAc,IAAI,YAAY,CAG7C;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,IAAI,YAAY,GAAG,IAAI,CAEjE;AAED,6EAA6E;AAC7E,wBAAgB,gBAAgB,IAAI,IAAI,CAEvC"}
|
package/dist/singleton.js
CHANGED
|
@@ -19,6 +19,14 @@ export function getMusicPlayer() {
|
|
|
19
19
|
throw new MusicPlayerNotInitializedError();
|
|
20
20
|
return instance;
|
|
21
21
|
}
|
|
22
|
+
/**
|
|
23
|
+
* The player, or `null` before the composition root has installed one — for
|
|
24
|
+
* a component that can render without it, such as a transport in a test,
|
|
25
|
+
* rather than one that should have thrown.
|
|
26
|
+
*/
|
|
27
|
+
export function getMusicPlayerIfInitialized() {
|
|
28
|
+
return instance;
|
|
29
|
+
}
|
|
22
30
|
/** Test-only: clears the singleton so suites cannot leak into each other. */
|
|
23
31
|
export function resetMusicPlayer() {
|
|
24
32
|
instance = null;
|
package/dist/singleton.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"singleton.js","sourceRoot":"","sources":["../src/singleton.ts"],"names":[],"mappings":"AAYA,IAAI,QAAQ,GAAwB,IAAI,CAAC;AAEzC,MAAM,OAAO,8BAA+B,SAAQ,KAAK;IACvD;QACE,KAAK,CACH,+HAA+H,CAChI,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,gCAAgC,CAAC;IAC/C,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAoB;IACxD,IAAI,CAAC,QAAQ;QAAE,QAAQ,GAAG,MAAM,CAAC;IACjC,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,8BAA8B,EAAE,CAAC;IAC1D,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,gBAAgB;IAC9B,QAAQ,GAAG,IAAI,CAAC;AAClB,CAAC"}
|
|
1
|
+
{"version":3,"file":"singleton.js","sourceRoot":"","sources":["../src/singleton.ts"],"names":[],"mappings":"AAYA,IAAI,QAAQ,GAAwB,IAAI,CAAC;AAEzC,MAAM,OAAO,8BAA+B,SAAQ,KAAK;IACvD;QACE,KAAK,CACH,+HAA+H,CAChI,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,gCAAgC,CAAC;IAC/C,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAoB;IACxD,IAAI,CAAC,QAAQ;QAAE,QAAQ,GAAG,MAAM,CAAC;IACjC,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,8BAA8B,EAAE,CAAC;IAC1D,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,2BAA2B;IACzC,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,gBAAgB;IAC9B,QAAQ,GAAG,IAAI,CAAC;AAClB,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -87,6 +87,31 @@ export interface IMusicPlayer {
|
|
|
87
87
|
* about it.
|
|
88
88
|
*/
|
|
89
89
|
onLoadState(fn: (state: PlaybackLoadState) => void): Unsubscribe;
|
|
90
|
+
/**
|
|
91
|
+
* Whether the engine can sound a note now: `notReady` until something
|
|
92
|
+
* asks it to come up, `preparing` while it does, `ready` after. One value,
|
|
93
|
+
* owned here, so every Play button on every platform shows the same thing
|
|
94
|
+
* — and never a Play the engine cannot honour. `usePlaybackReadiness`
|
|
95
|
+
* (`@sudobility/music_player/react`) reads it and calls `prepare()`.
|
|
96
|
+
*
|
|
97
|
+
* Derived from the load state: `loading` is `preparing`; `ready` is
|
|
98
|
+
* `ready`; `idle` is `notReady`. **`failed` is `ready`**: the engine could
|
|
99
|
+
* not come up, the failure is reported through `onLoadState` for the host
|
|
100
|
+
* to show, and the one thing left to offer is a Play that retries — a
|
|
101
|
+
* spinner that never ends would offer nothing.
|
|
102
|
+
*/
|
|
103
|
+
readonly readiness: PlaybackReadiness;
|
|
104
|
+
/**
|
|
105
|
+
* Brings the engine up — the soundfont fetched and the synth built —
|
|
106
|
+
* without a score, so it is done by the time the first Play arrives rather
|
|
107
|
+
* than started by it. Idempotent: while it is under way, or once done, this
|
|
108
|
+
* is a no-op that resolves when it is.
|
|
109
|
+
*/
|
|
110
|
+
prepare(): Promise<void>;
|
|
90
111
|
dispose(): void;
|
|
91
112
|
}
|
|
113
|
+
export declare const PLAYBACK_READINESS: readonly ["notReady", "preparing", "ready"];
|
|
114
|
+
export type PlaybackReadiness = (typeof PLAYBACK_READINESS)[number];
|
|
115
|
+
/** The readiness a load state amounts to. */
|
|
116
|
+
export declare function readinessOf(state: PlaybackLoadState): PlaybackReadiness;
|
|
92
117
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,KAAK,EACV,iBAAiB,EACjB,aAAa,EACb,KAAK,EACL,UAAU,EACV,YAAY,EACZ,sBAAsB,EACvB,MAAM,yBAAyB,CAAC;AAEjC,MAAM,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC;AAErC;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,YAAY;IAC3B,0EAA0E;IAC1E,aAAa,CAAC,IAAI,IAAI,CAAC;IAEvB;;;;;;;;OAQG;IACH;;;OAGG;IACH,IAAI,CACF,KAAK,EAAE,KAAK,EACZ,IAAI,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;KAAE,GAC7C,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,KAAK,IAAI,IAAI,CAAC;IACd,IAAI,IAAI,IAAI,CAAC;IAEb,uFAAuF;IACvF,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAE9B,OAAO,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,GAAG,IAAI,CAAC;IACxC,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7C,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACrC;;;;OAIG;IACH,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9C,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAEtC,sEAAsE;IACtE,QAAQ,CAAC,MAAM,EAAE,SAAS,aAAa,EAAE,GAAG,IAAI,CAAC;IAEjD,4DAA4D;IAC5D,gBAAgB,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAAC;IAE3D;;;;;;;;;;OAUG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACpE,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAE5B;;;;;;;OAOG;IACH,QAAQ,CAAC,GAAG,EAAE,WAAW,CAAC;IAE1B,UAAU,CAAC,EAAE,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,GAAG,WAAW,CAAC;IACzD,UAAU,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,SAAS,YAAY,EAAE,KAAK,IAAI,GAAG,WAAW,CAAC;IACtE,WAAW,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,sBAAsB,KAAK,IAAI,GAAG,WAAW,CAAC;IACtE;;;;;OAKG;IACH,WAAW,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,GAAG,WAAW,CAAC;IAEjE,OAAO,IAAI,IAAI,CAAC;CACjB"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,KAAK,EACV,iBAAiB,EACjB,aAAa,EACb,KAAK,EACL,UAAU,EACV,YAAY,EACZ,sBAAsB,EACvB,MAAM,yBAAyB,CAAC;AAEjC,MAAM,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC;AAErC;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,YAAY;IAC3B,0EAA0E;IAC1E,aAAa,CAAC,IAAI,IAAI,CAAC;IAEvB;;;;;;;;OAQG;IACH;;;OAGG;IACH,IAAI,CACF,KAAK,EAAE,KAAK,EACZ,IAAI,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;KAAE,GAC7C,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,KAAK,IAAI,IAAI,CAAC;IACd,IAAI,IAAI,IAAI,CAAC;IAEb,uFAAuF;IACvF,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAE9B,OAAO,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,GAAG,IAAI,CAAC;IACxC,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7C,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACrC;;;;OAIG;IACH,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9C,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAEtC,sEAAsE;IACtE,QAAQ,CAAC,MAAM,EAAE,SAAS,aAAa,EAAE,GAAG,IAAI,CAAC;IAEjD,4DAA4D;IAC5D,gBAAgB,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAAC;IAE3D;;;;;;;;;;OAUG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACpE,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAE5B;;;;;;;OAOG;IACH,QAAQ,CAAC,GAAG,EAAE,WAAW,CAAC;IAE1B,UAAU,CAAC,EAAE,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,GAAG,WAAW,CAAC;IACzD,UAAU,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,SAAS,YAAY,EAAE,KAAK,IAAI,GAAG,WAAW,CAAC;IACtE,WAAW,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,sBAAsB,KAAK,IAAI,GAAG,WAAW,CAAC;IACtE;;;;;OAKG;IACH,WAAW,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,GAAG,WAAW,CAAC;IAEjE;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAC;IAEtC;;;;;OAKG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzB,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,eAAO,MAAM,kBAAkB,6CAA8C,CAAC;AAC9E,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEpE,6CAA6C;AAC7C,wBAAgB,WAAW,CAAC,KAAK,EAAE,iBAAiB,GAAG,iBAAiB,CAIvE"}
|
package/dist/types.js
CHANGED
|
@@ -1,2 +1,10 @@
|
|
|
1
|
-
export
|
|
1
|
+
export const PLAYBACK_READINESS = ['notReady', 'preparing', 'ready'];
|
|
2
|
+
/** The readiness a load state amounts to. */
|
|
3
|
+
export function readinessOf(state) {
|
|
4
|
+
if (state.status === 'loading')
|
|
5
|
+
return 'preparing';
|
|
6
|
+
if (state.status === 'idle')
|
|
7
|
+
return 'notReady';
|
|
8
|
+
return 'ready';
|
|
9
|
+
}
|
|
2
10
|
//# sourceMappingURL=types.js.map
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAuIA,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,UAAU,EAAE,WAAW,EAAE,OAAO,CAAU,CAAC;AAG9E,6CAA6C;AAC7C,MAAM,UAAU,WAAW,CAAC,KAAwB;IAClD,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS;QAAE,OAAO,WAAW,CAAC;IACnD,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM;QAAE,OAAO,UAAU,CAAC;IAC/C,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sudobility/music_player",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.58",
|
|
4
4
|
"description": "Playback for ScoreSmith: transport, synth engines and offline rendering, for web and React Native",
|
|
5
5
|
"author": "Sudobility",
|
|
6
6
|
"license": "BUSL-1.1",
|
|
@@ -23,6 +23,11 @@
|
|
|
23
23
|
"import": "./dist/core.js",
|
|
24
24
|
"default": "./dist/core.js"
|
|
25
25
|
},
|
|
26
|
+
"./react": {
|
|
27
|
+
"types": "./dist/react/index.d.ts",
|
|
28
|
+
"import": "./dist/react/index.js",
|
|
29
|
+
"default": "./dist/react/index.js"
|
|
30
|
+
},
|
|
26
31
|
"./web": {
|
|
27
32
|
"types": "./dist/web/index.d.ts",
|
|
28
33
|
"import": "./dist/web/index.js",
|
|
@@ -73,9 +78,10 @@
|
|
|
73
78
|
"prepublishOnly": "bun run clean && bun run verify"
|
|
74
79
|
},
|
|
75
80
|
"peerDependencies": {
|
|
76
|
-
"@sudobility/music_types": "^0.13.
|
|
81
|
+
"@sudobility/music_types": "^0.13.48",
|
|
77
82
|
"js-synthesizer": "^1.13.0",
|
|
78
|
-
"react-native-audio-api": ">=0.13.0"
|
|
83
|
+
"react-native-audio-api": ">=0.13.0",
|
|
84
|
+
"react": ">=18.0.0"
|
|
79
85
|
},
|
|
80
86
|
"peerDependenciesMeta": {
|
|
81
87
|
"js-synthesizer": {
|
|
@@ -83,18 +89,26 @@
|
|
|
83
89
|
},
|
|
84
90
|
"react-native-audio-api": {
|
|
85
91
|
"optional": true
|
|
92
|
+
},
|
|
93
|
+
"react": {
|
|
94
|
+
"optional": true
|
|
86
95
|
}
|
|
87
96
|
},
|
|
88
97
|
"devDependencies": {
|
|
89
98
|
"@eslint/js": "^10.0.1",
|
|
90
|
-
"@sudobility/music_types": "^0.13.
|
|
99
|
+
"@sudobility/music_types": "^0.13.48",
|
|
100
|
+
"@testing-library/react": "^16.3.3",
|
|
91
101
|
"@types/node": "^26.2.0",
|
|
102
|
+
"@types/react": "^19.0.0",
|
|
92
103
|
"@typescript-eslint/eslint-plugin": "^8.65.0",
|
|
93
104
|
"@typescript-eslint/parser": "^8.65.0",
|
|
94
105
|
"eslint": "^9.38.0",
|
|
95
106
|
"globals": "^17.8.0",
|
|
96
107
|
"js-synthesizer": "^1.13.0",
|
|
108
|
+
"jsdom": "^30.1.1",
|
|
97
109
|
"prettier": "^3.6.2",
|
|
110
|
+
"react": "^19.0.0",
|
|
111
|
+
"react-dom": "^19.3.0",
|
|
98
112
|
"rimraf": "^6.1.3",
|
|
99
113
|
"typescript": "^5.9.3",
|
|
100
114
|
"typescript-eslint": "^8.65.0",
|