diff options
author | Jef <jef@targetspot.com> | 2024-09-24 08:54:57 -0400 |
---|---|---|
committer | Jef <jef@targetspot.com> | 2024-09-24 08:54:57 -0400 |
commit | 20d28e80a5c861a9d5f449ea911ab75b4f37ad0d (patch) | |
tree | 12f17f78986871dd2cfb0a56e5e93b545c1ae0d0 /Src/Winamp/options_classic.cpp | |
parent | 537bcbc86291b32fc04ae4133ce4d7cac8ebe9a7 (diff) | |
download | winamp-20d28e80a5c861a9d5f449ea911ab75b4f37ad0d.tar.gz |
Initial community commit
Diffstat (limited to 'Src/Winamp/options_classic.cpp')
-rw-r--r-- | Src/Winamp/options_classic.cpp | 291 |
1 files changed, 291 insertions, 0 deletions
diff --git a/Src/Winamp/options_classic.cpp b/Src/Winamp/options_classic.cpp new file mode 100644 index 00000000..d876428a --- /dev/null +++ b/Src/Winamp/options_classic.cpp @@ -0,0 +1,291 @@ +/** (c) Nullsoft, Inc. C O N F I D E N T I A L + ** Filename: + ** Project: + ** Description: + ** Author: + ** Created: + **/ + +#include "main.h" +#include "resource.h" +#include "options.h" + +static HWND subWnd; + +static LRESULT CALLBACK ClassicUIProc(HWND hwndDlg, UINT uMsg, WPARAM wParam,LPARAM lParam) +{ + hi helpinfo[]={ + {IDC_SNAP,IDS_P_DISP_SNAP}, + {IDC_SNAPW,IDS_P_DISP_SNAPW}, + {IDC_HIGHLIGHT,IDS_P_DISP_HILITE}, + {IDC_CLUTTERBAR,IDS_P_DISP_CB}, + {IDC_TTIPS,IDS_P_DISP_TTIPS}, + {IDC_WA_CURSORS,IDS_P_DISP_CURSORS}, + {IDC_BIFONT,IDS_P_DISP_BIFONT}, + {IDC_BIFONT_ALT,IDS_P_DISP_BIFONT_ALT}, + {IDC_EQDSIZE,IDS_P_O_EQDS}, + {IDC_SPLB,IDS_P_O_SPLB}, + {IDC_CHECK2,IDS_P_DISP_FREESIZE}, + {IDC_KEEPONSCREEN,IDS_P_O_LITESTEP}, + {IDC_AOVD,IDS_P_O_AOVD}, + {IDC_POS_IN_SONGTICKER,IDS_P_DISP_PLPOS}, + }; + DO_HELP(); + switch (uMsg) + { + case WM_INITDIALOG: + CheckDlgButton(hwndDlg,IDC_SNAP,config_snap?1:0); + SetDlgItemInt(hwndDlg,IDC_SNAPW,config_snaplen,0); + CheckDlgButton(hwndDlg,IDC_HIGHLIGHT,config_hilite?1:0); + CheckDlgButton(hwndDlg,IDC_CLUTTERBAR,config_ascb_new?1:0); + CheckDlgButton(hwndDlg,IDC_TTIPS,config_ttips?1:0); + CheckDlgButton(hwndDlg,IDC_WA_CURSORS,config_usecursors?1:0); + CheckDlgButton(hwndDlg,IDC_BIFONT,config_bifont?1:0); + CheckDlgButton(hwndDlg,IDC_BIFONT_ALT,config_bifont_alt?1:0); + CheckDlgButton(hwndDlg,IDC_SPLB,config_ospb?1:0); + CheckDlgButton(hwndDlg,IDC_CHECK2,config_embedwnd_freesize?1:0); + CheckDlgButton(hwndDlg,IDC_EQDSIZE,config_eqdsize?1:0); + CheckDlgButton(hwndDlg,IDC_KEEPONSCREEN,(config_keeponscreen&1)?0:1); + CheckDlgButton(hwndDlg,IDC_AOVD,(config_keeponscreen&2)?1:0); + CheckDlgButton(hwndDlg,IDC_POS_IN_SONGTICKER,config_dotitlenum?1:0); + + EnableWindow(GetDlgItem(hwndDlg,IDC_BIFONT_ALT),!config_bifont); + break; + + case WM_COMMAND: + switch (LOWORD(wParam)) + { + case IDC_CHECK2: + config_embedwnd_freesize=!!IsDlgButtonChecked(hwndDlg,IDC_CHECK2); + return 0; + + case IDC_EQDSIZE: + config_eqdsize = (BST_CHECKED == IsDlgButtonChecked(hwndDlg,IDC_EQDSIZE)); + set_aot(0); + break; + + case IDC_SPLB: + config_ospb = (BST_CHECKED == IsDlgButtonChecked(hwndDlg,IDC_SPLB)); + break; + + case IDC_BIFONT: + config_bifont = (BST_CHECKED == IsDlgButtonChecked(hwndDlg,IDC_BIFONT)) ? 1 : 0; + EnableWindow(GetDlgItem(hwndDlg,IDC_BIFONT_ALT),!config_bifont); + g_need_titleupd=1; + InvalidateRect(hPLWindow, NULL, TRUE); + break; + + case IDC_BIFONT_ALT: + config_bifont_alt = (BST_CHECKED == IsDlgButtonChecked(hwndDlg,IDC_BIFONT_ALT)) ? 1 : 0; + if (config_dsize) + { + draw_reinit_plfont(1); + } + break; + + case IDC_POS_IN_SONGTICKER: + config_dotitlenum = IsDlgButtonChecked(hwndDlg,IDC_POS_IN_SONGTICKER)?1:0; + draw_songname(FileTitle, &ui_songposition, PlayList_getcurrentlength()); + break; + + case IDC_SNAP: config_snap = IsDlgButtonChecked(hwndDlg,IDC_SNAP)?1:0; break; + + case IDC_SNAPW: + if (HIWORD(wParam) == EN_CHANGE) { + int t,a; + a=GetDlgItemInt(hwndDlg,IDC_SNAPW,&t,0); + if (t) config_snaplen= (unsigned char)a; + } + break; + + case IDC_HIGHLIGHT: config_hilite = IsDlgButtonChecked(hwndDlg,IDC_HIGHLIGHT)?1:0; set_aot(0); break; + + case IDC_CLUTTERBAR: + config_ascb_new = IsDlgButtonChecked(hwndDlg,IDC_CLUTTERBAR)?1:0; + if (hMainWindow) draw_clutterbar(0); + break; + + case IDC_TTIPS: + config_ttips = IsDlgButtonChecked(hwndDlg,IDC_TTIPS)?1:0; + set_aot(0); + break; + + case IDC_WA_CURSORS: + config_usecursors = IsDlgButtonChecked(hwndDlg,IDC_WA_CURSORS)?1:0; + break; + + case IDC_KEEPONSCREEN: + case IDC_AOVD: + { + config_keeponscreen = IsDlgButtonChecked(hwndDlg,IDC_KEEPONSCREEN)?0:1; + config_keeponscreen |= IsDlgButtonChecked(hwndDlg,IDC_AOVD)?2:0; + SetWindowLongPtrW(hMainWindow,GWLP_USERDATA,(config_keeponscreen&2)?0x49474541:0); + SetWindowLongPtrW(hPLWindow,GWLP_USERDATA,(config_keeponscreen&2)?0x49474541:0); + SetWindowLongPtrW(hEQWindow,GWLP_USERDATA,(config_keeponscreen&2)?0x49474541:0); +// SetWindowLong(hMBWindow,GWL_USERDATA,(config_keeponscreen&2)?0x49474541:0); + SetWindowLongPtrW(hVideoWindow,GWLP_USERDATA,(config_keeponscreen&2)?0x49474541:0); + } + break; + } + return FALSE; + } + return FALSE; +} //display + +static LRESULT CALLBACK ClassicVisProc(HWND hwndDlg, UINT uMsg, WPARAM wParam,LPARAM lParam) +{ + static int text_ids[4]= + { + IDS_P_CLASSIC_70FPS, + IDS_P_CLASSIC_35FPS, + IDS_P_CLASSIC_18FPS, + IDS_P_CLASSIC_9FPS + }; +#if 0 + hi helpinfo[]={ + {IDC_USEID4,IDS_P_O_ONLOAD}, + }; + DO_HELP(); +#endif + if(uMsg == WM_INITDIALOG) + { + SendMessageW(GetDlgItem(hwndDlg,IDC_SLIDER3),TBM_SETRANGEMAX,0,3); + SendMessageW(GetDlgItem(hwndDlg,IDC_SLIDER3),TBM_SETRANGEMIN,0,0); + SendMessageW(GetDlgItem(hwndDlg,IDC_SLIDER3),TBM_SETPOS,1,4-config_saref); + + SendMessageW(GetDlgItem(hwndDlg,IDC_SLIDER1),TBM_SETRANGEMAX,0,4); + SendMessageW(GetDlgItem(hwndDlg,IDC_SLIDER1),TBM_SETRANGEMIN,0,0); + SendMessageW(GetDlgItem(hwndDlg,IDC_SLIDER1),TBM_SETPOS,1,config_safalloff); + + SendMessageW(GetDlgItem(hwndDlg,IDC_SLIDER2),TBM_SETRANGEMAX,0,4); + SendMessageW(GetDlgItem(hwndDlg,IDC_SLIDER2),TBM_SETRANGEMIN,0,0); + SendMessageW(GetDlgItem(hwndDlg,IDC_SLIDER2),TBM_SETPOS,1,config_sa_peak_falloff); + + SetDlgItemTextW(hwndDlg,IDC_RRATE,getStringW(text_ids[config_saref-1],NULL,0)); + if (config_sa == 1) CheckDlgButton(hwndDlg,IDC_RADIO1,BST_CHECKED); + else if (config_sa == 2) CheckDlgButton(hwndDlg,IDC_RADIO2,BST_CHECKED); + else CheckDlgButton(hwndDlg,IDC_RADIO3,BST_CHECKED); + + if ((config_safire&3) == 1) CheckDlgButton(hwndDlg,IDC_RADIO5,BST_CHECKED); + else if ((config_safire&3) == 2) CheckDlgButton(hwndDlg,IDC_RADIO6,BST_CHECKED); + else CheckDlgButton(hwndDlg,IDC_RADIO4,BST_CHECKED); + + if (config_sa_peaks) CheckDlgButton(hwndDlg,IDC_CHECK1,BST_CHECKED); + if ((config_safire&32)) CheckDlgButton(hwndDlg,IDC_RADIO7,BST_CHECKED); + else CheckDlgButton(hwndDlg,IDC_RADIO8,BST_CHECKED); + + if (((config_safire>>2)&3)==0) CheckDlgButton(hwndDlg,IDC_RADIO9,BST_CHECKED); + else if (((config_safire>>2)&3)==1) CheckDlgButton(hwndDlg,IDC_RADIO10,BST_CHECKED); + else CheckDlgButton(hwndDlg,IDC_RADIO11,BST_CHECKED); + } + + if (uMsg == WM_HSCROLL) + { + HWND swnd = (HWND) lParam; + int t=(int)SendMessageW(swnd,TBM_GETPOS,0,0); + if (swnd == GetDlgItem(hwndDlg,IDC_SLIDER3)) + { + config_saref=(unsigned char)(4-t); + SetDlgItemTextW(hwndDlg,IDC_RRATE,getStringW(text_ids[config_saref-1],NULL,0)); + } + + if (swnd == GetDlgItem(hwndDlg,IDC_SLIDER2)) + { + config_sa_peak_falloff = (unsigned char)t; + } + + if (swnd == GetDlgItem(hwndDlg,IDC_SLIDER1)) + { + config_safalloff= (unsigned char)t; + } + } + + if (uMsg == WM_COMMAND) + switch (LOWORD(wParam)) + { + case IDC_RADIO1: + case IDC_RADIO2: + case IDC_RADIO3: + if (IsDlgButtonChecked(hwndDlg,IDC_RADIO1)) config_sa=1; + else if (IsDlgButtonChecked(hwndDlg,IDC_RADIO2)) config_sa=2; + else config_sa=0; + sa_setthread(config_sa); + break; + + case IDC_RADIO4: + case IDC_RADIO5: + case IDC_RADIO6: + config_safire &= ~3; + if (IsDlgButtonChecked(hwndDlg,IDC_RADIO5)) config_safire |= 1; + else if (IsDlgButtonChecked(hwndDlg,IDC_RADIO6)) config_safire |= 2; + break; + + case IDC_CHECK1: + config_sa_peaks = IsDlgButtonChecked(hwndDlg,IDC_CHECK1)?1:0; + break; + + case IDC_RADIO7: + case IDC_RADIO8: + if (IsDlgButtonChecked(hwndDlg,IDC_RADIO7)) config_safire|=32; + else config_safire&=~32; + break; + + case IDC_RADIO9: + case IDC_RADIO10: + case IDC_RADIO11: + config_safire &= ~(3<<2); + if (IsDlgButtonChecked(hwndDlg,IDC_RADIO10)) config_safire |= 1<<2; + else if (IsDlgButtonChecked(hwndDlg,IDC_RADIO11)) config_safire |= 2<<2; + break; + } + + const int controls[] = + { + IDC_SLIDER1, + IDC_SLIDER2, + IDC_SLIDER3, + }; + if (FALSE != DirectMouseWheel_ProcessDialogMessage(hwndDlg, uMsg, wParam, lParam, controls, ARRAYSIZE(controls))) + return TRUE; + + return FALSE; +} // vis options + +multiPage classicPages[] = { + {IDD_CLASSIC_UI, ClassicUIProc}, + {IDD_CLASSIC_VIS, ClassicVisProc}, +}; + +INT_PTR CALLBACK classicSkinProc(HWND hwndDlg, UINT uMsg, WPARAM wParam,LPARAM lParam) +{ + switch (uMsg) + { + case WM_INITDIALOG: + { + TCITEMW item = {0}; + HWND tabwnd=GetDlgItem(hwndDlg,IDC_TAB1); + item.mask=TCIF_TEXT; + item.pszText=getStringW(IDS_P_CLASSICUI,NULL,0); + SendMessageW(tabwnd, TCM_INSERTITEMW, 0, (LPARAM)&item); + item.pszText=getStringW(IDS_P_CLASSICVIS,NULL,0); + SendMessageW(tabwnd, TCM_INSERTITEMW, 1, (LPARAM)&item); + + TabCtrl_SetCurSel(tabwnd,config_last_classic_skin_page); + subWnd = _dosetsel(hwndDlg,subWnd,&config_last_classic_skin_page,classicPages,sizeof(classicPages)/sizeof(classicPages[0])); + } + return 0; + + case WM_NOTIFY: + { + LPNMHDR p=(LPNMHDR)lParam; + if (p->idFrom == IDC_TAB1 && p->code == TCN_SELCHANGE) + subWnd = _dosetsel(hwndDlg,subWnd,&config_last_classic_skin_page,classicPages,sizeof(classicPages)/sizeof(classicPages[0])); + } + return 0; + + case WM_DESTROY: + subWnd=NULL; + return 0; + } + return 0; +}
\ No newline at end of file |