@djodjonx/x32-simulator 0.0.4 โ 0.0.5
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/CHANGELOG.md +7 -0
- package/README.md +22 -0
- package/dist/server.cjs +4 -5
- package/dist/server.d.cts +1 -10
- package/dist/server.d.mts +1 -10
- package/dist/server.mjs +5 -3
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
|
4
4
|
|
|
5
|
+
### [0.0.5](https://github.com/djodjonx/x32-simulator/compare/v0.0.4...v0.0.5) (2026-01-10)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
|
|
10
|
+
* **cli:** fix npx execution by adding dedicated bin entry point ([1b0de49](https://github.com/djodjonx/x32-simulator/commit/1b0de498b2706c7c8caf86488c8545742344b970))
|
|
11
|
+
|
|
5
12
|
### [0.0.4](https://github.com/djodjonx/x32-simulator/compare/v0.0.3...v0.0.4) (2026-01-08)
|
|
6
13
|
|
|
7
14
|
### [0.0.3](https://github.com/djodjonx/x32-simulator/compare/v0.0.2...v0.0.3) (2026-01-08)
|
package/README.md
CHANGED
|
@@ -160,6 +160,28 @@ The simulator covers a vast majority of the X32 OSC command set:
|
|
|
160
160
|
|
|
161
161
|
---
|
|
162
162
|
|
|
163
|
+
## ๐งช Testing Example (E2E)
|
|
164
|
+
|
|
165
|
+
The simulator is ideal for testing broadcast behavior and multi-client synchronization. When one client changes a parameter, the simulator automatically broadcasts that update to all other clients subscribed via `/xremote`.
|
|
166
|
+
|
|
167
|
+
You can find a complete, runnable example of this in [examples/dual-client-e2e.ts](./examples/dual-client-e2e.ts).
|
|
168
|
+
|
|
169
|
+
### Multi-Client Sync Test Snippet
|
|
170
|
+
|
|
171
|
+
```typescript
|
|
172
|
+
// Client A and Client B both subscribe to /xremote
|
|
173
|
+
clientA.send('/xremote');
|
|
174
|
+
clientB.send('/xremote');
|
|
175
|
+
|
|
176
|
+
// Client A changes a fader
|
|
177
|
+
clientA.send('/ch/01/mix/fader', 0.85);
|
|
178
|
+
|
|
179
|
+
// Result: BOTH Client A and Client B receive the update from the simulator
|
|
180
|
+
// This ensures your UI stays in sync across multiple devices.
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
---
|
|
184
|
+
|
|
163
185
|
## ๐ค Contributing
|
|
164
186
|
|
|
165
187
|
We welcome contributions! Please see [INSTALL.md](./INSTALL.md) for development instructions.
|
package/dist/server.cjs
CHANGED
|
@@ -6,7 +6,6 @@ let node_fs = require("node:fs");
|
|
|
6
6
|
node_fs = require_SchemaRegistry.__toESM(node_fs);
|
|
7
7
|
let node_path = require("node:path");
|
|
8
8
|
node_path = require_SchemaRegistry.__toESM(node_path);
|
|
9
|
-
let node_url = require("node:url");
|
|
10
9
|
|
|
11
10
|
//#region src/presentation/cli/server.ts
|
|
12
11
|
const loadEnv = () => {
|
|
@@ -133,9 +132,9 @@ const bootstrap = async () => {
|
|
|
133
132
|
process.exit(0);
|
|
134
133
|
});
|
|
135
134
|
};
|
|
136
|
-
if (process.argv[1] === (0, node_url.fileURLToPath)(require("url").pathToFileURL(__filename).href)) bootstrap();
|
|
137
135
|
|
|
138
136
|
//#endregion
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
137
|
+
//#region src/presentation/cli/bin.ts
|
|
138
|
+
bootstrap();
|
|
139
|
+
|
|
140
|
+
//#endregion
|
package/dist/server.d.cts
CHANGED
|
@@ -1,10 +1 @@
|
|
|
1
|
-
|
|
2
|
-
//#region src/presentation/cli/server.d.ts
|
|
3
|
-
declare const loadEnv: () => void;
|
|
4
|
-
declare const parseArgs: (argv: string[]) => {
|
|
5
|
-
PORT: number;
|
|
6
|
-
HOST: string;
|
|
7
|
-
};
|
|
8
|
-
declare const bootstrap: () => Promise<void>;
|
|
9
|
-
//#endregion
|
|
10
|
-
export { bootstrap, loadEnv, parseArgs };
|
|
1
|
+
export { };
|
package/dist/server.d.mts
CHANGED
|
@@ -1,10 +1 @@
|
|
|
1
|
-
|
|
2
|
-
//#region src/presentation/cli/server.d.ts
|
|
3
|
-
declare const loadEnv: () => void;
|
|
4
|
-
declare const parseArgs: (argv: string[]) => {
|
|
5
|
-
PORT: number;
|
|
6
|
-
HOST: string;
|
|
7
|
-
};
|
|
8
|
-
declare const bootstrap: () => Promise<void>;
|
|
9
|
-
//#endregion
|
|
10
|
-
export { bootstrap, loadEnv, parseArgs };
|
|
1
|
+
export { };
|
package/dist/server.mjs
CHANGED
|
@@ -3,7 +3,6 @@ import { a as ConsoleLogger, i as UdpNetworkGateway, n as SchemaFactory, o as Lo
|
|
|
3
3
|
import * as readline from "node:readline";
|
|
4
4
|
import * as fs from "node:fs";
|
|
5
5
|
import * as path from "node:path";
|
|
6
|
-
import { fileURLToPath } from "node:url";
|
|
7
6
|
|
|
8
7
|
//#region src/presentation/cli/server.ts
|
|
9
8
|
const loadEnv = () => {
|
|
@@ -130,7 +129,10 @@ const bootstrap = async () => {
|
|
|
130
129
|
process.exit(0);
|
|
131
130
|
});
|
|
132
131
|
};
|
|
133
|
-
if (process.argv[1] === fileURLToPath(import.meta.url)) bootstrap();
|
|
134
132
|
|
|
135
133
|
//#endregion
|
|
136
|
-
|
|
134
|
+
//#region src/presentation/cli/bin.ts
|
|
135
|
+
bootstrap();
|
|
136
|
+
|
|
137
|
+
//#endregion
|
|
138
|
+
export { };
|