FilterManager
Defined in: src/structures/Filters.ts:77
Constructors
Section titled “Constructors”Constructor
Section titled “Constructor”new FilterManager(player: Player): FilterManager;Defined in: src/structures/Filters.ts:111
The Constructor for the FilterManager
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
player | Player |
Returns
Section titled “Returns”FilterManager
Properties
Section titled “Properties”| Property (defined in) | Type | Default value | Description |
|---|---|---|---|
data (src/structures/Filters.ts:107) | FilterData | undefined | The Filter Data sent to Lavalink, only if the filter is enabled (ofc.) |
equalizerBands (src/structures/Filters.ts:80) | EQBand[] | [] | The Equalizer bands currently applied to the Lavalink Server |
filters (src/structures/Filters.ts:84) | PlayerFilters | undefined | All “Active” / “disabled” Player Filters |
filterUpdatedState (src/structures/Filters.ts:82) | boolean | false | Private Util for the instaFix Filters option |
lavalinkFilterPlugin (src/structures/Filters.ts:646) | object | undefined | LavalinkFilter Plugin specific Filters |
lavalinkFilterPlugin.toggleEcho (src/structures/Filters.ts:662) | (delay: number, decay: number) => Promise<FilterManager> | undefined | Enables / Disables the Echo effect, IMPORTANT! Only works with the correct Lavalink Plugin installed. (Optional: provide your Own Data) Example `// Toggle Echo filter with custom settings await pl… |
lavalinkFilterPlugin.toggleReverb (src/structures/Filters.ts:699) | (delays: number[], gains: number[]) => Promise<FilterManager> | undefined | Enables / Disables the Echo effect, IMPORTANT! Only works with the correct Lavalink Plugin installed. (Optional: provide your Own Data) Example `// Toggle Reverb filter with custom settings await … |
lavalinkLavaDspxPlugin (src/structures/Filters.ts:521) | object | undefined | Lavalink LavaDspx Plugin Filters |
lavalinkLavaDspxPlugin.toggleEcho (src/structures/Filters.ts:628) | (decay?: number, echoLength?: number) => Promise<FilterManager> | undefined | Enables / Disables the Echo effect, IMPORTANT! Only works with the correct Lavalink Plugin installed. (Optional: provide your Own Data) Example `// Toggle Echo filter with custom settings await pl… |
lavalinkLavaDspxPlugin.toggleHighPass (src/structures/Filters.ts:568) | (boostFactor: number, cutoffFrequency: number) => Promise<FilterManager> | undefined | Enables / Disables the HighPass effect, (Optional: provide your Own Data) Example `// Toggle HighPass filter with custom settings await player.filterManager.lavalinkLavaDspxPlugin.toggleHighPass(1… |
lavalinkLavaDspxPlugin.toggleLowPass (src/structures/Filters.ts:538) | (boostFactor: number, cutoffFrequency: number) => Promise<FilterManager> | undefined | Enables / Disables the LowPass effect, (Optional: provide your Own Data) Example `// Toggle LowPass filter with custom settings await player.filterManager.lavalinkLavaDspxPlugin.toggleLowPass(1.2,… |
lavalinkLavaDspxPlugin.toggleNormalization (src/structures/Filters.ts:598) | (maxAmplitude?: number, adaptive?: boolean) => Promise<FilterManager> | undefined | Enables / Disables the Normalization effect. Example `// Toggle Normalization filter with custom settings await player.filterManager.lavalinkLavaDspxPlugin.toggleNormalization(0.9, false); // cust… |
player (src/structures/Filters.ts:109) | Player | undefined | The Player assigned to this Filter Manager |
EQList (src/structures/Filters.ts:78) | object | EQList | |
EQList.BassboostEarrape (src/structures/Constants.ts:122) | EQBand[] | undefined | A Bassboost Equalizer, so high it distorts the audio |
EQList.BassboostHigh (src/structures/Constants.ts:140) | EQBand[] | undefined | A High and decent Bassboost Equalizer |
EQList.BassboostLow (src/structures/Constants.ts:176) | EQBand[] | undefined | A slight Bassboost Equalizer |
EQList.BassboostMedium (src/structures/Constants.ts:158) | EQBand[] | undefined | A decent Bassboost Equalizer |
EQList.BetterMusic (src/structures/Constants.ts:194) | EQBand[] | undefined | Makes the Music slightly “better” |
EQList.Classic (src/structures/Constants.ts:230) | EQBand[] | undefined | Makes the Music sound like Classic music / sound Classic music better |
EQList.Electronic (src/structures/Constants.ts:265) | EQBand[] | undefined | Makes the Music sound like Electronic music / sound Electronic music better |
EQList.FullSound (src/structures/Constants.ts:283) | EQBand[] | undefined | Boosts all Bands slightly for louder and fuller sound |
EQList.Gaming (src/structures/Constants.ts:301) | EQBand[] | undefined | Boosts basses + lower highs for a pro gaming sound |
EQList.Pop (src/structures/Constants.ts:248) | EQBand[] | undefined | Makes the Music sound like Pop music / sound Pop music better |
EQList.Rock (src/structures/Constants.ts:212) | EQBand[] | undefined | Makes the Music sound like rock music / sound rock music better |
Methods
Section titled “Methods”applyPlayerFilters()
Section titled “applyPlayerFilters()”applyPlayerFilters(): Promise<void>;Defined in: src/structures/Filters.ts:130
Apply Player filters for lavalink filter sending data, if the filter is enabled / not
Returns
Section titled “Returns”Promise<void>
Example
Section titled “Example”// Apply the filters after changing them manually:player.filterManager.data.volume = 0.5;// maybe you wanna manually set a distorition filter? then do it like this...player.filterManager.data.distortion = { sinOffset: 0.5, sinScale: 2, cosOffset: 0.5, cosScale: 2, tanOffset: 0.5, tanScale: 2, offset: 0.5, scale: 2 };await player.filterManager.applyPlayerFilters();checkFiltersState()
Section titled “checkFiltersState()”checkFiltersState(oldFilterTimescale?: Partial<TimescaleFilter>): boolean;Defined in: src/structures/Filters.ts:217
Checks if the filters are correctly stated (active / not-active) - mostly used internally.
Parameters
Section titled “Parameters”| Parameter | Type | Description |
|---|---|---|
oldFilterTimescale? | Partial<TimescaleFilter> |
Returns
Section titled “Returns”boolean
True, if the check was successfull
Example
Section titled “Example”// Check the filter statesplayer.filterManager.checkFiltersState();// Apply the filters after checkingawait player.filterManager.applyPlayerFilters();clearEQ()
Section titled “clearEQ()”clearEQ(): Promise<FilterManager>;Defined in: src/structures/Filters.ts:895
Clears the equalizer bands.
Returns
Section titled “Returns”Promise<FilterManager>
The Filter Manager, for chaining.
Example
Section titled “Example”// Clear all EQ bandsawait player.filterManager.clearEQ();isCustomFilterActive()
Section titled “isCustomFilterActive()”isCustomFilterActive(): boolean;Defined in: src/structures/Filters.ts:820
Function to find out if currently there is a custom timescamle etc. filter applied
Returns
Section titled “Returns”boolean
whether a custom filter is active
Example
Section titled “Example”// Check if a custom filter is activeconst isCustom = player.filterManager.isCustomFilterActive();console.log(`Is custom filter active? ${isCustom}`);resetFilters()
Section titled “resetFilters()”resetFilters(): Promise<FilterManager>;Defined in: src/structures/Filters.ts:257
Reset all Filters
Returns
Section titled “Returns”Promise<FilterManager>
The Filter Manager, for chaining.
Example
Section titled “Example”// Reset all filtersawait player.filterManager.resetFilters();setAudioOutput()
Section titled “setAudioOutput()”setAudioOutput(type: AudioOutputs): Promise<FilterManager>;Defined in: src/structures/Filters.ts:325
Set the AudioOutput Filter
Parameters
Section titled “Parameters”| Parameter | Type | Description |
|---|---|---|
type | AudioOutputs | the audio output type |
Returns
Section titled “Returns”Promise<FilterManager>
The Filter Manager, for chaining.
Example
Section titled “Example”// Set Audio Output to Monoawait player.filterManager.setAudioOutput("mono");
// Set Audio Output to Stereoawait player.filterManager.setAudioOutput("stereo");
// Set Audio Output to Leftawait player.filterManager.setAudioOutput("left");
// Set Audio Output to Rightawait player.filterManager.setAudioOutput("right");setEQ()
Section titled “setEQ()”setEQ(bands: | EQBand| EQBand[]): Promise<FilterManager>;Defined in: src/structures/Filters.ts:860
Sets the players equalizer band on-top of the existing ones.
Parameters
Section titled “Parameters”| Parameter | Type | Description |
|---|---|---|
bands | | EQBand | EQBand[] |
Returns
Section titled “Returns”Promise<FilterManager>
The Filter Manager, for chaining.
Example
Section titled “Example”// Set EQ bandsawait player.filterManager.setEQ([ { band: 0, gain: 0.3 }, { band: 1, gain: -0.2 }, { band: 2, gain: 0.1 }]);
// or use one of the templates:await player.filterManager.setEQ(player.filterManager.EQList.BassboostMedium); // you can also import EQList from somewhere package if wanted.setEQPreset()
Section titled “setEQPreset()”setEQPreset(preset: | "BassboostEarrape" | "BassboostHigh" | "BassboostMedium" | "BassboostLow" | "BetterMusic" | "Rock" | "Classic" | "Pop" | "Electronic" | "FullSound"| "Gaming"): Promise<FilterManager>;Defined in: src/structures/Filters.ts:837
Sets the players equalizer bands using one of the predefined presets.
Parameters
Section titled “Parameters”| Parameter | Type | Description |
|---|---|---|
preset | | "BassboostEarrape" | "BassboostHigh" | "BassboostMedium" | "BassboostLow" | "BetterMusic" | "Rock" | "Classic" | "Pop" | "Electronic" | "FullSound" | "Gaming" | The preset to use. |
Returns
Section titled “Returns”Promise<FilterManager>
The Filter Manager, for chaining.
Example
Section titled “Example”// Set EQ presetawait player.filterManager.setEQPreset('BassboostMedium');setPitch()
Section titled “setPitch()”setPitch(pitch: number): Promise<FilterManager>;Defined in: src/structures/Filters.ts:373
Set custom filter.timescale#pitch . This method disabled both: nightcore & vaporwave. use 1 to reset it to normal
Parameters
Section titled “Parameters”| Parameter | Type | Default value | Description |
|---|---|---|---|
pitch | number | 1 | set the pitch of the filter |
Returns
Section titled “Returns”Promise<FilterManager>
The Filter Manager, for chaining.
Example
Section titled “Example”// Set Pitch to 1.25 (disableds nightcore and vaporwave effect which are pre-made timescale settings of rate,pitch and speed)await player.filterManager.setPitch(1.25);setRate()
Section titled “setRate()”setRate(rate: number): Promise<FilterManager>;Defined in: src/structures/Filters.ts:398
Set custom filter.timescale#rate . This method disabled both: nightcore & vaporwave. use 1 to reset it to normal
Parameters
Section titled “Parameters”| Parameter | Type | Default value | Description |
|---|---|---|---|
rate | number | 1 | set the rate of the filter |
Returns
Section titled “Returns”Promise<FilterManager>
The Filter Manager, for chaining.
Example
Section titled “Example”// Set Rate to 1.25 (disableds nightcore and vaporwave effect which are pre-made timescale settings of rate,pitch and speed)await player.filterManager.setRate(1.25);setSpeed()
Section titled “setSpeed()”setSpeed(speed: number): Promise<FilterManager>;Defined in: src/structures/Filters.ts:348
Set custom filter.timescale#speed . This method disabled both: nightcore & vaporwave. use 1 to reset it to normal
Parameters
Section titled “Parameters”| Parameter | Type | Default value | Description |
|---|---|---|---|
speed | number | 1 | set the speed of the filter |
Returns
Section titled “Returns”Promise<FilterManager>
The Filter Manager, for chaining.
Example
Section titled “Example”// Set Speed to 1.25 (disableds nightcore and vaporwave effect which are pre-made timescale settings of rate,pitch and speed)await player.filterManager.setSpeed(1.25);setVolume()
Section titled “setVolume()”setVolume(volume: number): Promise<FilterManager>;Defined in: src/structures/Filters.ts:292
Set the Filter Volume
Parameters
Section titled “Parameters”| Parameter | Type | Description |
|---|---|---|
volume | number | the volume (0.0 - 5.0) |
Returns
Section titled “Returns”Promise<FilterManager>
The Filter Manager, for chaining.
Example
Section titled “Example”// Set Volume to 50%await player.filterManager.setVolume(0.5);// note this is a filter, so it will "jump" to the volume, i think it's like a "volume boost effect" so i marketed it as a filtertoggleKaraoke()
Section titled “toggleKaraoke()”toggleKaraoke( level: number, monoLevel: number, filterBand: number,filterWidth: number): Promise<FilterManager>;Defined in: src/structures/Filters.ts:797
Enable / Disables a Karaoke like Filter Effect
Parameters
Section titled “Parameters”| Parameter | Type | Default value | Description |
|---|---|---|---|
level | number | 1 | set the level of the filter |
monoLevel | number | 1 | set the mono level of the filter |
filterBand | number | 220 | set the filter band of the filter |
filterWidth | number | 100 | set the filter width of the filter |
Returns
Section titled “Returns”Promise<FilterManager>
The Filter Manager, for chaining.
Example
Section titled “Example”// Toggle Karaoke filter with custom settingsawait player.filterManager.toggleKaraoke(1.5, 1.0, 220, 100);// or use the defaultsawait player.filterManager.toggleKaraoke();// when it's enabled before calling the toggle function, it disables it, so you might need to do some if/else logic.toggleLowPass()
Section titled “toggleLowPass()”toggleLowPass(smoothing: number): Promise<FilterManager>;Defined in: src/structures/Filters.ts:506
Enables / Disables the LowPass effect, (Optional: provide your Own Data)
Parameters
Section titled “Parameters”| Parameter | Type | Default value | Description |
|---|---|---|---|
smoothing | number | 20 | set the smoothing of the filter |
Returns
Section titled “Returns”Promise<FilterManager>
The Filter Manager, for chaining.
Example
Section titled “Example”// Toggle LowPass filter with custom settingsawait player.filterManager.toggleLowPass(30);// or use the defaultsawait player.filterManager.toggleLowPass();// when it's enabled before calling the toggle function, it disables it, so you might need to do some if/else logic.toggleNightcore()
Section titled “toggleNightcore()”toggleNightcore( speed: number, pitch: number,rate: number): Promise<FilterManager>;Defined in: src/structures/Filters.ts:736
Enables / Disables a Nightcore-like filter Effect. Disables/Overrides both: custom and Vaporwave Filter
Parameters
Section titled “Parameters”| Parameter | Type | Default value | Description |
|---|---|---|---|
speed | number | 1.289999523162842 | set the speed of the filter |
pitch | number | 1.289999523162842 | set the pitch of the filter |
rate | number | 0.9365999523162842 | set the rate of the filter |
Returns
Section titled “Returns”Promise<FilterManager>
The Filter Manager, for chaining.
Example
Section titled “Example”// Toggle Nightcore filter with custom settingsawait player.filterManager.toggleNightcore(1.3, 1.3, 0.9);// or use the defaultsawait player.filterManager.toggleNightcore();// when it's enabled before calling the toggle function, it disables it, so you might need to do some if/else logic.toggleRotation()
Section titled “toggleRotation()”toggleRotation(rotationHz: number): Promise<FilterManager>;Defined in: src/structures/Filters.ts:426
Enables / Disables the rotation effect, (Optional: provide your Own Data)
Parameters
Section titled “Parameters”| Parameter | Type | Default value | Description |
|---|---|---|---|
rotationHz | number | 0.2 | set the rotationHz of the filter |
Returns
Section titled “Returns”Promise<FilterManager>
The Filter Manager, for chaining.
Example
Section titled “Example”// Toggle Rotation filter with custom settingsawait player.filterManager.toggleRotation(0.4);// or use the defaultsawait player.filterManager.toggleRotation();// when it's enabled before calling the toggle function, it disables it, so you might need to do some if/else logic.toggleTremolo()
Section titled “toggleTremolo()”toggleTremolo(frequency: number, depth: number): Promise<FilterManager>;Defined in: src/structures/Filters.ts:481
Enables / Disables the Tremolo effect, (Optional: provide your Own Data)
Parameters
Section titled “Parameters”| Parameter | Type | Default value | Description |
|---|---|---|---|
frequency | number | 4 | set the frequency of the filter |
depth | number | 0.8 | set the depth of the filter |
Returns
Section titled “Returns”Promise<FilterManager>
The Filter Manager, for chaining.
Example
Section titled “Example”// Toggle Tremolo filter with custom settingsawait player.filterManager.toggleTremolo(5, 0.7);// or use the defaultsawait player.filterManager.toggleTremolo();// when it's enabled before calling the toggle function, it disables it, so you might need to do some if/else logic.toggleVaporwave()
Section titled “toggleVaporwave()”toggleVaporwave( speed: number, pitch: number,rate: number): Promise<FilterManager>;Defined in: src/structures/Filters.ts:766
Enables / Disables a Vaporwave-like filter Effect. Disables/Overrides both: custom and nightcore Filter
Parameters
Section titled “Parameters”| Parameter | Type | Default value | Description |
|---|---|---|---|
speed | number | 0.8500000238418579 | set the speed of the filterq |
pitch | number | 0.800000011920929 | set the pitch of the filter |
rate | number | 1 | set the rate of the filter |
Returns
Section titled “Returns”Promise<FilterManager>
The Filter Manager, for chaining.
Example
Section titled “Example”// Toggle Vaporwave filter with custom settingsawait player.filterManager.toggleVaporwave(0.9, 0.7, 1);// or use the defaultsawait player.filterManager.toggleVaporwave();// when it's enabled before calling the toggle function, it disables it, so you might need to do some if/else logic.toggleVibrato()
Section titled “toggleVibrato()”toggleVibrato(frequency: number, depth: number): Promise<FilterManager>;Defined in: src/structures/Filters.ts:455
Enables / Disables the Vibrato effect, (Optional: provide your Own Data)
Parameters
Section titled “Parameters”| Parameter | Type | Default value | Description |
|---|---|---|---|
frequency | number | 10 | set the frequency of the filter |
depth | number | 1 | set the depth of the filter |
Returns
Section titled “Returns”Promise<FilterManager>
The Filter Manager, for chaining.
Example
Section titled “Example”// Toggle Vibrato filter with custom settingsawait player.filterManager.toggleVibrato(8, 0.5);// or use the defaultsawait player.filterManager.toggleVibrato();// when it's enabled before calling the toggle function, it disables it, so you might need to do some if/else logic.