stagelinq 3.0.4 → 3.1.2

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.
Files changed (69) hide show
  1. package/README.md +2 -1
  2. package/dist/Databases/Databases.d.ts +3 -1
  3. package/dist/Databases/Databases.js +9 -8
  4. package/dist/Databases/Databases.js.map +1 -1
  5. package/dist/Databases/DbConnection.d.ts +3 -1
  6. package/dist/Databases/DbConnection.js +6 -4
  7. package/dist/Databases/DbConnection.js.map +1 -1
  8. package/dist/StageLinq/index.d.ts +1 -1
  9. package/dist/StageLinq/index.js +8 -8
  10. package/dist/StageLinq/index.js.map +1 -1
  11. package/dist/devices/Player.d.ts +3 -0
  12. package/dist/devices/Player.js +15 -6
  13. package/dist/devices/Player.js.map +1 -1
  14. package/dist/eaas/beacon.d.ts +3 -1
  15. package/dist/eaas/beacon.js +10 -9
  16. package/dist/eaas/beacon.js.map +1 -1
  17. package/dist/eaas/discoverer.d.ts +3 -1
  18. package/dist/eaas/discoverer.js +16 -12
  19. package/dist/eaas/discoverer.js.map +1 -1
  20. package/dist/eaas/engine-library-client.d.ts +3 -1
  21. package/dist/eaas/engine-library-client.js +7 -6
  22. package/dist/eaas/engine-library-client.js.map +1 -1
  23. package/dist/eaas/http-client.d.ts +3 -1
  24. package/dist/eaas/http-client.js +5 -4
  25. package/dist/eaas/http-client.js.map +1 -1
  26. package/dist/index.d.ts +2 -0
  27. package/dist/index.js +4 -1
  28. package/dist/index.js.map +1 -1
  29. package/dist/metadata/index.d.ts +26 -0
  30. package/dist/metadata/index.js +53 -0
  31. package/dist/metadata/index.js.map +1 -0
  32. package/dist/metadata/reader.d.ts +11 -0
  33. package/dist/metadata/reader.js +20 -0
  34. package/dist/metadata/reader.js.map +1 -0
  35. package/dist/network/ConnectionHealth.d.ts +3 -1
  36. package/dist/network/ConnectionHealth.js +13 -12
  37. package/dist/network/ConnectionHealth.js.map +1 -1
  38. package/dist/network/NetworkDevice.d.ts +4 -2
  39. package/dist/network/NetworkDevice.js +9 -8
  40. package/dist/network/NetworkDevice.js.map +1 -1
  41. package/dist/network/StageLinqDevices.d.ts +12 -2
  42. package/dist/network/StageLinqDevices.js +59 -25
  43. package/dist/network/StageLinqDevices.js.map +1 -1
  44. package/dist/network/announce.d.ts +3 -2
  45. package/dist/network/announce.js +40 -15
  46. package/dist/network/announce.js.map +1 -1
  47. package/dist/services/FileTransfer.d.ts +14 -0
  48. package/dist/services/FileTransfer.js +86 -6
  49. package/dist/services/FileTransfer.js.map +1 -1
  50. package/dist/services/Service.d.ts +3 -1
  51. package/dist/services/Service.js +7 -6
  52. package/dist/services/Service.js.map +1 -1
  53. package/dist/services/StateMap.js +0 -1
  54. package/dist/services/StateMap.js.map +1 -1
  55. package/dist/services/TimeSync.js +2 -3
  56. package/dist/services/TimeSync.js.map +1 -1
  57. package/dist/types/index.d.ts +4 -0
  58. package/dist/types/index.js +1 -0
  59. package/dist/types/index.js.map +1 -1
  60. package/dist/types/logger.d.ts +13 -0
  61. package/dist/types/logger.js +11 -0
  62. package/dist/types/logger.js.map +1 -0
  63. package/dist/utils/tcp.d.ts +2 -1
  64. package/dist/utils/tcp.js +3 -3
  65. package/dist/utils/tcp.js.map +1 -1
  66. package/package.json +5 -1
  67. package/dist/LogEmitter/index.d.ts +0 -20
  68. package/dist/LogEmitter/index.js +0 -35
  69. package/dist/LogEmitter/index.js.map +0 -1
