/* ĊĠĠ ĠCopyright Ġ 2 0 1 9 ĠDev ox in ĊĊĠĠ ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); ĊĠĠ Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . ĊĠĠ ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat ĊĊĠĠĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 ĊĊĠĠ ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware ĊĠĠ Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , ĊĠĠ ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . ĊĠĠ ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand ĊĠĠ Ġlimitations Ġunder Ġthe ĠLicense . Ċ */ Ċ Ċ // Ġ========== Ċ // ĠBasic ally , Ġdon 't Ġste al Ġthis Ġand Ġwe Ġwon 't Ġhave Ġa Ġproblem . Ċ // Ġ========== Ċ Ċ package Ġju ke bot . audio Ċ Ċ import Ġcom . sed mell uq . discord . lav ap layer . filter . equal izer . Equal izer Factory Ċ import Ġcom . sed mell uq . discord . lav ap layer . player . Audio Player Ċ import Ġjava . text . Decimal Format Ċ Ċ class ĠB ass Boost er ( private Ġval Ġplayer : ĠAudio Player ) Ġ: ĠEqual izer Factory () Ġ{ ĊĠĠĠ Ġvar Ġpercentage : ĠFloat Ġ= Ġ 0 . 0 f ĊĠĠĠĠĠĠĠ Ġprivate Ġset ĊĊĠĠĠ Ġval Ġpc String : ĠString ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġdp Formatter . format ( percentage ) ĊĊĠĠĠ Ġval Ġis Enabled : ĠBoolean ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġpercentage Ġ!= Ġ 0 . 0 f ĊĊĠĠĠ Ġfun Ġboost ( pc : ĠFloat ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlast Pc Ġ= Ġpercentage ĊĠĠĠĠĠĠĠ Ġthis . percentage Ġ= Ġpc ĊĊĠĠĠĠĠĠĠ Ġif Ġ( pc Ġ== Ġ 0 . 0 f ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġplayer . set Filter Factory ( null ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( last Pc Ġ== Ġ 0 . 0 f ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġplayer . set Filter Factory ( this ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġmultiplier Ġ= Ġpc Ġ/ Ġ 1 0 0 ĊĊĠĠĠĠĠĠĠ Ġfor Ġ(( band , Ġgain ) Ġin Ġfreq G ains ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . set Gain ( band , Ġgain Ġ* Ġmultiplier ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġdp Formatter Ġ= ĠDecimal Format (" 0 . 0 0 ") ĊĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġfreq G ains Ġ= Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 Ġto Ġ- 0 . 0 5 f , Ġ Ġ// Ġ 2 5 ĠHz ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 Ġto Ġ 0 . 0 7 f , ĠĠ Ġ// Ġ 4 0 ĠHz ĊĠĠĠĠĠĠĠĠĠĠĠĠ 2 Ġto Ġ 0 . 1 6 f , ĠĠ Ġ// Ġ 6 3 ĠHz ĊĠĠĠĠĠĠĠĠĠĠĠĠ 3 Ġto Ġ 0 . 0 3 f , ĠĠ Ġ// Ġ 1 0 0 ĠHz ĊĠĠĠĠĠĠĠĠĠĠĠĠ 4 Ġto Ġ- 0 . 0 5 f , Ġ Ġ// Ġ 1 6 0 ĠHz ĊĠĠĠĠĠĠĠĠĠĠĠĠ 5 Ġto Ġ- 0 . 1 1 f ĠĠ Ġ// Ġ 2 5 0 ĠHz ĊĠĠĠĠĠĠĠ Ġ) Ċ Ċ // ĠĠĠĠĠĠĠ ĠOFF ( 0 F , Ġ 0 F , Ġ 0 F ), Ċ // ĠĠĠĠĠĠĠ ĠWE AK ( 0 . 0 3 F , Ġ 0 . 0 1 F , Ġ 0 . 0 F ), Ċ // ĠĠĠĠĠĠĠ ĠMED IUM ( 0 . 1 F , Ġ 0 . 0 8 F , Ġ 0 . 0 4 F ), Ċ // ĠĠĠĠĠĠĠ ĠSTR ONG ( 0 . 2 F , Ġ 0 . 1 5 F , Ġ 0 . 1 1 F ), Ċ // ĠĠĠĠĠĠĠ ĠIN S ANE ( 0 . 4 F , Ġ 0 . 2 6 F , Ġ 0 . 1 8 F ), Ċ // ĠĠĠĠĠĠĠ ĠW TF ( 1 F , Ġ 0 . 8 F , Ġ 0 . 6 F ); ĊĠĠĠ Ġ} Ċ } Ċ