Package com.tulskiy.musique.playlist

Examples of com.tulskiy.musique.playlist.Track


    return null;
  }

  @Override
  public Object get(int index) {
    Track track = getEx(index);
    return track == null ? null : getTrackDescription(track);
  }
View Full Code Here


                        progressEnabled = false;
                        progressSlider.setValue(progressSlider.getMinimum());
                        statusLabel.setText(null);
                        break;
                    case FILE_OPENED:
                        Track track = player.getTrack();
                        if (track != null) {
                            int max = (int) track.getTrackData().getTotalSamples();
                            if (max == -1) {
                                progressEnabled = false;
                            } else {
                                progressEnabled = true;
                                progressSlider.setMaximum(max);
View Full Code Here

    private int getSliderValueForX(JSlider slider, int x) {
        return ((BasicSliderUI) slider.getUI()).valueForXPosition(x);
    }

    private void showToolTip(MouseEvent e) {
        Track s = player.getTrack();
        if (s != null) {
            toolTip.setTipText(Util.samplesToTime(progressSlider.getValue() - progressSlider.getMinimum(), s.getTrackData().getSampleRate(), 1));
            int x = e.getXOnScreen();
            x = Math.max(x, progressSlider.getLocationOnScreen().x);
            x = Math.min(x, progressSlider.getLocationOnScreen().x + progressSlider.getWidth() - toolTip.getWidth());
            popup = popupFactory.getPopup(progressSlider, toolTip, x, progressSlider.getLocationOnScreen().y + 25);
            popup.show();
View Full Code Here

            }
        });
        nextRandomButton.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                Track track = player.getPlaybackOrder().nextRandom();
                player.open(track);
            }
        });
    }
View Full Code Here

        final Player player = app.getPlayer();
        timer = new Timer(200, new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                Track track = player.getTrack();

                try {
                    textPane.setText("");
                    StyledDocument doc = textPane.getStyledDocument();
                    doc.insertString(doc.getLength(), track.getTrackData().getArtist() + "\n", textPane.getStyle("artist"));
                    doc.insertString(doc.getLength(), track.getTrackData().getTitle() + "\n\n", textPane.getStyle("title"));
                } catch (BadLocationException e1) {
                    e1.printStackTrace();
                }

                if (search != null && !search.isDone())
View Full Code Here

            @Override
            public void valueChanged(ListSelectionEvent e) {
                ArrayList<Track> tracks = getSelectedSongs();
                if (tracks.isEmpty())
                    return;
                Track track = tracks.get(0);
                config.put("playlist.selectedTrack", track);
                if (config.getBoolean("playlists.playbackFollowsCursor", false)) {
                    PlaybackOrder order = player.getPlaybackOrder();
                    order.setLastPlayed(track);
                }
View Full Code Here

    public ArrayList<Track> getSelectedSongs() {
        int[] rows = getSelectedRows();
        ArrayList<Track> tracks = new ArrayList<Track>();
        for (int row : rows) {
            Track track = playlist.get(row);
            if (!(track instanceof Separator)) {
                tracks.add(track);
            }
        }
        return tracks;
View Full Code Here

        public String getColumnName(int column) {
            return columns.get(column).getName();
        }

        public Object getValueAt(int rowIndex, int columnIndex) {
            Track track = playlist.get(rowIndex);
            if (track instanceof Separator)
                return track;
            else
                return columns.get(columnIndex).getValue(track);
        }
View Full Code Here

        String str = search.toLowerCase().trim();
        String[] text = str.split("\\s+");
        if (!str.isEmpty() && text.length > 0) {
            for (int i = 0, playlistSize = playlist.size(); i < playlistSize; i++) {
                Track track = playlist.get(i);

                boolean hasText[] = new boolean[text.length];
                for (FieldKey field : fields) {
                    FieldValues values = track.getTrackData().getTagFieldValues(field);
                    if (values != null) {
                for (int k = 0; k < values.size(); k++) {
                  String value = values.get(k);
                        if (!Util.isEmpty(value)) {
                            value = value.toLowerCase();
View Full Code Here

                    }

                    @Override
                    public void start() {
                        for (int i = 0; i < tracks.size(); i++) {
                            Track track = tracks.get(i);
                            TrackData trackData = track.getTrackData();
                            if (abort)
                                break;
                            if (trackData.isFile() && trackData.getSubsongIndex() == 0) {
                                currentTrack = trackData.getFile().getName();
                                progress = (float) i / tracks.size();
                                AudioFileReader reader = TrackIO.getAudioFileReader(trackData.getFile().getName());
                                trackData.clearTags();
                                reader.reload(track);
                            }
                        }
                        playlist.firePlaylistChanged();
                    }

                    @Override
                    public boolean isIndeterminate() {
                        return false;
                    }

                    @Override
                    public float getProgress() {
                        return progress;
                    }
                });
            }
        });

        ActionListener fileOpsListener = new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                String cmd = e.getActionCommand();
                FileOperations.Operation op = FileOperations.Operation.valueOf(cmd);
                new FileOperations(parent, op, tracks).setVisible(true);
            }
        };
        JMenu fileOps = new JMenu("File Operations");
        fileOps.add("Open containing folder").addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                for (Track track : tracks) {
                    if (track.getTrackData().isFile()) {
                        File file = track.getTrackData().getFile().getParentFile();
                        try {
                            Desktop.getDesktop().open(file);
                        } catch (IOException e1) {
                            e1.printStackTrace();
                        }
                        break;
                    }
                }
            }
        });
        fileOps.addSeparator();
        for (FileOperations.Operation op : FileOperations.Operation.values()) {
            fileOps.add(op.name()).addActionListener(fileOpsListener);
        }
        fileOps.addSeparator();
        JMenuItem deleteItem = fileOps.add("Delete       ");
        deleteItem.setIcon(Images.getEmptyIcon());
        deleteItem.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                int ret = JOptionPane.showConfirmDialog(null, "This will delete file(s) permanently. Are you sure?", "Delete File(s)?", JOptionPane.YES_NO_OPTION);
                if (ret == JOptionPane.YES_OPTION) {
                    for (Track track : tracks) {
                        if (track.getTrackData().isFile() && !track.getTrackData().isCue()) {
                            if (player.getTrack() == track) {
                                player.stop();
                            }

                            if (track.getTrackData().getFile().delete()) {
                                FileUtils.deleteEmptyParentFolders(track.getTrackData().getFile(), true);
                                playlist.remove(track);
                            }
                        }

                    }
View Full Code Here

TOP

Related Classes of com.tulskiy.musique.playlist.Track

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.