helliker.id3
Class Playlist

java.lang.Object
  |
  +--java.util.AbstractCollection
        |
        +--java.util.AbstractList
              |
              +--java.util.AbstractSequentialList
                    |
                    +--java.util.LinkedList
                          |
                          +--helliker.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

Field Summary
static int MUSICMATCH_FORMAT
           
static int WINAMP_FORMAT
           
 
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.
 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).
 void writeToFile(java.io.File dest, int format)
          Writes this playlist in the format specified.
 
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
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

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

toString

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

Overrides:
toString in class java.util.AbstractCollection
Returns:
a string representation of this object