package Ġnet . source bot . module . music . audio Ċ Ċ import Ġcom . sed mell uq . discord . lav ap layer . player . Audio Load Result Handler Ċ import Ġcom . sed mell uq . discord . lav ap layer . player . Audio Player Ċ import Ġcom . sed mell uq . discord . lav ap layer . tools . Friendly Exception Ċ import Ġcom . sed mell uq . discord . lav ap layer . track . Audio Item Ċ import Ġcom . sed mell uq . discord . lav ap layer . track . Audio Playlist Ċ import Ġcom . sed mell uq . discord . lav ap layer . track . Audio Track Ċ import Ġnet . dv 8 tion . j da . api . entities . Guild Ċ import Ġnet . source bot . api . response . Response Ċ import Ġnet . source bot . module . music . Music Ċ import Ġjava . util . concurrent . Comp letableFuture Ċ Ċ class ĠAudio Subsystem ( ĊĠĠĠ Ġval Ġplayer : ĠAudio Player Ċ ) Ġ{ ĊĠĠĠ Ġprivate Ġval Ġaudio Sender Ġ= ĠAudio Sender ( player ) ĊĠĠĠ Ġval Ġscheduler Ġ= ĠTrack Scheduler ( player ) ĊĊĠĠĠ Ġfun Ġload ( ĊĠĠĠĠĠĠĠ Ġidentifier : ĠString , ĊĠĠĠĠĠĠĠ Ġpost Load : Ġ( Audio Item ) Ġ-> ĠResponse , ĊĠĠĠĠĠĠĠ Ġno Match : Ġ() Ġ-> ĠResponse , ĊĠĠĠĠĠĠĠ Ġon Failed : Ġ( Friendly Exception ) Ġ-> ĠResponse ĊĠĠĠ Ġ): ĠResponse Ġ= ĠCompletableFuture < Response >(). apply Ġ{ ĊĠĠĠĠĠĠĠ ĠMusic . PLAYER _ MANAGER . load Item ( identifier , Ġobject Ġ: ĠAudio Load Result Handler Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġtrack Loaded ( track : ĠAudio Track ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscheduler . offer ( track ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcomplete ( post Load ( track )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġplaylist Loaded ( playlist : ĠAudio Playlist ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġplaylist . tracks . forEach ( scheduler :: offer ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcomplete ( post Load ( playlist )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġno Matches () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcomplete ( no Match ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġload Failed ( exception : ĠFriend ly Exception ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcomplete ( on Failed ( exception )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ}. get () ĊĊĠĠĠ Ġfun Ġapply To ( guild : ĠGuild ) Ġ{ ĊĠĠĠĠĠĠĠ Ġguild . audio Manager . sending Handler Ġ= Ġaudio Sender ĊĠĠĠ Ġ} Ċ }