package/README.md CHANGED
@@ -28,7 +28,7 @@ await stagelinq.connect();
28
28
 
29
29
  ## Features
30
30
 
31
- | Feature | Go | Python | TS v2 |
31
+ | Feature | Go | Python | This repo |
32
32
  |---------|:--:|:------:|:-----:|
33
33
  | Device Discovery | ✅ | ✅ | ✅ |
34
34
  | StateMap Service | ✅ | ✅ | ✅ |
@@ -225,6 +225,7 @@ This library incorporates code and ideas from other StageLinq implementations:
225
225
  ## Related Packages
226
226
 
227
227
  - [alphatheta-connect](https://github.com/chrisle/alphatheta-connect) — Pioneer Pro DJ Link integration
228
+ - [metadata-connect](https://github.com/chrisle/metadata-connect) — Audio metadata extraction with partial file reads
228
229
  - [rekordbox-connect](https://github.com/chrisle/rekordbox-connect) — Rekordbox database integration
229
230
  - [serato-connect](https://github.com/chrisle/serato-connect) — Serato DJ integration
230
231
 
@@ -1,6 +1,7 @@
1
1
  import { ConnectionInfo, Source } from '../types';
2
2
  import { EventEmitter } from 'stream';
3
3
  import { FileTransfer } from '../services';
4
+ import type { Logger } from '../types/logger';
4
5
  import { NetworkDevice } from '../network';
5
6
  export declare interface Databases {
6
7
  on(event: 'dbDownloaded', listener: (sourceName: string, dbPath: string) => void): this;
@@ -9,7 +10,8 @@ export declare interface Databases {
9
10
  }
10
11
  export declare class Databases extends EventEmitter {
11
12
  sources: Map<string, string>;
12
- constructor();
13
+ private logger;
14
+ constructor(logger?: Logger);
13
15
  downloadSourcesFromDevice(connectionInfo: ConnectionInfo, networkDevice: NetworkDevice): Promise<string[]>;
14
16
  /**
15
17
  * Download databases from this network source.
@@ -37,12 +37,13 @@ exports.Databases = void 0;
37
37
  const stream_1 = require("stream");
38
38
  const services_1 = require("../services");
39
39
  const utils_1 = require("../utils");
40
- const LogEmitter_1 = require("../LogEmitter");
40
+ const logger_1 = require("../types/logger");
41
41
  const fs = __importStar(require("fs"));
42
42
  class Databases extends stream_1.EventEmitter {
43
- constructor() {
43
+ constructor(logger = logger_1.noopLogger) {
44
44
  super();
45
45
  this.sources = new Map();
46
+ this.logger = logger;
46
47
  }
47
48
  async downloadSourcesFromDevice(connectionInfo, networkDevice) {
48
49
  const service = await networkDevice.connectToService(services_1.FileTransfer);
@@ -53,9 +54,9 @@ class Databases extends stream_1.EventEmitter {
53
54
  .exec(Buffer.from(connectionInfo.token).toString('hex'));
54
55
  const deviceId = match ? match.slice(1).join('-') : 'unknown';
55
56
  const dbConnectionName = `net://${deviceId}/${source.name}`;
56
- LogEmitter_1.Logger.debug(`DB network path: ${dbConnectionName}`);
57
+ this.logger.debug(`DB network path: ${dbConnectionName}`);
57
58
  if (this.sources.has(dbConnectionName)) {
58
- LogEmitter_1.Logger.debug(`Already seen ${source} on ${connectionInfo.address}:${connectionInfo.port}`);
59
+ this.logger.debug(`Already seen ${source} on ${connectionInfo.address}:${connectionInfo.port}`);
59
60
  }
60
61
  else {
61
62
  await this.downloadDb(dbConnectionName, service, source);
@@ -70,7 +71,7 @@ class Databases extends stream_1.EventEmitter {
70
71
  async downloadDb(sourceId, service, source) {
71
72
  const dbPath = (0, utils_1.getTempFilePath)(`${sourceId}/m.db`);
72
73
  // Read database from source
73
- LogEmitter_1.Logger.debug(`Reading database ${sourceId}`);
74
+ this.logger.debug(`Reading database ${sourceId}`);
74
75
  this.emit('dbDownloading', sourceId, dbPath);
75
76
  service.on('fileTransferProgress', (progress) => {
76
77
  this.emit('dbProgress', sourceId, progress.total, progress.bytesDownloaded, progress.percentComplete);
@@ -78,10 +79,10 @@ class Databases extends stream_1.EventEmitter {
78
79
  // Save database to a file
79
80
  await service.waitTillAvailable();
80
81
  const file = await service.getFile(source.database.location);
81
- LogEmitter_1.Logger.debug(`Saving ${sourceId} to ${dbPath}`);
82
+ this.logger.debug(`Saving ${sourceId} to ${dbPath}`);
82
83
  fs.writeFileSync(dbPath, Buffer.from(file));
83
84
  this.sources.set(sourceId, dbPath);
84
- LogEmitter_1.Logger.debug(`Downloaded ${sourceId} to ${dbPath}`);
85
+ this.logger.debug(`Downloaded ${sourceId} to ${dbPath}`);
85
86
  this.emit('dbDownloaded', sourceId, dbPath);
86
87
  }
87
88
  getDbPath(dbSourceName) {
@@ -93,7 +94,7 @@ class Databases extends stream_1.EventEmitter {
93
94
  // return the first internal database we find.
94
95
  for (const entry of Array.from(this.sources.entries())) {
95
96
  if (/\(Internal\)/.test(entry[0])) {
96
- LogEmitter_1.Logger.debug(`Returning copy of internal database`);
97
+ this.logger.debug(`Returning copy of internal database`);
97
98
  return this.sources.get(entry[0]);
98
99
  }
99
100
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Databases.js","sourceRoot":"","sources":["../../Databases/Databases.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Databases.js","sourceRoot":"","sources":["../../Databases/Databases.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,10 @@
1
1
  import { Track } from '../types';
2
+ import type { Logger } from '../types/logger';
2
3
  export declare class DbConnection {
3
4
  private db;
4
5
  private dbPath;
5
- constructor(dbPath: string);
6
+ private logger;
7
+ constructor(dbPath: string, logger?: Logger);
6
8
  /**
7
9
  * Execute a SQL query.
8
10
  *
@@ -5,10 +5,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.DbConnection = void 0;
7
7
  const better_sqlite3_1 = __importDefault(require("better-sqlite3"));
8
+ const logger_1 = require("../types/logger");
8
9
  class DbConnection {
9
- constructor(dbPath) {
10
+ constructor(dbPath, logger = logger_1.noopLogger) {
10
11
  this.dbPath = dbPath;
11
- console.debug(`Opening ${this.dbPath}`);
12
+ this.logger = logger;
13
+ this.logger.debug(`Opening ${this.dbPath}`);
12
14
  this.db = new better_sqlite3_1.default(this.dbPath);
13
15
  }
14
16
  /**
@@ -19,7 +21,7 @@ class DbConnection {
19
21
  * @returns
20
22
  */
21
23
  querySource(query, ...params) {
22
- console.debug(`Querying ${this.dbPath}: ${query} (${params.join(', ')})`);
24
+ this.logger.debug(`Querying ${this.dbPath}: ${query} (${params.join(', ')})`);
23
25
  const result = this.db.prepare(query);
24
26
  // @ts-ignore
25
27
  return result.all(params);
@@ -43,7 +45,7 @@ class DbConnection {
43
45
  return result[0];
44
46
  }
45
47
  close() {
46
- console.debug(`Closing ${this.dbPath}`);
48
+ this.logger.debug(`Closing ${this.dbPath}`);
47
49
  this.db.close();
48
50
  }
49
51
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DbConnection.js","sourceRoot":"","sources":["../../Databases/DbConnection.ts"],"names":[],"mappings":";;;;;;AAAA,oEAAsC;AAItC,MAAa,YAAY;IAKvB,YAAY,MAAc;QACxB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,OAAO,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QACxC,IAAI,CAAC,EAAE,GAAG,IAAI,wBAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IAED;;;;;;OAMG;IACH,WAAW,CAAI,KAAa,EAAE,GAAG,MAAa;QAC5C,OAAO,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,MAAM,KAAK,KAAK,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1E,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACtC,aAAa;QACb,OAAO,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IAED;;;;;OAKG;IACH,YAAY,CAAC,SAAiB;QAC5B,IAAI,MAAe,CAAC;QACpB,IAAI,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YACrC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,6CAA6C,EAAE,SAAS,CAAC,CAAC;QACtF,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,8CAA8C,EAAE,SAAS,CAAC,CAAC;QACvF,CAAC;QACD,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,SAAS,eAAe,CAAC,CAAC;QAChF,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;IACnB,CAAC;IAED,KAAK;QACH,OAAO,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QACxC,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;IAClB,CAAC;CAEF;AA/CD,oCA+CC"}
1
+ {"version":3,"file":"DbConnection.js","sourceRoot":"","sources":["../../Databases/DbConnection.ts"],"names":[],"mappings":";;;;;;AAAA,oEAAsC;AAGtC,4CAA6C;AAG7C,MAAa,YAAY;IAMvB,YAAY,MAAc,EAAE,SAAiB,mBAAU;QACrD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAC5C,IAAI,CAAC,EAAE,GAAG,IAAI,wBAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IAED;;;;;;OAMG;IACH,WAAW,CAAI,KAAa,EAAE,GAAG,MAAa;QAC5C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,MAAM,KAAK,KAAK,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9E,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACtC,aAAa;QACb,OAAO,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IAED;;;;;OAKG;IACH,YAAY,CAAC,SAAiB;QAC5B,IAAI,MAAe,CAAC;QACpB,IAAI,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YACrC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,6CAA6C,EAAE,SAAS,CAAC,CAAC;QACtF,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,8CAA8C,EAAE,SAAS,CAAC,CAAC;QACvF,CAAC;QACD,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,SAAS,eAAe,CAAC,CAAC;QAChF,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;IACnB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAC5C,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;IAClB,CAAC;CAEF;AAjDD,oCAiDC"}
@@ -15,8 +15,8 @@
15
15
  */
16
16
  import { EventEmitter } from 'events';
17
17
  import { StageLinqDevices } from '../network/StageLinqDevices';
18
- import { Logger } from '../LogEmitter';
19
18
  import { StageLinqOptions } from '../types';
19
+ import type { Logger } from '../types/logger';
20
20
  /**
21
21
  * StageLinq instance class.
22
22
  * Use this for multiple instances or when you need full control.
@@ -19,8 +19,8 @@ exports.StageLinq = exports.StageLinqInstance = void 0;
19
19
  const network_1 = require("../network");
20
20
  const events_1 = require("events");
21
21
  const StageLinqDevices_1 = require("../network/StageLinqDevices");
22
- const LogEmitter_1 = require("../LogEmitter");
23
22
  const types_1 = require("../types");
23
+ const logger_1 = require("../types/logger");
24
24
  const config_1 = require("../config");
25
25
  const DEFAULT_OPTIONS = {
26
26
  maxRetries: 3,
@@ -35,14 +35,14 @@ const DEFAULT_OPTIONS = {
35
35
  class StageLinqInstance extends events_1.EventEmitter {
36
36
  constructor(options) {
37
37
  super();
38
- this.instanceLogger = LogEmitter_1.Logger.instance;
39
38
  this._isConnected = false;
40
39
  this.instanceOptions = { ...DEFAULT_OPTIONS, ...options };
40
+ this.instanceLogger = options?.logger ?? logger_1.noopLogger;
41
41
  // Apply global config from options
42
42
  if (this.instanceOptions.networkTap) {
43
43
  (0, config_1.setConfig)({ networkTap: this.instanceOptions.networkTap });
44
44
  }
45
- this.devices = new StageLinqDevices_1.StageLinqDevices(this.instanceOptions);
45
+ this.devices = new StageLinqDevices_1.StageLinqDevices(this.instanceOptions, this.instanceLogger);
46
46
  // Forward device events to this instance
47
47
  this.devices.on('connected', (info) => this.emit('connected', info));
48
48
  this.devices.on('ready', () => this.emit('ready'));
@@ -74,12 +74,12 @@ class StageLinqInstance extends events_1.EventEmitter {
74
74
  */
75
75
  async connect() {
76
76
  if (this._isConnected) {
77
- LogEmitter_1.Logger.warn('Already connected');
77
+ this.instanceLogger.warn('Already connected');
78
78
  return;
79
79
  }
80
80
  this.listener = new network_1.StageLinqListener();
81
81
  const msg = (0, network_1.createDiscoveryMessage)(types_1.Action.Login, this.instanceOptions.actingAs);
82
- await (0, network_1.announce)(msg);
82
+ await (0, network_1.announce)(msg, this.instanceLogger);
83
83
  this.listener.listenForDevices(async (connectionInfo) => {
84
84
  await this.devices.handleDevice(connectionInfo);
85
85
  });
@@ -91,14 +91,14 @@ class StageLinqInstance extends events_1.EventEmitter {
91
91
  */
92
92
  async disconnect() {
93
93
  if (!this._isConnected) {
94
- LogEmitter_1.Logger.warn('Not connected');
94
+ this.instanceLogger.warn('Not connected');
95
95
  return;
96
96
  }
97
97
  try {
98
98
  this.devices.disconnectAll();
99
99
  this.listener?.stop();
100
100
  const msg = (0, network_1.createDiscoveryMessage)(types_1.Action.Logout, this.instanceOptions.actingAs);
101
- await (0, network_1.unannounce)(msg);
101
+ await (0, network_1.unannounce)(msg, this.instanceLogger);
102
102
  this._isConnected = false;
103
103
  this.emit('disconnected');
104
104
  }
@@ -224,7 +224,7 @@ class StageLinq {
224
224
  static reset() {
225
225
  if (this._instance) {
226
226
  if (this._instance.isConnected) {
227
- LogEmitter_1.Logger.warn('Cannot reset while connected. Call disconnect() first.');
227
+ this._instance.instanceLogger.warn('Cannot reset while connected. Call disconnect() first.');
228
228
  return;
229
229
  }
230
230
  this._instance = null;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../StageLinq/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../StageLinq/index.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { EventEmitter } from 'events';
2
2
  import { PlayerStatus } from '../types';
3
3
  import { StateMap } from '../services';
4
+ import type { Logger } from '../types/logger';
4
5
  export declare interface Player {
5
6
  on(event: 'trackLoaded', listener: (status: PlayerStatus) => void): this;
6
7
  on(event: 'stateChanged', listener: (status: PlayerStatus) => void): this;
@@ -11,6 +12,7 @@ interface PlayerOptions {
11
12
  address: string;
12
13
  port: number;
13
14
  deviceId: string;
15
+ logger?: Logger;
14
16
  }
15
17
  /**
16
18
  * A player represents a device on the StageLinq network.
@@ -38,6 +40,7 @@ export declare class Player extends EventEmitter {
38
40
  private lastTrackNetworkPath;
39
41
  private queue;
40
42
  private deviceId;
43
+ private logger;
41
44
  /**
42
45
  * Initialize a player device.
43
46
  *
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Player = void 0;
4
4
  const events_1 = require("events");
5
5
  const PlayerMessageQueue_1 = require("./PlayerMessageQueue");
6
- const LogEmitter_1 = require("../LogEmitter");
6
+ const logger_1 = require("../types/logger");
7
7
  /**
8
8
  * A player represents a device on the StageLinq network.
9
9
  *
@@ -35,6 +35,7 @@ class Player extends events_1.EventEmitter {
35
35
  this.decks = new Map();
36
36
  this.lastTrackNetworkPath = new Map();
37
37
  this.queue = {};
38
+ this.logger = options.logger ?? logger_1.noopLogger;
38
39
  options.stateMap.on('message', this.messageHandler.bind(this));
39
40
  this.address = options.address;
40
41
  this.port = options.port;
@@ -100,7 +101,7 @@ class Player extends events_1.EventEmitter {
100
101
  * @param data
101
102
  */
102
103
  handleUpdate(data) {
103
- LogEmitter_1.Logger.debug(`data: ${JSON.stringify(data, null, 2)}`);
104
+ this.logger.debug(`data: ${JSON.stringify(data, null, 2)}`);
104
105
  const layer = data.layer;
105
106
  // A new song my be loading onto a layer but not yet fully downloaded.
106
107
  // For example streaming a song from Beatport Link.
@@ -114,13 +115,16 @@ class Player extends events_1.EventEmitter {
114
115
  this.lastTrackNetworkPath.set(layer, data.trackNetworkPath ?? '');
115
116
  // This will be true once a song has been fully downloaded / loaded.
116
117
  const isSongLoaded = data.hasOwnProperty('songLoaded');
118
+ // Capture previous play state before merging
119
+ const previousState = this.decks.get(layer);
120
+ const wasPlaying = previousState?.playState === true;
117
121
  // If a new song is loaded drop all the previous track data.
118
122
  if (isNewTrack && isSongLoaded) {
119
- LogEmitter_1.Logger.debug(`Replacing state ${layer}`);
123
+ this.logger.debug(`Replacing state ${layer}`);
120
124
  this.decks.set(layer, data);
121
125
  }
122
126
  else {
123
- LogEmitter_1.Logger.debug(`Updating state ${layer}`);
127
+ this.logger.debug(`Updating state ${layer}`);
124
128
  this.decks.set(layer, { ...this.decks.get(layer), ...data });
125
129
  }
126
130
  const result = this.decks.get(layer);
@@ -155,8 +159,13 @@ class Player extends events_1.EventEmitter {
155
159
  // If a song is loaded and we have a location emit the trackLoaded event.
156
160
  if (isSongLoaded && currentState.trackNetworkPath)
157
161
  this.emit('trackLoaded', currentState);
158
- // If the song is actually playing emit the nowPlaying event.
159
- if (result?.playState)
162
+ // Only emit nowPlaying when play state transitions to true, or when a new
163
+ // track starts playing. Previously this fired on every state update
164
+ // (fader moves, BPM changes, etc.) which caused track duplication.
165
+ const isNowPlaying = result?.playState === true;
166
+ const playJustStarted = isNowPlaying && !wasPlaying;
167
+ const newTrackWhilePlaying = isNowPlaying && isNewTrack && isSongLoaded;
168
+ if (playJustStarted || newTrackWhilePlaying)
160
169
  this.emit('nowPlaying', currentState);
161
170
  // Emit that the state has changed.
162
171
  this.emit('stateChanged', currentState);
@@ -1 +1 @@
1
- {"version":3,"file":"Player.js","sourceRoot":"","sources":["../../devices/Player.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Player.js","sourceRoot":"","sources":["../../devices/Player.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@
9
9
  * License: MIT
10
10
  */
11
11
  import { EventEmitter } from 'events';
12
+ import type { Logger } from '../types/logger';
12
13
  import { EAASBeaconOptions } from './types';
13
14
  export declare interface EAASBeacon {
14
15
  on(event: 'request', listener: (address: string, port: number) => void): this;
@@ -40,7 +41,8 @@ export declare class EAASBeacon extends EventEmitter {
40
41
  private options;
41
42
  private socket;
42
43
  private responseMessage;
43
- constructor(options: EAASBeaconOptions);
44
+ private logger;
45
+ constructor(options: EAASBeaconOptions, logger?: Logger);
44
46
  /**
45
47
  * Get the beacon's token.
46
48
  */
@@ -14,7 +14,7 @@ exports.EAASBeacon = void 0;
14
14
  const dgram_1 = require("dgram");
15
15
  const events_1 = require("events");
16
16
  const os_1 = require("os");
17
- const LogEmitter_1 = require("../LogEmitter");
17
+ const logger_1 = require("../types/logger");
18
18
  const token_1 = require("../utils/token");
19
19
  const types_1 = require("./types");
20
20
  const messages_1 = require("./messages");
@@ -41,9 +41,10 @@ const messages_1 = require("./messages");
41
41
  * ```
42
42
  */
43
43
  class EAASBeacon extends events_1.EventEmitter {
44
- constructor(options) {
44
+ constructor(options, logger = logger_1.noopLogger) {
45
45
  super();
46
46
  this.socket = null;
47
+ this.logger = logger;
47
48
  // Generate token if not provided
48
49
  const token = options.token ?? (0, token_1.generateToken)();
49
50
  this.options = {
@@ -79,14 +80,14 @@ class EAASBeacon extends events_1.EventEmitter {
79
80
  */
80
81
  async start() {
81
82
  if (this.socket) {
82
- LogEmitter_1.Logger.warn('EAAS Beacon: Already started');
83
+ this.logger.warn('EAAS Beacon: Already started');
83
84
  return;
84
85
  }
85
86
  return new Promise((resolve, reject) => {
86
87
  try {
87
88
  this.socket = (0, dgram_1.createSocket)({ type: 'udp4', reuseAddr: true });
88
89
  this.socket.on('error', (err) => {
89
- LogEmitter_1.Logger.error(`EAAS Beacon socket error: ${err}`);
90
+ this.logger.error(`EAAS Beacon socket error: ${err}`);
90
91
  this.emit('error', err);
91
92
  });
92
93
  this.socket.on('message', (msg, rinfo) => {
@@ -94,7 +95,7 @@ class EAASBeacon extends events_1.EventEmitter {
94
95
  });
95
96
  this.socket.on('listening', () => {
96
97
  const addr = this.socket.address();
97
- LogEmitter_1.Logger.info(`EAAS Beacon: Listening on ${addr.address}:${addr.port}`);
98
+ this.logger.info(`EAAS Beacon: Listening on ${addr.address}:${addr.port}`);
98
99
  // Build response message with correct host
99
100
  const host = this.options.grpcHost || this.getLocalIP();
100
101
  const url = `${host}:${this.options.grpcPort}`;
@@ -118,10 +119,10 @@ class EAASBeacon extends events_1.EventEmitter {
118
119
  this.socket.close();
119
120
  }
120
121
  catch (err) {
121
- LogEmitter_1.Logger.warn(`EAAS Beacon: Error closing socket: ${err}`);
122
+ this.logger.warn(`EAAS Beacon: Error closing socket: ${err}`);
122
123
  }
123
124
  this.socket = null;
124
- LogEmitter_1.Logger.info('EAAS Beacon: Stopped');
125
+ this.logger.info('EAAS Beacon: Stopped');
125
126
  }
126
127
  }
127
128
  /**
@@ -131,12 +132,12 @@ class EAASBeacon extends events_1.EventEmitter {
131
132
  if (!(0, messages_1.isDiscoveryRequest)(data)) {
132
133
  return; // Not a discovery request
133
134
  }
134
- LogEmitter_1.Logger.debug(`EAAS Beacon: Discovery request from ${rinfo.address}:${rinfo.port}`);
135
+ this.logger.debug(`EAAS Beacon: Discovery request from ${rinfo.address}:${rinfo.port}`);
135
136
  this.emit('request', rinfo.address, rinfo.port);
136
137
  // Send response
137
138
  this.socket?.send(this.responseMessage, rinfo.port, rinfo.address, (err) => {
138
139
  if (err) {
139
- LogEmitter_1.Logger.warn(`EAAS Beacon: Failed to send response to ${rinfo.address}: ${err}`);
140
+ this.logger.warn(`EAAS Beacon: Failed to send response to ${rinfo.address}: ${err}`);
140
141
  }
141
142
  });
142
143
  }
@@ -1 +1 @@
1
- {"version":3,"file":"beacon.js","sourceRoot":"","sources":["../../eaas/beacon.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"beacon.js","sourceRoot":"","sources":["../../eaas/beacon.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AAEH,iCAAsE;AACtE,mCAAsC;AACtC,2BAAuC;AAGvC,4CAA6C;AAC7C,0CAA+C;AAC/C,mCAIiB;AACjB,yCAGoB;AAOpB;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAa,UAAW,SAAQ,qBAAY;IAM1C,YAAY,OAA0B,EAAE,SAAiB,mBAAU;QACjE,KAAK,EAAE,CAAC;QALF,WAAM,GAAqB,IAAI,CAAC;QAMtC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,iCAAiC;QACjC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,IAAA,qBAAa,GAAE,CAAC;QAE/C,IAAI,CAAC,OAAO,GAAG;YACb,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,KAAK;YACL,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,EAAE;YAChC,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,sBAAc;SAC7C,CAAC;QAEF,4EAA4E;QAC5E,IAAI,CAAC,eAAe,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,EAAE,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;YACjD,OAAO;QACT,CAAC;QAED,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC;gBACH,IAAI,CAAC,MAAM,GAAG,IAAA,oBAAY,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBAE9D,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;oBAC9B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,GAAG,EAAE,CAAC,CAAC;oBACtD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;gBAC1B,CAAC,CAAC,CAAC;gBAEH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,GAAW,EAAE,KAAiB,EAAE,EAAE;oBAC3D,IAAI,CAAC,aAAa,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;gBACjD,CAAC,CAAC,CAAC;gBAEH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE;oBAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,MAAO,CAAC,OAAO,EAAE,CAAC;oBACpC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,6BAA6B,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;oBAE3E,2CAA2C;oBAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;oBACxD,MAAM,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;oBAE/C,IAAI,CAAC,eAAe,GAAG,IAAA,kCAAuB,EAC5C,IAAI,CAAC,OAAO,CAAC,KAAK,EAClB,IAAI,CAAC,OAAO,CAAC,IAAI,EACjB,GAAG,EACH,IAAI,CAAC,OAAO,CAAC,eAAe,CAC7B,CAAC;oBAEF,OAAO,EAAE,CAAC;gBACZ,CAAC,CAAC,CAAC;gBAEH,yBAAyB;gBACzB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2BAAmB,CAAC,CAAC;YACxC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,GAAG,CAAC,CAAC;YACd,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,IAAI;QACF,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC;gBACH,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YACtB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sCAAsC,GAAG,EAAE,CAAC,CAAC;YAChE,CAAC;YACD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,IAAgB,EAAE,KAAiB;QACvD,IAAI,CAAC,IAAA,6BAAkB,EAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,OAAO,CAAC,0BAA0B;QACpC,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uCAAuC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QACxF,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAEhD,gBAAgB;QAChB,IAAI,CAAC,MAAM,EAAE,IAAI,CACf,IAAI,CAAC,eAAe,EACpB,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,OAAO,EACb,CAAC,GAAG,EAAE,EAAE;YACN,IAAI,GAAG,EAAE,CAAC;gBACR,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2CAA2C,KAAK,CAAC,OAAO,KAAK,GAAG,EAAE,CAAC,CAAC;YACvF,CAAC;QACH,CAAC,CACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,UAAU;QAChB,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,IAAA,sBAAiB,GAAE,CAAC,CAAC;QAEtD,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;YAC/B,IAAI,CAAC,KAAK;gBAAE,SAAS;YAErB,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;gBAC1B,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;oBAC/C,OAAO,KAAK,CAAC,OAAO,CAAC;gBACvB,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;CACF;AAvJD,gCAuJC"}
@@ -9,6 +9,7 @@
9
9
  * License: MIT
10
10
  */
11
11
  import { EventEmitter } from 'events';
12
+ import type { Logger } from '../types/logger';
12
13
  import { EAASDevice, EAASDiscovererOptions } from './types';
13
14
  export declare interface EAASDiscoverer {
14
15
  on(event: 'discovered', listener: (device: EAASDevice) => void): this;
@@ -42,7 +43,8 @@ export declare class EAASDiscoverer extends EventEmitter {
42
43
  private socket;
43
44
  private scanTimer;
44
45
  private discoveredDevices;
45
- constructor(options?: EAASDiscovererOptions);
46
+ private logger;
47
+ constructor(options?: EAASDiscovererOptions, logger?: Logger);
46
48
  /**
47
49
  * Perform a one-time discovery scan.
48
50
  *