public boolean isTooLong(AudioTrack track) { if(maxSeconds<=0) return false; return Math.round(track.getDuration()/1000.0) > maxSeconds; } }
private long parseAudioTrackDuration(AudioTrack track) { if (track == null || track.getInfo().isStream) { return 0L; } return track.getDuration(); }
/** * Gets the progress bar for the current {@link Track} including the percent played. * * @param track The {@link Track} to get a progress bar for. * @return A string the represents a progress bar that represents the time played. */ public static String getProgressBar(Track track) { float percentage = (100f / track.getTrack().getDuration() * track.getTrack().getPosition()); return "[" + StringUtils.repeat("▬", (int) Math.round((double) percentage / 10)) + "](https://github.com/FlareBot)" + StringUtils.repeat("▬", 10 - (int) Math.round((double) percentage / 10)) + " " + GeneralUtils.percentageFormat.format(percentage) + "%"; }
public String getFormattedDuration() { return NumberUtil.formatTime(getAudioTrack().getDuration()); }
@Override public String toString() { return "`[" + FormatUtil.formatTime(track.getDuration()) + "]` **" + track.getInfo().title + "** - <@" + track.getUserData(Long.class) + ">"; } }
public static String formatTrackDuration(AudioTrack audioTrack) { return (audioTrack.isSeekable() || audioTrack.getInfo().isStream) ? formatDuration(audioTrack.getDuration()) : "\u221E"; // ∞ }
public String getFormattedTotalTimeLeft(IPlayer player) { if (getAudioTrack().getInfo().isStream) { return "LIVE"; } return NumberUtil.formatTime(getAudioTrack().getDuration() - player.getTrackPosition()); } }
private String buildQueueLength(GuildMusicManager manager) { long length = 0L; for (AudioTrackContainer container : manager.getScheduler().getQueue()) { if (container.getAudioTrack().getInfo().isStream) { continue; } length += container.getAudioTrack().getDuration() / 1000L; } AudioTrack playingTrack = manager.getPlayer().getPlayingTrack(); if (playingTrack != null && !playingTrack.getInfo().isStream) { length += (playingTrack.getDuration() - playingTrack.getPosition()) / 1000L; } int seconds = (int) (length % 60L); int minutes = (int) ((length % 3600L) / 60L); int hours = (int) (length / 3600L); if (hours != 0) { return hours + " hours, " + minutes + " minutes, and " + seconds + " seconds"; } else if (minutes != 0) { return minutes + " minutes, and " + seconds + " seconds"; } return seconds + " seconds"; } }
public Songs(Track track) { title = track.getTrack().getInfo().title; identifier = track.getTrack().getIdentifier(); requester = track.getMeta().getOrDefault("requester", "Unknown").toString(); length = track.getTrack().getDuration(); progress = track.getTrack().getPosition(); User user = Getters.getUserById(requester); if (user != null) { discrim = user.getDiscriminator(); name = user.getName(); avatar = user.getEffectiveAvatarUrl(); } }
public String getTopicFormat(JDA jda) { if(isMusicPlaying(jda)) { long userid = getRequester(); AudioTrack track = audioPlayer.getPlayingTrack(); String title = track.getInfo().title; if(title==null || title.equals("Unknown Title")) title = track.getInfo().uri; return "**"+title+"** ["+(userid==0 ? "autoplay" : "<@"+userid+">")+"]" + "\n" + (audioPlayer.isPaused() ? JMusicBot.PAUSE_EMOJI : JMusicBot.PLAY_EMOJI) + " " + "[" + FormatUtil.formatTime(track.getDuration()) + "] " + FormatUtil.volumeIcon(audioPlayer.getVolume()); } else return "No music playing " + JMusicBot.STOP_EMOJI + " " + FormatUtil.volumeIcon(audioPlayer.getVolume()); }
+FormatUtil.formatTime(track.getDuration())+"` > `"+bot.getConfig().getMaxTime()+"`"); return; int pos = handler.addTrack(new QueuedTrack(track, event.getAuthor()))+1; event.replySuccess("Added **"+track.getInfo().title +"** (`"+FormatUtil.formatTime(track.getDuration())+"`) "+(pos==0 ? "to begin playing" : " to the queue at position "+pos)); }) builder.addChoices("`["+FormatUtil.formatTime(track.getDuration())+"]` [**"+track.getInfo().title+"**]("+track.getInfo().uri+")");
@Override public void trackLoaded(AudioTrack track) { if(bot.getConfig().isTooLong(track)) { m.editMessage(FormatUtil.filter(event.getClient().getWarning()+" This track (**"+track.getInfo().title+"**) is longer than the allowed maximum: `" +FormatUtil.formatTime(track.getDuration())+"` > `"+bot.getConfig().getMaxTime()+"`")).queue(); return; } AudioHandler handler = (AudioHandler)event.getGuild().getAudioManager().getSendingHandler(); int pos = handler.addTrack(new QueuedTrack(track, event.getAuthor()))+1; m.editMessage(FormatUtil.filter(event.getClient().getSuccess()+" Added **"+track.getInfo().title +"** (`"+FormatUtil.formatTime(track.getDuration())+"`) "+(pos==0 ? "to begin playing" : " to the queue at position "+pos))).queue(); }
private void loadSingle(AudioTrack track) { if(bot.getConfig().isTooLong(track)) { m.editMessage(FormatUtil.filter(event.getClient().getWarning()+" This track (**"+track.getInfo().title+"**) is longer than the allowed maximum: `" +FormatUtil.formatTime(track.getDuration())+"` > `"+FormatUtil.formatTime(bot.getConfig().getMaxSeconds()*1000)+"`")).queue(); return; } AudioHandler handler = (AudioHandler)event.getGuild().getAudioManager().getSendingHandler(); int pos = handler.addTrackToFront(new QueuedTrack(track, event.getAuthor()))+1; String addMsg = FormatUtil.filter(event.getClient().getSuccess()+" Added **"+track.getInfo().title +"** (`"+FormatUtil.formatTime(track.getDuration())+"`) "+(pos==0?"to begin playing":" to the queue at position "+pos)); m.editMessage(addMsg).queue(); }
private long convertMusicMangerToSeconds(GuildMusicManager musicManager) { long seconds = 0; for (AudioTrackContainer container : musicManager.getScheduler().getQueue()) { seconds += parseAudioTrackDuration(container.getAudioTrack()) / 1000L; } if (musicManager.getPlayer() == null) { return seconds; } if (musicManager.getPlayer().getPlayingTrack() != null && !musicManager.getPlayer().getPlayingTrack().getInfo().isStream) { seconds += (musicManager.getPlayer().getPlayingTrack().getDuration() - musicManager.getPlayer().getTrackPosition()) / 1000L; } return seconds; } }
NumberUtil.formatTime(track.getDuration()), track.getInfo().uri );
public static void updateSongMessage(User sender, Message message, TextChannel channel) { Track track = FlareBot.instance().getMusicManager().getPlayer(channel.getGuild().getId()).getPlayingTrack(); if (track == null) return; EmbedBuilder eb = MessageUtils.getEmbed(sender) .addField("Current Song", getLink(track), false) .setThumbnail("https://img.youtube.com/vi/" + track.getTrack().getIdentifier() + "/hqdefault.jpg"); if (track.getTrack().getInfo().isStream) eb.addField("Amount Played", "Issa livestream ;)", false); else eb.addField("Amount Played", GeneralUtils.getProgressBar(track), true) .addField("Time", String.format("%s / %s", FormatUtils.formatDuration(track.getTrack().getPosition()), FormatUtils.formatDuration(track.getTrack().getDuration())), false); message.editMessage(eb.build()).queue(); }
return; } else { if (millis >= t.getTrack().getDuration()) { MessageUtils.sendErrorMessage("The duration specified is bigger than the length of the video!", channel); return;
eb.setFooter("Source: " + track.getInfo().author, null); double progress = (double)audioPlayer.getPlayingTrack().getPosition()/track.getDuration(); eb.setDescription((audioPlayer.isPaused() ? JMusicBot.PAUSE_EMOJI : JMusicBot.PLAY_EMOJI) + " "+FormatUtil.progressBar(progress) + " `[" + FormatUtil.formatTime(track.getPosition()) + "/" + FormatUtil.formatTime(track.getDuration()) + "]` " + FormatUtil.volumeIcon(audioPlayer.getVolume()));
+FormatUtil.formatTime(track.getDuration())+"` > `"+FormatUtil.formatTime(bot.getConfig().getMaxSeconds()*1000)+"`")).queue(); return; int pos = handler.addTrack(new QueuedTrack(track, event.getAuthor()))+1; String addMsg = FormatUtil.filter(event.getClient().getSuccess()+" Added **"+track.getInfo().title +"** (`"+FormatUtil.formatTime(track.getDuration())+"`) "+(pos==0?"to begin playing":" to the queue at position "+pos)); if(playlist==null || !event.getSelfMember().hasPermission(event.getTextChannel(), Permission.MESSAGE_ADD_REACTION)) m.editMessage(addMsg).queue();
long time = NumberUtil.parseTimeString(args[0]); if (time > musicManager.getPlayer().getPlayingTrack().getDuration()) { return sendErrorMessage(context, context.i18n("seekingTooFar", args[0], generateCommandPrefix(context.getMessage())));