I have included the source for the player as well as a zip file for all the support files, including the jpgs and the non-standard UDFs in case you don’t already have them. If you want to use the UDFs you’ll need to copy them to the AutoIt3\Include folder or change the #include lines in the script accordingly. I’m sure that there are bugs in this that I haven’t encountered yet so feel free to comment. Also, I’m sure I could have scripted this better, but it’s my first big project and I was learning as I went so I threw a lot in here that probably should have been done better. I have written the script to FileInstall all of the additional files and will unpack them in the @ScriptDir[\Files] folder if you compile the script. When I compiled it, using UPX it ended up around 574Kb in size with all the files included. It's very portable due to the fact that it looks for files in the @scriptdir\Files folder and writes its .ini and saved music list in @scriptdir folder as well.
I owe a LOT of credit to the many posters on this forum for information I have read regarding things that weren’t clear to me. There are too many people to thank, and I know I’d probably miss plenty of you even if you don’t know that you helped me to get this program to this point. I tried to ask as few questions as I could so that people wouldn’t get annoyed at me, the forum search was a Godsend for me. If anyone recognizes scraps of code they wrote in here, please understand that I am not trying to plagiarize, just borrowing from those better than I am at this stuff. If I could remember where I got any non-original functions I will add that information to this posting.
#### EDIT ####
Update: I have switched from using the _Sound.au3 functions to going fully into using the BASS.au3 functions for playing all music and keeping track of song times. This will make it easier to add visualizations to the program once I figure out how to work with the BASS_SFX.au3 UDF.
#### /EDIT ####
The non-standard UDFs that I am using include Bass & BassTags by BrettF, ID3 by joeyb1275, and RecFileListToArray by Melba23.
Update 01/19/2011 Version 1.7.1
Corrected a couple of bugs in the code related to creating a new playlist.
Update 01/14/2011 Version 1.7
I have updated the files in the BMPFiles.zip archive, I had forgotten to include the files needed for the ExtMsgBox UDF, and also had forgotten that I had modified the ExtMsgBox UDF with some added functionality but had included the unmodified verison in the previous archive.
I have also corrected (I hope) the problems with a few bugs that I had introduced with the last version I uploaded for the media player file itself, and have reintroduced the previous method that I used for sorting the ListView because I think the results of the sort process works better, of course that's just my opinion. The sort method that was used in version 1.6 is still included in the code, I have just commented it out in this version, feel free to use the method you feel would work best for you.
Update: 11/15/2010 Version 1.6
I have added some new functionality to the media player. I now use some functions that I got from Melba23 that makes updating the music list a lot faster. Unfortunately it also has the side effect of messing with the nice neat sorting of the list. It will still sort by the various column headings, but the list isn't as neat as it used to be.
I have also added a search function to the music list, you can either right click the music list or press F3 to initiate a search box. Any matches, in any column, will be highlighted. Pressing F3 again will keep searching the musiclist for matches. To initiate a new search simply press Shift + F3. The search hotkey is only active when the music list ListView is the active window, I avoided using any fancy windows messages but just enabling and disabling the hotkeys by seeing if the listview is the active window.
There are also a few code fixes that were implemented to clean up the code and eliminate a few bugs that weren't major, just annoying. I've also changed the ListView's window into being an actual child window again as I didn't like the affect of changing it from a child window.
Added a few help screens, replaced most of the standard MsgBox's with Melba23s Extended Message Box UDF, some bug fixes, and a lot of code optimizations to tighten up the code more. Now at version 1.4.0
Edited by BrewManNH, 20 January 2011 - 02:15 AM.