Package com.tulskiy.musique.playlist

Examples of com.tulskiy.musique.playlist.TrackData


    public boolean isFileSupported(String ext) {
        return ext.equalsIgnoreCase("ape");
    }

    private void parseInfo(Track track, APEFileInfo fileInfo) {
      TrackData trackData = track.getTrackData();
      trackData.setChannels(fileInfo.nChannels);
      trackData.setSampleRate(fileInfo.nSampleRate);
      trackData.setTotalSamples(fileInfo.nTotalBlocks);
      trackData.setStartPosition(0);
      trackData.setCodec("Monkey's Audio");
      trackData.setBitrate(fileInfo.nAverageBitrate);
    }
View Full Code Here


            }
        }
    }

    private void initNowPlaying(Track track) {
      TrackData trackData = track.getTrackData();
        String artist = trackData.getArtist();
        String title = trackData.getTitle();
        String album = trackData.getAlbum();
        long start = System.currentTimeMillis() / 1000;
        int trackNumber = -1;
        try {
            trackNumber = Integer.valueOf(trackData.getTrackNumber());
        } catch (NumberFormatException ignored) {
        }

        nowPlayingLength = (int) (AudioMath.samplesToMillis(trackData.getTotalSamples(), trackData.getSampleRate()) / 1000);

        if (Util.isEmpty(artist) || Util.isEmpty(title) || nowPlayingLength < 30) {
            // do not submit this
            nowPlaying = null;
        } else {
View Full Code Here

    ReleaseTracklistingModel rtm = DiscogsModelUtil.getReleaseTracklistingModel(release);
    for (int i = 0; i < musiqueModel.getSize() && i < discogsModel.getSize(); i++) {
      Track musiqueTrack = musiqueModel.getEx(i);
      org.discogs.model.Track discogsTrack = discogsModel.getEx(i);
     
      TrackData trackData = musiqueTrack.getTrackData();
     
      String albumArtist = DiscogsModelUtil.getReleaseArtistDescription(
          release.getArtists(), chckbxUseanv.isSelected(), false);
      String trackArtist = DiscogsModelUtil.getReleaseArtistDescription(
          discogsTrack.getArtists(), chckbxUseanv.isSelected(), false);

      trackData.setTagFieldValues(FieldKey.ALBUM_ARTIST, albumArtist);
      trackData.setTagFieldValues(FieldKey.ALBUM, release.getTitle());
      trackData.setTagFieldValues(FieldKey.RECORD_LABEL, "");
      trackData.setTagFieldValues(FieldKey.CATALOG_NO, "");
      for (LabelRelease label : release.getLabelReleases()) {
        trackData.addRecordLabel(label.getLabelName());
        trackData.addCatalogNo(label.getCatalogNumber());
      }
      trackData.setTagFieldValues(FieldKey.YEAR, DiscogsModelUtil.getReleaseDateDescription(release));
      trackData.setTagFieldValues(FieldKey.GENRE, "");
      for (String style : release.getStyles()) {
        trackData.addGenre(style);
      }
     
      trackData.setTagFieldValues(FieldKey.ARTIST, Util.firstNotEmpty(trackArtist, albumArtist));
      trackData.setTagFieldValues(FieldKey.TITLE, DiscogsModelUtil.getTrackTitleCleared(discogsTrack.getTitle()));

      trackData.setTagFieldValues(FieldKey.TRACK, rtm.getTrackTrack(discogsTrack));
      trackData.setTagFieldValues(FieldKey.TRACK_TOTAL, rtm.getTrackTrackTotal(discogsTrack));
      trackData.setTagFieldValues(FieldKey.DISC_NO, rtm.getTrackDisc(discogsTrack));
      trackData.setTagFieldValues(FieldKey.DISC_TOTAL, rtm.getTrackDiscTotal(discogsTrack));
    }
  }
View Full Code Here

            public void start() {
                HashMap<File, ArrayList<Track>> cues =
                  new HashMap<File, ArrayList<Track>>();

                for (Track track : tracks) {
                  TrackData trackData = track.getTrackData();
                    if (!trackData.isFile()) {
                        processed++;
                        continue;
                    }

                    if (abort)
                        break;

                    if (trackData.isCue()) {
                        File file;
                        if (trackData.isCueEmbedded()) {
                            file = trackData.getFile();
                        } else {
                            file = new File(trackData.getCueLocation());
                        }

                        if (!cues.containsKey(file)) {
                            cues.put(file, new ArrayList<Track>());
                        }

                        cues.get(file).add(track);
                        continue;
                    }
                    status = trackData.getFile().getName();
                    TrackIO.write(track);
                    processed++;
                }

                // now let's write cue files
View Full Code Here

    HashMap<String, Integer> formats = new HashMap<String, Integer>();
    HashMap<String, Integer> channels = new HashMap<String, Integer>();
    HashMap<String, Integer> sampleRate = new HashMap<String, Integer>();
    HashSet<String> files = new HashSet<String>();
    for (Track track : tracks) {
      TrackData trackData = track.getTrackData();
      if (trackData.isFile()) {
        fileSize += trackData.getFile().length();
        length += trackData.getTotalSamples() / (double) trackData.getSampleRate();
        files.add(trackData.getFile().getAbsolutePath());
        increment(formats, trackData.getCodec());
        increment(channels, trackData.getChannelsAsString());
        increment(sampleRate, trackData.getSampleRate() + " Hz");
      }
    }

    list.add(new Entry("Files", files.toString()));
    list.add(new Entry("Total size", fileSize + " bytes"));
View Full Code Here

      map.put(key, val + 1);
    }
  }

  private void fillSingleTrack(Track track) {
    TrackData trackData = track.getTrackData();
    list.add(new Entry("Location", trackData.getLocation().toString().replaceAll("%\\d\\d", " ")));
    if (trackData.isFile())
      list.add(new Entry("File Size (bytes)", trackData.getFile().length()));
    if (trackData.getTotalSamples() >= 0)
      list.add(new Entry("Length", Util.samplesToTime(trackData.getTotalSamples(), trackData.getSampleRate(), 3)
          + " (" + trackData.getTotalSamples() + " samples)"));
    list.add(new Entry("Subsong Index", trackData.getSubsongIndex()));
    if (trackData.isCue()) {
      list.add(new Entry("Cue Embedded", trackData.isCueEmbedded()));
      if (!trackData.isCueEmbedded()) {
        list.add(new Entry("Cue Path", trackData.getCueLocation()));
      }
    }
    list.add(new Entry("Format", trackData.getCodec()));
    if (!Util.isEmpty(trackData.getEncoder())) {
      list.add(new Entry("Encoder", trackData.getEncoder()));
    }
    list.add(new Entry("Channels", trackData.getChannels()));
    if (trackData.getSampleRate() > 0)
      list.add(new Entry("Sample Rate", trackData.getSampleRate() + " Hz"));
  }
