 [+] - Added   [*] - Fixed/Changed  [-] - Removed

 2.61
 ----------------------------
    [*] Fixed 'formatsong' to accept underscores (should
        be replaced with <UND>)
    [+] Added 'rawformat' and 'rawformatsong' that get
        unquoted strings with spaces (which is not allowed
        for 'format' and 'formatsong' designed for mIRC).
        Useful for API calls.
    [+] %channels variable (number of channls in the file,
        1 for mono, 2 for stereo)
    [+] %phwnd variable (Player HWND)
    [*] 'control minimize' and 'control restore' commands
        will possibly work not only with Winamp
    [+] 'setplpos index' command (sets playlist position,
        index is 1-based)
    [*] %variable is now also supported for the API eval
        command (before only var_variable form was
        supported)

 2.60
 ----------------------------
    [*] /dde mplug cfgdump not working when auto
        announcement is disabled
    [*] FLAC 1.1.2
    [+] $strip(pattern,subject) - removes all matches to
        pattern from subject
    [+] $regrep(pattern,replacement,subject) - searches
        subject for matches to pattern and replaces them
        with replacement
    [+] $strrep(search,replace,subject) - this function
        returns a string with all occurences of search in
        subject replaced with the given replace value
    [*] iTunes: statically linked with mfc71 lib, no more
        mfc71.dll dependancy
    [*] If you need comma inside function, you can escape
        it with backslash
    [+] %player variable, can be
        Winamp/QCD/foobar2000/iTunes
    [+] Timer Callback - commands placed there will be
        invoked every second by default
    [+] Simple Shared memory API (FileMapping), AMIP can
        now publish a shared memory structure with song
        info. Details coming soon. The following command
        was added: /shmem(file,type,action) where file is
        the name of memory mapped file (e.g. amip_api);
        type can be 'delphi' (without quotes) for
        pascal/delphi style TStrings and anything else for
        C style strings; action is either 'update' or
        'clear', update updates the memory mapped file,
        clear clears it. Example that can be placed into
        the new Timer Callback:
        /shmem(fb2k_cm2,delphi,update), in the Exit
        Callback: /shmem(fb2k_cm2,delphi,clear)
    [+] MSN Messenger 7 beta support (you need 7.0.604 or
        7.0.0632), see screenshot:
        http://www.rzone.ru/photo/msn7.png
    [+] AMIP updates MSN Messenger info automatically, but
        if you want to do it on different events, use
        /msn(update) and /msn(clear) commands in the
        presets
    [+] %fpath - directory containing file (NOT including
        trailing backslash)
    [+] Title bar integration has been rewritten, now it's
        possible to change font and color (via AMIP
        Configurator)
    [*] Ctrl+J dialog possible deadlock fixed (if parse
        delay is 0 and you end dialog while song is being
        parsed)
    [*] Pipe replacement should work properly now (see bug
        #4015)
    [*] Fixed exit on invalid tags when memory allocation
        fails
    [+] !!! Remote Server API to control and query AMIP
        from another apps (via sockets). SDK coming soon
    [+] !!! Socket Transport is introduced in addition to
        DDE and FileMapping. mIRC native socket transport
        DLL for AMIP is coming soon, command line Remote
        AMIP controller is also on the way
    [+] Remote Call Framework (RCF) is built-in for Remote
        API and Socket transport
    [+] /msn(manual)title::artist::album command, use in
        event handlers to change text in MSN Messenger
        depending on the player state, relace title,
        artist and album with AMIP variables. Sample is
        here: http://amip.tools-
        for.net/config/msnmanual.png
    [+] /socket(host,port,timeout)message - sends message
        to AMIP Remote client with the specified host,
        port and timeout. You can place this in the preset
        and on the client invoke the announce preset N
        command. This allows to use multiple clients with
        different hosts/ports
    [*] autoplay parameter behavior has changed. If it's
        off then after searching from mIRC no local
        playlist will be created now
    [+] Options to disable socket connections for N
        seconds if X subsequent connections failed
    [+] clearqueue command to reset local playlist
    [+] $regmatch(subject, pattern, group) -- matches
        subject against regexp pattern and returns the
        contents of parenthesis group, use group = 0 for
        entire match. Sample:
        $regmatch(text::other,\(.*?\)::.*,1) will return
        'text'. Don't forget that parenthesis inside
        functions must be escaped with backslashes
    [*] Fixed %fupdir bug (not matching directories with
        dots), new regexps for %fdir and %fupdir should
        work better. Thanks to FollowTheZeETeR for
        noticing =)
    [+] /msn(alt)format command. Sends string formatted
        according to 'format' to the MSN Messenger
    [+] !!! WMA metadata support for .wma and .asf files.
        %asf flag and %wma (yes/no) variable. %1-%7, %br,
        %sr, %typ, %sl, %min, %sec, %wma_rt (rating), %VBR
        (yes/no), %ENC. No need for WMA libs, AMIP is
        using its own metadata reading code
    [*] MSN Messenger integration now behaves like Windows
        Media Player (clears info on stop)
    [*] $ue now uses %20 for space instead of +
    [+] Callbacks/Listeners API via sockets
    [+] Track number field added to the end of shmem
        structure
    [+] 'control exit' API call to close player. Supports
        Winamp, ITunes, QCD/QMP, Fooobar (/dde mplug
        control exit or /dll ac mexec control exit)
    [*] QMP Support, installer can now install AMIP for
        Quintessential Media Player
    [*] SocketServer API fixes to allow multiple ac.dll
        and AMIP instances (no more hangups)
    [*] iTunes: proper shutdown handling
    [+] Option to set AMIP's DDE server name
        (CFG_DDESERVER)
    [+] 'control minimize' and 'control restore' API
        functions to Minimize/Restore Player window.
        Winamp 2/5 only!
    [+] 'disabletransports' config option. Disables all
        transports, only listeners will work
    [+] !!! Application specific clipboard presets. You
        can also control which keys to send after paste by
        putting in key_down(code) and key_up(code)
        commands, one per line. For example, to press
        enter put the following commands: key_down(0x0d)
        key_up(0x0d) - simulates Enter. Key codes can be
        in hex or in dec
    [+] iTunes: support for stream song titles, %s
        contains song name now, also there is separate
        variable for this: %itstream
    [*] Search dialog crashed recent Winamp versions when
        no songs were selected
    [*] libogg/libvorbis 1.1 (SVN revision 9541)
    [*] Separate callback for Play status change, since
        old Play callback was invoked also on song change.
        Now it's called Play & Change in AMIP Configurator
    [+] 'reindexq' API command to reindex playlist in
        async mode without progress dialog
    [+] 'reindexa' API command to reindex playlist in
        async mode, but with progress dialog
    [+] %indexed variable, mainly for API so that you can
        check how many songs are really indexed and
        reindex if this number doesn't match the lenght of
        the playlist
    [*] Fixed getting Monkey Audio 3.99 song length
        (thanks Trazi for reporting)
    [*] FB2K: %psec and %sl return actual values instead
        of 0 when player is paused
    [*] use dot instead of comma in the %fl
    [+] 'formatpreset n' API function, returns song info
        formatted using n'th AMIP preset
    [*] fixed getting ogg song length
    [*] STLport 5.0
    [+] VC8 performance optimized build (instead of VC7
        size optimized)
    [*] Exit callback not sending info to clients (thanks
        to voks for report)
    [*] Foobar version crashing in some rare cases (again,
        thanks voks)
    [+] MediaMonkey compatibility
    [*] Migrated to RCF 0.1, SDK API is now incompatible
        with previous builds
    [*] Fixed %stat, %tstat and %playing not available for
        the first time after player start (thanks voks)
    [+] listindexformat config variable, sets printf
        format for the search dialog when index numbers
        are enabled, must contain placeholders for %d and
        %s in exactly this order. Modify with care, refer
        to the printf format specification documentation.
        Default format is now "%d. %s"
    [+] %stream flag, set to 1 when playing live stream
        (when song length is 0), otherwise is empty
    [*] /dde mplug search didn't index playlist (reported
        by voks)
    [*] PCRE 6.5
    [*] Fixed version string format from Winamp
    [*] Changed callbacks behavior, now they will announce
        to clients even when automatic mode is disabled
    [*] Changed help pages and site, removed old chm help
        from distribution, help and manual commands
        behavior has changed, will open browser now
    [+] !!! Skype mood profile support
    [+] '/skype format' Action Command. Sends formatted
        string to Skype, you can use \n as line separators
    [+] /file and /fileonce commands now support newlines
        (use \n)
    [+] MSN Messenger 8 (Live Messenger) support,
        add/change plugin.ini to have CFG_MSN8=1 (default
        is 0), note that you should disable alternative
        format, only default format is correctly supported
        by MSN 8
    [*] Foobar 0.9: fixed samplerate conversion to kHz
    [+] !!! AIM support (/aimstatus, /aimreplace,
        /aimprofile, /aimrestoreprofile commands)
    [*] Titlebar: you can now specify executables and/or
        windows classes that should be excluded from
        showing now playing in title
    [+] !!! Yahoo! Messenger now playing status support
        (/yahoo)
    [+] !!! Google Talk support (/gtalk)
    [+] CFG_LEAVENUMLOCK config option. If your NUMLOCK
        lites on when you use clipboard integration, set
        this to 1. Note that it may cause keys sticking
    [*] fb2k-0.9: %br and %sr were retrieved from the
        wrong playlist item (not currently playing)
    [*] fb2k-0.9: %ver now returns only number (0.9
        instead of foobar2000 v0.9), to get player name
        use %player
    [*] Skype Integration: automatically reconnect to
        Skype when it's restarted & other tweaks
    [*] Reworked clipboard integration to use SendInput
    [*] Title bar: options to configure horizontal and
        vertical shift
    [*] Yahoo 8 compatibility
    [+] Option to keep song in clipboard (allows to
        disable clipboard restoring), you need latest AMIP
        Configurator
    [+] Change callback, called only on song change
    [+] Rollback Yahoo 8 changes. Since 8.0.0.683 they've
        restored the old behavior, make sure you have this
        Yahoo version
    [*] Update to RCF 0.4
    [*] Major bug with Remote/API is fixed (server was
        always listening on 127.0.0.1 despite of the
        configuration)
    [*] Display delay was not working for IM integrations
        and playback status change
        callbacks/notifications, only for presets
    [*] iTunes: fix for "pure virtual function call"
        runtime error when you delete all tracks from the
        playlist/library
    [*] New options for Yahoo Messenger (specify User ID,
        Status message #)
    [*] Minor fixes for underscore conversion in AMIP API

 2.52
 ----------------------------
    [+] In addition to /flash(LAMP) command introduced in
        2.48 there is now the same command but with
        extended syntax: /flash(NUM,0,200,5) - will start
        flashing NUMLOCK with the initial delay 0, in each
        state (ON/OFF) lamp will be 200ms and will flash 5
        times
    [*] !!! iTunes 4.7 or later is required to run
    [+] iTunes: you can now quit without warning
    [*] iTunes: options dialog can be invoked in the AMIP
        Visualizer stub (round Options button on top-
        right)
    [*] iTunes: all memory leaks should be fixed now
    [*] Fixed conditional $-functions
    [+] ! /dde mplug announce - will announce current song
        to mIRC using current preset (FINALLY!) Works even
        if IRC Integration is disabled
    [+] ! /dde mplug announce preset N - same as announce,
        but use preset N (1..5)
    [+] ! /dde mplug announcesong N - announces song N by
        invoking current preset
    [+] ! /dde mplug announcesong N X - announces song N
        by invoking preset X (1..5)
    [*] Fixed the potential null-pointer during the locale
        initialization (fatal error during initialization)
    [*] Updated zlib to 1.2.1
    [*] Updated FLAC to 1.1.1
    [*] fixed 0 bitrate for flac and ape files (#04003)
    [+] %rawlen - raw file size as returned by ftell
    [*] Options redesign (and File Chooser is added now)!
    [*] Enable IRC option renamed to Announce
        automatically because it's what it does now
    [*] !!! Automatic announcement is disabled now by
        default
    [*] New default presets
    [+] !!! Official AMIP IRC channel: irc.freenode.net
        #amip

 2.51
 ----------------------------
    [*] FB2K: AMIP could crash player if playlist item
        deleted - fixed
    [*] (post-release fix) Fix the problem with updating
        stream titles when file check option is enabled
        (pattern match condition was incorrect)

 2.50
 ----------------------------
    [*] Ogg Vorbis libraries synced with SVN (1.1 version)

See http://amip.tools-for.net/changelog.htm for the complete changelog
