ToasTunes is a social web app for browsing and listening to a music library, adding comments and ratings, and adding album art and genre classifications. ToasTunes was written by @drtoast.
- Created using Ruby 1.9, Rails 3, jQuery, CSS3, HTML5
- MongoDB datastore via Mongoid
- HTML5 audio playback (no Flash required)
- Devise for secure user authentication
- HAML view templates
- ID3 tag parsing and album art extraction
- Album art retrieval using Amazon AWS API
- Bundler for dependency management
installation, Mac OSX:
rvm install 1.9.2 brew install mongodb brew install ghostscript brew install imagemagick git clone git://github.com/drtoast/toastunes.git cd toastunes bundle
edit config files
Rename config/mongoid.yml.sample to toastunes.yml, and add your Mongo configuration.
Rename config/toastunes.yml.sample to toastunes.yml. To download album art via Amazon AWS, add your developer key id and secret key.
Add an initial admin user:
To add users, send them to /users/sign_up, then log in as an admin to approve their account at /users.
load an iTunes library
To load your iTunes library, run the following rake task, providing a path to your iTunes folder, and an optional name for the library (when managing multiple libraries).
Then extract/process album art, artists, genres:
load a directory
Make sure your library directory structure is like the following:
yourlibrary/Artist Name/Album Title/Song Title.mp3
Create a symlink from your music directory to public/music/yourlibrary:
cd toastunes ln -s /volumes/yourlibrary public/music/yourlibrary
Parse your library
replace old genres with new ones via a lookup file
delete genres that have no albums
precompile assets prior to a production release (public/assets currently ignored in .gitignore)
Currently only runs well in Google Chrome.
Can't read filenames with funky characters on Samba shares, e.g. "Miss Kitten & The Hacker/Two/09 Inutile EternitÃ©.mp3"
Parsing of ID3 picture tags needs some work