Album List for Winamp v1.41
===========================
Copyright  1999-2002 Safai Ma (tfma@hotmail.com)

Album List is a WinAMP general plugin that takes a directory
tree and turns it into a list of albums. This allows easy
navigation among albums stored in different directories,
especially those stored on CDs.

It provides functions such as multiple CD-ROMs drive support,
multiple search directories, sorting, different time display
format, skinnable, dockable, shortcut keys and much more...

This plugin requires Winamp 2.05 or later and works on
Windows 9x/NT/2000/ME/XP.

To get updates, please visit 

            http://come.to/albumlist
            http://albumlist.hnetinc.com
            http://www.littlesandpit.com/albumlist

License
=======
Album List for Winamp
Copyright (c) 1999-2002, Safai Ma (tfma@hotmail.com)

This program is free. You can use it, distribute it, do whatever
you want with it, as long as you follow the simple guidelines below: 

(*) You might not charge anything for the distribution of this program,
    but the actual costs of media, shipping etc.
    I dont make money on it, so I dont allow you to make money selling it. 

(*) This program comes without any guarantee of any kind.
    I scan my disks for viruses, I fix all the nasty bugs I can find,
    BUT I DO NOT TAKE ANY RESPONSIBILITY FOR ANY DAMAGE, LOSS OF INCOME,
    OR ANY OTHER PROBLEMS YOU MIGHT EXPERIENCE FROM USING THIS PROGRAM.

(*) I keep the full Copyright of this program,
    and reserve the right to change this policy whenever I feel like it.


Configuring AL
==============
(1) Goto Winamp's Main Menu | Options | Perferences...
(2) Click on "General Purpose" under "Plug-ins"
(3) Double click on "Album List v1.41 (gen_m3a.dll)"


Directory Structure on CDs (or harddisk)
========================================
\city of angels\*.mp3
\wilson phillips
                \wilson phillips\*.mp3
                \shadows and light\*.mp3
\vanessa mae
            \the violin player\*.mp3
            \the classical album\*.mp3


DBCS support
============
For people using the English version of Windows but want to display
asian character set (Traditional/Simplified Chinese, Japanese,
and Korean) without using those 3rd party applications like
RichWin, NJStar, TwinBridge, etc. You can do it now with this release.
Just right-click on the "Album List" window and select the encoding you
want. All you need is the proper code page and fonts. One way to get
these stuffs is to get the "language" support for Internet Explorer 
which you properly already has.

Windows Update website
http://windowsupdate.microsoft.com/


Skins
=====
The template is installed in the "Plugins\Gen_m3a.Skin" directory.
You can customize both the look and the colors used in the list.
Once you made your skin, put it in a new directory under "Skins"
and select it using the built-in skin browser.


Semi-transparent Window
=======================
Not that this is of any use, it actually *SLOWS* down the drawing
code a lot...but hey, it looks cool...To enable it, edit the 
Plugin.ini to include the following:

[Album List]
al_alphablend=x

where x = 0 to 255 where 255 is opaque and 0 is transparent

Works in Win98 or later, NT4 (maybe), and Win2000.


Third-Party Applications/Plugins
================================
The following WM_USER message(s) can be used to control some aspects
of this plugin.

    // Find the Album List window
    HWND hWndAL = FindWindow("Winamp AL", NULL);

    // Play an album
    SendMessage(hWndAL, WM_USER, 100, nAlbumToPlay);

*more commands will be added later
*download the alfront.h from the web


ATI Remote Wonder Support
=========================
Requires v1.2+ of the ATI Remote Wonder Software

Install
-------
1) Right-click on the "remote" tray icon and select "Properties"
2) Go to the "Plug-Ins" tab and press "Import"
3) Browse to your Winamp's Plugins directory and select gen_m3a.dll

Now you have a few more "custom" (A-F) buttons options that you can program.


Tips
====
1. You can put custom playlist (.m3u) files into separate directories
   and they will show up as different albums. Useful when you have
   a few different set of MP3 that you would like to play.
2. There two optional 'comments' fields in the playlist file that
   this plugin understands. They are #EXTART and #EXTALB for artist
   name and album name respectively.
3. If you are putting your albums on CD-R/CD-RW, it is best to create
   playlist for each directory as this will speed up the reading 
   of file informations. In addition, it is best to remove the path
   to the MP3 file from the playlist file. This allows it to work
   across different machines with different drive assignments.


Playlist Example
================
#EXTM3U
#EXTART:Artist Name
#EXTALB:Album Name
#EXTINF:225,Artist Name - Song 1
song01.mp3
#EXTINF:240,Artist Name - Song 2
song02.mp3
#EXTINF:172,Artist Name - Song 3
song03.mp3
#EXTINF:191,Artist Name - Song 4
song04.mp3


That's all, tell me what you think, enjoy!

Safai


-------------------------------------------------------------------

Change Log
==========
v1.41a July 25, 2002
     Added option to not search sub-directories
	 Updated export to show inside MB if opened
     Updated to NSIS installer

