TODO - revised March 11, 02007 This is a loose roadmap for development. In general, things that may affect underlying architecure should be alpha, known problems / requests that aren't architectural should be beta, and new features are after that. ###### ALPHA ###### RC16 Clean up and release!!! conf - set fastcgi / allowburn / debug = 0, some filter=0, clean up var, Master httpd - review calliope.httpd.conf settings (no fastcgi by default!) var - empty of logs albumcovers - empty out RC17 These are the various things under consideration for rc17.... DB CHANGES -Lists/Songs- linked lists (song B requires songs A->B->C in random play, classical, talking, comedy, etc.) BUGS? -get fastcgi sorted out for final. -When resetting volume of album, channel volume changes too? -if no contact info, dont show :feedback/contact/etc -definitely a memory leak in Audio::M4P::Quicktime. -Editing associations for list: This page should correctly identify the mode we're in (exclude, include, ignore). Note that ignore is essentially include (ie no excludes in list), and 0 listgenres. -should be able to export a "new albums/songs" cd -what happens if you try and burn a "mixed" cd (multiple file types)? I'll bet it doesn't work. LOADER - loader has problem when no id3 tag, and songname has underscore "_" (thinks it's a track marker?) - don't use '::' as divider - mac doesn't like it. something else? - review utf8 issues - maybe have loader check for new songs while calliope is running? INSTALL -detect apache user and set conf / onwnership -install -c option checks if a distro is set up ok (run when calliope start first time? touch passed or something?) PERFORMANCE -Review Web/Request - lots of places where retrieveJoin could be used to save queries. -all search results should be sorted with Unicode::Collate -do we need an albumflag table? FEATURES id3out -n -f (default those without, -new (changed), -f(orce all)) music root view (drag n drop between disk drives) - also, add description that's visible, and include/exclude in random play - note - if album is on two roots, shows as two albums. we should compare albums less music roots, and show 1 albums on multiple roots (not n albums). play list from command line Interface - would be nice to edit all songs en masse (all titles, ratings, etc.) export page buggy? (javascript / style) upload page for uploading files? net load (britt) favicon.com suggestions from the web: song info page link to lyrics, music genome, album cover, etc. 1. When calliope refreshes, make the title of the web page the currently playing song. 2. Add a facility to play a specific song of list to the command line interface, Calliope would then be easy to set up on a cron job to switch between different kinds of music. RC18 DB CHANGES EDITING - check in / check out? ARTISTS - put cleaning data in DB MESSAGING finish moving all messages into messages.eng for multi-lingual support. note especially dev/bin/command stuff. Also, route all through feedback? (Port-burn, Commmand, Loader, Util-weekday, templates!) suckertree menu doesn't work for text entries move calliope to a css layout, not frames! INSTALLER - also, use insserv or chkconfig, rather than symlinking directly. - review and test uninstall. - add more fine-grained support for various distros DOCUMENTATION - put together a feature matrix, maybe screen shots, a code /object model and dbschema model - definitely need to look at better documentation, particularly the web pages. - spell out *all* the features and how to use them. a feature matrix comparing calliope to other products would be useful, as well as screen shots, etc. FEATURES 5 sec each song play mode (review new music) - history of albums w y/n/skip play streaming radio stations. Loader - RVAD patch! - finish this up and submit it.... TEST - test all for HTML 4.0 compatibility (see http://validator.w3.org/) - review and finalize Master file ###### BETA ###### limit user access by channel? db stats - break down by owner? merge conf feature? GENERAL - type in to musicbrainz et all? - drag and drop between lists RSS - add support for "podcasting" to get the latest music PERFORMANCE - try Ajax (see actionqueue.tmpl and Action.pm for initial steps). QUEUE - Use Ajax to continously update queue LOADER - network loading (contributor equivalences, album dupes) -also, "load" should have a "refresh" mode that allows a user to reload new id3 info, and detect album images, without having to flush the db! STREAMING * Listener functions don't work due to icecast changes in v2.x Icecast does have a listclients.xsl file under the admin directory that might be able to be parsed, if it weren't password protected. GENERAL CODE DESIGN * deal with soundtracks better - having an artist and genre the same leaves weird inconsistencies. * sync with ipod and other external devices, possibly clean up import/export. * improve Util::guessType, artist cleaning (baynes?) MAC - i'd like to see what it takes to install this on a mac ####################################################################### # # POST version 1.0 # # I see the following primarily as new features, and thus presumably # to be addressed during beta or before v 2.0. # ####################################################################### it would be very cool to find a way to get calliope to support video as well (go Jonathon, mr. idea!). streamline/revamp Dispatch/Request/Admin - see Action, but request should enter and leave dispatch. REPORTS * list by decade * show newest artists * show most recent searches, more complex searching * make the navbar "by" choices a pull down menu * add "by album" to the navbar PLAY * when showing albums by an artist, pick 1 per album at random * play by decade * sleep timer - play music for 30 minutes... LISTS * provide, trash and download for albums * favorite artists lists (vs favorite songs). GENERAL * auto update * use '*' to indicate presence of notes (as a link), * album covers, lyrics * mac, windows install * email reports? * more interfaces (flash interface?) * modify interface individually (e.g. turn off display of download, etc.) * turn on/off the reloading of the queue feature (so if you're not listening...) * voice command (hey, I can dream)