I dont know if anyones interested but I noticed in the program it only displays the volume level of the computers main levels and not of winamps, which the program controls. In the config the author says hes not sure if possible to get volume from winamp to display on the screen. Well I got it to work and if anyone using this and wants it do it then,

in file:

gen_lcddisplay.cpp

i commented out

// bugfix: WinNT 4.0 hangs with certain sound drivers! --> option to disable volume variable, MZ April 17
/* if (g_Config.byVolSource != 255 )
{
g_Config.pcVolume = new CVolume();
g_Config.pcVolume->SetCallbackVar(&g_WinAmpInfo.byVolume, g_Config.byVolSource);
}
*/

and under put:

LRESULT tempRet = SendMessage(g_Plugin.hwndParent, WM_WA_IPC, (WPARAM)-666, IPC_SETVOLUME);

BYTE vvtemp = (BYTE)tempRet;
vvtemp = vvtemp * 100;
int inter = (int)vvtemp * 100;
vvtemp = (BYTE)(inter / 255);
g_WinAmpInfo.byVolume = (BYTE)vvtemp;


also find:

if (pcField->m_iType & VOLUME)
pcField->m_csLCDText.Replace( VOLUME_TAG, itoa((int)vvtemp1, szTemp, 10) );

change too:

if (pcField->m_iType & VOLUME) {
LRESULT tempRet = SendMessage(g_Plugin.hwndParent, WM_WA_IPC, (WPARAM)-666, IPC_SETVOLUME);

BYTE vvtemp1 = (BYTE)tempRet;
int inter = (int)vvtemp1 * 100;
vvtemp1 = (BYTE)(inter / 255);
g_WinAmpInfo.byVolume = (BYTE)vvtemp1;

pcField->m_csLCDText.Replace( VOLUME_TAG, itoa((int)vvtemp1, szTemp, 10) );

}


could of used a function i guess but i just typed it out. not sure if this is 100% best way of doing it but theres like 100 files of code in this thing!! heh
Plus seems to work

I was only able to compile an old version v0.6.2a, if someone can compile a newest one that be great. I emailed the author but havent heard anything back...

Hope this makes sense.
Heres the .dll and .cpp file.

.dll File
.cpp File

OPEN SOURCE = FREEDOM! haha

and so now I can change my volume with the keypad and see it going up and down on the lcd.