diff options
author | lvw <lvw@e10066b5-e1e2-0310-b819-94efdf66514b> | 2004-09-16 08:02:00 +0000 |
---|---|---|
committer | lvw <lvw@e10066b5-e1e2-0310-b819-94efdf66514b> | 2004-09-16 08:02:00 +0000 |
commit | c4c3fabddb122710ee0d478d03ed98d82d24c435 (patch) | |
tree | 5ad03446600c22c9e4542864ff0e5b0945454a0a | |
parent | ba85624940c295af07e558e3bff16d0a8657ed1e (diff) | |
download | vdr-plugin-muggle-c4c3fabddb122710ee0d478d03ed98d82d24c435.tar.gz vdr-plugin-muggle-c4c3fabddb122710ee0d478d03ed98d82d24c435.tar.bz2 |
Documentation updated.
git-svn-id: https://vdr-muggle.svn.sourceforge.net/svnroot/vdr-muggle/trunk/muggle-plugin@168 e10066b5-e1e2-0310-b819-94efdf66514b
-rw-r--r-- | README | 3 | ||||
-rw-r--r-- | TODO | 454 | ||||
-rw-r--r-- | muggle.c | 2 |
3 files changed, 213 insertions, 246 deletions
@@ -39,7 +39,7 @@ software are required: - mySQL server (tested with 4.0.18) (Debian packages mysql-server, mysql-client) - mySQL client libraries - (Debian package libmysqlclient-devi or + (Debian package libmysqlclient-dev or http://www.mysql.org) - libmad (for mp3 decoding) (Debian package libmad0-dev or @@ -81,7 +81,6 @@ Within the VDR main directory (e.g. /usr/local/src/VDR) issue a This should build all relevant stuff. If you have difficulties, check that required libraries are in the library directories stated in the muggle Makefile. - \section import IMPORT The import is done in two steps: First, a database is created and initialized with proper data structures (so-called schema). @@ -1,243 +1,211 @@ -TODO File for Muggle -==================== - -Ogg/Vorbis decoder integration ------------------------------- -- Think, whether type (mp3, ogg, flac) should be stored in database - -Deployment ----------- -- Script to publish a version - - make dist - - copy .tgz, README, CHANGES, HISTORY into web directory - - generate documentation - - copy into web directory - - sync with web - ------------------ publish_muggle.sh ----------------- -# $1: version name (e.g. 0.0.5-BETA) - -# how to determine current path? -svn copy ... http://.../svn/muggle/tags/$1 - -make dist -# obtain name from output? or copy commands and make correctly -mv vdr-muggle-0.0.1.tgz ~/Web/current/htpc/muggle/vdr-muggle-$1.tgz - -cp README ... -cp TODO ... -cp CHANGES ... - -doxygen muggle.doxygen -cp -R doc ~/Web/current/htpc/muggle/ - -sitecopy --update htpctech - ------------------------------------------------------ - -- How to track bugs and feature requests? - -Testing/bugs ------------- -- Test execution of playlist commands -- Keep this? Test mgPCMPlayer::getSourceFile() for GD case (find) -- Test saving/loading playlists to database - -Import ------- -- Album - - Cover text - - Cover images (based on filename or tag) - - Genre - - Modified - -- Tracks - - Language (?) - - Genre1, 2 - - Rating? - - Modified, created - - Lyrics - -- Playlist from m3u - -Code polishing --------------- -- Check for unnecessary log commands -- Generate HTML documentation using doxygen, - - use dotty/gv for state machines of player - - make available online -- Clean up mugglei -- Check for memory leaks - - Why do filters use pointers? -- Check for (reasonably) consistent usage of char*/string - -- mgDatabase is not used? - - should handle a static object with a MySQL connection - - execute queries? -- mgPlayer used what for? - - Could save IP/host name and associate last playlist loaded - -- Check compatibility for 1.3.12 - -Short term items -================ - -OSD in general --------------- - -Content -------- -- Handle loop mode in mgPlaylist -- Handle shuffle mode in mgPlaylist - -Player ------- -- Determine max. framecount (needed for rewinding)? -- Init scale/level/normalize? -- Add ogg decoder - -- Add a simple progress display (song title, artist, ...) -- DisplayTrackInfo (part of the player!) -- DisplayAlbumInfo (part of the player!) - -Medium term items -================= -- really abstract from specific queries etc. -- mgDatabase should completely abstract database (mySQL) stuff!? - - read/write queries - - return results (needs a homogeneous representation of results?) - -- Run import/update from within OSD? - -OSD ---- -- Type numbers to enter characters and jump to first title accordingly -- Check whether hierarchical menus are more suitable - -Content -------- -- Save/load filter sets -- Apply filter set as dynamic playlist (i.e. show filters when loading playlists) -- Handle ratings (increase/decrease during replay) - -Player ------- -- Shuffle: toggle and loop keys. Shuffle only songs not already played, not easy though -- Display covers as still pictures -- Add flac decoder -- Set ratings - -Import ------- -- Handle updates - -Web interface -------------- -- Look at PHP stuff from c't 11/04 and adapt to schema? - -Long term ideas -=============== -- daapd integration? -- netjuke integration? -- Display arbitrary images while playing music - -Visions -======= -- handle off-line films (CDs, DVDs, recordings) -- handle streams (live TV with channel list, MP3 radio,..., EPG) -- handle images (possibly in sync with music/radio) -- muggle content syndication (e.g. via DAAPD) -- provide a stream (e.g. icecast) of the currently played music? - -Already Done -============ -- Check play speed (probably XINE related) -- Playlists starts with 2nd song (DONE) -- Export playlists -- Delete selected item -- Add command line option for top level directory - - prepended to filename in non-GD-mode - - searched in GD-mode -- Edit playlist (move tracks like channels in VDR channel list) - (OK in playlist view) -- Instant play = empty current playlist, append tracks of current node and play - (easy, in submenu of browser) -- Clear playlist (submenu action) -- Find files from database entry based on GD compatibility flag -- Handle Next/PrevFile in mgPlaylist (vdr_player.c) -- Add plugin parameters for database name/host/user/pass -- Add plugin parameter for GD filename compatibility -- handle filters: - - create tracklist from filter - - create tree from filter -- i18n (english and german) -- Album import - - Various artists -- Ogg/Vorbis decoder integration - - cOggFile kept - - cOggInfo dismissed in favor of obtaining info from DB - - coding conventions adapted - - Schema extended to keep audio properties - - Import (mugglei) extended to store audio properties in DB - (most notably samplerate, no. channels) - - Extended mgContentItem with audio properties - - Extended mgGdTrack with audio properties (bitrate, samplerate, channels) - - in mgPCMPlayer/vdr_player.c: - - pass m_playing to mp3/ogg decoder (instead of filename) - - mgOggDecoder: obtain audio properties from DB (channels, sampling rate via mgContentItem) - - mgPCMPlayer::getSourceFile moved to abstract data layer (mgContentItem) - and made concrete in subclasses (mgGdTrack) - - mgDecoders::findDecoder: extend decoder detection - -************************************************************ -* -* $Log: TODO,v $ -* Revision 1.14 2004/08/30 14:31:43 LarsAC -* Documentation added -* -* Revision 1.13 2004/08/27 15:20:33 LarsAC -* Updated open issues w.r.t. import -* -* Revision 1.12 2004/08/26 11:11:42 LarsAC -* Import changed to use taglib -* -* Revision 1.11 2004/07/29 06:18:07 lvw -* Added todo entries -* -* Revision 1.10 2004/07/29 05:58:14 lvw -* TODO list changed -* -* Revision 1.9 2004/07/27 07:06:00 LarsAC -* Added file for doxygen documentation generation -* -* Revision 1.8 2004/07/09 13:47:07 LarsAC -* Updated next steps -* -* Revision 1.7 2004/05/28 15:29:18 lvw -* Merged player branch back on HEAD branch. -* -* Revision 1.1.2.12 2004/05/27 07:58:38 lvw -* Removed bugs in moving and removing tracks from playlists -* -* Revision 1.1.2.11 2004/05/25 21:57:58 lvw -* Updated TODO list -* -* Revision 1.1.2.10 2004/05/25 00:10:45 lvw -* Code cleanup and added use of real database source files -* -* Revision 1.1.2.9 2004/05/24 11:48:35 lvw -* Extended TODO list -* -* Revision 1.1.2.8 2004/05/13 06:48:00 lvw -* Updated TODO list -* -* Revision 1.1.2.7 2004/05/12 22:38:37 lvw -* Some cleanup -* -* Revision 1.1.2.6 2004/05/11 06:35:16 lvw -* Added debugging while hunting stop bug. -* -* Revision 1.1.2.5 2004/05/07 06:46:41 lvw -* Removed a bug in playlist deallocation. Added infrastructure to display information while playing. -* -***********************************************************/ +/*! \page issues Muggle Issue List + + The page lists a number of open issues and possible ideas for improvement. + It can be seen as a notepad for the developers or as an entry point for + volunteers. There is no real order among those things and even the occurrence + of an issue does not mean that it will be implemented/resolved at some time. + + If you feel, something is really urgent, go ahead. We'll help you. + + \section urgent Urgent issues + + \subsection bugs Bugs and testing needed + + - Test execution of playlist commands + - Keep this? Test mgPCMPlayer::getSourceFile() for GD case (find) + - Test saving/loading playlists to database + + \subsection urgentosd OSD-related Issues + + - Add play indicators + - Toggle display with Ok (off -> track info -> album info -> playlist info -> off) + - Display track info + - Song title + - Artist + - Genre + - Album + - Bitrate, channels, samplerate, format, ... + - Progress display + - Display album info + - Album name + - Artist + - Year + - No. Tracks + - Track names? + - Display playlist info + - Overall progress + - Next track(s) + + \subsection urgentcode Code polishing + + - Check for unnecessary log commands + - Generate HTML documentation using doxygen, + - use dotty/gv for state machines of player + - make available online + - Clean up mugglei (abstract code where possible) + - Check for memory leaks + - Why do filters use pointers? + - Check for (reasonably) consistent usage of char pointers and strings + + - mgDatabase is not used? + - should handle a static object with a MySQL connection + - execute queries? + - mgPlayer used what for? + - Could save IP/host name and associate last playlist loaded + + \subsection urgentcontent Content handling + + - Think, whether type (mp3, ogg, flac) should be stored in database + - Handle loop mode in mgPlaylist (already done?) + - Handle shuffle mode in mgPlaylist + - Party mode (see iTunes) + + \subsection urgentplayer Player extensions + + - Determine max. framecount (needed for rewinding)? + - Init scale/level/normalize? + - The max. level should be recognized during play + - Store max. level in the database + + \subsection deploy Deployment + + - Script to publish a version + - make dist + - copy .tgz, README, CHANGES, HISTORY into web directory + - generate documentation + - copy into web directory + - sync with web + - How to track bugs and feature requests? + + \verbatim + # $1: version name (e.g. 0.0.5-BETA) + + # how to determine current path? + svn copy ... http://.../svn/muggle/tags/$1 + + make dist + # obtain name from output? or copy commands and make correctly + mv vdr-muggle-0.0.1.tgz ~/Web/current/htpc/muggle/vdr-muggle-$1.tgz + + cp README ... + cp TODO ... + cp CHANGES ... + + doxygen muggle.doxygen + cp -R doc ~/Web/current/htpc/muggle/ + + sitecopy --update htpctech + \endverbatim + + \section mid ToDo items of moderate importance + + \subsection midimport Import stuff + + - Album + - Genre + - Modified + - Cover text + - Cover images (based on filename or tag) + + - Tracks + - Language (?) + - Genre1, 2 + - Rating? + - Modified, created + - Lyrics + + - Import playlist from m3u + - Run import/update from within OSD? + - Handle updates in both directions + - Check modification date in DB/fstat + - if file is newer: update tags into db + - if DB is newer: update db into tags + + \subsection midcode Code issues + + - really abstract from specific queries etc. + - mgDatabase should completely abstract database (mySQL) stuff!? + - read/write queries + - return results (needs a homogeneous representation of results?) + + \subsection midosd OSD-related issues + + - Incremental search + - Type numbers to enter characters and jump to first title accordingly + - Check whether submenus (as implemented in VDR) are more suitable + - do not permit jumping to arbitrary menus though + + \subsection midcontent Content issues + + - Save/load filter sets + - Apply filter set as dynamic playlist (i.e. show filters when loading playlists) + - Handle ratings (increase/decrease during replay) + - Keys to directly increase + - handle a playcounter + - when playfrequency reaches lower level x from above: decrease rating + - when playfrequency reaches lower level x from below: increase rating + - when playfrequency reaches upper level y from above: decrease rating + - when playfrequency reaches upper level y from below: increase rating + + \subsection midplayer Player issues + + - Display covers + - Add flac decoder + + \section vision Long term ideas and visions + + - daapd integration? + - netjuke integration? + - Display arbitrary images while playing music + + - handle off-line media (CDs, DVDs, recordings) + - handle streams (live TV with channel list, MP3 radio,..., EPG) + + - handle images (possibly in sync with music/radio) + - muggle content syndication (e.g. via DAAPD) + - access media on someone elses computer + - provide a stream (e.g. icecast) of the currently played music? + - allow remote stations to attach to this + + \section done Done + + - Check play speed (was XINE related) + - Playlists starts with 2nd song (DONE) + - Export playlists + - Delete selected item + - Add command line option for top level directory + - prepended to filename in non-GD-mode + - searched in GD-mode + - Edit playlist (move tracks like channels in VDR channel list) + (OK in playlist view) + - Instant play = empty current playlist, append tracks of current node and play + (easy, in submenu of browser) + - Clear playlist (submenu action) + - Find files from database entry based on GD compatibility flag + - Handle Next/PrevFile in mgPlaylist (vdr_player.c) + - Add plugin parameters for database name/host/user/pass + - Add plugin parameter for GD filename compatibility + - handle filters: + - create tracklist from filter + - create tree from filter + - i18n (english and german) + - Album import + - Various artists + - Ogg/Vorbis decoder integration + - cOggFile kept + - cOggInfo dismissed in favor of obtaining info from DB + - coding conventions adapted + - Schema extended to keep audio properties + - Import (mugglei) extended to store audio properties in DB + (most notably samplerate, no. channels) + - Extended mgContentItem with audio properties + - Extended mgGdTrack with audio properties (bitrate, samplerate, channels) + - in mgPCMPlayer/vdr_player.c: + - pass m_playing to mp3/ogg decoder (instead of filename) + - mgOggDecoder: obtain audio properties from DB (channels, sampling rate via mgContentItem) + - mgPCMPlayer::getSourceFile moved to abstract data layer (mgContentItem) + and made concrete in subclasses (mgGdTrack) + - mgDecoders::findDecoder: extend decoder detection + - Check compatibility for 1.3.12 (DONE) + +*/
\ No newline at end of file @@ -24,7 +24,7 @@ #include "i18n.h" -static const char *VERSION = "0.0.1"; +static const char *VERSION = "0.0.4"; static const char *DESCRIPTION = "Media juggle plugin for VDR"; static const char *MAINMENUENTRY = "Muggle"; |