ziplayer 0.3.2 → 0.3.3
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/{AI-Guide.md → AGENTS.md} +36 -7
- package/README.md +113 -0
- package/dist/plugins/index.js +1 -1
- package/dist/plugins/index.js.map +1 -1
- package/dist/structures/Player.d.ts +45 -1
- package/dist/structures/Player.d.ts.map +1 -1
- package/dist/structures/Player.js +80 -0
- package/dist/structures/Player.js.map +1 -1
- package/dist/structures/PlayerManager.d.ts +35 -6
- package/dist/structures/PlayerManager.d.ts.map +1 -1
- package/dist/structures/PlayerManager.js +215 -19
- package/dist/structures/PlayerManager.js.map +1 -1
- package/dist/structures/Queue.d.ts +19 -0
- package/dist/structures/Queue.d.ts.map +1 -1
- package/dist/structures/Queue.js +21 -0
- package/dist/structures/Queue.js.map +1 -1
- package/dist/types/index.d.ts +40 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +6 -0
- package/dist/types/index.js.map +1 -1
- package/package.json +1 -1
- package/src/plugins/index.ts +1 -1
- package/src/structures/Player.ts +103 -16
- package/src/structures/PlayerManager.ts +253 -23
- package/src/structures/Queue.ts +22 -0
- package/src/types/index.ts +46 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
#
|
|
1
|
+
# AI / agent notes — ZiPlayer core
|
|
2
2
|
|
|
3
3
|
A comprehensive guide for AI assistants and developers working with ZiPlayer - a powerful Discord music player library.
|
|
4
4
|
|
|
@@ -57,7 +57,6 @@ A comprehensive guide for AI assistants and developers working with ZiPlayer - a
|
|
|
57
57
|
const player = await manager.create(guildId, options);
|
|
58
58
|
await player.connect(voiceChannel);
|
|
59
59
|
await player.play(query, userId);
|
|
60
|
-
// ... auto-saves periodically
|
|
61
60
|
player.destroy();
|
|
62
61
|
```
|
|
63
62
|
|
|
@@ -277,11 +276,6 @@ const manager = new PlayerManager({
|
|
|
277
276
|
autoCleanup: true,
|
|
278
277
|
});
|
|
279
278
|
|
|
280
|
-
client.on("ready", async () => {
|
|
281
|
-
// Auto-load saved players
|
|
282
|
-
await manager.loadAllPlayers();
|
|
283
|
-
});
|
|
284
|
-
|
|
285
279
|
client.on("messageCreate", async (msg) => {
|
|
286
280
|
if (msg.content.startsWith("!play")) {
|
|
287
281
|
const player = await manager.create(msg.guildId);
|
|
@@ -611,6 +605,41 @@ interface SearchResult {
|
|
|
611
605
|
}
|
|
612
606
|
```
|
|
613
607
|
|
|
608
|
+
## Terminology
|
|
609
|
+
|
|
610
|
+
- **Plugins** (`SourcePlugin`): search, `getStream`, playlists — audio **sources** (YouTube, SoundCloud, etc.).
|
|
611
|
+
- **Extensions** (`SourceExtension` / `BaseExtension`): cross-cutting behavior — **not** the same as **`trackMiddleware`**.
|
|
612
|
+
|
|
613
|
+
## Track transforms before stream
|
|
614
|
+
|
|
615
|
+
| Goal | Mechanism |
|
|
616
|
+
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
617
|
+
| Enrich every queued track right before stream extraction (preload, playback, `save`, TTS interrupt path uses middleware before raw plugin stream where applicable) | **`trackMiddleware`** on `PlayerManagerOptions` / `PlayerOptions` — ordered chain; merged order: manager chain first, then per-player chain. Implemented in `Player.applyTrackMiddleware` → called at start of `Player.getStream`, and before direct `pluginManager.getStream` in TTS interrupt / `save`. |
|
|
618
|
+
| Change query or inject tracks before search resolves | Extension **`beforePlay`** — mutate `payload.query` or return `{ tracks }`. |
|
|
619
|
+
| Custom stream backend | Extension **`provideStream`** — runs **after** track middleware, before plugins. |
|
|
620
|
+
|
|
621
|
+
Types: `TrackMiddleware`, `TrackMiddlewareContext`, `normalizeTrackMiddleware` in `src/types/index.ts`.
|
|
622
|
+
|
|
623
|
+
When returning a **new** `Track` from middleware, the core **merges** into the original reference (`mergeTrackPreserveRef`) so
|
|
624
|
+
queue pointers stay valid.
|
|
625
|
+
|
|
626
|
+
## Metadata: BPM, LUFS, genre
|
|
627
|
+
|
|
628
|
+
Advanced playback reads **`track.metadata`**:
|
|
629
|
+
|
|
630
|
+
- **`bpm`**, **`genre`**, **`lufs`** — smart transition + loudness (see `Player`).
|
|
631
|
+
|
|
632
|
+
## Multi-guild broadcast & mirror
|
|
633
|
+
|
|
634
|
+
| API | Behavior |
|
|
635
|
+
| ----------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
636
|
+
| `broadcast(action, ...args)` | Sync fan-out of `player[action]` to **all** players. |
|
|
637
|
+
| `broadcastAsync(action, ...args)` | Same, but `Promise.allSettled` on return values (use for `play`). |
|
|
638
|
+
| `broadcastGuilds(guildIds, action, ...args)` | Subset of guilds. |
|
|
639
|
+
| `subscribePlaybackMirror({ leaderGuildId, followerGuildIds, mirrorUserId, syncVolume? })` | Leader `trackStart` → followers `stop()` + `play(track, mirrorUserId)`; mirrors pause/resume/stop/volume (volume optional). Unsubscribe returned; also cleans up when leader player destroys. |
|
|
640
|
+
|
|
641
|
+
Followers must already exist (`create`). One mirror subscription per leader id replaces the previous.
|
|
642
|
+
|
|
614
643
|
---
|
|
615
644
|
|
|
616
645
|
## 📖 Additional Resources
|
package/README.md
CHANGED
|
@@ -31,6 +31,10 @@ advanced music bots quickly.
|
|
|
31
31
|
controlled skip (no chaotic skipping)
|
|
32
32
|
- 🔊 **Loudness Normalization** - LUFS-based normalization prevents sudden volume jumps between tracks, with gentle limiter to
|
|
33
33
|
avoid distortion
|
|
34
|
+
- 🧪 **Track middleware (extensions)** — Transform or enrich tracks before streaming (for example fill `metadata.bpm`,
|
|
35
|
+
`metadata.lufs`, `metadata.genre` from an audio-analysis HTTP API instead of manual entry)
|
|
36
|
+
- 📻 **Multi-guild broadcast** — Fan out the same Player API calls to every active guild with `manager.broadcast()` (shared
|
|
37
|
+
controls / mirrored sessions across servers)
|
|
34
38
|
|
|
35
39
|
---
|
|
36
40
|
|
|
@@ -227,6 +231,59 @@ Extensions can now provide:
|
|
|
227
231
|
- **Stream** — Custom stream sources (Lavalink, etc.)
|
|
228
232
|
- **Before/After play hooks** — Modify playback behavior
|
|
229
233
|
|
|
234
|
+
### Track middleware (metadata before stream)
|
|
235
|
+
|
|
236
|
+
Core exposes **`trackMiddleware`** on **`PlayerManager`** options and **`Player`** options: an ordered chain of async/sync
|
|
237
|
+
functions `(track, { player, manager }) => void | Track`. They run **once per stream resolution**, immediately before extension
|
|
238
|
+
`provideStream` and plugins — including preload and `player.save()`.
|
|
239
|
+
|
|
240
|
+
Prefer mutating **`track.metadata`** in place. If you return a **new** object, its enumerable fields (and merged `metadata`) are
|
|
241
|
+
copied onto the original track reference so queue/current-track pointers stay stable.
|
|
242
|
+
|
|
243
|
+
```ts
|
|
244
|
+
const manager = new PlayerManager({
|
|
245
|
+
plugins: [...],
|
|
246
|
+
trackMiddleware: async (track, { player }) => {
|
|
247
|
+
const analysis = await fetchAnalysis(track.url); // your HTTP API
|
|
248
|
+
track.metadata = {
|
|
249
|
+
...track.metadata,
|
|
250
|
+
bpm: analysis.bpm,
|
|
251
|
+
lufs: analysis.lufs,
|
|
252
|
+
genre: analysis.genre,
|
|
253
|
+
};
|
|
254
|
+
},
|
|
255
|
+
});
|
|
256
|
+
|
|
257
|
+
// Per-player middleware runs after manager-level middleware
|
|
258
|
+
await manager.create(guildId, {
|
|
259
|
+
trackMiddleware: [(track) => {
|
|
260
|
+
track.metadata = { ...track.metadata, sourcePreset: "guild-radio" };
|
|
261
|
+
}],
|
|
262
|
+
});
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
Extensions remain useful for **`beforePlay`** (rewrite query / inject tracks before search) and **`provideStream`** (custom
|
|
266
|
+
backends):
|
|
267
|
+
|
|
268
|
+
1. **`beforePlay`** (capability `beforePlay`) runs inside `player.play()` before search resolution. You can:
|
|
269
|
+
- Adjust `payload.query` when it is a string (rewrite query) or a **`Track`** (mutate the object, including `track.metadata`).
|
|
270
|
+
- Return **`tracks`** to inject or replace the list of tracks (with enriched metadata).
|
|
271
|
+
- Set **`handled: true`** to short-circuit normal handling when you fully control the outcome.
|
|
272
|
+
|
|
273
|
+
2. **`provideStream`** (capability `stream`) runs **after** track middleware and **before** plugin extraction in
|
|
274
|
+
`Player.getStream()`. Use it to supply a stream from Lavalink or another backend while still using plugins for search.
|
|
275
|
+
|
|
276
|
+
Core features read optional **`Track.metadata`** fields:
|
|
277
|
+
|
|
278
|
+
| Key (in `track.metadata`) | Used by |
|
|
279
|
+
| ------------------------- | -------------------------------------------------------------------------- |
|
|
280
|
+
| `bpm` | Smart transition beat alignment (`smartTransition.beatAlign`) |
|
|
281
|
+
| `genre` | Genre-aware fade duration (`smartTransition.genreAware`, `genreDurations`) |
|
|
282
|
+
| `lufs` | Loudness normalization (`loudnessNormalization`) |
|
|
283
|
+
|
|
284
|
+
Example sketch (extension path): in `beforePlay`, if `payload.query` is a `Track`, call your analysis service (or cache), then
|
|
285
|
+
assign `track.metadata = { ...track.metadata, bpm, lufs, genre }` before returning.
|
|
286
|
+
|
|
230
287
|
---
|
|
231
288
|
|
|
232
289
|
## 🎛️ Audio Filters
|
|
@@ -361,6 +418,59 @@ const activePlayers = manager.getPlayersByFilter((p) => p.isPlaying);
|
|
|
361
418
|
manager.deleteWhere((p) => p.queue.isEmpty && !p.isPlaying);
|
|
362
419
|
```
|
|
363
420
|
|
|
421
|
+
### Multi-room / multi-guild broadcast
|
|
422
|
+
|
|
423
|
+
`PlayerManager.broadcast(action, ...args)` loops every registered **`Player`** and, if `player[action]` is a function, calls
|
|
424
|
+
`player[action](...args)`. It is a **control fan-out**: the same method name runs on all guild players (pause, volume, skip,etc.).
|
|
425
|
+
It does **not** multiplex one Discord voice stream to many guilds—each guild still has its own voice connection and decoder.
|
|
426
|
+
|
|
427
|
+
Use **`broadcastAsync`** when you need to await async methods (for example `play`):
|
|
428
|
+
|
|
429
|
+
```ts
|
|
430
|
+
const results = await manager.broadcastAsync("play", "https://youtu.be/...", botUserId);
|
|
431
|
+
```
|
|
432
|
+
|
|
433
|
+
Use **`broadcastGuilds`** to target a subset of guild ids:
|
|
434
|
+
|
|
435
|
+
```ts
|
|
436
|
+
manager.broadcastGuilds(["guildA", "guildB"], "pause");
|
|
437
|
+
```
|
|
438
|
+
|
|
439
|
+
**Built-in playback mirror (`subscribePlaybackMirror`)** — designate a **leader** guild; **follower** guilds receive the same
|
|
440
|
+
track on each leader `trackStart`, and pause / resume stop / volume (optional) when the leader does. Each guild must already have
|
|
441
|
+
a player (`create` + `connect` to voice).
|
|
442
|
+
|
|
443
|
+
```ts
|
|
444
|
+
const stopMirror = manager.subscribePlaybackMirror({
|
|
445
|
+
leaderGuildId: "123",
|
|
446
|
+
followerGuildIds: ["456", "789"],
|
|
447
|
+
mirrorUserId: client.user.id,
|
|
448
|
+
syncVolume: true,
|
|
449
|
+
forwardMode: true,
|
|
450
|
+
});
|
|
451
|
+
// later: stopMirror();
|
|
452
|
+
```
|
|
453
|
+
|
|
454
|
+
**“Subscribe” pattern (manual):**
|
|
455
|
+
|
|
456
|
+
1. Call `await manager.create(guildId, options)` (and `player.connect(voiceChannel)`) for **each** guild that should participate
|
|
457
|
+
so each server has a player instance.
|
|
458
|
+
2. Drive playback from your bot logic: mirror API above, or issue the same `play` / queue commands per guild, or use `broadcast`
|
|
459
|
+
for **synchronized controls** only.
|
|
460
|
+
3. Plain `broadcast` is **synchronous** and does not `await` async methods. Prefer `broadcastAsync` or a `for` loop with `await`
|
|
461
|
+
when order/errors matter.
|
|
462
|
+
|
|
463
|
+
```ts
|
|
464
|
+
// Same control on every guild that already has a player
|
|
465
|
+
manager.broadcast("pause");
|
|
466
|
+
manager.broadcast("setVolume", 75);
|
|
467
|
+
|
|
468
|
+
// Prefer explicit awaits if you need ordered or error-handled play on many guilds
|
|
469
|
+
for (const player of manager.getAll()) {
|
|
470
|
+
await player.play(sharedQueueUrl, botUserId).catch(console.error);
|
|
471
|
+
}
|
|
472
|
+
```
|
|
473
|
+
|
|
364
474
|
---
|
|
365
475
|
|
|
366
476
|
## ⚙️ Advanced Configuration
|
|
@@ -376,6 +486,7 @@ const manager = new PlayerManager({
|
|
|
376
486
|
cleanupInterval: 120000, // Cleanup interval (ms)
|
|
377
487
|
enableSearchCache: true, // Cache search results
|
|
378
488
|
enableStatsCollection: true, // Enable stats events
|
|
489
|
+
trackMiddleware: [...], // Global pre-stream track transforms (before per-player middleware)
|
|
379
490
|
persistence: {...} // Persistence configuration
|
|
380
491
|
});
|
|
381
492
|
```
|
|
@@ -436,6 +547,7 @@ const player = await manager.create(guildId, {
|
|
|
436
547
|
maxCutDb: 10,
|
|
437
548
|
limiterCeiling: 0.95,
|
|
438
549
|
},
|
|
550
|
+
trackMiddleware: [], // Optional per-player chain (after manager trackMiddleware)
|
|
439
551
|
userdata: { customField: "value" },
|
|
440
552
|
});
|
|
441
553
|
```
|
|
@@ -518,6 +630,7 @@ player.extensionManager.clearCache("search");
|
|
|
518
630
|
- Examples: [https://github.com/ZiProject/ZiPlayer/tree/main/examples](https://github.com/ZiProject/ZiPlayer/tree/main/examples)
|
|
519
631
|
- GitHub: [https://github.com/ZiProject/ZiPlayer](https://github.com/ZiProject/ZiPlayer)
|
|
520
632
|
- npm: [https://www.npmjs.com/package/ziplayer](https://www.npmjs.com/package/ziplayer)
|
|
633
|
+
- AI/agent-oriented notes (middleware metadata, broadcast semantics): see `AGENTS.md` in this repo
|
|
521
634
|
|
|
522
635
|
---
|
|
523
636
|
|
package/dist/plugins/index.js
CHANGED
|
@@ -695,7 +695,7 @@ class PluginManager {
|
|
|
695
695
|
if (relatedPlugins.length === 0) {
|
|
696
696
|
return [];
|
|
697
697
|
}
|
|
698
|
-
const history = this.player
|
|
698
|
+
const history = this.player?.queue?.previousTracks || [];
|
|
699
699
|
const historyUrls = new Set(history.map((t) => t.url));
|
|
700
700
|
const currentTrackUrl = track.url;
|
|
701
701
|
const results = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/plugins/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/plugins/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { EventEmitter } from "events";
|
|
|
2
2
|
import { VoiceConnection, AudioPlayer as DiscordAudioPlayer } from "@discordjs/voice";
|
|
3
3
|
import { Readable } from "stream";
|
|
4
4
|
import type { BaseExtension } from "../extensions";
|
|
5
|
-
import type
|
|
5
|
+
import { type Track, type PlayerOptions, type PlayerEvents, type SourcePlugin, type SearchResult, type ProgressBarOptions, type LoopMode, type SaveOptions, type VoiceChannel, type PlayerSession } from "../types";
|
|
6
6
|
import type { PlayerManager } from "./PlayerManager";
|
|
7
7
|
import { Queue } from "./Queue";
|
|
8
8
|
import { PluginManager } from "../plugins";
|
|
@@ -62,6 +62,7 @@ export declare class Player extends EventEmitter {
|
|
|
62
62
|
extensionManager: ExtensionManager;
|
|
63
63
|
streamManager: StreamManager;
|
|
64
64
|
preloadManager: PreloadManager;
|
|
65
|
+
forwardMode: Boolean;
|
|
65
66
|
userdata?: Record<string, any>;
|
|
66
67
|
_lastActivity: number;
|
|
67
68
|
private manager;
|
|
@@ -99,6 +100,7 @@ export declare class Player extends EventEmitter {
|
|
|
99
100
|
private loudnessMaxCutDb;
|
|
100
101
|
private loudnessLimiterCeiling;
|
|
101
102
|
private destroyed;
|
|
103
|
+
private readonly trackMiddlewareChain;
|
|
102
104
|
private searchCache;
|
|
103
105
|
private readonly SEARCH_CACHE_TTL;
|
|
104
106
|
private ttsPlayer;
|
|
@@ -211,6 +213,8 @@ export declare class Player extends EventEmitter {
|
|
|
211
213
|
* @returns {Promise<AudioResource>} The AudioResource with filters and seek applied
|
|
212
214
|
*/
|
|
213
215
|
private createResource;
|
|
216
|
+
private mergeTrackPreserveRef;
|
|
217
|
+
private applyTrackMiddleware;
|
|
214
218
|
private getStream;
|
|
215
219
|
private isUnrecoverableStreamError;
|
|
216
220
|
/**
|
|
@@ -249,6 +253,46 @@ export declare class Player extends EventEmitter {
|
|
|
249
253
|
* await player.connect(voiceChannel);
|
|
250
254
|
*/
|
|
251
255
|
connect(channel: VoiceChannel): Promise<VoiceConnection>;
|
|
256
|
+
/**
|
|
257
|
+
* Subscribe this player's voice connection
|
|
258
|
+
* to another player's audio stream.
|
|
259
|
+
*
|
|
260
|
+
* This is primarily used for:
|
|
261
|
+
* - playback mirroring
|
|
262
|
+
* - radio/broadcast systems
|
|
263
|
+
* - multi-guild synchronized playback
|
|
264
|
+
* - forwardMode shared streaming
|
|
265
|
+
*
|
|
266
|
+
* Instead of creating a separate audio stream,
|
|
267
|
+
* this player will directly receive audio packets
|
|
268
|
+
* from the target player's AudioPlayer instance.
|
|
269
|
+
*
|
|
270
|
+
* Benefits:
|
|
271
|
+
* - drastically lower CPU usage
|
|
272
|
+
* - only one ffmpeg/extractor stream
|
|
273
|
+
* - lower bandwidth and memory usage
|
|
274
|
+
* - perfect sync across guilds
|
|
275
|
+
*
|
|
276
|
+
* Important:
|
|
277
|
+
* - both players must already have active voice connections
|
|
278
|
+
* - this does NOT transfer queue ownership
|
|
279
|
+
* - this does NOT clone playback state automatically
|
|
280
|
+
*
|
|
281
|
+
* @param {Player} player - Source player to subscribe to
|
|
282
|
+
*
|
|
283
|
+
* @returns {boolean}
|
|
284
|
+
* Returns true if subscription succeeded,
|
|
285
|
+
* otherwise false.
|
|
286
|
+
*
|
|
287
|
+
* @example
|
|
288
|
+
* follower.subscribeTo(leader);
|
|
289
|
+
*
|
|
290
|
+
* @example
|
|
291
|
+
* if (!player.subscribeTo(leader)) {
|
|
292
|
+
* console.log("Failed to subscribe");
|
|
293
|
+
* }
|
|
294
|
+
*/
|
|
295
|
+
subscribeTo(player: Player): boolean;
|
|
252
296
|
/**
|
|
253
297
|
* Pause the current track
|
|
254
298
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Player.d.ts","sourceRoot":"","sources":["../../src/structures/Player.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAKN,eAAe,EACf,WAAW,IAAI,kBAAkB,EAMjC,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAElC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"Player.d.ts","sourceRoot":"","sources":["../../src/structures/Player.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ exports.Player = void 0;
|
|
|
4
4
|
const events_1 = require("events");
|
|
5
5
|
const voice_1 = require("@discordjs/voice");
|
|
6
6
|
const lru_cache_1 = require("lru-cache");
|
|
7
|
+
const types_1 = require("../types");
|
|
7
8
|
const Queue_1 = require("./Queue");
|
|
8
9
|
const plugins_1 = require("../plugins");
|
|
9
10
|
const extensions_1 = require("../extensions");
|
|
@@ -53,6 +54,7 @@ class Player extends events_1.EventEmitter {
|
|
|
53
54
|
this.volume = 100;
|
|
54
55
|
this.isPlaying = false;
|
|
55
56
|
this.isPaused = false;
|
|
57
|
+
this.forwardMode = false;
|
|
56
58
|
this._lastActivity = Date.now();
|
|
57
59
|
this.leaveTimeout = null;
|
|
58
60
|
this.currentResource = null;
|
|
@@ -181,6 +183,7 @@ class Player extends events_1.EventEmitter {
|
|
|
181
183
|
this.loudnessMaxCutDb = Math.max(0, loudnessOptions.maxCutDb ?? 10);
|
|
182
184
|
this.loudnessLimiterCeiling = Math.min(1, Math.max(0.1, loudnessOptions.limiterCeiling ?? 0.95));
|
|
183
185
|
this.debug(`[Player] Runtime options resolved: lowPerformance=${this.lowPerformanceMode}, preload=${this.preloadEnabled}, crossfade=${this.crossfadeEnabled} (${this.crossfadeDurationMs}ms), smartTransition=${this.smartTransitionEnabled}, antiStuck=${this.antiStuckEnabled}, loudnessNormalization=${this.loudnessNormalizationEnabled}`);
|
|
186
|
+
this.trackMiddlewareChain = [...this.manager.getTrackMiddlewareChain(), ...(0, types_1.normalizeTrackMiddleware)(options.trackMiddleware)];
|
|
184
187
|
this.filter = new FilterManager_1.FilterManager(this, this.manager);
|
|
185
188
|
this.extensionManager = new extensions_1.ExtensionManager(this, this.manager);
|
|
186
189
|
this.pluginManager = new plugins_1.PluginManager(this, this.manager, {
|
|
@@ -772,10 +775,37 @@ class Player extends events_1.EventEmitter {
|
|
|
772
775
|
}
|
|
773
776
|
}
|
|
774
777
|
}
|
|
778
|
+
mergeTrackPreserveRef(target, source) {
|
|
779
|
+
if (source === target)
|
|
780
|
+
return;
|
|
781
|
+
const mergedMeta = {
|
|
782
|
+
...(target.metadata || {}),
|
|
783
|
+
...(source.metadata || {}),
|
|
784
|
+
};
|
|
785
|
+
Object.assign(target, source);
|
|
786
|
+
target.metadata = mergedMeta;
|
|
787
|
+
}
|
|
788
|
+
async applyTrackMiddleware(track) {
|
|
789
|
+
if (this.trackMiddlewareChain.length === 0)
|
|
790
|
+
return;
|
|
791
|
+
const ctx = { player: this, manager: this.manager };
|
|
792
|
+
for (const mw of this.trackMiddlewareChain) {
|
|
793
|
+
try {
|
|
794
|
+
const out = await mw(track, ctx);
|
|
795
|
+
if (out != null && out !== track) {
|
|
796
|
+
this.mergeTrackPreserveRef(track, out);
|
|
797
|
+
}
|
|
798
|
+
}
|
|
799
|
+
catch (err) {
|
|
800
|
+
this.debug(`[TrackMiddleware] Error:`, err);
|
|
801
|
+
}
|
|
802
|
+
}
|
|
803
|
+
}
|
|
775
804
|
async getStream(track) {
|
|
776
805
|
if (this.destroyed) {
|
|
777
806
|
throw new Error("PLAYER_DESTROYED");
|
|
778
807
|
}
|
|
808
|
+
await this.applyTrackMiddleware(track);
|
|
779
809
|
const trackId = track.id || track.url || track.title;
|
|
780
810
|
const existingStream = this.streamManager.getStreamByTrack(trackId);
|
|
781
811
|
if (existingStream && !existingStream.destroyed) {
|
|
@@ -1088,6 +1118,7 @@ class Player extends events_1.EventEmitter {
|
|
|
1088
1118
|
if (!this.connection)
|
|
1089
1119
|
throw new Error("No voice connection for TTS");
|
|
1090
1120
|
const ttsPlayer = this.ensureTTSPlayer();
|
|
1121
|
+
await this.applyTrackMiddleware(track);
|
|
1091
1122
|
// Build resource from plugin stream
|
|
1092
1123
|
const streamInfo = await this.pluginManager.getStream(track);
|
|
1093
1124
|
if (!streamInfo) {
|
|
@@ -1205,6 +1236,54 @@ class Player extends events_1.EventEmitter {
|
|
|
1205
1236
|
throw error;
|
|
1206
1237
|
}
|
|
1207
1238
|
}
|
|
1239
|
+
/**
|
|
1240
|
+
* Subscribe this player's voice connection
|
|
1241
|
+
* to another player's audio stream.
|
|
1242
|
+
*
|
|
1243
|
+
* This is primarily used for:
|
|
1244
|
+
* - playback mirroring
|
|
1245
|
+
* - radio/broadcast systems
|
|
1246
|
+
* - multi-guild synchronized playback
|
|
1247
|
+
* - forwardMode shared streaming
|
|
1248
|
+
*
|
|
1249
|
+
* Instead of creating a separate audio stream,
|
|
1250
|
+
* this player will directly receive audio packets
|
|
1251
|
+
* from the target player's AudioPlayer instance.
|
|
1252
|
+
*
|
|
1253
|
+
* Benefits:
|
|
1254
|
+
* - drastically lower CPU usage
|
|
1255
|
+
* - only one ffmpeg/extractor stream
|
|
1256
|
+
* - lower bandwidth and memory usage
|
|
1257
|
+
* - perfect sync across guilds
|
|
1258
|
+
*
|
|
1259
|
+
* Important:
|
|
1260
|
+
* - both players must already have active voice connections
|
|
1261
|
+
* - this does NOT transfer queue ownership
|
|
1262
|
+
* - this does NOT clone playback state automatically
|
|
1263
|
+
*
|
|
1264
|
+
* @param {Player} player - Source player to subscribe to
|
|
1265
|
+
*
|
|
1266
|
+
* @returns {boolean}
|
|
1267
|
+
* Returns true if subscription succeeded,
|
|
1268
|
+
* otherwise false.
|
|
1269
|
+
*
|
|
1270
|
+
* @example
|
|
1271
|
+
* follower.subscribeTo(leader);
|
|
1272
|
+
*
|
|
1273
|
+
* @example
|
|
1274
|
+
* if (!player.subscribeTo(leader)) {
|
|
1275
|
+
* console.log("Failed to subscribe");
|
|
1276
|
+
* }
|
|
1277
|
+
*/
|
|
1278
|
+
subscribeTo(player) {
|
|
1279
|
+
if (!this.connection)
|
|
1280
|
+
return false;
|
|
1281
|
+
this.connection.subscribe(player.audioPlayer);
|
|
1282
|
+
this.isPlaying = player.isPlaying;
|
|
1283
|
+
this.isPaused = player.isPaused;
|
|
1284
|
+
this.forwardMode = true;
|
|
1285
|
+
return true;
|
|
1286
|
+
}
|
|
1208
1287
|
/**
|
|
1209
1288
|
* Pause the current track
|
|
1210
1289
|
*
|
|
@@ -1392,6 +1471,7 @@ class Player extends events_1.EventEmitter {
|
|
|
1392
1471
|
saveOptions = options;
|
|
1393
1472
|
}
|
|
1394
1473
|
try {
|
|
1474
|
+
await this.applyTrackMiddleware(track);
|
|
1395
1475
|
// Skip extension manager for saving - we want the raw stream without filters/seek applied, and extensions may not support this
|
|
1396
1476
|
let streamInfo = await this.pluginManager.getStream(track);
|
|
1397
1477
|
if (!streamInfo || !streamInfo.stream) {
|