alphatheta-connect 0.15.0 → 0.18.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.
- package/README.md +29 -3
- package/lib/artwork/index.d.ts +2 -1
- package/lib/cli.js +1122 -1332
- package/lib/cli.js.map +1 -1
- package/lib/constants.d.ts +7 -1
- package/lib/db/getArtworkFromFile.d.ts +2 -0
- package/lib/db/getFile.d.ts +7 -2
- package/lib/db/getMetadata.d.ts +3 -2
- package/lib/db/getTrackAnalysis.d.ts +28 -0
- package/lib/db/index.d.ts +8 -8
- package/lib/entities.d.ts +13 -111
- package/lib/index.d.ts +10 -2
- package/lib/index.js +1356 -1352
- package/lib/index.js.map +1 -1
- package/lib/localdb/database-adapter.d.ts +2 -47
- package/lib/localdb/index.d.ts +1 -1
- package/lib/localdb/onelibrary/adapter.d.ts +110 -0
- package/lib/localdb/onelibrary/connection.d.ts +8 -0
- package/lib/localdb/onelibrary/encryption.d.ts +10 -0
- package/lib/localdb/onelibrary/index.d.ts +5 -0
- package/lib/localdb/onelibrary/types.d.ts +67 -0
- package/lib/localdb/onelibrary.d.ts +3 -181
- package/lib/localdb/rekordbox/anlz-parsers.d.ts +37 -0
- package/lib/localdb/rekordbox/entity-creators.d.ts +27 -0
- package/lib/localdb/rekordbox/hydrator.d.ts +20 -0
- package/lib/localdb/rekordbox/index.d.ts +13 -0
- package/lib/localdb/rekordbox/table-mappings.d.ts +10 -0
- package/lib/localdb/rekordbox/types.d.ts +118 -0
- package/lib/localdb/rekordbox.d.ts +6 -110
- package/lib/logger.d.ts +13 -0
- package/lib/metadata.d.ts +45 -0
- package/lib/network.d.ts +25 -0
- package/lib/nfs/index.d.ts +35 -10
- package/lib/nfs/index.test.d.ts +1 -0
- package/lib/nfs/programs.d.ts +10 -1
- package/lib/passive/index.d.ts +1 -1
- package/lib/passive/remotedb.d.ts +12 -1
- package/lib/remotedb/queries.d.ts +2 -2
- package/lib/types.d.ts +55 -78
- package/lib/types.js +21 -38
- package/lib/types.js.map +1 -1
- package/lib/utils/index.d.ts +9 -0
- package/lib/virtualcdj/index.d.ts +7 -1
- package/package.json +23 -2
package/README.md
CHANGED
|
@@ -15,14 +15,18 @@
|
|
|
15
15
|
|
|
16
16
|
---
|
|
17
17
|
|
|
18
|
-
This library implements the
|
|
18
|
+
This library implements the AlphaTheta PROLINK network protocol + additional
|
|
19
19
|
functionality to interact with the prolink network. This library is used as
|
|
20
|
-
part of [
|
|
20
|
+
part of [Now Playing](https://nowplayingapp.com/).
|
|
21
21
|
|
|
22
22
|
Alternative implementations of the Prolink protocol: [Java](https://github.com/Deep-Symmetry/beat-link), [golang](https://github.com/evanpurkhiser/prolink-go).
|
|
23
23
|
|
|
24
24
|
## Features
|
|
25
25
|
|
|
26
|
+
- **Streaming Service Detection** *(new)* - Detect when tracks are loaded from
|
|
27
|
+
streaming services (Beatport, Streaming Direct Play, TIDAL, Apple Music) via
|
|
28
|
+
`MediaSlot` enum. Supports CDJ-3000X CloudDirectPlay streaming features.
|
|
29
|
+
|
|
26
30
|
- **Support for AlphaTheta Opus Quad, XDJ-RX3, XDJ-RX2, XDJ-RX, and XDJ-XZ** *(new)* -
|
|
27
31
|
Passive mode monitoring via pcap-based packet capture for all-in-one controllers
|
|
28
32
|
where traditional virtual CDJ connection isn't possible.
|
|
@@ -46,10 +50,23 @@ Alternative implementations of the Prolink protocol: [Java](https://github.com/D
|
|
|
46
50
|
sequence for better compatibility with certain device configurations.
|
|
47
51
|
See [FULL_STARTUP.md](docs/FULL_STARTUP.md) for details.
|
|
48
52
|
|
|
53
|
+
- **Metadata Extraction via NFS** *(new)* - Extract complete track metadata (title,
|
|
54
|
+
artist, album, BPM, key, artwork) directly from audio files on connected media
|
|
55
|
+
using partial file reads — only file headers are downloaded, not entire files.
|
|
56
|
+
|
|
57
|
+
- **3-Band Waveforms & Vocal Detection** *(new)* - Parse `.2EX` analysis files for
|
|
58
|
+
3-band color waveform preview (PWV6), 3-band color detail waveform (PWV7), and
|
|
59
|
+
vocal detection config (PWVC).
|
|
60
|
+
|
|
61
|
+
- **Track Analysis API** *(new)* - Unified `getTrackAnalysis()` method that retrieves
|
|
62
|
+
all analysis data (extended cues, song structure, waveforms, 3-band waveforms,
|
|
63
|
+
vocal config) from both EXT and 2EX files in a single call.
|
|
64
|
+
|
|
49
65
|
- **Extended ANLZ Support** - Full support for rekordbox analysis files including:
|
|
50
66
|
- Extended cues with RGB colors and comments (PCO2)
|
|
51
67
|
- Song structure / phrase analysis for CDJ-3000 (PSSI)
|
|
52
|
-
- Multiple waveform formats (PWAV, PWV2, PWV3, PWV4, PWV5)
|
|
68
|
+
- Multiple waveform formats (PWAV, PWV2, PWV3, PWV4, PWV5, PWV6, PWV7)
|
|
69
|
+
- Vocal detection config (PWVC)
|
|
53
70
|
- See [EXTENDED_ANLZ.md](docs/EXTENDED_ANLZ.md) for details
|
|
54
71
|
|
|
55
72
|
- **CDJ-3000 Features** - Complete support for CDJ-3000 specific features:
|
|
@@ -164,3 +181,12 @@ async function main() {
|
|
|
164
181
|
- [Deep Symmetry](https://github.com/Deep-Symmetry) - For [crate-digger](https://github.com/Deep-Symmetry/crate-digger) and maintaining comprehensive Pro DJ Link protocol documentation
|
|
165
182
|
- [@henrybetts](https://github.com/henrybetts) and [@flesniak](https://github.com/flesniak) - For reverse-engineering the rekordbox database format
|
|
166
183
|
- [@GreyCat](https://github.com/GreyCat) - For Kaitai Struct expertise and guidance
|
|
184
|
+
|
|
185
|
+
## Related Projects
|
|
186
|
+
|
|
187
|
+
- [stagelinq](https://github.com/chrisle/stagelinq) — Denon StageLinq protocol integration
|
|
188
|
+
- [metadata-connect](https://github.com/chrisle/metadata-connect) — Audio metadata extraction with partial file reads
|
|
189
|
+
- [rekordbox-connect](https://github.com/chrisle/rekordbox-connect) — Rekordbox database integration
|
|
190
|
+
- [serato-connect](https://github.com/chrisle/serato-connect) — Serato DJ integration
|
|
191
|
+
|
|
192
|
+
These libraries power [Now Playing](https://nowplayingapp.com) — a real-time track display app for DJs and streamers.
|
package/lib/artwork/index.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type Logger } from "../logger";
|
|
1
2
|
import { NfsMediaSlot } from "../nfs";
|
|
2
3
|
import { Device } from "../types";
|
|
3
4
|
import { ExtractedArtwork, FileReader } from './types';
|
|
@@ -6,4 +7,4 @@ export type { ExtractedArtwork, FileReader } from './types';
|
|
|
6
7
|
export { PictureType } from './types';
|
|
7
8
|
export declare function isArtworkExtractionSupported(extension: string): boolean;
|
|
8
9
|
export declare function extractArtwork(reader: FileReader): Promise<ExtractedArtwork | null>;
|
|
9
|
-
export declare function extractArtworkFromDevice(device: Device, slot: NfsMediaSlot, filePath: string): Promise<ExtractedArtwork | null>;
|
|
10
|
+
export declare function extractArtworkFromDevice(device: Device, slot: NfsMediaSlot, filePath: string, logger?: Logger): Promise<ExtractedArtwork | null>;
|