Commits on Nov 9, 2014
  1. Added a user actions table for tracking user activity. Next step is t…

    …o put actions in it whenever they occur
    committed Nov 9, 2014
  2. Used global track metadata to calculate track playback progress when …

    …Content-Length header is not provided by the server. Added a placeholder for an event to be thrown when playback is 80% complete.
    committed Nov 9, 2014
  3. Modified client to extract track mime type from global tracks dict in…

    …stead of html template. Hooray for separation of model and view!
    committed Nov 9, 2014
  4. Added global maps of artist, album, and track information keyed on mu…

    …sik id that are populated automatically by API calls. These will be used to fetch rich information about an object that we don't want to store in the html attributes
    committed Nov 9, 2014
  5. Added some null ref protection in the case where certain properties o…

    …f an object were not set, fixed length documentation to read seconds instead of milliseconds
    committed Nov 9, 2014
Commits on Oct 5, 2014
  1. Added an explicit sort to sub-objects of artist, album and disc. This…

    … means that an artist's albums will be sorted by title_sort, and an album or disc's tracks will be sorted by tracknumber whenever their parent objects are returned by the api
    committed Oct 5, 2014
  2. Added singular Artist and Album endpoints that return full details ab…

    …out an artist or album respectively. Trimmed down the objects returned by the Artists and Albums endpoints to that the client needs less data when assembling a list of multiple artists or albums. Updated the client appropriately.
    committed Oct 5, 2014
  3. Simplified streaming of a file that doesn't require transcoding, sinc…

    …e cherrypy supports returning a file-like object from an http handler instead of manually reading the file and yielding its bytes. Also added a basic progress bar to the web interface. The progress bar only works on files that are not being transcoded, since we don't know the size or duration of files that are being transcoded. Next step is to use the length from track metadata instead
    committed Oct 5, 2014
Commits on Sep 7, 2014
  1. Wired up basic auth and modified client to require a valid session pr…

    …ior to doing anything useful. Getting this to work required me to remove auth requirements for calls to /api/stream/*, which could be considered a security hole, as it allows arbitrary clients to stream without credentials. See issue #54 for details
    committed Sep 7, 2014
Commits on Aug 26, 2014
  1. Updated login and registration form styles and hooked up javascript n…

    …av events. Next step is basic validation and button click handling
    committed Aug 26, 2014
Commits on Aug 22, 2014
  1. Wired up the login/register button in the nav bar, started work on re…

    …storing the old login and registration forms
    committed Aug 22, 2014
Commits on Aug 21, 2014
  1. Updated the readme

    committed Aug 21, 2014
  2. Client now intelligently selects the desired format of a song that is…

    … selected for playback. We try to play the native format of the file whenever possible. If it isn't supported, we choose either ogg vorbis or mp3, depending on what is supported by both server and client.
    committed Aug 21, 2014
  3. Added file mime type to Track object in database and ensured that it …

    …is guessed at import type
    committed Aug 21, 2014
Commits on Aug 3, 2014
  1. Fixed a typo in the importer that was causing an exception during imp…

    …ort of albums with disc subtitles
    committed Aug 3, 2014
Commits on Aug 2, 2014
  1. Merging ember branch into master. This change represents an entirely …

    …re-written javascript client that avoids page refreshes so that the user can navigate while music is playing. Some features (notably accounts and sessions) have been disabled to support the re-write
    committed Aug 2, 2014
  2. Integrated new audiotranscode library and fixed the interface event h…

    …andlers. ogg/vorbis streaming is now working! Next steps are to send a content-type header to the server in the stream request that specifies the codecs that the player supports. The server will then intelligently choose whether or not it's necessary to transcode
    committed Aug 2, 2014
  3. Added python-audiotranscode to project. This project is not in pip, s…

    …o I've forked it and am copying files over manually.
    committed Aug 2, 2014
Commits on Mar 19, 2014
  1. Pulled in some old SoundManager2 code from the master branch. Wired u…

    …p album page track listings to have individual play links that construct a streaming url and load it into SoundManager2. Unfortunately, the streaming code seems to be broken - I can't open an ogg stream with either vlc or js.
    committed Mar 19, 2014
Commits on Mar 18, 2014
  1. Moved soundmanager 2 js library up into libs folder and renamed it to…

    … contain version info in file name
    committed Mar 18, 2014
Commits on Feb 8, 2014
  1. A bunch of upgrades and improvements to the UI. Albums are displayed …

    …on artist pages, tracks are displayed on album pages, and templates are cleaner in general. Still some odd width issues on the artist page, and we need to create some kind of bread crumb nav, but it's coming along.
    committed Feb 8, 2014
Commits on Nov 29, 2013
Commits on Nov 27, 2013
  1. Added artist listing to new jQuery interface. Next steps are to add i…

    …ndividual links to details pages
    committed Nov 27, 2013
  2. Started ripping out ember and replacing it with a home-brewed solutio…

    …n that uses jQuery and Handlebars. I've wasted too much time learning frameworks when I could have just written the app myself
    committed Nov 27, 2013
Commits on Oct 5, 2013
  1. Added nested objects to api queries. artist queries now include album…

    …s by the artist, which in turn include tracks on the album, etc. Front-end web application templates need to be upgraded to support these new fields
    committed Oct 5, 2013
Commits on Sep 28, 2013
  1. Added the requests library

    committed Sep 28, 2013
Commits on Jul 5, 2013
  1. Wired add media form submit button up to the importer POST api. It's …

    …rough, but it lets you import media. Next step here is to listen for import errors and warnings
    committed Jul 5, 2013