Communication to Winamp is done via the classic Win32 Message API. Most DSP plugins use this to ask for certain values.
These definitions are the most commonly used messages, which might be handled by the fake winamp window which we create.
Namespace: Un4seen.Bass.AddOn.WaDsp
Assembly: Bass.Net (in Bass.Net.dll) Version: 2.4.17.5
Syntax
Members
Member name | Value | Description | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
BASS_WADSP_IPC_GETOUTPUTTIME | 105 |
IPC_GETOUTPUTTIME returns the position in milliseconds of the current song (mode = 0),
or the song length, in seconds (mode = 1).Returns -1 if not playing or error.
int res = SendMessage(hwnd_winamp,WM_WA_IPC,mode,IPC_GETOUTPUTTIME); | |||||||||
BASS_WADSP_IPC_ISPLAYING | 104 |
IPC_ISPLAYING returns the status of playback.
If it returns 1, it is playing. if it returns 3, it is paused, if it returns 0, it is not playing.
int res = SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_ISPLAYING); | |||||||||
BASS_WADSP_IPC_GETVERSION | 0 |
Version will be 0x20yx for winamp 2.yx.
Versions previous to Winamp 2.0 typically use 0x1zyx for 1.zx versions. Weird, I know.
int version = SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_GETVERSION); | |||||||||
BASS_WADSP_IPC_STARTPLAY | 102 |
Using IPC_STARTPLAY is like hitting 'Play' in Winamp, mostly.
SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_STARTPLAY); | |||||||||
BASS_WADSP_IPC_GETINFO | 126 |
IPC_GETINFO returns info about the current playing song. The value it returns depends on the value of 'mode' (wParam):
int inf=SendMessage(hwnd_winamp,WM_WA_IPC,mode,IPC_GETINFO); | |||||||||
BASS_WADSP_IPC_GETLISTLENGTH | 124 |
IPC_GETLISTLENGTH returns the length of the current playlist, in tracks.
int length = SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_GETLISTLENGTH); | |||||||||
BASS_WADSP_IPC_GETLISTPOS | 125 |
IPC_GETLISTPOS returns the playlist position [index].
int pos=SendMessage(hwnd_winamp,WM_WA_IPC,0,IPC_GETLISTPOS); | |||||||||
BASS_WADSP_IPC_GETPLAYLISTFILE | 211 |
IPC_GETPLAYLISTFILE gets the filename of the playlist entry [index]. Returns a pointer to it. Returns on error.
char *name=SendMessage(hwnd_winamp,WM_WA_IPC,index,IPC_GETPLAYLISTFILE); | |||||||||
BASS_WADSP_IPC_GETPLAYLISTTITLE | 212 |
IPC_GETPLAYLISTTITLE gets the title of the playlist entry [index]. Returns a pointer to it. Returns on error.
char *name=SendMessage(hwnd_winamp,WM_WA_IPC,index,IPC_GETPLAYLISTTITLE); | |||||||||
BASS_WADSP_IPC | 1024 | Is defined as Win32's WM_USER an. When a message of this value arrives, we know, that we might handle it by ourself. |
See Also