Yes, enqueue is what you want.
LoadItem is just a way of creating a MediaItem and setting the filename to the one you specify. A MediaItem is essentially a representation of a file, which also caches meta data about that file if and when you request it. Consider LoadItem to be the class factory or constructor if you are familiar with OOP.
Once you have that MediaItem, you can call the various Winamp IPCs that require a filename, such as IPC_PLAYFILE, and the filename that is used is the one thats contained within the MediaItem in question.
The use is a bit different to WinampCOM, which is basically just a proxy for the API calls. ActiveWinamp was designed to be a little more 'object orientated' which leads to a better design in the long run IMHO. (ie, it lets you have an array of mediaitems and enqueue the ones you want etc instead of having to maintain your own array of filenames) People familiar with OOP should hopefully find it relatively intuitive. However coming from WinampCOMs design I can understand it may seem awkward.
I will be retooling the help file a bit in the next release with some more helpful information other than just a reference. Its currently not much more than a re-generation of the typelib with a couple lame examples, a couple of which are broken
The Enqueue method was used to represent the IPC_PLAYFILE API 'call', because that is what winamp essentially does with the file passed.
With this is mind, if winamp were able to enqueue playlist files (.m3u) via this API call, you could simply do:
But winamp just enqueues the file and doesnt parse the m3u. AW doesnt have support for IPC_CHANGECURRENTFILE yet, I am not sure exactly how this behaves, but it might let you load playlists, and play files with resetting the playlist. I will look at adding it in if so.
With regards to the single instantiation, AW is a singleton COM object. So multiple clients are actually using the same COM object as well as the same winamp.exe. I am working on a way to support both multiple and single instances by letting clients use GetObject with a window class name as a moniker. This wont affect anyone using AW+winamp in single instance mode, but it will allow people to obtain different instances of AW+Winamp if they needed to.