So I played around with the amp source all weekend and it was really fun playing with cocoa and getting different things working.
Some things I added.
- Progress bars on the import screens.
- Hotkeys for the griffin powermate (pressing option-P plays/pauses, option left/right go to previous/next song, i couldn't get space bar to play/pause like in itunes
)
- Modified the album view to group albums just by name - if there are multiple artists show the artist under the album art as eg "12 artists" - clicking into an album with multiple artists allows you to pick the songs by individual artists for that album name or all songs by all artists for that album name.
- Modified the artist view to include an ALL option - clicking that will list all songs in the database. clicking on an artist and clicking the ALL option will list all songs by that artist across multiple albums.
I'll comment some of the stuff I did in the code and post it tonight or tomorrow, but there were some fundamental changes in the coredatamodel and the importitunesxml method (and other bits and pieces in appdelegate).
I changed the coredatamodel so that it was 2NF, this allowed me to implement the last two points. Basically it removed the artist->album->song chain and replaced it with intertwining relationships.
Is there a program for os x to do code merges? it's not going to be fun reconciling changes from different people all the time. the two things that would help this the most are: a cvs/svn server to track changes and versions by multiple people and splitting up amp_appdelegate into many different files.