@modplayjs/out-android 0.0.0-stage → 0.3.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.
@@ -0,0 +1,5 @@
1
+ import type { AndroidSettings } from './types.js';
2
+ export declare const DEFAULT_SETTINGS: AndroidSettings;
3
+ export declare const clamp: (v: number, min: number, max: number) => number;
4
+ export declare function normaliseSettings(input: Partial<AndroidSettings>): AndroidSettings;
5
+ //# sourceMappingURL=defaults.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../src/defaults.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,eAAO,MAAM,gBAAgB,EAAE,eAuB9B,CAAC;AAEF,eAAO,MAAM,KAAK,MAAO,MAAM,OAAO,MAAM,OAAO,MAAM,KAAG,MACY,CAAC;AAEzE,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,CAwBlF"}
@@ -0,0 +1,48 @@
1
+ export const DEFAULT_SETTINGS = {
2
+ schemaVersion: 1,
3
+ transport: {
4
+ volume: 100,
5
+ panSeparation: 100,
6
+ sampleRate: null,
7
+ interpolation: 1,
8
+ numVoices: 32,
9
+ tempoFactor: 1,
10
+ },
11
+ mixer: { mode: 'libxmp', layout: 'panned', amigaFilter: 'a500', amplify: 1 },
12
+ sid: { model: 0, videoStandard: null, quality: 'light', stereo: 0, volume: 255 },
13
+ playback: { repeat: 'off', shuffle: false, autoAdvance: true, jamMode: false },
14
+ view: {
15
+ theme: 'dark',
16
+ artwork: false,
17
+ patternView: false,
18
+ follow: true,
19
+ stripDots: false,
20
+ reducedMotion: false,
21
+ visualizer: 'off',
22
+ showChannelStrip: true,
23
+ },
24
+ };
25
+ export const clamp = (v, min, max) => Number.isFinite(v) ? Math.min(max, Math.max(min, Math.round(v))) : min;
26
+ export function normaliseSettings(input) {
27
+ const d = DEFAULT_SETTINGS;
28
+ return {
29
+ schemaVersion: 1,
30
+ transport: {
31
+ volume: clamp(input.transport?.volume ?? d.transport.volume, 0, 100),
32
+ panSeparation: clamp(input.transport?.panSeparation ?? d.transport.panSeparation, 0, 100),
33
+ sampleRate: input.transport?.sampleRate ?? d.transport.sampleRate,
34
+ interpolation: (input.transport?.interpolation ?? d.transport.interpolation),
35
+ numVoices: clamp(input.transport?.numVoices ?? d.transport.numVoices, 4, 64),
36
+ tempoFactor: Math.min(4, Math.max(0.25, input.transport?.tempoFactor ?? d.transport.tempoFactor)),
37
+ },
38
+ mixer: { ...d.mixer, ...input.mixer },
39
+ sid: {
40
+ ...d.sid,
41
+ ...input.sid,
42
+ volume: clamp(input.sid?.volume ?? d.sid.volume, 0, 255),
43
+ },
44
+ playback: { ...d.playback, ...input.playback },
45
+ view: { ...d.view, ...input.view },
46
+ };
47
+ }
48
+ //# sourceMappingURL=defaults.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../src/defaults.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export * from './types.js';
2
+ export * from './defaults.js';
3
+ export * from './parity.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,4 @@
1
+ export * from './types.js';
2
+ export * from './defaults.js';
3
+ export * from './parity.js';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC"}
@@ -0,0 +1,7 @@
1
+ export type ParityTarget = {
2
+ setting?: string;
3
+ command?: string;
4
+ screen: string;
5
+ };
6
+ export declare const PARITY: Record<string, ParityTarget>;
7
+ //# sourceMappingURL=parity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parity.d.ts","sourceRoot":"","sources":["../src/parity.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,YAAY,GAAG;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAElF,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAuB/C,CAAC"}
package/dist/parity.js ADDED
@@ -0,0 +1,25 @@
1
+ export const PARITY = {
2
+ play: { command: 'play', screen: 'Player' },
3
+ pause: { command: 'pause', screen: 'Player' },
4
+ stop: { command: 'stop', screen: 'Player' },
5
+ seek: { command: 'seek', screen: 'Player' },
6
+ volume: { setting: 'transport.volume', screen: 'Player' },
7
+ pansep: { setting: 'transport.panSeparation', screen: 'Settings/Audio' },
8
+ follow: { setting: 'view.follow', screen: 'Settings/Appearance' },
9
+ patternview: { setting: 'view.patternView', screen: 'Settings/Appearance' },
10
+ stripdots: { setting: 'view.stripDots', screen: 'Settings/Appearance' },
11
+ thememode: { setting: 'view.theme', screen: 'Settings/Appearance' },
12
+ 'mixer-mode': { setting: 'mixer.mode', screen: 'Settings/Module' },
13
+ 'mixer-layout': { setting: 'mixer.layout', screen: 'Settings/Module' },
14
+ 'mixer-amigafilter': { setting: 'mixer.amigaFilter', screen: 'Settings/Module' },
15
+ 'sid-model': { setting: 'sid.model', screen: 'Settings/SID' },
16
+ 'sid-video': { setting: 'sid.videoStandard', screen: 'Settings/SID' },
17
+ 'sid-quality': { setting: 'sid.quality', screen: 'Settings/SID' },
18
+ 'sid-stereo': { setting: 'sid.stereo', screen: 'Settings/SID' },
19
+ 'sid-vol': { setting: 'sid.volume', screen: 'Settings/SID' },
20
+ plclear: { command: 'clearPlaylist', screen: 'Library' },
21
+ file: { command: 'addFiles', screen: 'Library' },
22
+ filebtn: { command: 'addFiles', screen: 'Library' },
23
+ fullscreen: { command: 'systemFullscreen', screen: 'System' },
24
+ };
25
+ //# sourceMappingURL=parity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parity.js","sourceRoot":"","sources":["../src/parity.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,MAAM,MAAM,GAAiC;IAClD,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE;IAC3C,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE;IAC7C,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE;IAC3C,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE;IAC3C,MAAM,EAAE,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,EAAE,QAAQ,EAAE;IACzD,MAAM,EAAE,EAAE,OAAO,EAAE,yBAAyB,EAAE,MAAM,EAAE,gBAAgB,EAAE;IACxE,MAAM,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,qBAAqB,EAAE;IACjE,WAAW,EAAE,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,EAAE,qBAAqB,EAAE;IAC3E,SAAS,EAAE,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,qBAAqB,EAAE;IACvE,SAAS,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,qBAAqB,EAAE;IACnE,YAAY,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,iBAAiB,EAAE;IAClE,cAAc,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,iBAAiB,EAAE;IACtE,mBAAmB,EAAE,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,EAAE,iBAAiB,EAAE;IAChF,WAAW,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE;IAC7D,WAAW,EAAE,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,EAAE,cAAc,EAAE;IACrE,aAAa,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,cAAc,EAAE;IACjE,YAAY,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE;IAC/D,SAAS,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE;IAC5D,OAAO,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,SAAS,EAAE;IACxD,IAAI,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE;IAChD,OAAO,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE;IACnD,UAAU,EAAE,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,EAAE,QAAQ,EAAE;CAC9D,CAAC"}
@@ -0,0 +1,160 @@
1
+ export declare const SCHEMA_VERSION: 1;
2
+ export type RepeatMode = 'off' | 'all' | 'one';
3
+ export type TrackState = 'available' | 'missing';
4
+ export interface AndroidSettings {
5
+ schemaVersion: 1;
6
+ transport: {
7
+ volume: number;
8
+ panSeparation: number;
9
+ sampleRate: number | null;
10
+ interpolation: 0 | 1 | 2;
11
+ numVoices: number;
12
+ tempoFactor: number;
13
+ };
14
+ mixer: {
15
+ mode: 'libxmp' | 'paula';
16
+ layout: 'panned' | 'lrlr' | 'lrrl';
17
+ amigaFilter: 'a500' | 'a500led';
18
+ amplify: number;
19
+ };
20
+ sid: {
21
+ model: 0 | 6581 | 8580;
22
+ videoStandard: 0 | 1 | null;
23
+ quality: 'light' | 'hq' | 'sinc';
24
+ stereo: 0 | 1 | 3;
25
+ volume: number;
26
+ };
27
+ playback: {
28
+ repeat: RepeatMode;
29
+ shuffle: boolean;
30
+ autoAdvance: boolean;
31
+ jamMode: boolean;
32
+ };
33
+ view: {
34
+ theme: 'dark' | 'light';
35
+ artwork: boolean;
36
+ patternView: boolean;
37
+ follow: boolean;
38
+ stripDots: boolean;
39
+ reducedMotion: boolean;
40
+ visualizer: 'off' | 'spectrum' | 'waveform' | 'both';
41
+ showChannelStrip: boolean;
42
+ };
43
+ }
44
+ export interface AndroidCapabilities {
45
+ loaded: boolean;
46
+ streamed: boolean;
47
+ sid: boolean;
48
+ endless: boolean;
49
+ seekable: boolean;
50
+ patternView: boolean;
51
+ mixer: boolean;
52
+ mixerMode: boolean;
53
+ amigaFilter: boolean;
54
+ panSeparation: boolean;
55
+ sidPanel: boolean;
56
+ sidStereo: boolean;
57
+ audition: boolean;
58
+ channelMute: boolean;
59
+ }
60
+ export interface AndroidChannel {
61
+ index: number;
62
+ label: string;
63
+ muted: boolean;
64
+ solo: boolean;
65
+ volume: number;
66
+ canMute: boolean;
67
+ }
68
+ export interface AndroidTrack {
69
+ id: string;
70
+ name: string;
71
+ title: string;
72
+ format: string;
73
+ tracker: string;
74
+ channels: number;
75
+ orders: number;
76
+ orderList: number[];
77
+ patterns: number;
78
+ instruments: number;
79
+ instrumentList: {
80
+ index: number;
81
+ name: string;
82
+ sampleId: number | null;
83
+ }[];
84
+ samples: number;
85
+ sampleList: {
86
+ index: number;
87
+ name: string;
88
+ length: number;
89
+ loop: boolean;
90
+ }[];
91
+ restart: number;
92
+ globalVolume: number;
93
+ globalVolumeBase: number;
94
+ masterVolume?: number;
95
+ masterVolumeBase?: number;
96
+ message?: string;
97
+ durationMs: number;
98
+ endless: boolean;
99
+ streamed: {
100
+ format: string;
101
+ channels: number;
102
+ sampleRate: number;
103
+ durationMs: number;
104
+ } | null;
105
+ artwork: {
106
+ kind: 'none' | 'generated' | 'embedded';
107
+ uri?: string;
108
+ palette?: string;
109
+ } | null;
110
+ }
111
+ export interface AndroidState {
112
+ playing: boolean;
113
+ paused: boolean;
114
+ ended: boolean;
115
+ seeking: boolean;
116
+ positionMs: number;
117
+ durationMs: number;
118
+ durationKnown: boolean;
119
+ ord: number;
120
+ row: number;
121
+ pattern: number;
122
+ rowProgress: number;
123
+ speed: number;
124
+ bpm: number;
125
+ loopCount: number;
126
+ trackIndex: number;
127
+ repeat: RepeatMode;
128
+ shuffle: boolean;
129
+ }
130
+ export interface AndroidSnapshot {
131
+ schemaVersion: 1;
132
+ /**
133
+ * Signature of what this engine build can play, e.g. the registered format
134
+ * ids. The app rescans its library when it changes.
135
+ */
136
+ engineVersion: string;
137
+ state: AndroidState;
138
+ track: AndroidTrack | null;
139
+ channels: AndroidChannel[];
140
+ capabilities: AndroidCapabilities;
141
+ settings: AndroidSettings;
142
+ soloChannel: number | null;
143
+ }
144
+ /**
145
+ * One pattern, fetched on demand rather than with every snapshot: rows times
146
+ * channels cells of preformatted tracker text ("C-4 01 40 A0F").
147
+ */
148
+ export interface AndroidPattern {
149
+ /** Order position the view asked for. */
150
+ pattern: number;
151
+ rows: number;
152
+ channels: number;
153
+ /** Row-major: index = row * channels + channel. */
154
+ cells: string[];
155
+ }
156
+ export interface AndroidCommand {
157
+ type: 'play' | 'pause' | 'resume' | 'stop' | 'seek' | 'select' | 'next' | 'previous' | 'setVolume' | 'setPanSeparation' | 'setMixerMode' | 'setMixerLayout' | 'setAmigaFilter' | 'setAmplify' | 'setSidModel' | 'setSidVideo' | 'setSidQuality' | 'setSidStereo' | 'setSidVolume' | 'setInterpolation' | 'setNumVoices' | 'setSampleRate' | 'setTempoFactor' | 'toggleChannelMute' | 'setChannelMute' | 'soloChannel' | 'clearSolo' | 'muteAllChannels' | 'unmuteAllChannels' | 'resetChannels' | 'auditionInstrument' | 'auditionSample' | 'stopAudition' | 'setJamMode' | 'setRepeat' | 'setShuffle' | 'setAutoAdvance' | 'setTheme' | 'setArtwork' | 'setPatternView' | 'setFollow' | 'setStripDots' | 'setReducedMotion' | 'setVisualizer' | 'setShowChannelStrip' | 'loadSidSongLengths' | 'getPattern' | 'playhead' | 'setSpatial' | 'spatialInfo' | 'setSettings';
158
+ [key: string]: unknown;
159
+ }
160
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js ADDED
@@ -0,0 +1,4 @@
1
+ // SPDX-License-Identifier: BSD-3-Clause
2
+ // Android host contract. Serialisable only: this crosses JNI.
3
+ export const SCHEMA_VERSION = 1;
4
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,wCAAwC;AACxC,8DAA8D;AAC9D,MAAM,CAAC,MAAM,cAAc,GAAG,CAAU,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,20 @@
1
1
  {
2
2
  "name": "@modplayjs/out-android",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
6
- }
3
+ "version": "0.3.0",
4
+ "description": "Headless Android/Tauri player session: settings, transport, capabilities, commands.",
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
+ "types": "dist/index.d.ts",
8
+ "exports": { ".": { "types": "./dist/index.d.ts", "import": "./dist/index.js" } },
9
+ "files": ["dist"],
10
+ "scripts": {
11
+ "build": "tsc -p tsconfig.build.json",
12
+ "typecheck": "tsc -p tsconfig.json --noEmit"
13
+ },
14
+ "license": "BSD-3-Clause",
15
+ "repository": {
16
+ "type": "git",
17
+ "url": "git+https://github.com/modplayjs/modplayjs.git",
18
+ "directory": "packages/out-android"
19
+ }
20
+ }
package/README.md DELETED
@@ -1,3 +0,0 @@
1
- # Temporary Holding Version
2
-
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.