View Full Code Here

            @Override
            public void start() {
                HashMap<File, ArrayList<Track>> cues = new HashMap<File, ArrayList<Track>>();

                for (Track track : tracks) {
                  TrackData trackData = track.getTrackData();
                    if (!trackData.isFile()) {
                        processed++;
                        continue;
                    }

                    if (abort)
                        break;

                    if (trackData.isCue()) {
                        File file;
                        if (trackData.isCueEmbedded()) {
                            file = trackData.getFile();
                        } else {
                            file = new File(trackData.getCueLocation());
                        }

                        if (!cues.containsKey(file)) {
                            cues.put(file, new ArrayList<Track>());
                        }

                        cues.get(file).add(track);
                        continue;
                    }
                    status = trackData.getFile().getName();
                    TrackIO.write(track);
                    processed++;
                }

                // now let's write cue files
View Full Code Here

        }
    }

    private void testRead(String file) {
        Track track = getAudioFileReader(file).read(getFileFromResource(file));
        TrackData trackData = track.getTrackData();

        // test metadata fields
        testMulti(ARTISTS, trackData.getTagFieldValues(FieldKey.ARTIST));
        Assert.assertTrue(trackData.getTagFieldValues(FieldKey.ARTIST).contains(trackData.getArtist()));
        testSingle(ALBUM_ARTIST, trackData.getAlbumArtist());
        testSingle(TITLE, trackData.getTitle());
        testSingle(ALBUM, trackData.getAlbum());
        testSingle(YEAR, trackData.getYear());
        testMulti(GENRES, trackData.getTagFieldValues(FieldKey.GENRE));
        testMulti(GENRES, trackData.getGenres());
        Assert.assertTrue(trackData.getGenres().contains(trackData.getGenre()));
        testSingle(TRACK, trackData.getTrack());
        testSingle(TRACK_TOTAL, trackData.getTrackTotal());
        testSingle(DISC_NO, trackData.getDisc());
        testSingle(DISC_TOTAL, trackData.getDiscTotal());
        testMulti(RECORD_LABELS, trackData.getTagFieldValues(FieldKey.RECORD_LABEL));
        testMulti(RECORD_LABELS, trackData.getRecordLabels());
        Assert.assertTrue(trackData.getRecordLabels().contains(trackData.getRecordLabel()));
        testMulti(CATALOG_NOS, trackData.getTagFieldValues(FieldKey.CATALOG_NO));
        testMulti(CATALOG_NOS, trackData.getCatalogNos());
        Assert.assertTrue(trackData.getCatalogNos().contains(trackData.getCatalogNo()));
        testSingle(COMMENT, trackData.getComment());
//        testSingle(RATING, trackData.getRating());

        // test technical fields
//        assertEquals(29400, track.getTotalSamples());
        assertEquals(2, trackData.getChannels());
        assertEquals(44100, trackData.getSampleRate());
    }
