Implement XDG compliance, logging, and improved 401 error handling

- Install to ~/.local/bin/winamp-mpris
- Use ~/.local/state/winamp-mpris/bridge.log for logging
- Use $XDG_RUNTIME_DIR/winamp-mpris.pid for PID management
- Add detailed user notification for 401 Unauthorized errors
- Add install.sh for automated, standard-compliant setup
- Include Winamp Web Interface source code and installer in repository
This commit is contained in:
2026-04-08 18:29:40 -04:00
parent 1e9257a27f
commit 22492dbee9
120 changed files with 9092 additions and 10 deletions

View File

@@ -0,0 +1,363 @@
//Microsoft Developer Studio generated resource script.
//
#include "resource.h"
#define APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 2 resource.
//
#include "afxres.h"
/////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
// English (U.S.) resources
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
#ifdef _WIN32
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
#pragma code_page(1252)
#endif //_WIN32
/////////////////////////////////////////////////////////////////////////////
//
// Icon
//
// Icon with lowest ID value placed first to ensure application icon
// remains consistent on all systems.
IDI_PAUSE ICON DISCARDABLE "pause.ICO"
IDI_PLAY ICON DISCARDABLE "play.ico"
IDI_PREV ICON DISCARDABLE "prev.ico"
IDI_STOP ICON DISCARDABLE "stop.ico"
#ifdef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// TEXTINCLUDE
//
1 TEXTINCLUDE DISCARDABLE
BEGIN
"resource.h\0"
END
2 TEXTINCLUDE DISCARDABLE
BEGIN
"#include ""afxres.h""\r\n"
"\0"
END
3 TEXTINCLUDE DISCARDABLE
BEGIN
"\r\n"
"\0"
END
#endif // APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Menu
//
IDR_MENU MENU DISCARDABLE
BEGIN
POPUP "Menu"
BEGIN
MENUITEM "&Config...", IDM_CONFIG
MENUITEM "&Quit", IDM_QUIT
MENUITEM SEPARATOR
MENUITEM "Music Collection...", IDM_BROWSE
MENUITEM "Playlist...", IDM_PLAYLIST
MENUITEM "Volume...", IDM_VOLUME
MENUITEM SEPARATOR
MENUITEM "P&revious Track", IDM_PREV
MENUITEM "&Play", IDM_PLAY
MENUITEM "Pa&use", IDM_PAUSE
MENUITEM "&Stop", IDM_STOP
MENUITEM "&Next Track", IDM_NEXT
END
END
#endif // English (U.S.) resources
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
// English (U.K.) resources
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENG)
#ifdef _WIN32
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_UK
#pragma code_page(1252)
#endif //_WIN32
/////////////////////////////////////////////////////////////////////////////
//
// Icon
//
// Icon with lowest ID value placed first to ensure application icon
// remains consistent on all systems.
IDI_NEXT ICON DISCARDABLE "next.ico"
IDI_WINAMP ICON DISCARDABLE "Images\\winamp.ico"
IDI_SERVER ICON DISCARDABLE "Images\\server.ico"
IDI_AUTH ICON DISCARDABLE "Images\\SECUR08.ICO"
IDI_AUTH2 ICON DISCARDABLE "images\\auth2.ico"
/////////////////////////////////////////////////////////////////////////////
//
// Dialog
//
IDD_CONFIG DIALOGEX 0, 0, 286, 212
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Winamp HTTP Server Systray Client Config"
FONT 8, "MS Sans Serif"
BEGIN
DEFPUSHBUTTON "OK",IDOK,229,7,50,14
PUSHBUTTON "Cancel",IDCANCEL,229,39,50,14
PUSHBUTTON "About",IDABOUT,229,23,50,14
GROUPBOX "Remote Winamp Properties",IDC_STATIC,7,7,218,43
EDITTEXT IDC_HOST,13,29,98,12,ES_AUTOHSCROLL | NOT WS_BORDER,
WS_EX_STATICEDGE
EDITTEXT IDC_PORT,120,29,35,12,ES_AUTOHSCROLL | ES_NUMBER | NOT
WS_BORDER,WS_EX_STATICEDGE
LTEXT "Remote Computer",IDC_STATIC,13,19,72,9
LTEXT "Port",IDC_STATIC,120,19,24,9
EDITTEXT IDC_USERNAME,13,75,98,12,ES_AUTOHSCROLL | NOT WS_BORDER,
WS_EX_STATICEDGE
EDITTEXT IDC_PASSWORD,120,75,98,12,ES_PASSWORD | ES_AUTOHSCROLL |
NOT WS_BORDER,WS_EX_STATICEDGE
LTEXT "Username",IDC_STATIC,13,65,59,8
LTEXT "Password",IDC_STATIC,120,65,50,8
GROUPBOX "Systray Settings",IDC_STATIC,7,97,218,65
CONTROL "Previous",IDC_DEF_PREV,"Button",BS_AUTORADIOBUTTON,15,
122,45,10
CONTROL "Play",IDC_DEF_PLAY,"Button",BS_AUTORADIOBUTTON,15,132,
50,10
CONTROL "Pause",IDC_DEF_PAUSE,"Button",BS_AUTORADIOBUTTON,71,122,
50,10
CONTROL "Stop",IDC_DEF_STOP,"Button",BS_AUTORADIOBUTTON,71,132,
45,10
CONTROL "Next",IDC_DEF_NEXT,"Button",BS_AUTORADIOBUTTON,131,122,
50,10
LTEXT "Default Action (single click on tray icon)",IDC_STATIC,
16,109,140,10
EDITTEXT IDC_UPDATEDELAY,120,145,35,12,ES_AUTOHSCROLL | ES_NUMBER |
NOT WS_BORDER,WS_EX_STATICEDGE
RTEXT "Tooltip update delay (s)",IDC_STATIC,39,147,75,10
GROUPBOX "Authentication",IDC_STATIC,7,53,218,44
END
IDD_VOLUME DIALOGEX 0, 0, 46, 95
STYLE DS_SYSMODAL | DS_SETFOREGROUND | WS_POPUP | WS_CAPTION
EXSTYLE WS_EX_TOOLWINDOW
FONT 8, "MS Sans Serif"
BEGIN
CONTROL "Slider1",IDC_VOLUME,"msctls_trackbar32",TBS_AUTOTICKS |
TBS_VERT | TBS_TOP | WS_TABSTOP,20,5,20,70
PUSHBUTTON "Done",IDC_DONE,8,80,27,10
LTEXT "100%",IDC_STATIC,1,9,18,10
LTEXT "0%",IDC_STATIC,9,64,10,10
END
IDD_SERVER DIALOGEX 0, 0, 220, 129
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Dialog"
FONT 8, "MS Sans Serif"
BEGIN
GROUPBOX "Winamp Server",IDC_STATIC,7,7,206,54
EDITTEXT IDC_HOST,13,29,118,12,ES_AUTOHSCROLL | NOT WS_BORDER,
WS_EX_STATICEDGE
EDITTEXT IDC_PORT,141,29,35,12,ES_AUTOHSCROLL | ES_NUMBER | NOT
WS_BORDER,WS_EX_STATICEDGE
LTEXT "Remote Computer IP Address",IDC_STATIC,13,19,100,9
LTEXT "Port",IDC_STATIC,141,19,24,9
END
IDD_AUTH DIALOGEX 0, 0, 220, 129
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Dialog"
FONT 8, "MS Sans Serif"
BEGIN
EDITTEXT IDC_USERNAME,13,44,86,12,ES_AUTOHSCROLL | NOT WS_BORDER,
WS_EX_STATICEDGE
EDITTEXT IDC_PASSWORD,107,44,98,12,ES_PASSWORD | ES_AUTOHSCROLL |
NOT WS_BORDER,WS_EX_STATICEDGE
LTEXT "Username",IDC_STATIC,13,33,59,8
LTEXT "Password",IDC_STATIC,107,33,50,8
GROUPBOX "Authentication",IDC_STATIC,7,7,206,58
CONTROL "Use Authentication",IDC_AUTH,"Button",BS_AUTOCHECKBOX |
WS_TABSTOP,14,19,165,11
END
IDD_SYSTRAY DIALOGEX 0, 0, 220, 129
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Dialog"
FONT 8, "MS Sans Serif"
BEGIN
GROUPBOX "Systray Settings",IDC_STATIC,7,7,206,70
CONTROL "Previous",IDC_DEF_PREV,"Button",BS_AUTORADIOBUTTON,26,
34,45,10
CONTROL "Play",IDC_DEF_PLAY,"Button",BS_AUTORADIOBUTTON,26,44,50,
10
CONTROL "Pause",IDC_DEF_PAUSE,"Button",BS_AUTORADIOBUTTON,90,34,
50,10
CONTROL "Stop",IDC_DEF_STOP,"Button",BS_AUTORADIOBUTTON,90,44,45,
10
CONTROL "Next",IDC_DEF_NEXT,"Button",BS_AUTORADIOBUTTON,151,34,
50,10
LTEXT "Default Action (single click on tray icon)",IDC_STATIC,
16,21,140,10
EDITTEXT IDC_UPDATEDELAY,120,57,35,12,ES_AUTOHSCROLL | ES_NUMBER |
NOT WS_BORDER,WS_EX_STATICEDGE
RTEXT "Tooltip update delay (s)",IDC_STATIC,39,59,75,10
END
IDD_ABOUT DIALOG DISCARDABLE 0, 0, 220, 129
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Dialog"
FONT 8, "MS Sans Serif"
BEGIN
CONTROL 119,IDC_STATIC,"Static",SS_BITMAP,7,7,20,20
CTEXT "Wawi Remote Systray Thingy\n\nPhil Himsworth, 2002\nhttp://www.flippet.org || contact@flippet.net",
IDC_STATIC,7,81,206,34
END
/////////////////////////////////////////////////////////////////////////////
//
// DESIGNINFO
//
#ifdef APSTUDIO_INVOKED
GUIDELINES DESIGNINFO DISCARDABLE
BEGIN
IDD_CONFIG, DIALOG
BEGIN
LEFTMARGIN, 7
RIGHTMARGIN, 279
TOPMARGIN, 7
BOTTOMMARGIN, 205
END
IDD_VOLUME, DIALOG
BEGIN
LEFTMARGIN, 7
RIGHTMARGIN, 39
TOPMARGIN, 7
BOTTOMMARGIN, 88
END
IDD_SERVER, DIALOG
BEGIN
LEFTMARGIN, 7
RIGHTMARGIN, 213
TOPMARGIN, 7
BOTTOMMARGIN, 122
END
IDD_AUTH, DIALOG
BEGIN
LEFTMARGIN, 7
RIGHTMARGIN, 213
TOPMARGIN, 7
BOTTOMMARGIN, 122
END
IDD_SYSTRAY, DIALOG
BEGIN
LEFTMARGIN, 7
RIGHTMARGIN, 213
TOPMARGIN, 7
BOTTOMMARGIN, 122
END
IDD_ABOUT, DIALOG
BEGIN
LEFTMARGIN, 7
RIGHTMARGIN, 213
TOPMARGIN, 7
BOTTOMMARGIN, 122
END
END
#endif // APSTUDIO_INVOKED
#ifndef _MAC
/////////////////////////////////////////////////////////////////////////////
//
// Version
//
VS_VERSION_INFO VERSIONINFO
FILEVERSION 2,1,0,1
PRODUCTVERSION 2,1,0,1
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
#else
FILEFLAGS 0x0L
#endif
FILEOS 0x4L
FILETYPE 0x1L
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "080904b0"
BEGIN
VALUE "Comments", "Remote Systray Applet for the Winamp Web Interface Plugin\0"
VALUE "CompanyName", "\0"
VALUE "FileDescription", "WawiTray\0"
VALUE "FileVersion", "2, 1, 0, 1\0"
VALUE "InternalName", "WawiTray\0"
VALUE "LegalCopyright", "Copyright © 2002 Phil Himsworth\0"
VALUE "LegalTrademarks", "It's mine, dammit, MINE!!!\0"
VALUE "OriginalFilename", "WawiTray.exe\0"
VALUE "PrivateBuild", "\0"
VALUE "ProductName", "WawiTray\0"
VALUE "ProductVersion", "2, 1, 0, 1\0"
VALUE "SpecialBuild", "\0"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x809, 1200
END
END
#endif // !_MAC
/////////////////////////////////////////////////////////////////////////////
//
// Bitmap
//
IDB_STOP BITMAP DISCARDABLE "Images\\stop.bmp"
IDB_PAUSE BITMAP DISCARDABLE "Images\\pause.bmp"
IDB_PLAY BITMAP DISCARDABLE "Images\\play.bmp"
IDB_PREV BITMAP DISCARDABLE "Images\\prev.bmp"
IDB_NEXT BITMAP DISCARDABLE "Images\\next.bmp"
IDB_TITLE BITMAP DISCARDABLE "Images\\Title.bmp"
#endif // English (U.K.) resources
/////////////////////////////////////////////////////////////////////////////
#ifndef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 3 resource.
//
/////////////////////////////////////////////////////////////////////////////
#endif // not APSTUDIO_INVOKED