From 9fee0ec4ca0c5b7a334cc29dbb58e76c7a4c736e Mon Sep 17 00:00:00 2001 From: Michiel Van Der Kolk Date: Mon, 11 Jul 2005 15:42:37 +0000 Subject: Songdb java version, source. only 1.5 compatible git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7101 a1c6a512-1295-4272-9138-f99709370657 --- songdbj/AlbumEntry.java | 76 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 songdbj/AlbumEntry.java (limited to 'songdbj/AlbumEntry.java') diff --git a/songdbj/AlbumEntry.java b/songdbj/AlbumEntry.java new file mode 100644 index 0000000..14c2095 --- /dev/null +++ b/songdbj/AlbumEntry.java @@ -0,0 +1,76 @@ +import java.util.*; +import java.io.*; + +public class AlbumEntry extends Entry implements Comparable { + protected String name; + protected ArtistEntry artist; + protected Vector songs; + protected int songcount; + + public AlbumEntry(String n) { + name=n; + songs=new Vector(); + artist=null; + songcount=0; + } + + protected class SongSorter implements Comparator { + public int compare(Object o1, Object o2) { + SongEntry s1=(SongEntry)o1; + SongEntry s2=(SongEntry)o2; + int track1=s1.getTrack(),track2=s2.getTrack(); + if(track1>track2) + return 1; + else if(track1")) { + artist.removeAlbum(this); + artist=TagDatabase.getInstance().getArtistEntry(""); + } + else + artist=a; + } + public ArtistEntry getArtist() { return artist; } + + public int compareTo(Object o) { + return String.CASE_INSENSITIVE_ORDER.compare(name,((AlbumEntry)o).getName()); + } + + public String getName() { return name; } + public Collection getSongs() { return songs; } + public void write(DataOutputStream w) throws IOException { + int x; + w.writeBytes(name); + for(x=TagDatabase.getInstance().albumlen-name.length();x>0;x--) + w.write(0); + w.writeInt(artist.getOffset()); + Iterator i2 = songs.iterator(); + x=0; + while(i2.hasNext()) { + Entry e = (Entry) i2.next(); + w.writeInt(e.getOffset()); + x++; + } + for(;x