View Full Code Here

        return null;
    }

    private void testReadApe(String file) {
        Track track = getAudioFileReader(file).read(getFileFromResource(file));
        TrackData trackData = track.getTrackData();

        // test metadata fields
        testSingle(ARTIST, trackData.getArtist());
        testSingle(ALBUM_ARTIST, trackData.getAlbumArtist());
        testSingle(TITLE, trackData.getTitle());
        testSingle(ALBUM, trackData.getAlbum());
        testSingle(YEAR, trackData.getYear());
        testSingle(GENRE, trackData.getGenre());
        testSingle(TRACK, trackData.getTrack());
        testSingle(TRACK_TOTAL, trackData.getTrackTotal());
        testSingle(DISC_NO, trackData.getDisc());
        testSingle(DISC_TOTAL, trackData.getDiscTotal());
        testSingle(RECORD_LABEL, trackData.getRecordLabel());
        testSingle(CATALOG_NO, trackData.getCatalogNo());
        testSingle(COMMENT, trackData.getComment());
//        testSingle(RATING, trackData.getRating());

        // test technical fields
//        assertEquals(29400, track.getTotalSamples());
        assertEquals(2, trackData.getChannels());
        assertEquals(44100, trackData.getSampleRate());
    }
View Full Code Here

        assertEquals(44100, trackData.getSampleRate());
    }

    private void testWrite(String name) {
        Track track = new Track();
        TrackData trackData = track.getTrackData();

        addMulti(trackData, FieldKey.ARTIST, ARTISTS);
        trackData.addAlbumArtist(ALBUM_ARTIST);
        trackData.addTitle(TITLE);
        trackData.addAlbum(ALBUM);
        trackData.addYear(YEAR);
        addMulti(trackData, FieldKey.GENRE, GENRES);
        trackData.addTrack(TRACK);
        trackData.addTrackTotal(TRACK_TOTAL);
        trackData.addDisc(DISC_NO);
        trackData.addDiscTotal(DISC_TOTAL);
        addMulti(trackData, FieldKey.RECORD_LABEL, RECORD_LABELS);
        addMulti(trackData, FieldKey.CATALOG_NO, CATALOG_NOS);
        trackData.addComment(COMMENT);
        trackData.addRating(RATING);

        try {
            File file = getFileFromResource(name);
            File fo = createTempFile(name, file.getParentFile().getParentFile().getParentFile());
            copy(file, fo);
            trackData.setLocation(fo.toURI().toString());
            getAudioFileWriter(fo.getName()).write(track);
            testRead(fo.getName());
        } catch (Exception e) {
            e.printStackTrace();
            fail();
View Full Code Here

TOP

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

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.