groovebasin/TODO
2012-03-06 03:38:22 -08:00

80 lines
3.7 KiB
Text

* if you select the last track in blink 182 enema of the state and press down,
it goes to the wrong track next
* left in library on collapsed element should jump to parent
* right in library after expanding element should jump to 1st child
* online user interaction:
- join/left messages
- user is typing notices (typically this is not done in a room with > 2 people)
- attention grabbers for chat activity
- surround chatted urls with <a>
- queued tracks should know which user queued them
> displayed as colors?
- library songs should know which user uploaded them if any
> this would require user authentication :-/
- server-side chat logs
* if you move a blue song such that it touches a non-blue song, it loses its
blueness
* shortcuts window should be scrollable with arrows
* shortcuts window doesn't close with Escape after a Ctrl+F in Chrome
* Time column disappears when window is too thin
* Time column can cut off part of 4-digit times
* option to not auto-queue uploaded songs
* ability to password protect - make it so that not everybody can kill mpd,
enable/disable audio outputs, edit tags, upload tracks, change playback
state, etc.
* ability to delete songs from library
* ability to edit tags
* ability to move a file to a better location based on its tags
* put song files in an intelligent place when uploading
* smarter anticipation of commands to avoid the glitchy behavior when you do
a repetitive action quickly, such as turning the volume down incrementally
or moving a track down one space at a time
* make the list of uploaded files go away after they're all done.
* as part of lower casing for artist/album keys, change ñ to n, etc.
- like http://lucene.apache.org/core/old_versioned_docs/versions/3_5_0/api/core/org/apache/lucene/analysis/ASCIIFoldingFilter.html
* shift+down select another item, shift+up unselect it
* hold ctrl to move cursor without selection
- use alt for moving tracks up/down
* dynamic mode populates twice when user clicks Clear
- (due to mpd 'player' and 'playlist' events both being handled with empty playlist)
* display an icon when connection to server is lost.
* attempt to reconnect when lost connection to server.
* display any mpd status error message
* ability to download multiple songs at once
* library management
- duplicate detection and elimination
> if a song is byte for byte the same (check md5's) then ignore the
new song
> use heuristics to guess if songs are probably the same (using tags). if
we are reasonably confident that the songs are the same, delete the one
with the lower quality.
> if we're not confident enough, there will be an
api that lists possible duplicates and actions to resolve them.
- when a song is added to the library, automatically replaygain scan it
and the album from whence it came. Do this for update as well.
- ability to add song to library by URL
* plugin API
- plugin to scrobble songs to last.fm
> global and per-user scrobbling
- plugin to import songs to library from youtube URL
- move dynamic playlist mode functionality to a plugin
* file folder inbox to import stuff
* take mpd's status into account. Make them editable?
- consume
- random
* good shuffle heuristics:
- songs that get skipped more often have less probability of being
randomly chosen.
- ability to ban from random
> keyboard shortcut 'B'
- make dynamic playlist mode options configurable
* prepend '!' to a search word to NOT match the word. '\!' to literally match
'!'. '\\' to literally match '\'
* ability to upload zip files
* ability to filter playlist
* playlist management
- save
- display
- grab individual tracks
- switch to