helliker.id3
Class Playlist

java.lang.Object
  extended byjava.util.AbstractCollection
      extended byjava.util.AbstractList
          extended byjava.util.AbstractSequentialList
              extended byjava.util.LinkedList
                  extended byhelliker.id3.Playlist
All Implemented Interfaces:
java.lang.Cloneable, java.util.Collection, java.util.List, java.io.Serializable

public class Playlist
extends java.util.LinkedList

See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class java.util.LinkedList
 
Nested classes inherited from class java.util.AbstractList
 
Field Summary
static int MUSICMATCH_FORMAT
           
private  java.lang.String PLAYLIST_EXT
           
static int WINAMP_FORMAT
           
 
Fields inherited from class java.util.LinkedList
 
Fields inherited from class java.util.AbstractList
modCount
 
Constructor Summary
Playlist()
           
 
Method Summary
 void addDirectory(java.io.File dir)
          Reads in mp3s from a directory and adds them to this playlist.
 void addDirectory(java.io.File dir, boolean recurse, boolean sort)
          Reads in mp3s from a directory and adds them to the this playlist.
 void loadFromFile(java.io.File m3uFile, int format)
          Load a playlist from a file.
private  void loadMusicMatchFile(java.io.BufferedReader reader)
          Loads the contents of a MusicMatch playlist.
private  void loadWinampFile(java.io.BufferedReader reader)
          Loads the contents of a winamp playlist.
 void sort()
          Sorts this playlist by using the default path comparisons.
 void sort(java.util.Comparator cmp)
          Sorts this playlist by using the specified comparator.
 java.lang.String toString()
          Calls toString on every object contained within (very long).
private  void writeMusicMatchFile(java.io.PrintWriter printer)
          Writes the contents of this playlist in MusicMatch format.
 void writeToFile(java.io.File dest, int format)
          Writes this playlist in the format specified.
private  void writeWinampFile(java.io.PrintWriter printer)
          Write the contents of this playlist in Winamp format.
 
Methods inherited from class java.util.LinkedList
add, add, addAll, addAll, addFirst, addLast, clear, clone, contains, get, getFirst, getLast, indexOf, lastIndexOf, listIterator, remove, remove, removeFirst, removeLast, set, size, toArray, toArray
 
Methods inherited from class java.util.AbstractSequentialList
iterator
 
Methods inherited from class java.util.AbstractList
equals, hashCode, listIterator, removeRange, subList
 
Methods inherited from class java.util.AbstractCollection
containsAll, isEmpty, removeAll, retainAll
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.util.List
containsAll, equals, hashCode, isEmpty, iterator, listIterator, removeAll, retainAll, subList
 

Field Detail

WINAMP_FORMAT

public static int WINAMP_FORMAT

MUSICMATCH_FORMAT

public static int MUSICMATCH_FORMAT

PLAYLIST_EXT

private final java.lang.String PLAYLIST_EXT
See Also:
Constant Field Values
Constructor Detail

Playlist

public Playlist()
Method Detail

sort

public void sort()
Sorts this playlist by using the default path comparisons. Uses Collections.sort().


sort

public void sort(java.util.Comparator cmp)
Sorts this playlist by using the specified comparator. Uses Collections.sort().

Parameters:
cmp - the comparator to use

addDirectory

public void addDirectory(java.io.File dir)
                  throws java.io.IOException
Reads in mp3s from a directory and adds them to this playlist. By default, subdirectories will be recursed and the files will be sorted.

Parameters:
dir - the directory to look for mp3s in
Throws:
java.io.IOException - if the files specified is not a directory

addDirectory

public void addDirectory(java.io.File dir,
                         boolean recurse,
                         boolean sort)
                  throws java.io.IOException
Reads in mp3s from a directory and adds them to the this playlist. The recurse parameter should be set if you wish to grab mp3s from subdirectories as well. If the sort parameter is true the files in each directory will be sorted before added.

Parameters:
dir - the directory to look for mp3s in
recurse - whether or not to recurse subdirectories
sort - whether or not to sort each directory
Throws:
java.io.IOException - if the file specified is not a directory

loadFromFile

public void loadFromFile(java.io.File m3uFile,
                         int format)
                  throws PlaylistException,
                         java.io.FileNotFoundException,
                         java.io.IOException
Load a playlist from a file. This works with Winamp and MusicMatch playlists. The format parameter should be either WINAMP_FORMAT or MUSICMATCH_FORMAT.

Parameters:
m3uFile - the playlist file
format - the type of playlist to load
Throws:
PlaylistException - if the file is corrupt
java.io.FileNotFoundException - if an error occurs
java.io.IOException - if an error occurs

loadWinampFile

private void loadWinampFile(java.io.BufferedReader reader)
                     throws PlaylistException,
                            java.io.IOException
Loads the contents of a winamp playlist.

Parameters:
reader - the stream to read from
Throws:
PlaylistException - if an error occurs
java.io.IOException - if an error occurs

loadMusicMatchFile

private void loadMusicMatchFile(java.io.BufferedReader reader)
                         throws PlaylistException,
                                java.io.IOException
Loads the contents of a MusicMatch playlist.

Parameters:
reader - the stream to read from
Throws:
PlaylistException - if an error occurs
java.io.IOException - if an error occurs

writeToFile

public void writeToFile(java.io.File dest,
                        int format)
                 throws java.io.IOException
Writes this playlist in the format specified. This can be either WINAMP_FORMAT or MUSICMATCH_FORMAT. If the destination is a directory, then the file will be created in that directory with the same name as the directory with a ".m3u" extension added. If the destination is a file then the playlist will be saved to that file. If the format argument is invalid the file will not be written.

Parameters:
dest - where to save the playlist
format - the format to write the file in
Throws:
java.io.IOException - if an error occurs

writeWinampFile

private void writeWinampFile(java.io.PrintWriter printer)
                      throws java.io.IOException
Write the contents of this playlist in Winamp format.

Parameters:
printer - the stream to write to
Throws:
java.io.IOException - if an error occurs

writeMusicMatchFile

private void writeMusicMatchFile(java.io.PrintWriter printer)
                          throws java.io.IOException
Writes the contents of this playlist in MusicMatch format.

Parameters:
printer - the stream to write to
Throws:
java.io.IOException - if an error occurs

toString

public java.lang.String toString()
Calls toString on every object contained within (very long).

Returns:
a string representation of this object


Copyright © 2004 NeurosDBM Dev Team All Rights Reserved.