Skip to content
fxh32 edited this page Nov 15, 2011 · 1 revision

Goals

The primary goals of v0.3 were to provide additional amenities to the user interface as well as general usability feature enhancements, as well as preparing Partify for its initial distribution solution.

Features Implemented

  • (#22) Move Configuration Information into Database - Moved configuration information for Partify out of a Python file and into the database as a set of key,value pairs. Makes providing a user interface to this information much easier.

  • (#51) Queue Summary - Each queue (user, global) now has a summary at the end of it showing how many tracks are in the queue and the total cumulative time of the tracks in the queue.

  • (#55) Administrative Interface - A blanket issue for an administrative interface which can aid administration of Partify. See #56, #57, #58, #65.

  • (#56) Implemented Privileges - Implemented a system whereby users can have privileges which allow certain administrative or other actions.

  • (#57) Player Control - Implemented an interface to allow for player control in the administrative interface. Controls that were implemented include track skipping, play queue clearing, pausing, and playing.

  • (#58) Configuration Interface - Added an interface for editing Partify configuration values.

  • (#59) Account Settings - Implemented an interface to allow a user to edit his or her settings. For now this is just the display name and password.

  • (#60) Develop Initial Distribution Solution - Partify needs to be easily distributed. Since it is mostly a Python project, I've decided to choose PyPI as the distribution medium since distutils can allow for automatic dependency installation. Since PyPI might not be the most intuitive service to use to install software, especially for non-Python users, I have created a setup script for Ubuntu to automate Mopidy and Partify installation. This wiki will need to be updated with this information, as well as installation information for users running operating systems other than Ubuntu (assuming that Mopidy can also run on those platforms). Someday a Debian/RPM/Yum package might be worth trying to roll together...

  • (#65) Allow Admin Users to Administer Other Admin Users - Users with ADMIN_ADMIN privileges should be able to modify the privileges of other users... a self-administration, of sorts.

  • (#66) Facilitate Profiling - A profiling solution is needed in order to be able to figure out why some endpoints are slow. Werkzeug profiling information is available with the PROFILE configuration value set to True.

  • (#68) Show Admin Console on First Run - After Partify is first installed, the Administration console should be shown so that Partify can be told where the Mopidy server is as well as having other pertinent configuration values set.

Bugs Fixed

  • (#36) Show Track Number in Search Results - Search results now show each track's position on its respective album.

  • (#43) Show Even/Odd Hints in Queues - Each queue (user, global) now shows even/odd shading to better distinguish each track.

  • (#61) Update Now Playing Avatar - Fixed a bug where a user's avatar would sometimes not update when the user playing the current track would change.

  • (#62) New Track Sometimes Appears Twice in Party Queue - Occasionally a timing bug/race condition in adding a track would cause a track to appear to have been added twice to the global play queue, once by an "Anonymous" user. This was rectified by enforcing locking between the endpoints which modify the Mopidy server and the playlist update listener.

  • (#63) Reorder Causes Misplaced Track - Fixed an issue where reordering a user queue would cause the now playing track to appear in the user's queue and would cause it to show up somewhere in the middle of the queue.

  • (#70) Figure Out Why Add Track is So Slow - Add track is slow, but probably won't be fixed soon. The reason it is slow is because track metadata needs to be looked up from Spotify, which can take a little bit (on the order of a few seconds). This might eventually be able to be mitigated by allowing the Track internally to be marked as created but not filled out and have the Spotify metadata lookup occur asynchronously in another thread, but for now I can live with a 1-2s track addition time.

  • (#74) Rename run.py - As part of the distribution solution, run.py was renamed to something better to allow it to be installed on user's systems with a meaningful name (now run_partify).

Clone this wiki locally