-------------------------------------------------------------------------------
madman administrates digital music archives neatly
-------------------------------------------------------------------------------

-------------------------------------------------------------------------------
I. Welcome to madman.
-------------------------------------------------------------------------------

madman is a music manager application that allows you to easily keep your
music database organized and tidy, and it helps you listen to better music,
be happier, brighten your teeth and quickly restore world peace.

madman's killer features include
- Remote control of the XMMS player.
- Full mp3 and ogg tag support, both reading and writing.
  "Slow double click" retagging for fast and convenient retagging.
  Tags are cached between runs in an XML database file.

- Fully drag and drop enabled: Drop a song onto a set,
  reorder your sets by drag and drop, reorder songs within
  a set - all it takes is one mouse drag.
- Powerful expression syntax to quickly locate the music you're looking
  for.

  Examples:
    - pearl|creed|metallica to find something for your 
      anger.
    - jetplane cher to find Cher's version of "Leaving
      on a jetplane."
    - "dog eat" to find "Dog eat dog", but not
      "Sound of dogs eating a human".

- "Sets" which are somewhat like playlists, except they can
  be automatically keep track of songs matched by expressions.

You can get in contact with the author by writing to <inducer@users.sf.net>.
madman's homepage is at http://madman.sf.net.

See the web page for an FAQ.

-------------------------------------------------------------------------------
II. Compiling
-------------------------------------------------------------------------------

To compile madman, you need

- XMMS. [http://www.xmms.org]
  Version 1.2.6 and above.
- Qt. [http://www.trolltech.com]
  Version 3.x tested, others might work, too. (patches welcome)
- id3lib [http://id3lib.sf.net]
  Version 3.8.x required for proper tagging.
- Ogg Vorbis libraries [http://www.xiph.org]
  Any recent version should be fine.

To build madman, just edit the Makefile to taste and type "make".
madman is developed on Debian.  Compilation has been tested with 
gcc 3.2.

To get a debuggable build, do

./configure --enable-debug=full

-------------------------------------------------------------------------------
III. Change log
-------------------------------------------------------------------------------

future ------------------------------------------------------------------------
+ Support FLAC.
+ ~is-in-set(name)
+ Add more player control.
  Maybe add little builtin player.
+ Allow players to have their own customization UI,
  thus allow having a customizable player executable.
+ Add some sort of history display and evaluation.
+ Add lirc support. 
  (rating, song selection)
+ Add on-disk reorganization, i.e. renaming according to tags.
+ Add more flexible tagging from file name.
+ Better auto DJ.
+ Criteria wizard.
+ Splash screen.
+ Builtin web server for:
  - Remote control
    (playing song, rating, quitting, saving, 
    plus what's necessary for scriptability)
  - Streaming?
+ Support musicbrainz.
+ Support audioscrobbler.sourceforge.net.
+ Can we rip off Amazon's "other customers also bought" recommendations?
  MP3 Piranha, Amazon Web Services ...
  Should be possible to at least display album cover.
+ Maybe use MusicLink.com?
+ What do MoodLogic (moodlogic.com), iTunes (apple.com/itunes),
  MusicMatch (musicmatch.com) have that we don't?
+ Maybe rethink the UI.
+ Add Plink. (playlist link)
  - Plink over Jabber.
  - Plink broadcast UDP discovery.
  - Plink clients for Winamp2 (3?), XMMS (write them using the tPlayer class?)
+ Integrate translations into build system.
+ Session management.
+ BPM extraction.

0.91 --------------------------------------------------------------------------
+ Added much marketing hype to the website.

MAJOR ADDITIONS:
+ Added fuzzy match methods. [done]
+ Added plugin scripts. [done]
  Sample plugin scripts provided: Burn to CD, Move to Trash.
+ Made separate fields for Composer/Performer. [done]
+ Added play history collection.
  History records if a song is allowed to play to the end,
  to allow for statistical evaluation. Can be disabled. [done]
+ Rating feature, ~rating(...) criterion. [done]
+ Searches now work asynchronously, making them
  (seem) much faster. [done]
+ Added separate preferences dialog. [done]
+ More categories in overview tree (albums) [done]
+ In-Archive-Since, Last-Played and Play-Count are recorded for each song.
  Statistics are resettable per-song. [done]
+ Build process was autotoolsified. [done]
+ Make backups of databases. [done]
+ Added mass tagging. [done]
* Improved startup performance.
  - Used expat instead of Qt for XML parsing. [done]
  - Centralize reading serialization code in tDatabase. [done]
  - Made overview tree generate itself on the fly when clicked. [done]
+ Can import M3U and player playlists. [done]
+ Added a real help browser. [done]

MINOR IMPROVEMENTS:
+ Automatically show relevant page of preferences dialog if 
  creating a new file. Greet new users. [done]
* Display <none> instead of the empty string in the overview. [done]
+ Remember main window geometry (may be turned off in preferences). [done]
+ Added possibility to add 20 random songs from command line. [done]
* Moved duration column further to the front. [done]
* Better keyboard bindings. [done]
+ Added "Highlight current song". [done]
+ Made tag display dynamic. [done]
- Removed "search forward" feature because the improved "Restrict" 
  works so much better. Avoids user confusion. [done]
+ Order of columns is preserved between runs. [done]
* Achieved display speedup through not letting Qt do the 
  sorting. [done]
+ Added ability to customize which columns are shown. [done]
+ Added a file size column. [done]
+ Show a summary on the status bar whenever the selection changes. [done]
+ Show counts in overview. [done]

BUGS/ANNOYANCES FIXED:
* Removed set control buttons -> more screen real estate for actual songs. [done]
* Fixed bug in removing multiple songs from sets. [done]
- Removed the empty "View" menu. [done]
* Fixed auto_ptr+exception bug in expression compilation, 
  fixed or precedence. [done]
* Deferred retags until next main loop to avoid crashes when retag means
  removal from current set. [done]
* Fix artist sorting in overview.
* Flicker and slowness upon deleting multiple files was fixed. [done]
* Fixed crashes:
  - Make new file, add set. [done]
  - Open another file, drag song to set. [done]
  - updateSongSetTree was trying to use pointers that had
    become invalid while [done]
* Made fileOpen() exception-safe. [done]
* Fixed expression parsing so parentheses would really work. [done]
* Fixed error reporting for duration extraction from MP3s. [done]

0.90.1 - Feb 27, 2003 ---------------------------------------------------------
- Fixed Compilation with Qt3.0.

0.90 - Feb 26, 2003 -----------------------------------------------------------
- Initial relase
