new Song("c:\\want.flac"); new Song("c:\\fnt.flac"); new Song("c:\\tracks\\a.flac"); new Song("c:\\tracks\\b.flac"); new Song("c:\\tracks\\c.flac"); new Song("c:\\tracks\\d.flac"); new Song("c:\\tracks\\e.flac"); new Song("c:\\tracks\\f.flac"); new Song("c:\\tracks\\g.flac"); new Song("c:\\tracks\\h.flac"); for(Album a : Album.getAlbums()) { /* * Known issue: If we end up with a single disc album that has a disc name things will go wonky * For example, ALBUM=Popworld (CD of the 90s) * Will split to ALBUM=Popworld DISC=CD of the 90s * But the album will only have discs.size() = 1 so we can merge this! Just need to decide /when/ */ System.out.println(a); for(Entry<String,Disc> d : a.getDiscs()) { if(a.isMultiDisc()) { System.out.println(" Disc: " + d.getKey()); } for(Song s : d.getValue().getTracks()) { System.out.println(" " + s); } } }