#include <olectl.h>
import "ocidl.idl";

[
    uuid(147D174A-1313-11d3-8705-00C04FB16A21),
    helpstring("Microsoft Shell Powertoys"),
    lcid(0x0000),
    version(1.0)
]
library Powertoy 
{

    importlib("stdole2.tlb");

    [
        uuid(27164F5A-1313-11d3-8705-00C04FB16A21), // IID_IZaxxonPlayer
        helpcontext(0x0000),
        dual
    ]
    interface IZaxxonPlayer : IUnknown
    {
        HRESULT Play();
        HRESULT Stop();
        HRESULT NextSong();
        HRESULT PrevSong();
        HRESULT SetSong(int i);
        HRESULT Forward([in] UINT iSeconds);
        HRESULT Backward([in] UINT iSeconds);
        HRESULT Pause();
        HRESULT AddSong([in] LPWSTR pszFile);
        HRESULT RemoveSong([in] int i);
        HRESULT Register(HWND hwnd);
        HRESULT DeRegister(HWND hwnd);
        HRESULT ClearPlaylist();
    }

    [
        uuid(76EDEF4C-1313-11d3-8705-00C04FB16A21) // CLSID_ZaxxonPlayer
    ]
    coclass ZaxxonPlayer
    {
        [default]         interface     IZaxxonPlayer;
    }
}