Fix for ff/rw in long MP3 files.
[kugel-rb.git] / songdbj / ArtistEntry.java
blobfcaaac7deed933157dfe9cfaa9078e59ee67f87a
1 import java.util.*;
2 import java.io.*;
4 public class ArtistEntry extends Entry implements Comparable {
5 protected String name;
6 protected Vector albums;
7 protected int albumcount;
9 public ArtistEntry(String n) {
10 name=n;
11 albums=new Vector();
12 albumcount=0;
15 public void addAlbum(AlbumEntry e) {
16 if(!albums.contains(e)) {
17 albums.add(e);
18 e.setArtist(this);
19 albumcount++;
20 Collections.sort(albums);
24 public void removeAlbum(AlbumEntry e) {
25 albums.remove(e);
26 albumcount--;
29 public int size() { return albumcount; }
31 public int compareTo(Object o) {
32 return String.CASE_INSENSITIVE_ORDER.compare(name,((ArtistEntry)o).getName());
35 public String getName() { return name; }
36 public Collection getAlbums() { return albums; }
37 public void write(DataOutputStream w) throws IOException {
38 int x;
39 w.writeBytes(name);
40 for(x=TagDatabase.getInstance().artistlen-name.length();x>0;x--)
41 w.write(0);
42 Iterator i2 = albums.iterator();
43 x=0;
44 while(i2.hasNext()) {
45 Entry e = (Entry) i2.next();
46 w.writeInt(e.getOffset());
47 x++;
49 for(;x<TagDatabase.getInstance().albumarraylen;x++)
50 w.writeInt(0);
52 public static int entrySize() {
53 TagDatabase td=TagDatabase.getInstance();
54 return td.artistlen+4*td.albumarraylen;