v1.41 July 14, 2002
     Added ATI Remote Wonder Support
     Added config option for AL fontsize (ini entry)
     Added SPC support (thx Janne Hyvrinen)
     Added WMA support
     Added "manual sort" using the mouse (thx T-Matsuo)
     Added misc. language fixes by T-Matsuo
     Added more Language Packs:
        Catalan Translation (thx Xavi Gir)
        Czech Translation (thx HaNySeK)
        Finnish Translation (thx Janne Hyvrinen)
        Italian Translation (thx Danilo Roascio)
        Polish Translation (thx BartEZ 19)
        Portuguese Translation (thx _Parilla_)
        Russian Translation (thx Alexey Orlovsky)
     Updated MPC support (thx Janne Hyvrinen)
     Updated cached file compression to use less memory
     Updated cover picture to fit MB automatically (thx David Tryse)
     Fixed play album API not updating the display so the album is visible
     Fixed incorrect number of songs when failed to read the file info
     Fixed crash ejecting MP3-CD while playing
     Fixed missing shortcut keys in menus for English =T
     Fixed some playlist related bugs
     Fixed double album list menu entry in the main menu

v1.40 May 15, 2002
     Added Language Pack support:
        Japanese Translation (thx Toshiya Matsuo)
        German Translation (thx Tobias Schicke)
        French Translation (thx Eric Junca)
        Spanish Translation (thx pedator)
     Added MPC support (thx Janne Hyvrinen)
     Added OGG support through external DLL (thx Janne Hyvrinen)
     Added general speed improvement
     Added hypertext highlight in the about box (thx Paul Mah)
     Added "manual sort" via ALT-UP & ALT-DOWN
     Added different color for CDROM albums (configurable through skins)
     Added SHIFT-N & SHIFT-M for previous & next album (from a different artist)
     Fixed AL menu from the taskbar
     Fixed crash when all time/year/#tracks are displayed
     Fixed ID3v2 reading bug when the tag is not properly encoded
     Fixed Write Playlist dialog slightly offscreen sometimes
     Fixed "Enquene as default" and right-click "Play Album" (thx Toshiya Matsuo)
     Fixed skipping first song when "keep song playing" is on (thx Kevin) 

v1.37 February 8, 2002
     Added show album cover in mini-browser
     Added mouse wheel to play prev/next album in winshade mode
     Added preliminary ID3v2 support
     Added Generate HTML list (CTRL-E)
     Added use ID3v1.1 tag to sort mp3 files (if available)
     Added a couple of 3rd party app. msg that is using 1-based index
     Added a horizontal scrollbar to the search path ListBox (thx Andreas)
     Fixed Previous Album bug (thx Kevin)

v1.36 June 27, 2001
     Added option for 'M' & 'N' keys to loop
     Added option to keep the current song playing when selecting albums
     Added Play All Albums
     Added more 3rd party app. message
     Added CJK display in the playlist editor
     Fixed multiple instances docking problem.
     Fixed winshade mode text display when time display is off
     Fixed album not getting highlighted when right-click "play album"
     Fixed winshade mode hilight button position

v1.35 November 12, 2000
     Fixed bitmap problem in winshade mode
     Updated the preference dialog to have the Winamp look.
     Support for other file types (like WMA)
     Skip ID3v2 tag when getting file durations.
     Fixed not saving AL preference when shutting down the system.
     Do not refresh album when playing/enqueuing albums
     Fixed minor bitmap glitches

v1.31 June 24, 2000
     Added album renaming
     Added snapto support for ShowCover plugin
     Fixed flicker when going from winshade mode to normal mode
     Fixed slider bug (the list goes blank)
     Added drag and drop support
     Updated the search path dialog
     Added jump to album (J, F3)
     Added shortcut keys (Keypad 2/8) for controlling the volume level
     Better detection for album changes during quick refresh
     Fixed resource and memory leaks
     Added WM_USER support for third party applications
     Fixed winshade mode drawing bug (corrupted bitmap at startup)

v1.30 May 22, 2000
     Added shortcut key (F5) for "Quick Refresh"
     Added cache file compression to save disk space
     Added menu entry for "Refresh (Quick)"
     Updated version check
     Added shortcut key (SHIFT-ENTER) to enqueue current album
     Added "Enqueue album by default" option when double-clicking
     Fixed not switching skins when "Random skin on play" is on.
     Added the use of a cache file to speed startup time.
     Added shortcut key (CTRL-TAB) for "Next Window".

