Index: net/sourceforge/x360mediaserve/upnpmediaserver/upnp/contentdirectory/MusicDB.java =================================================================== RCS file: /cvsroot/x360mediaserve/x360mediaserve/net/sourceforge/x360mediaserve/upnpmediaserver/upnp/contentdirectory/MusicDB.java,v retrieving revision 1.17 diff -u -r1.17 MusicDB.java --- net/sourceforge/x360mediaserve/upnpmediaserver/upnp/contentdirectory/MusicDB.java 7 Mar 2006 02:22:51 -0000 1.17 +++ net/sourceforge/x360mediaserve/upnpmediaserver/upnp/contentdirectory/MusicDB.java 2 Sep 2006 20:04:40 -0000 @@ -24,6 +24,7 @@ import java.io.OutputStream; import java.net.URL; import java.util.Comparator; +import java.util.ArrayList; import java.util.HashMap; import java.util.TreeMap; import java.util.TreeSet; @@ -51,8 +52,6 @@ */ public class MusicDB { - - TreeMap albumMap; TreeMap artistMap; HashMap mediaMap; @@ -64,7 +63,7 @@ int nextSongID=4241; HashMap playLists; - + ArrayList m3uPlaylists; FormatHandler formatHandler=new FormatHandler(); @@ -72,7 +71,8 @@ containerMap = new HashMap(); albumMap = new TreeMap(); artistMap= new TreeMap(); - playLists= new HashMap(); + playLists= new HashMap(); + m3uPlaylists = new ArrayList(); songSet=new TreeSet( new Comparator(){ public int compare(Song o1, @@ -92,7 +92,7 @@ albumMap = new TreeMap(); artistMap= new TreeMap(); playLists= new HashMap(); - + m3uPlaylists = new ArrayList(); songSet=new TreeSet( new Comparator(){ public int compare(Song o1, @@ -269,7 +269,15 @@ } } else{ // if its a file - if(!file.getName().startsWith("._")){ + if (file.getName().endsWith(".m3u")) + { + M3UPlaylist m3u = new M3UPlaylist(file, formatHandler); + addPlaylist(m3u.getPlaylist()); + for (Media newsong:m3u.getPlaylist().getSongs()) { + addSong((Song)newsong); + } + } + else if(!file.getName().startsWith("._")){ FileItem fileItem=new FileItem(file,formatHandler); if(fileItem.isSong()) addSong(fileItem); @@ -277,6 +285,7 @@ } } + public void addPlaylist(Playlist playlist){ System.out.println("Adding playlist:"+playlist.getName()); Index: net/sourceforge/x360mediaserve/upnpmediaserver/upnp/items/Playlist.java =================================================================== RCS file: /cvsroot/x360mediaserve/x360mediaserve/net/sourceforge/x360mediaserve/upnpmediaserver/upnp/items/Playlist.java,v retrieving revision 1.4 diff -u -r1.4 Playlist.java --- net/sourceforge/x360mediaserve/upnpmediaserver/upnp/items/Playlist.java 25 Feb 2006 14:24:51 -0000 1.4 +++ net/sourceforge/x360mediaserve/upnpmediaserver/upnp/items/Playlist.java 2 Sep 2006 19:20:55 -0000 @@ -41,6 +41,10 @@ this.songs=songs; } + public ArrayList getSongs() { + return songs; + } + @Override public ContentNodeList getContentList(String serverAddress){ System.out.println("Getting content");