@Override public void playlistLoaded(AudioPlaylist playlist) if(playlist.getTracks().size()==1 || playlist.isSearchResult()) AudioTrack single = playlist.getSelectedTrack()==null ? playlist.getTracks().get(0) : playlist.getSelectedTrack(); loadSingle(single, null); else if (playlist.getSelectedTrack()!=null) AudioTrack single = playlist.getSelectedTrack(); loadSingle(single, playlist); if(count==0) m.editMessage(FormatUtil.filter(event.getClient().getWarning()+" All entries in this playlist "+(playlist.getName()==null ? "" : "(**"+playlist.getName() +"**) ")+"were longer than the allowed maximum (`"+bot.getConfig().getMaxTime()+"`)")).queue(); +(playlist.getName()==null?"a playlist":"playlist **"+playlist.getName()+"**")+" with `" + playlist.getTracks().size()+"` entries; added to the queue!" + (count<playlist.getTracks().size() ? "\n"+event.getClient().getWarning()+" Tracks longer than the allowed maximum (`" + bot.getConfig().getMaxTime()+"`) have been omitted." : ""))).queue();
@Override public void playlistLoaded(AudioPlaylist playlist) { AudioTrack single; if(playlist.getTracks().size()==1 || playlist.isSearchResult()) single = playlist.getSelectedTrack()==null ? playlist.getTracks().get(0) : playlist.getSelectedTrack(); else if (playlist.getSelectedTrack()!=null) single = playlist.getSelectedTrack(); else single = playlist.getTracks().get(0); loadSingle(single); }
@Override public void playlistLoaded(AudioPlaylist playlist) { AudioTrack firstTrack = playlist.getSelectedTrack(); if (firstTrack == null) { firstTrack = playlist.getTracks().get(0); } sendMessageToChannel(channel, "Adding to queue " + firstTrack.getInfo().title + " (first track of playlist " + playlist.getName() + ")"); play(channel.getGuild(), musicManager, firstTrack); }
AudioTrack track = playlist.getTracks().get(0); for (int i = 0; i < playlist.getTracks().size(); i++) { queue.offer(new AudioTrackContainer(playlist.getTracks().get(i), requester)); if (playlist.getName() != null) { message = manager.getLastActiveMessage().i18nRaw("music.internal.nowPlayingPlaylist") + "\n" + message; .set("title", songTitle) .set("link", container.getAudioTrack().getInfo().uri) .set("playlistSize", NumberUtil.formatNicely(playlist.getTracks().size())) .set("playlistName", playlist.getName()) .set("duration", container.getFormattedDuration()) .set("requester", container.getRequester().getAsMention()) for (int i = 1; i < playlist.getTracks().size(); i++) { queue.offer(new AudioTrackContainer(playlist.getTracks().get(i), requester));
@Override public void playlistLoaded(AudioPlaylist playlist) { trackLoaded(playlist.getTracks().get(0)); }
@Override public void playlistLoaded(AudioPlaylist playlist) { AudioTrack firstTrack = playlist.getSelectedTrack(); if (firstTrack == null) { firstTrack = playlist.getTracks().get(0); } channel.sendMessage("Adding to queue " + firstTrack.getInfo().title + " (first track of playlist " + playlist.getName() + ")").queue(); play(channel.getGuild(), musicManager, firstTrack); }
@Override public void playlistLoaded(AudioPlaylist ap) if(ap.isSearchResult()) if(config.isTooLong(ap.getTracks().get(0))) errors.add(new PlaylistLoadError(index, items.get(index), "This track is longer than the allowed maximum")); else ap.getTracks().get(0).setUserData(0L); tracks.add(ap.getTracks().get(0)); consumer.accept(ap.getTracks().get(0)); else if(ap.getSelectedTrack()!=null) if(config.isTooLong(ap.getSelectedTrack())) errors.add(new PlaylistLoadError(index, items.get(index), "This track is longer than the allowed maximum")); else ap.getSelectedTrack().setUserData(0L); tracks.add(ap.getSelectedTrack()); consumer.accept(ap.getSelectedTrack()); List<AudioTrack> loaded = new ArrayList<>(ap.getTracks()); if(shuffle) for(int first =0; first<loaded.size(); first++)
@Override public void playlistLoaded(AudioPlaylist playlist) { trackLoaded(playlist.getTracks().get(0)); }
@Override public void playlistLoaded(AudioPlaylist audioPlaylist) { if (audioPlaylist.getSelectedTrack() != null) { trackLoaded(audioPlaylist.getSelectedTrack()); } else if (audioPlaylist.isSearchResult()) { int playlistSize = audioPlaylist.getTracks().size(); if (playlistSize == 0) { context.reply("No song matches found! Usage: `{{prefix}}play <link or youtube video title>` or " + AudioTrack[] audioTracks = new AudioTrack[size]; for (int i = 0; i < audioTracks.length; i++) { audioTracks[i] = audioPlaylist.getTracks().get(i); context.reply(selection.createMessage()); } else { audioPlaylist.getTracks().forEach(musicManager.getScheduler()::queue); context.reply(String.format("Added **%d songs** to the queue!", audioPlaylist.getTracks().size()));
private void sendPlaylistResponse(CommandMessage context, TrackResponse response) { AudioPlaylist playlist = (AudioPlaylist) response.getAudioItem(); context.makeSuccess(context.i18n("addedSongsFromPlaylist")) .set("songs", NumberUtil.formatNicely(playlist.getTracks().size())) .set("title", playlist.getName()) .set("url", response.getTrackUrl()) .set("queueSize", NumberUtil.formatNicely( AudioHandler.getDefaultAudioHandler().getQueueSize(response.getMusicManager()) )) .queue(message -> { if (context.getGuildTransformer() != null && context.getGuildTransformer().isMusicMessages()) { message.delete().queueAfter(30, TimeUnit.SECONDS, null, RestActionUtil.ignore); } }); }
@Override public void playlistLoaded(AudioPlaylist playlist) { if (playlist.getTracks().isEmpty()) { noMatches(); return; } Metrics.tracksLoaded.inc(playlist.getTracks().size()); if (trackUrl.startsWith("ytsearch:") || trackUrl.startsWith("scsearch:")) { if (sessionConsumer == null) { trackLoaded(playlist.getTracks().get(0)); return; } sessionConsumer.accept(AudioHandler.getDefaultAudioHandler().createAudioSession(context, playlist)); return; } if (playlist.getTracks().isEmpty()) { noMatches(); return; } success.accept(new TrackResponse(musicManager, playlist, trackUrl)); AudioHandler.getDefaultAudioHandler().play(context, musicManager, playlist); }
@Override public void playlistLoaded(AudioPlaylist playlist) { if (playlist.getTracks().isEmpty()) { noMatches(); return; } Metrics.tracksLoaded.inc(playlist.getTracks().size()); if (trackUrl.startsWith("ytsearch:") || trackUrl.startsWith("scsearch:")) { trackLoaded(playlist.getTracks().get(0)); return; } if (playlist.getTracks().isEmpty()) { noMatches(); return; } musicManager.registerDefaultVolume(); if (musicManager.getPlayer().isPaused()) { musicManager.getPlayer().setPaused(false); } musicManager.getScheduler().queue(playlist, member.getUser()); }
private int loadPlaylist(AudioPlaylist playlist, AudioTrack exclude) { int[] count = {0}; playlist.getTracks().stream().forEach((track) -> { if(!bot.getConfig().isTooLong(track) && !track.equals(exclude)) { AudioHandler handler = (AudioHandler)event.getGuild().getAudioManager().getSendingHandler(); handler.addTrack(new QueuedTrack(track, event.getAuthor())); count[0]++; } }); return count[0]; }
@SuppressWarnings("ConstantConditions") private Consumer<AudioSession> musicSession(final CommandMessage context, final String[] args) { return (AudioSession audioSession) -> { List<String> songs = new ArrayList<>(); List<AudioTrack> tracks = audioSession.getSongs().getTracks(); for (int i = 0; i < 9; i++) { if (tracks.size() <= i) { break; } AudioTrack track = tracks.get(i); songs.add(String.format("`%s` [%s](%s)", (i + 1), track.getInfo().title, track.getInfo().uri )); } String command = generateCommandTrigger(context.getMessage()); if (args[0].startsWith("scsearch:")) { command = CommandHandler.getCommand(SoundcloudCommand.class) .getCommand().generateCommandTrigger(context.getMessage()); } context.makeSuccess(String.join("\n", songs)) .setTitle(context.i18n("session.title", String.join(" ", args))) .setFooter(context.i18n("session.footer", command)) .queue(audioSession::setMessage); }; } }
boolean loadSongFromSession(CommandMessage context, String[] args) { int songIndex = NumberUtil.parseInt(args[0], 1) - 1; AudioSession session = AudioHandler.getDefaultAudioHandler().getAudioSession(context); int index = NumberUtil.getBetween(songIndex, 0, session.getSongs().getTracks().size() - 1); AudioTrack track = session.getSongs().getTracks().get(index); Metrics.tracksLoaded.inc(); musicSuccess(context, false).accept( new TrackResponse(AudioHandler.getDefaultAudioHandler().getGuildAudioPlayer(context.getGuild()), track, track.getInfo().uri ) ); AudioHandler.getDefaultAudioHandler().play(context, AudioHandler.getDefaultAudioHandler().getGuildAudioPlayer(context.getGuild()), track); if (session.getMessage() != null) { session.getMessage().delete().queue(null, RestActionUtil.ignore); } AudioHandler.getDefaultAudioHandler().removeAudioSession(context); return false; }
.setSelection((msg,i) -> AudioTrack track = playlist.getTracks().get(i-1); if(bot.getConfig().isTooLong(track)) .setUsers(event.getAuthor()) for(int i=0; i<4 && i<playlist.getTracks().size(); i++) AudioTrack track = playlist.getTracks().get(i); builder.addChoices("`["+FormatUtil.formatTime(track.getDuration())+"]` [**"+track.getInfo().title+"**]("+track.getInfo().uri+")");
.setText(addMsg+"\n"+event.getClient().getWarning()+" This track has a playlist of **"+playlist.getTracks().size()+"** tracks attached. Select "+LOAD+" to load playlist.") .setChoices(LOAD, CANCEL) .setEventWaiter(bot.getWaiter())