summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlvw <lvw@e10066b5-e1e2-0310-b819-94efdf66514b>2004-09-16 08:02:00 +0000
committerlvw <lvw@e10066b5-e1e2-0310-b819-94efdf66514b>2004-09-16 08:02:00 +0000
commitc4c3fabddb122710ee0d478d03ed98d82d24c435 (patch)
tree5ad03446600c22c9e4542864ff0e5b0945454a0a
parentba85624940c295af07e558e3bff16d0a8657ed1e (diff)
downloadvdr-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--README3
-rw-r--r--TODO454
-rw-r--r--muggle.c2
3 files changed, 213 insertions, 246 deletions
diff --git a/README b/README
index 75b2d20..c23fb5a 100644
--- a/README
+++ b/README
@@ -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).
diff --git a/TODO b/TODO
index 402aa85..3be604e 100644
--- a/TODO
+++ b/TODO
@@ -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
diff --git a/muggle.c b/muggle.c
index ecb1824..92e9831 100644
--- a/muggle.c
+++ b/muggle.c
@@ -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";