From d462b0822dce334a8ba42edc25738684b5ed8473 Mon Sep 17 00:00:00 2001 From: GregTCLTK Date: Sun, 22 Dec 2019 20:28:00 +0100 Subject: [PATCH] Fix --- .../com/bbn/hadder/audio/AudioManager.java | 26 ++++++++++++------- .../hadder/commands/music/PlayCommand.java | 15 ++++++++--- .../hadder/commands/music/StopCommand.java | 6 ++--- 3 files changed, 31 insertions(+), 16 deletions(-) diff --git a/src/main/java/com/bbn/hadder/audio/AudioManager.java b/src/main/java/com/bbn/hadder/audio/AudioManager.java index 60db2f8..9f54aab 100644 --- a/src/main/java/com/bbn/hadder/audio/AudioManager.java +++ b/src/main/java/com/bbn/hadder/audio/AudioManager.java @@ -6,6 +6,7 @@ import com.sedmelluq.discord.lavaplayer.player.AudioLoadResultHandler; import com.sedmelluq.discord.lavaplayer.player.AudioPlayer; import com.sedmelluq.discord.lavaplayer.player.AudioPlayerManager; import com.sedmelluq.discord.lavaplayer.player.DefaultAudioPlayerManager; +import com.sedmelluq.discord.lavaplayer.source.AudioSourceManagers; import com.sedmelluq.discord.lavaplayer.tools.FriendlyException; import com.sedmelluq.discord.lavaplayer.track.AudioPlaylist; import com.sedmelluq.discord.lavaplayer.track.AudioTrack; @@ -23,19 +24,24 @@ import java.util.concurrent.TimeUnit; public class AudioManager { - public static final Map> players = new HashMap<>(); - public static final AudioPlayerManager myManager = new DefaultAudioPlayerManager(); - public static void loadTrack(String identifier, CommandEvent event, Message msg) { + public AudioManager() { + AudioSourceManagers.registerRemoteSources(myManager); + } + + public final Map> players = new HashMap<>(); + public final AudioPlayerManager myManager = new DefaultAudioPlayerManager(); + + public void loadTrack(String identifier, CommandEvent event, Message msg) { Guild guild = event.getGuild(); - AudioManager.getPlayer(guild); + getPlayer(guild); myManager.loadItemOrdered(guild, identifier, new AudioLoadResultHandler() { @Override public void trackLoaded(AudioTrack track) { - AudioManager.getTrackManager(guild).queue(track, event.getMember()); + getTrackManager(guild).queue(track, event.getMember()); msg.editMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.INFO, "commands.music.play.success.loading.title", "⏯", "", "") @@ -56,7 +62,7 @@ public class AudioManager { trackLoaded(playlist.getTracks().get(0)); } else { for (int i = 0; i < Math.min(playlist.getTracks().size(), 200); i++) { - AudioManager.getTrackManager(guild).queue(playlist.getTracks().get(i), event.getMember()); + getTrackManager(guild).queue(playlist.getTracks().get(i), event.getMember()); } } } @@ -79,11 +85,11 @@ public class AudioManager { }); } - public static boolean hasPlayer(Guild guild) { + public boolean hasPlayer(Guild guild) { return players.containsKey(guild.getId()); } - public static AudioPlayer getPlayer(Guild guild) { + public AudioPlayer getPlayer(Guild guild) { AudioPlayer p; if (hasPlayer(guild)) { p = players.get(guild.getId()).getKey(); @@ -93,11 +99,11 @@ public class AudioManager { return p; } - public static TrackManager getTrackManager(Guild guild) { + public TrackManager getTrackManager(Guild guild) { return players.get(guild.getId()).getValue(); } - public static AudioPlayer createPlayer(Guild guild) { + public AudioPlayer createPlayer(Guild guild) { AudioPlayer nPlayer = myManager.createPlayer(); TrackManager manager = new TrackManager(nPlayer); nPlayer.addListener(manager); diff --git a/src/main/java/com/bbn/hadder/commands/music/PlayCommand.java b/src/main/java/com/bbn/hadder/commands/music/PlayCommand.java index 37854d0..a4b8019 100644 --- a/src/main/java/com/bbn/hadder/commands/music/PlayCommand.java +++ b/src/main/java/com/bbn/hadder/commands/music/PlayCommand.java @@ -1,13 +1,17 @@ package com.bbn.hadder.commands.music; import com.bbn.hadder.audio.AudioManager; +import com.bbn.hadder.audio.TrackManager; import com.bbn.hadder.commands.Command; import com.bbn.hadder.commands.CommandEvent; import com.bbn.hadder.utils.MessageEditor; +import com.sedmelluq.discord.lavaplayer.player.AudioPlayer; +import com.sedmelluq.discord.lavaplayer.player.AudioPlayerManager; +import com.sedmelluq.discord.lavaplayer.player.DefaultAudioPlayerManager; import net.dv8tion.jda.api.entities.Message; import java.net.URL; - +import java.util.*; /** * @author Skidder / GregTCLTK @@ -15,10 +19,14 @@ import java.net.URL; public class PlayCommand implements Command { + private final AudioPlayerManager myManager = new DefaultAudioPlayerManager(); + public final Map> players = new HashMap<>(); + /* private static final String CD = "\uD83D\uDCBF"; private static final String MIC = "\uD83C\uDFA4 **|>** "; */ + @Override public void executed(String[] args, CommandEvent event) { if (args.length > 0) { @@ -29,12 +37,12 @@ public class PlayCommand implements Command { Message msg = event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.INFO, "commands.music.play.load.title", "⭕", "commands.music.play.load.description", "").build()).complete(); - AudioManager.loadTrack(input, event, msg); + new AudioManager().loadTrack(input, event, msg); } catch (Exception ignore) { Message msg = event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.INFO, "commands.music.play.load.title", "⏯", "commands.music.play.load.description", "").build()).complete(); - AudioManager.loadTrack("ytsearch: " + input, event, msg); + new AudioManager().loadTrack("ytsearch: " + input, event, msg); } } else { event.getTextChannel().sendMessage(event.getMessageEditor().getMessage( @@ -45,6 +53,7 @@ public class PlayCommand implements Command { } } else event.getHelpCommand().sendHelp(this, event); + /* OUTSOURCE THIS Guild guild = event.getGuild(); if (args.length == 1) { diff --git a/src/main/java/com/bbn/hadder/commands/music/StopCommand.java b/src/main/java/com/bbn/hadder/commands/music/StopCommand.java index 1adeb88..ab03799 100644 --- a/src/main/java/com/bbn/hadder/commands/music/StopCommand.java +++ b/src/main/java/com/bbn/hadder/commands/music/StopCommand.java @@ -13,9 +13,9 @@ public class StopCommand implements Command { @Override public void executed(String[] args, CommandEvent event) { - AudioManager.players.remove(event.getGuild().getId()); - AudioManager.getPlayer(event.getGuild()).destroy(); - AudioManager.getTrackManager(event.getGuild()).purgeQueue(); + new AudioManager().players.remove(event.getGuild().getId()); + new AudioManager().getPlayer(event.getGuild()).destroy(); + new AudioManager().getTrackManager(event.getGuild()).purgeQueue(); event.getGuild().getAudioManager().closeAudioConnection(); event.getTextChannel().sendMessage(event.getMessageEditor().getMessage(MessageEditor.MessageType.INFO, "commands.music.stop.success.title",