ziplayer 0.2.1 → 0.2.3-dev-1
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/dist/structures/FilterManager.d.ts +1 -0
- package/dist/structures/FilterManager.d.ts.map +1 -1
- package/dist/structures/FilterManager.js +49 -10
- package/dist/structures/FilterManager.js.map +1 -1
- package/dist/structures/Player.d.ts +15 -2
- package/dist/structures/Player.d.ts.map +1 -1
- package/dist/structures/Player.js +123 -37
- package/dist/structures/Player.js.map +1 -1
- package/dist/types/extension.d.ts +114 -0
- package/dist/types/extension.d.ts.map +1 -0
- package/dist/types/extension.js +3 -0
- package/dist/types/extension.js.map +1 -0
- package/dist/types/fillter.d.ts +44 -0
- package/dist/types/fillter.d.ts.map +1 -0
- package/dist/types/fillter.js +226 -0
- package/dist/types/fillter.js.map +1 -0
- package/dist/types/index.d.ts +14 -209
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +17 -223
- package/dist/types/index.js.map +1 -1
- package/dist/types/plugin.d.ts +58 -0
- package/dist/types/plugin.d.ts.map +1 -0
- package/dist/types/plugin.js +21 -0
- package/dist/types/plugin.js.map +1 -0
- package/package.json +7 -2
- package/src/structures/FilterManager.ts +303 -262
- package/src/structures/Player.ts +135 -41
- package/src/types/extension.ts +129 -0
- package/src/types/fillter.ts +264 -0
- package/src/types/index.ts +15 -443
- package/src/types/plugin.ts +57 -0
- package/dist/plugins/SoundCloudPlugin.d.ts +0 -22
- package/dist/plugins/SoundCloudPlugin.d.ts.map +0 -1
- package/dist/plugins/SoundCloudPlugin.js +0 -171
- package/dist/plugins/SoundCloudPlugin.js.map +0 -1
- package/dist/plugins/SpotifyPlugin.d.ts +0 -26
- package/dist/plugins/SpotifyPlugin.d.ts.map +0 -1
- package/dist/plugins/SpotifyPlugin.js +0 -183
- package/dist/plugins/SpotifyPlugin.js.map +0 -1
- package/dist/plugins/YouTubePlugin.d.ts +0 -25
- package/dist/plugins/YouTubePlugin.d.ts.map +0 -1
- package/dist/plugins/YouTubePlugin.js +0 -314
- package/dist/plugins/YouTubePlugin.js.map +0 -1
package/dist/types/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { VoiceConnection } from "@discordjs/voice";
|
|
2
1
|
import { Readable } from "stream";
|
|
3
2
|
import { Player } from "../structures/Player";
|
|
4
|
-
import type {
|
|
3
|
+
import type { AudioFilter } from "./fillter";
|
|
4
|
+
import type { SourcePluginLike } from "./plugin";
|
|
5
5
|
/**
|
|
6
6
|
* Represents a music track with metadata and streaming information.
|
|
7
7
|
*
|
|
@@ -173,40 +173,6 @@ export interface PlayerOptions {
|
|
|
173
173
|
*/
|
|
174
174
|
filters?: (string | AudioFilter)[];
|
|
175
175
|
}
|
|
176
|
-
/**
|
|
177
|
-
* Constructor for a SourcePlugin
|
|
178
|
-
*
|
|
179
|
-
* @example
|
|
180
|
-
* const plugin = new YouTubePlugin();
|
|
181
|
-
* console.log(`Plugin: ${plugin.name}`);
|
|
182
|
-
*/
|
|
183
|
-
export type SourcePluginCtor<T extends SourcePlugin = SourcePlugin> = new (...args: any[]) => T;
|
|
184
|
-
/**
|
|
185
|
-
* SourcePlugin or SourcePluginCtor
|
|
186
|
-
*
|
|
187
|
-
* @example
|
|
188
|
-
* const plugin = new YouTubePlugin();
|
|
189
|
-
* console.log(`Plugin: ${plugin.name}`);
|
|
190
|
-
*/
|
|
191
|
-
export type SourcePluginLike = SourcePlugin | SourcePluginCtor;
|
|
192
|
-
/**
|
|
193
|
-
* Configuration options for creating a PlayerManager instance.
|
|
194
|
-
*
|
|
195
|
-
* @example
|
|
196
|
-
* const managerOptions: PlayerManagerOptions = {
|
|
197
|
-
* plugins: [
|
|
198
|
-
* new YouTubePlugin(),
|
|
199
|
-
* new SoundCloudPlugin(),
|
|
200
|
-
* new SpotifyPlugin(),
|
|
201
|
-
* new TTSPlugin({ defaultLang: "en" })
|
|
202
|
-
* ],
|
|
203
|
-
* extensions: [
|
|
204
|
-
* new voiceExt(null, { lang: "en-US" }),
|
|
205
|
-
* new lavalinkExt(null, { nodes: [...] })
|
|
206
|
-
* ],
|
|
207
|
-
* extractorTimeout: 10000
|
|
208
|
-
* };
|
|
209
|
-
*/
|
|
210
176
|
export interface PlayerManagerOptions {
|
|
211
177
|
plugins?: SourcePluginLike[];
|
|
212
178
|
extensions?: any[];
|
|
@@ -250,137 +216,17 @@ export interface SaveOptions {
|
|
|
250
216
|
timeout?: number;
|
|
251
217
|
/** Additional metadata to include */
|
|
252
218
|
metadata?: Record<string, any>;
|
|
219
|
+
/** Filter */
|
|
220
|
+
filter?: AudioFilter[];
|
|
221
|
+
/** Seek position in milliseconds to start saving from */
|
|
222
|
+
seek?: number;
|
|
253
223
|
}
|
|
254
224
|
export type LoopMode = "off" | "track" | "queue";
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
* // Bass boost filter
|
|
261
|
-
* const bassFilter: AudioFilter = {
|
|
262
|
-
* name: "bassboost",
|
|
263
|
-
* ffmpegFilter: "bass=g=10:f=110:w=0.5",
|
|
264
|
-
* description: "Tăng âm trầm"
|
|
265
|
-
* };
|
|
266
|
-
*
|
|
267
|
-
* // Nightcore filter (speed + pitch)
|
|
268
|
-
* const nightcoreFilter: AudioFilter = {
|
|
269
|
-
* name: "nightcore",
|
|
270
|
-
* ffmpegFilter: "atempo=1.25,asetrate=44100*1.25",
|
|
271
|
-
* description: "Tăng tốc độ và cao độ"
|
|
272
|
-
* };
|
|
273
|
-
*
|
|
274
|
-
* // Custom filter
|
|
275
|
-
* const customFilter: AudioFilter = {
|
|
276
|
-
* name: "custom",
|
|
277
|
-
* ffmpegFilter: "volume=1.5,treble=g=5",
|
|
278
|
-
* description: "Tăng âm lượng và âm cao"
|
|
279
|
-
* };
|
|
280
|
-
*/
|
|
281
|
-
export interface AudioFilter {
|
|
282
|
-
/** Unique name identifier for the filter */
|
|
283
|
-
name: string;
|
|
284
|
-
/** FFmpeg audio filter string */
|
|
285
|
-
ffmpegFilter: string;
|
|
286
|
-
/** Human-readable description of the filter */
|
|
287
|
-
description: string;
|
|
288
|
-
/** Optional category for grouping filters */
|
|
289
|
-
category?: string;
|
|
290
|
-
/** Optional parameters for dynamic filter generation */
|
|
291
|
-
parameters?: Record<string, any>;
|
|
292
|
-
}
|
|
293
|
-
/**
|
|
294
|
-
* Predefined audio filters commonly used in Discord music bots.
|
|
295
|
-
* These filters are based on popular FFmpeg audio filter combinations.
|
|
296
|
-
*/
|
|
297
|
-
export declare const PREDEFINED_FILTERS: Record<string, AudioFilter>;
|
|
298
|
-
/**
|
|
299
|
-
* Context for the extension
|
|
300
|
-
*
|
|
301
|
-
* @example
|
|
302
|
-
* const context: ExtensionContext = {
|
|
303
|
-
* player: player,
|
|
304
|
-
* manager: manager
|
|
305
|
-
* };
|
|
306
|
-
*/
|
|
307
|
-
export interface ExtensionContext {
|
|
308
|
-
player: Player;
|
|
309
|
-
manager: PlayerManager;
|
|
310
|
-
}
|
|
311
|
-
/**
|
|
312
|
-
* Request for the extension to play a track
|
|
313
|
-
*
|
|
314
|
-
* @example
|
|
315
|
-
* const request: ExtensionPlayRequest = {
|
|
316
|
-
* query: "Song Name",
|
|
317
|
-
* requestedBy: "user123"
|
|
318
|
-
* };
|
|
319
|
-
*/
|
|
320
|
-
export interface ExtensionPlayRequest {
|
|
321
|
-
query: string | Track;
|
|
322
|
-
requestedBy?: string;
|
|
323
|
-
}
|
|
324
|
-
/**
|
|
325
|
-
* Response for the extension to play a track
|
|
326
|
-
*
|
|
327
|
-
* @example
|
|
328
|
-
* const response: ExtensionPlayResponse = {
|
|
329
|
-
* handled: true,
|
|
330
|
-
* query: "Song Name",
|
|
331
|
-
* requestedBy: "user123"
|
|
332
|
-
* };
|
|
333
|
-
*/
|
|
334
|
-
export interface ExtensionPlayResponse {
|
|
335
|
-
handled?: boolean;
|
|
336
|
-
query?: string | Track;
|
|
337
|
-
requestedBy?: string;
|
|
338
|
-
tracks?: Track[];
|
|
339
|
-
isPlaylist?: boolean;
|
|
340
|
-
success?: boolean;
|
|
341
|
-
error?: Error;
|
|
342
|
-
}
|
|
343
|
-
/**
|
|
344
|
-
* Payload for the extension to play a track
|
|
345
|
-
*
|
|
346
|
-
* @example
|
|
347
|
-
* const payload: ExtensionAfterPlayPayload = {
|
|
348
|
-
* success: true,
|
|
349
|
-
* query: "Song Name",
|
|
350
|
-
* requestedBy: "user123"
|
|
351
|
-
* };
|
|
352
|
-
*/
|
|
353
|
-
export interface ExtensionAfterPlayPayload {
|
|
354
|
-
success: boolean;
|
|
355
|
-
query: string | Track;
|
|
356
|
-
requestedBy?: string;
|
|
357
|
-
tracks?: Track[];
|
|
358
|
-
isPlaylist?: boolean;
|
|
359
|
-
error?: Error;
|
|
360
|
-
}
|
|
361
|
-
/**
|
|
362
|
-
* Request for the extension to stream a track
|
|
363
|
-
*
|
|
364
|
-
* @example
|
|
365
|
-
* const request: ExtensionStreamRequest = {
|
|
366
|
-
* track: track
|
|
367
|
-
* };
|
|
368
|
-
*/
|
|
369
|
-
export interface ExtensionStreamRequest {
|
|
370
|
-
track: Track;
|
|
371
|
-
}
|
|
372
|
-
/**
|
|
373
|
-
* Request for the extension to search for a track
|
|
374
|
-
*
|
|
375
|
-
* @example
|
|
376
|
-
* const request: ExtensionSearchRequest = {
|
|
377
|
-
* query: "Song Name",
|
|
378
|
-
* requestedBy: "user123"
|
|
379
|
-
* };
|
|
380
|
-
*/
|
|
381
|
-
export interface ExtensionSearchRequest {
|
|
382
|
-
query: string;
|
|
383
|
-
requestedBy: string;
|
|
225
|
+
export interface VoiceChannel {
|
|
226
|
+
id: string;
|
|
227
|
+
guildId: string;
|
|
228
|
+
type: any;
|
|
229
|
+
guild: any;
|
|
384
230
|
}
|
|
385
231
|
/**
|
|
386
232
|
* Event types emitted by Player instances.
|
|
@@ -517,48 +363,7 @@ export interface PlayerEvents {
|
|
|
517
363
|
/** Emitted when all filters are cleared */
|
|
518
364
|
filtersCleared: [];
|
|
519
365
|
}
|
|
520
|
-
|
|
521
|
-
*
|
|
522
|
-
*
|
|
523
|
-
* @example
|
|
524
|
-
* const plugin: SourcePlugin = {
|
|
525
|
-
* name: "YouTube",
|
|
526
|
-
* version: "1.0.0"
|
|
527
|
-
* };
|
|
528
|
-
*/
|
|
529
|
-
export interface SourcePlugin {
|
|
530
|
-
name: string;
|
|
531
|
-
version: string;
|
|
532
|
-
canHandle(query: string): boolean;
|
|
533
|
-
search(query: string, requestedBy: string): Promise<SearchResult>;
|
|
534
|
-
getStream(track: Track): Promise<StreamInfo>;
|
|
535
|
-
getRelatedTracks?(track: string | number, opts?: {
|
|
536
|
-
limit?: number;
|
|
537
|
-
offset?: number;
|
|
538
|
-
}): Promise<Track[]>;
|
|
539
|
-
validate?(url: string): boolean;
|
|
540
|
-
extractPlaylist?(url: string, requestedBy: string): Promise<Track[]>;
|
|
541
|
-
}
|
|
542
|
-
/**
|
|
543
|
-
* Extension interface
|
|
544
|
-
*
|
|
545
|
-
* @example
|
|
546
|
-
* const extension: SourceExtension = {
|
|
547
|
-
* name: "YouTube",
|
|
548
|
-
* version: "1.0.0"
|
|
549
|
-
* };
|
|
550
|
-
*/
|
|
551
|
-
export interface SourceExtension {
|
|
552
|
-
name: string;
|
|
553
|
-
version: string;
|
|
554
|
-
connection?: VoiceConnection;
|
|
555
|
-
player: Player | null;
|
|
556
|
-
active(alas: any): boolean | Promise<boolean>;
|
|
557
|
-
onRegister?(context: ExtensionContext): void | Promise<void>;
|
|
558
|
-
onDestroy?(context: ExtensionContext): void | Promise<void>;
|
|
559
|
-
beforePlay?(context: ExtensionContext, payload: ExtensionPlayRequest): Promise<ExtensionPlayResponse | void> | ExtensionPlayResponse | void;
|
|
560
|
-
afterPlay?(context: ExtensionContext, payload: ExtensionAfterPlayPayload): Promise<void> | void;
|
|
561
|
-
provideSearch?(context: ExtensionContext, payload: ExtensionSearchRequest): Promise<SearchResult | null | undefined> | SearchResult | null | undefined;
|
|
562
|
-
provideStream?(context: ExtensionContext, payload: ExtensionStreamRequest): Promise<StreamInfo | null | undefined> | StreamInfo | null | undefined;
|
|
563
|
-
}
|
|
366
|
+
export * from "./fillter";
|
|
367
|
+
export * from "./plugin";
|
|
368
|
+
export * from "./extension";
|
|
564
369
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
|
package/dist/types/index.js
CHANGED
|
@@ -1,226 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
Object.
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
nightcore: {
|
|
16
|
-
name: "nightcore",
|
|
17
|
-
ffmpegFilter: "aresample=48000,asetrate=48000*1.5",
|
|
18
|
-
description: "Nightcore",
|
|
19
|
-
category: "speed",
|
|
20
|
-
},
|
|
21
|
-
karaoke: {
|
|
22
|
-
name: "karaoke",
|
|
23
|
-
ffmpegFilter: "stereotools=mlev=0.1",
|
|
24
|
-
description: "Karaoke",
|
|
25
|
-
category: "vocal",
|
|
26
|
-
},
|
|
27
|
-
lofi: {
|
|
28
|
-
name: "lofi",
|
|
29
|
-
ffmpegFilter: "aresample=48000,asetrate=48000*0.9,extrastereo=m=2.5:c=disabled",
|
|
30
|
-
description: "Lo-fi",
|
|
31
|
-
category: "speed",
|
|
32
|
-
},
|
|
33
|
-
"8D": {
|
|
34
|
-
name: "8D",
|
|
35
|
-
ffmpegFilter: "apulsator=hz=0.08",
|
|
36
|
-
description: "8D Effect",
|
|
37
|
-
category: "effect",
|
|
38
|
-
},
|
|
39
|
-
vaporwave: {
|
|
40
|
-
name: "vaporwave",
|
|
41
|
-
ffmpegFilter: "highpass=f=50, lowpass=f=2750, aresample=48000, asetrate=48000*0.85,bass=g=5:f=110:w=0.6, compand=attacks=0:points=-80/-169|-54/-80|-49.5/-64.6|-41.1/-41.1|-25.8/-15|-10.8/-4.5|0/0|20/8.3",
|
|
42
|
-
description: "Vaporwave",
|
|
43
|
-
category: "speed",
|
|
44
|
-
},
|
|
45
|
-
bathroom: {
|
|
46
|
-
name: "bathroom",
|
|
47
|
-
ffmpegFilter: "highpass=f=10, lowpass=f=400, aresample=44100, asetrate=44100*0.85,bass=g=4:f=110:w=0.6, alimiter=1, compand=attacks=0:points=-80/-169|-54/-80|-49.5/-64.6|-41.1/-41.1|-25.8/-15|-10.8/-4.5|0/0|20/8.3",
|
|
48
|
-
description: "Bathroom",
|
|
49
|
-
category: "speed",
|
|
50
|
-
},
|
|
51
|
-
expander: {
|
|
52
|
-
name: "expander",
|
|
53
|
-
ffmpegFilter: "compand=attacks=0:points=-80/-169|-54/-80|-49.5/-64.6|-41.1/-41.1|-25.8/-15|-10.8/-4.5|0/0|20/8.3",
|
|
54
|
-
description: "Expander",
|
|
55
|
-
category: "speed",
|
|
56
|
-
},
|
|
57
|
-
reverse: {
|
|
58
|
-
name: "reverse",
|
|
59
|
-
ffmpegFilter: "areverse",
|
|
60
|
-
description: "Reverse",
|
|
61
|
-
category: "effect",
|
|
62
|
-
},
|
|
63
|
-
echo: {
|
|
64
|
-
name: "echo",
|
|
65
|
-
ffmpegFilter: "aecho=0.8:0.88:60:0.4",
|
|
66
|
-
description: "Echo",
|
|
67
|
-
category: "effect",
|
|
68
|
-
},
|
|
69
|
-
trebleboost: {
|
|
70
|
-
name: "trebleboost",
|
|
71
|
-
ffmpegFilter: "treble=g=10:f=3000:w=0.5",
|
|
72
|
-
description: "Treble Boost",
|
|
73
|
-
category: "eq",
|
|
74
|
-
},
|
|
75
|
-
chorus: {
|
|
76
|
-
name: "chorus",
|
|
77
|
-
ffmpegFilter: "chorus=0.5:0.9:50:0.4:0.25:2",
|
|
78
|
-
description: "Chorus",
|
|
79
|
-
category: "effect",
|
|
80
|
-
},
|
|
81
|
-
flanger: {
|
|
82
|
-
name: "flanger",
|
|
83
|
-
ffmpegFilter: "flanger=delay=10:depth=2:regen=0:width=71:speed=0.5",
|
|
84
|
-
description: "Flanger",
|
|
85
|
-
category: "effect",
|
|
86
|
-
},
|
|
87
|
-
phaser: {
|
|
88
|
-
name: "phaser",
|
|
89
|
-
ffmpegFilter: "aphaser=in_gain=0.4:out_gain=0.74:delay=3.0:decay=0.4:speed=0.5",
|
|
90
|
-
description: "Phaser",
|
|
91
|
-
category: "effect",
|
|
92
|
-
},
|
|
93
|
-
tremolo: {
|
|
94
|
-
name: "tremolo",
|
|
95
|
-
ffmpegFilter: "tremolo=f=4.0:d=0.5",
|
|
96
|
-
description: "Tremolo",
|
|
97
|
-
category: "effect",
|
|
98
|
-
},
|
|
99
|
-
vibrato: {
|
|
100
|
-
name: "vibrato",
|
|
101
|
-
ffmpegFilter: "vibrato=f=5.5:d=0.5",
|
|
102
|
-
description: "Vibrato",
|
|
103
|
-
category: "effect",
|
|
104
|
-
},
|
|
105
|
-
normalize: {
|
|
106
|
-
name: "normalize",
|
|
107
|
-
ffmpegFilter: "loudnorm",
|
|
108
|
-
description: "Normalize",
|
|
109
|
-
category: "volume",
|
|
110
|
-
},
|
|
111
|
-
compressor: {
|
|
112
|
-
name: "compressor",
|
|
113
|
-
ffmpegFilter: "compand=points=-80/-105|-62/-80|-15.4/-15.4|0/-12|20/-7.6",
|
|
114
|
-
description: "Compressor",
|
|
115
|
-
category: "dynamics",
|
|
116
|
-
},
|
|
117
|
-
limiter: {
|
|
118
|
-
name: "limiter",
|
|
119
|
-
ffmpegFilter: "alimiter=level_in=1:level_out=0.8:limit=0.9",
|
|
120
|
-
description: "Limiter",
|
|
121
|
-
category: "dynamics",
|
|
122
|
-
},
|
|
123
|
-
gate: {
|
|
124
|
-
name: "gate",
|
|
125
|
-
ffmpegFilter: "agate=threshold=0.01:ratio=2:attack=1:release=100",
|
|
126
|
-
description: "Gate",
|
|
127
|
-
category: "dynamics",
|
|
128
|
-
},
|
|
129
|
-
lowpass: {
|
|
130
|
-
name: "lowpass",
|
|
131
|
-
ffmpegFilter: "lowpass=f=3000",
|
|
132
|
-
description: "Lowpass",
|
|
133
|
-
category: "filter",
|
|
134
|
-
},
|
|
135
|
-
highpass: {
|
|
136
|
-
name: "highpass",
|
|
137
|
-
ffmpegFilter: "highpass=f=200",
|
|
138
|
-
description: "Highpass",
|
|
139
|
-
category: "filter",
|
|
140
|
-
},
|
|
141
|
-
bandpass: {
|
|
142
|
-
name: "bandpass",
|
|
143
|
-
ffmpegFilter: "bandpass=f=1000:csg=1",
|
|
144
|
-
description: "Bandpass",
|
|
145
|
-
category: "filter",
|
|
146
|
-
},
|
|
147
|
-
allpass: {
|
|
148
|
-
name: "allpass",
|
|
149
|
-
ffmpegFilter: "allpass=f=1000:width_type=h:width=200",
|
|
150
|
-
description: "Allpass",
|
|
151
|
-
category: "filter",
|
|
152
|
-
},
|
|
153
|
-
equalizer: {
|
|
154
|
-
name: "equalizer",
|
|
155
|
-
ffmpegFilter: "equalizer=f=1000:width_type=h:width=200:g=5",
|
|
156
|
-
description: "Equalizer",
|
|
157
|
-
category: "eq",
|
|
158
|
-
},
|
|
159
|
-
reverb: {
|
|
160
|
-
name: "reverb",
|
|
161
|
-
ffmpegFilter: "aecho=0.8:0.88:60:0.4",
|
|
162
|
-
description: "Reverb",
|
|
163
|
-
category: "effect",
|
|
164
|
-
},
|
|
165
|
-
delay: {
|
|
166
|
-
name: "delay",
|
|
167
|
-
ffmpegFilter: "aecho=0.8:0.9:1000:0.3",
|
|
168
|
-
description: "Delay",
|
|
169
|
-
category: "effect",
|
|
170
|
-
},
|
|
171
|
-
distortion: {
|
|
172
|
-
name: "distortion",
|
|
173
|
-
ffmpegFilter: "acrusher=bits=8:mode=log:aa=1",
|
|
174
|
-
description: "Distortion",
|
|
175
|
-
category: "effect",
|
|
176
|
-
},
|
|
177
|
-
bitcrusher: {
|
|
178
|
-
name: "bitcrusher",
|
|
179
|
-
ffmpegFilter: "acrusher=bits=8:mode=log:aa=1",
|
|
180
|
-
description: "Bitcrusher",
|
|
181
|
-
category: "effect",
|
|
182
|
-
},
|
|
183
|
-
robot: {
|
|
184
|
-
name: "robot",
|
|
185
|
-
ffmpegFilter: "afftfilt=real='hypot(re,im)*sin(0)':imag='hypot(re,im)*cos(0)':win_size=512:overlap=0.75",
|
|
186
|
-
description: "Robot",
|
|
187
|
-
category: "vocal",
|
|
188
|
-
},
|
|
189
|
-
slow: {
|
|
190
|
-
name: "slow",
|
|
191
|
-
ffmpegFilter: "atempo=0.5",
|
|
192
|
-
description: "Slow",
|
|
193
|
-
category: "speed",
|
|
194
|
-
},
|
|
195
|
-
fast: {
|
|
196
|
-
name: "fast",
|
|
197
|
-
ffmpegFilter: "atempo=2.0",
|
|
198
|
-
description: "Fast",
|
|
199
|
-
category: "speed",
|
|
200
|
-
},
|
|
201
|
-
mono: {
|
|
202
|
-
name: "mono",
|
|
203
|
-
ffmpegFilter: "pan=mono|c0=0.5*c0+0.5*c1",
|
|
204
|
-
description: "Mono",
|
|
205
|
-
category: "channel",
|
|
206
|
-
},
|
|
207
|
-
stereo: {
|
|
208
|
-
name: "stereo",
|
|
209
|
-
ffmpegFilter: "pan=stereo|c0<c0+c1+c2+c3+c4+c5|c1<c0+c1+c2+c3+c4+c5",
|
|
210
|
-
description: "Stereo",
|
|
211
|
-
category: "channel",
|
|
212
|
-
},
|
|
213
|
-
haas: {
|
|
214
|
-
name: "haas",
|
|
215
|
-
ffmpegFilter: "haas",
|
|
216
|
-
description: "Haas",
|
|
217
|
-
category: "dynamics",
|
|
218
|
-
},
|
|
219
|
-
fadein: {
|
|
220
|
-
name: "fadein",
|
|
221
|
-
ffmpegFilter: "afade=t=in:ss=0:d=5",
|
|
222
|
-
description: "Fadein",
|
|
223
|
-
category: "effect",
|
|
224
|
-
},
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
225
15
|
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./fillter"), exports);
|
|
18
|
+
__exportStar(require("./plugin"), exports);
|
|
19
|
+
__exportStar(require("./extension"), exports);
|
|
226
20
|
//# sourceMappingURL=index.js.map
|
package/dist/types/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAkXA,4CAA0B;AAC1B,2CAAyB;AACzB,8CAA4B"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import type { SearchResult, StreamInfo, Track } from ".";
|
|
2
|
+
/**
|
|
3
|
+
* Plugin interface
|
|
4
|
+
*
|
|
5
|
+
* @example
|
|
6
|
+
* const plugin: SourcePlugin = {
|
|
7
|
+
* name: "YouTube",
|
|
8
|
+
* version: "1.0.0"
|
|
9
|
+
* };
|
|
10
|
+
*/
|
|
11
|
+
export interface SourcePlugin {
|
|
12
|
+
name: string;
|
|
13
|
+
version: string;
|
|
14
|
+
canHandle(query: string): boolean;
|
|
15
|
+
search(query: string, requestedBy: string): Promise<SearchResult>;
|
|
16
|
+
getStream(track: Track): Promise<StreamInfo>;
|
|
17
|
+
getRelatedTracks?(track: string | number, opts?: {
|
|
18
|
+
limit?: number;
|
|
19
|
+
offset?: number;
|
|
20
|
+
}): Promise<Track[]>;
|
|
21
|
+
validate?(url: string): boolean;
|
|
22
|
+
extractPlaylist?(url: string, requestedBy: string): Promise<Track[]>;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Constructor for a SourcePlugin
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* const plugin = new YouTubePlugin();
|
|
29
|
+
* console.log(`Plugin: ${plugin.name}`);
|
|
30
|
+
*/
|
|
31
|
+
export type SourcePluginCtor<T extends SourcePlugin = SourcePlugin> = new (...args: any[]) => T;
|
|
32
|
+
/**
|
|
33
|
+
* SourcePlugin or SourcePluginCtor
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* const plugin = new YouTubePlugin();
|
|
37
|
+
* console.log(`Plugin: ${plugin.name}`);
|
|
38
|
+
*/
|
|
39
|
+
export type SourcePluginLike = SourcePlugin | SourcePluginCtor;
|
|
40
|
+
/**
|
|
41
|
+
* Configuration options for creating a PlayerManager instance.
|
|
42
|
+
*
|
|
43
|
+
* @example
|
|
44
|
+
* const managerOptions: PlayerManagerOptions = {
|
|
45
|
+
* plugins: [
|
|
46
|
+
* new YouTubePlugin(),
|
|
47
|
+
* new SoundCloudPlugin(),
|
|
48
|
+
* new SpotifyPlugin(),
|
|
49
|
+
* new TTSPlugin({ defaultLang: "en" })
|
|
50
|
+
* ],
|
|
51
|
+
* extensions: [
|
|
52
|
+
* new voiceExt(null, { lang: "en-US" }),
|
|
53
|
+
* new lavalinkExt(null, { nodes: [...] })
|
|
54
|
+
* ],
|
|
55
|
+
* extractorTimeout: 10000
|
|
56
|
+
* };
|
|
57
|
+
*/
|
|
58
|
+
//# sourceMappingURL=plugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../src/types/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC;AACzD;;;;;;;;GAQG;AACH,MAAM,WAAW,YAAY;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;IAClC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAClE,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAC7C,gBAAgB,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IACxG,QAAQ,CAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAChC,eAAe,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;CACrE;AAED;;;;;;GAMG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,YAAY,GAAG,YAAY,IAAI,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;AAEhG;;;;;;GAMG;AACH,MAAM,MAAM,gBAAgB,GAAG,YAAY,GAAG,gBAAgB,CAAC;AAE/D;;;;;;;;;;;;;;;;;GAiBG"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
/**
|
|
4
|
+
* Configuration options for creating a PlayerManager instance.
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* const managerOptions: PlayerManagerOptions = {
|
|
8
|
+
* plugins: [
|
|
9
|
+
* new YouTubePlugin(),
|
|
10
|
+
* new SoundCloudPlugin(),
|
|
11
|
+
* new SpotifyPlugin(),
|
|
12
|
+
* new TTSPlugin({ defaultLang: "en" })
|
|
13
|
+
* ],
|
|
14
|
+
* extensions: [
|
|
15
|
+
* new voiceExt(null, { lang: "en-US" }),
|
|
16
|
+
* new lavalinkExt(null, { nodes: [...] })
|
|
17
|
+
* ],
|
|
18
|
+
* extractorTimeout: 10000
|
|
19
|
+
* };
|
|
20
|
+
*/
|
|
21
|
+
//# sourceMappingURL=plugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/types/plugin.ts"],"names":[],"mappings":";;AAuCA;;;;;;;;;;;;;;;;;GAiBG"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ziplayer",
|
|
3
|
-
"version": "0.2.1",
|
|
3
|
+
"version": "0.2.3-dev-1",
|
|
4
4
|
"description": "A modular Discord voice player with plugin system",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ZiPlayer",
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
"dependencies": {
|
|
29
29
|
"@discordjs/voice": "^0.19.0",
|
|
30
30
|
"@snazzah/davey": "^0.1.6",
|
|
31
|
-
"discord
|
|
31
|
+
"discord-api-types": "^0.38.37",
|
|
32
32
|
"ffmpeg-static": "^5.2.0",
|
|
33
33
|
"libsodium-wrappers": "^0.7.15",
|
|
34
34
|
"opusscript": "^0.1.1",
|
|
@@ -37,5 +37,10 @@
|
|
|
37
37
|
"devDependencies": {
|
|
38
38
|
"@types/node": "^20.0.0",
|
|
39
39
|
"typescript": "^5.0.0"
|
|
40
|
+
},
|
|
41
|
+
"overrides": {
|
|
42
|
+
"prism-media": {
|
|
43
|
+
"opusscript": "^0.1.1"
|
|
44
|
+
}
|
|
40
45
|
}
|
|
41
46
|
}
|