Tue Nov  6 01:24:39 PST 2001
    Started coding this because I didn't like having such a specific
    plugin. (I wrote a XMMS plugin specially for the RM900 remote control
    that comes with the Sound Blaster LiveDrive! IR.)

    I wanted to control XMMS with scripts, but the command-line options
    weren't enough. Hence this plugin.

Sun Jan 20 14:00:29 PST 2002
    Renamed play_or_pause to play_pause.

    XMMS 1.2.6 has a play_pause command now, making this plugin less useful.

    Tidied up files to prepare for release.

    [xmmspipe-0.1.tgz]

Thu Feb  7 20:23:52 PST 2002
    After feedback from Monte Freeman <montef@bellsouth.net>:

    Added playlist_add command.

    [xmmspipe-0.2.tgz]

Fri Feb  8 01:23:16 PST 2002
    After feedback from Orsila Heikki <heikki@ee.tut.fi>:

    Now installs to Plugins/General/

    Added pause.

    Added aliases next, prev, add.

    [xmmspipe-0.3.tgz]

Sat Feb  9 12:49:23 PST 2002
    Added mute.

    Added jump: "jump foo" will cycle through all the songs whose titles
    contain the string "foo".

Sat Feb 16 22:47:09 PST 2002
    Added clear/playlist_clear.

    Added delete/playlist_delete, delete_current/playlist_delete_current.

    Added load/playlist_load, save/playlist_save.

    [xmmspipe-0.4.tgz]

Wed May  1 01:48:25 PDT 2002
    Yesterday I hacked in the "jump_window" command. Have to lock widgets to
    avoid race condition.
    Requested by Kristoffer Nordstroem <kristoffer.nordstroem@freesurf.ch>

    Changed version numbering system.

    [xmmspipe-0.4.1.tgz]

Mon May  6 02:53:06 PDT 2002
    Fixed make uninstall, improved Makefile.

    [xmmspipe-0.4.2.tgz]

Tue May 28 13:48:59 PDT 2002
    Applied patch due to Felix <felix@blasphemo.net> that adds
    jump_to_time command.

    Now checks that the given filename is a named pipe.

    [xmmspipe-0.4.3.tgz]

Tue Jun 25 18:34:37 PDT 2002
    Fixed a buffer overrun problem using code by Andy Gimblett <gimbo@ftech.net>

    [xmmspipe-0.4.4.tgz]

Tue Aug  6 23:27:11 PDT 2002
    Added skipf and skipb commands. Code by Andy Gimblett <gimbo@ftech.net>

    Also removed "XXX: Clean this up" comment. I'll clean the code up if this
    plugin becomes really important somehow, but for now, it's fine.

    [xmmspipe-0.4.5.tgz]

Tue Aug 13 01:51:15 PDT 2002
    I received a heavily edited version of 0.4.3 from
    Jeremy Schaeffer <jeremy@datye.zzn.com>

    His version has many new commands, output pipes, windows, configuration
    files, documentation. It's a bit unstable on my machine though.
    I'm merging his code into the main branch gradually.

    Easy bits first: did the About box. (see about.[ch])

Fri Feb 21 22:41:54 PST 2003
    Added jumptable data type, to avoid all those if statements in the main
    loop. Seems neater this way.

    Decided that it's up to individual functions to parse arguments and
    things. Replaced argv array with a single char *.

    Added some of Jeremy Schaeffer's commands.

    Added integer clipping functions.

    Added message box when there's an error on startup.

    A simple configure window is in place. Can change the input pipe file
    on the fly.

Sat Feb 22 11:30:31 PST 2003
    I plan to do more changes soon, but I'll release first anyway.

    [xmmspipe-0.4.6.tgz]

    As in Jeremy's version, name of pipe now depends on session (and username),
    so multiple XMMS sessions can work with different inpipes.
    For backwards compatibility, ~/.xmms/inpipe is a symlink to
    the last created inpipe.

    Implemented window commands.

    Added pipe_t data structure to simplify pipe code. May extend it to do
    unnamed pipes too.
    
    Added ack pipe that only works in echo mode at the moment.

Sat Feb 22 17:47:54 PST 2003
    Added id file. Added simple status commands (e.g. "status report file").

    Can configure a bit more from the configure window.

    Should ack and status pipes be combined?

    The code is a little bloated unfortunately.

    Bugfix with read code: if two commands were read at once, trouble could
    ensue. It now cuts them off at each '\n', and reads the remaining input
    once its dealt with the previous command. Now it's a bit inefficient but
    it always works (it seems).

    Wrote demo application "fade" which shows how to fade the current song
    and advance to the next one.

Sun Feb 23 10:31:16 PST 2003
    Not sure if pipes should be deleted when they're turned off. Would this
    confuse applications?

    Shortened some of the default filenames slightly.

    Renamed statuspipe to outpipe. I might add a statuspipe later, which will
    have a different function.

    [xmmspipe-0.5.0.tgz]

Mon Feb 24 13:50:01 PST 2003
    Bugfix: if no outpipe is opened, report commands should not do anything.

    Split xmmspipe.c into yet more pieces.

    Bugfix: now works if "Ok" in the configure window is clicked
    before the plugin is enabled.

    Note that opening the config window after some options have been changed
    via the inpipe will clobber the unsaved values. I may fix this later.

    More general code cleanup, e.g. added pipe_write()

    At the moment, the RELOAD control code is useless since the input pipe
    name is fixed. (It was useful back in version 0.4.6.) However I'll leave
    it in case this changes. In the future, the input pipe may be optional
    and renameable just like the other pipes.

    Improved the Makefile slightly.

    [xmmspipe-0.5.1.tgz]

Wed Jun 18 17:57:29 PDT 2003

    Applied bugfix due to contezero <contezero@technet.it>
    (was ignoring "active outpipe at launch" option)

    [xmmspipe-0.5.2.tgz]

Mon Mar  1 12:10:22 PST 2004

    Patched so playlist save is compatible for xmms 1.2.8 and up.
    Thanks to Lutz Mndle <lmaendle@csi.com>.

    [xmmspipe-0.5.3.tgz]

Wed Jul 28 16:54:28 PDT 2004

    Added "preamp", "band" commands.
    "skipf", "skipb" can now take floating-point arguments.

    [xmmspipe-0.5.4.tgz]