v1.25 April 11, 2000
     Fixed a divide by zero crash when getting track duration from some
       Xing VBR MP3s
     Added "skin substitution" (using playlist editor's bitmap as skin)
     Fix text display on non-English systems

v1.21 March 18, 2000
     Added entry in Control Panel - Add/Remove Programs for uninstall
     Support wheel mouse on Win95 systems
     Fixed startup crash on WinNT systems
     Fixed not loading on Win95 systems
     Fixed bugs in new version check
     Fixed drawing bug in winshade mode when the title is too long

v1.20 March 6, 2000
     Fix incorrect total time after ejecting CDs
     Fix adding CD-ROM directories even the option is off. (when inserting discs)
     Restore original directory after scanning search paths
     Support "Always on Litestep Virtual Desktops" Winamp option
     Get album and artist name from directory name
     Ignore playlists at root of search paths (optional)
     Skip shoutcast entries in playlist files
     Added check for new version
     Added show Album Year option
     Added "no" sorting
     Enhanced sort by year (if year is the same, use directory creation date)

v1.11 February 19, 2000
     Removed the un-desirable feature "always shuffle albums" :P

v1.1 February 18, 2000
     Make sure the Album List is on screen everytime Winamp is started
     Even better docking
     Fixed main menu problem with Winamp 2.60
     Dock with AVS, Lyrics, and Amarok Plugins
     Made displaying of number of songs independent of time display format
     Added shuffle album list functionality
     Handle ejecting CDs when playing (no more "drive in use" dialogs)

v1.0 February 10, 2000
     Fixed double album bug
     Support multiple playlist files in one directory
     Ignore the "Recycle Bin" directories
     Added current playing time
     Updated configuration dialog to use property sheet
     Added confirmation dialog when writing playlists
     Added AL menu to Winamp's main menu

v0.95 January 31, 2000
     Added experimental alpha blending code
     Fix showing playlist number in winshade mode when it is turned off
     Make use of the following winamp options:
         "Use Winamp-styled (skinned) cursors",
         "Dim titlebars when inactive",
         "Convert %20 to space in titles", and
         "Convert underscore to space in titles"

v0.93 January 28, 2000
     Added "status display" sub-menu to right-click menu
     Fixed unable to select the 11th ablum (when displaying 11 albums)
     Fixed "Menu Key" displays the context menu in the upper-left corner
       of the screen.

v0.92 January 25, 2000
     Fixed keyboard shortcut crashes AL when no album is listed

v0.91 January 22, 2000
     Added keyboard shortcut S and R for shuffle and repeat mode

v0.9 January 21, 2000
     Added keyboard shortcut to navigate the album list.
         N                  Previous Album
         M                  Next Album
         Up Arrow           Move Cursor Up
         Down Arrow         Move Cursor Down
         Enter              Play selected album
         End                Jump to End of List
         Home               Jump to Start of List
         Page Up            Move up by a page
         Page Down          Move down by a page
         Ctrl+W             Toggle Winshade mode
         Ctrl+F4            Close (hide) Album List
     Added Enqueue/Play album to right-click menu

v0.8 January 17, 2000
     Append to playlist option, rather than over-write
     Sort album list using path, artist, total time, and more
     Option to show number of songs in the time status display
     Fix GPF when ejecting discs

v0.7 January 15, 2000
     Winamp settings will take effect immediately in the album list
         playlist font size, snap on/off, snap length, show numbers
         in playlist and changing skins
     Fixed playlist only directories not showing up in the album list

v0.6 January 11, 2000
     Fixed album name containing an ampersand(&) appear as an underscore
     Winshade mode code complete.
     Bitmap font in Winshade mode

v0.5 January 9, 2000
     Write playlist (album.m3u)
     Add configuration page
     Better disc insertion/removal detection
     Album total time fully functional, yeah!
     Implemented the current/total album time status display
     Fixed the tenth album number not aligned properly

v0.4 January 4, 2000
     Much better docking
     Album total time (using playlist only)

v0.3 December 30, 1999
     Multiple search directories
     Skins support (albumlist.bmp,albumlist.txt)
     Move the startup (reading of directories) code to a thread
     Better slider support. Mouse Wheel works now!
     Short-cut keys to Winamp's primary functions (play,pause,etc,...)

v0.2 December 26, 1999
     Added support for .M3U playlist

v0.1 December 19, 1999
     Initial release


Special Thanks
==============
Gustav Munkby (grd@swipnet.se)
http://home.swipnet.se/grd/
(*) CMP3Info and related classes

Michael Dunn (mdunn@inreach.com)
(*) CBindStatusCallback class

Scott D. Killen
(*) CBrowseForFolder class

Suggestions from People using AL
================================
(*) Include the same buttons (add, rem, sel, misc, list opts) as the playlist.
(*) In the right click drop down menu, have album list under playlist, not as a
    seperate menu and make CTRL + A it's quick-key.
(*) Just a thought, could you make the album list in a tree format where if you
    click the album name, the track names expand underneath (perhaps in a different
    colour, or a bold font for the album names).  This would enable both the
    playlist and the album list to be in the same window to avoid cluttering.
(*) Sorting options - sort by artist or album
(*) Album preview window - popup window with file listing or similar
(*) How about drag&drop for enqueing to a certain position in the playlist (as well
    as explorer drag&drop)?
(*) Try adding support for mixing together multiply selected albums and/or mixing
    selected albums with the ones already in playlist (shuffled, ofcourse)
(*) An idea... Since you called your module GEN_M3A, you could make a file format of
    *.m3a similar to extended *.m3u that would enable people to sort albums as they
    wish and REALLY speed up loading (as well as solve all those problems with
    scattered playlists, double appearances and directories that have songs from different
    albums in them)
(*) Someone suggested trees, well, I think it would be cool to be (optionally) able to
    place albums beneath their artist in the tree (that would give some point to sorting), like
    Artist
        Album1
        Album2
        Album3
(*) Double-size mode??
