From bd7fe0980cf5974c432b789323a3fe2f68a107d3 Mon Sep 17 00:00:00 2001 From: George Hazan Date: Sun, 10 Mar 2013 20:02:14 +0000 Subject: mRadio merge git-svn-id: http://svn.miranda-ng.org/main/trunk@3965 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- plugins/mRadio/i_bass.inc | 40 ++++++- plugins/mRadio/i_hotkey.inc | 15 ++- plugins/mRadio/i_optdlg.inc | 256 ++++++++++++++++++++++++++++---------------- plugins/mRadio/i_vars.inc | 2 + plugins/mRadio/mr_rc.inc | 1 + plugins/mRadio/mradio.dpr | 2 + plugins/mRadio/mradio.rc | 111 +++++++++---------- plugins/mRadio/mradio.res | Bin 18720 -> 14424 bytes 8 files changed, 273 insertions(+), 154 deletions(-) (limited to 'plugins/mRadio') diff --git a/plugins/mRadio/i_bass.inc b/plugins/mRadio/i_bass.inc index e52d7f377a..b4df5cfc39 100644 --- a/plugins/mRadio/i_bass.inc +++ b/plugins/mRadio/i_bass.inc @@ -210,6 +210,29 @@ begin MyStopBASS; end; +function GetDeviceNumber:integer; +var + i:integer; + info:BASS_DEVICEINFO; +begin + // default device + result:=-1; + i:=1; + repeat + if not BASS_GetDeviceInfo(i,info) then + break; + if (info.flags and BASS_DEVICE_ENABLED)<>0 then + if StrCmp(info.name,usedevice)=0 then + begin + // not default device + if (info.flags and BASS_DEVICE_DEFAULT)=0 then + result:=i; + break; + end; + inc(i); + until false; +end; + function MyInitBASS:int; var fd:TWin32FindDataW; @@ -218,6 +241,7 @@ var // buf1:array [0..31] of WideChar; pc:PWideChar; p:Bool; + num:integer; begin if Inited then begin @@ -227,11 +251,19 @@ begin Inited:=true; BASS_Free; - p:=BASS_Init(-1,44100,BASS_DEVICE_3D,0,nil); - if not p then - p:=BASS_Init(-1,44100,0,0,nil); + + num:=GetDeviceNumber; + p:=BASS_Init(num,44100,BASS_DEVICE_3D,0,nil); if not p then - p:=BASS_Init(1,44100,0,0,nil); + p:=BASS_Init(num,44100,0,0,nil); + // not default device choosed - check default now + if (not p) and (num>=0) then + begin + p:=BASS_Init(-1,44100,BASS_DEVICE_3D,0,nil); + if not p then + p:=BASS_Init(-1,44100,0,0,nil); + end; + if not p then begin ErrorCustom('Can''t initialize device'); diff --git a/plugins/mRadio/i_hotkey.inc b/plugins/mRadio/i_hotkey.inc index 04271fe824..8b165bdc23 100644 --- a/plugins/mRadio/i_hotkey.inc +++ b/plugins/mRadio/i_hotkey.inc @@ -7,10 +7,12 @@ const HKN_PLAYPAUSE :PAnsiChar = 'mRadio_PlayPause'; HKN_STOP :PAnsiChar = 'mRadio_Stop'; HKN_MUTE :PAnsiChar = 'mRadio_Mute'; + HKN_RECORD :PAnsiChar = 'mRadio_Record'; - DefRadioKeyMute = ((HOTKEYF_EXT or HOTKEYF_SHIFT) shl 8) or ORD('M'); - DefRadioKeyPlay = ((HOTKEYF_EXT or HOTKEYF_SHIFT) shl 8) or ORD('P'); - DefRadioKeyStop = ((HOTKEYF_EXT or HOTKEYF_SHIFT) shl 8) or ORD('S'); + DefRadioKeyRecord = ((HOTKEYF_EXT or HOTKEYF_SHIFT) shl 8) or ORD('R'); + DefRadioKeyMute = ((HOTKEYF_EXT or HOTKEYF_SHIFT) shl 8) or ORD('M'); + DefRadioKeyPlay = ((HOTKEYF_EXT or HOTKEYF_SHIFT) shl 8) or ORD('P'); + DefRadioKeyStop = ((HOTKEYF_EXT or HOTKEYF_SHIFT) shl 8) or ORD('S'); function mRadio_Hotkey(wParam:WPARAM;lParam:LPARAM):int_ptr; cdecl; begin @@ -49,6 +51,13 @@ begin hkrec.pszDescription.a:='Mute'; hkrec.lParam :=MRC_MUTE; CallService(MS_HOTKEY_REGISTER,0,lparam(@hkrec)); + + //?? + hkrec.DefHotKey :=DefRadioKeyRecord; + hkrec.pszName :=HKN_RECORD; + hkrec.pszDescription.a:='Start/Stop Record'; + hkrec.lParam :=MRC_RECORD; + CallService(MS_HOTKEY_REGISTER,0,lparam(@hkrec)); end; procedure UnregisterHotKey; diff --git a/plugins/mRadio/i_optdlg.inc b/plugins/mRadio/i_optdlg.inc index d9fe1c4779..2b5d66535e 100644 --- a/plugins/mRadio/i_optdlg.inc +++ b/plugins/mRadio/i_optdlg.inc @@ -1,96 +1,4 @@ {Options dialog} -const - OldEQPreset:integer=-1; -const - optOldPreset:pAnsiChar='oldpreset'; - optPresets :pAnsiChar='numpreset'; - optPreset :pAnsiChar='preset_'; - optPreDescr :pAnsiChar='predescr_'; - -const - PresetMax = 17; - -procedure InitPresets; -type - tP = array [0..9] of AnsiChar; -begin - StrDupW(Presets[00].name,'Acoustic' ); tP(Presets[00].preset):=#$01#$02#$00#$00#$00#$00#$00#$01#$01#$03; - StrDupW(Presets[01].name,'Blues' ); tP(Presets[01].preset):=#$01#$02#$01#$00#$00#$00#$00#$00#$00#$FE; - StrDupW(Presets[02].name,'Classical'); tP(Presets[02].preset):=#$01#$04#$01#$00#$00#$00#$00#$00#$01#$01; - StrDupW(Presets[03].name,'Country' ); tP(Presets[03].preset):=#$00#$00#$01#$01#$00#$00#$01#$01#$01#$01; - StrDupW(Presets[04].name,'Dance' ); tP(Presets[04].preset):=#$04#$03#$02#$01#$FF#$FF#$02#$04#$05#$05; - StrDupW(Presets[05].name,'Folk' ); tP(Presets[05].preset):=#$FF#$00#$00#$01#$01#$00#$01#$01#$01#$00; - StrDupW(Presets[06].name,'Grunge' ); tP(Presets[06].preset):=#$01#$00#$FF#$00#$00#$02#$01#$FF#$FE#$FD; - StrDupW(Presets[07].name,'Jazz' ); tP(Presets[07].preset):=#$00#$01#$02#$03#$03#$01#$01#$03#$04#$05; - StrDupW(Presets[08].name,'Metall' ); tP(Presets[08].preset):=#$FE#$00#$00#$00#$00#$03#$02#$04#$06#$05; - StrDupW(Presets[09].name,'New Age' ); tP(Presets[09].preset):=#$03#$03#$00#$00#$00#$00#$00#$00#$02#$02; - StrDupW(Presets[10].name,'Opera' ); tP(Presets[10].preset):=#$00#$01#$02#$04#$01#$02#$00#$00#$00#$00; - StrDupW(Presets[11].name,'Rap' ); tP(Presets[11].preset):=#$00#$04#$04#$00#$00#$00#$01#$04#$05#$07; - StrDupW(Presets[12].name,'Reggae' ); tP(Presets[12].preset):=#$03#$00#$FD#$00#$05#$00#$02#$03#$04#$05; - StrDupW(Presets[13].name,'Rock' ); tP(Presets[13].preset):=#$00#$02#$04#$00#$00#$00#$02#$04#$05#$06; - StrDupW(Presets[14].name,'Speech' ); tP(Presets[14].preset):=#$FE#$02#$00#$00#$00#$00#$FF#$FE#$FD#$FC; - StrDupW(Presets[15].name,'Swing' ); tP(Presets[15].preset):=#$FF#$00#$00#$02#$02#$00#$02#$02#$03#$03; - StrDupW(Presets[16].name,'Techno' ); tP(Presets[16].preset):=#$05#$08#$FF#$FE#$FD#$FF#$04#$06#$06#$06; -end; - -procedure LoadPresets; -var - num,preset,descr:array [0..63] of AnsiChar; - i:integer; - p,pd:pAnsiChar; -begin - p :=StrCopyE(preset,optPreset); - pd:=StrCopyE(descr ,optPreDescr); - - i:=DBReadByte(0,PluginName,optPresets); - if i=0 then - begin - SetLength(Presets,PresetMax); - InitPresets; - end - else - begin - OldEQPreset:=integer(DBReadByte(0,PluginName,optOldPreset,byte(-1))); - SetLength(Presets,i); - for i:=0 to HIGH(Presets) do - begin - StrCopy(p ,IntToStr(num,i)); DBReadStruct (0,PluginName,preset,@Presets[i].preset,10); - StrCopy(pd,num); Presets[i].name:=DBReadUnicode(0,PluginName,descr); - end; - end; -end; - -procedure SavePresets; -var - num,preset,descr:array [0..63] of AnsiChar; - i,j:integer; - p,pd:pAnsiChar; -begin - p :=StrCopyE(preset,optPreset); - pd:=StrCopyE(descr ,optPreDescr); - j:=DBReadByte(0,PluginName,optPresets); - for i:=0 to HIGH(Presets) do - begin - StrCopy(p ,IntToStr(num,i)); DBWriteStruct (0,PluginName,preset,@Presets[i].preset,10); - StrCopy(pd,num); DBWriteUnicode(0,PluginName,descr ,Presets[i].name); - end; - while j>Length(Presets) do - begin - dec(j); - StrCopy(p ,IntToStr(num,j)); DBDeleteSetting(0,PluginName,preset); - StrCopy(pd,num); DBDeleteSetting(0,PluginName,descr); - end; - DBWriteByte(0,PluginName,optOldPreset,OldEQPreset); - DBWriteByte(0,PluginName,optPresets ,Length(Presets)); -end; - -procedure FreePresets; -var - i:integer; -begin - for i:=0 to HIGH(Presets) do - mFreeMem(Presets[i].name); -end; function ImportOneStation(group:PAnsiChar;section:pointer):int; var @@ -466,7 +374,13 @@ begin StrDupW(email.w,@buf); i:=Service_AddToList(0,tlparam(@psr)); +{ + GetDlgItemTextW(Dialog,IDC_STATION,@buf,SizeOf(buf)); + DBWriteUnicode(i,strCList,optMyHandle,@buf); + GetDlgItemTextW(Dialog,IDC_STATIONURL,@buf,SizeOf(buf)); + DBWriteUnicode(i,PluginName,optStationURL,@buf); +} // "changing" station group dst:=GetNewGroupName(Dialog); if dst<>nil then @@ -541,6 +455,13 @@ begin doLoop:=IsDlgButtonChecked(Dialog,IDC_LOOP); if chan<>0 then begin +{ + BASS_ChannelGetInfo(chan,info); + if doLoop<>BST_UNCHECKED then + info.flags:=info.flags or BASS_SAMPLE_LOOP + else + info.flags:=info.flags and not BASS_SAMPLE_LOOP; +} BASS_ChannelFlags(chan,ord(doLoop<>BST_UNCHECKED),BASS_SAMPLE_LOOP); end; @@ -562,6 +483,144 @@ begin end; end; +//----- Tech tab ----- + +const + OldEQPreset:integer=-1; +const + optOldPreset:pAnsiChar='oldpreset'; + optPresets :pAnsiChar='numpreset'; + optPreset :pAnsiChar='preset_'; + optPreDescr :pAnsiChar='predescr_'; + +const + PresetMax = 17; + +procedure InitPresets; +type + tP = array [0..9] of AnsiChar; +begin + StrDupW(Presets[00].name,'Acoustic' ); tP(Presets[00].preset):=#$01#$02#$00#$00#$00#$00#$00#$01#$01#$03; + StrDupW(Presets[01].name,'Blues' ); tP(Presets[01].preset):=#$01#$02#$01#$00#$00#$00#$00#$00#$00#$FE; + StrDupW(Presets[02].name,'Classical'); tP(Presets[02].preset):=#$01#$04#$01#$00#$00#$00#$00#$00#$01#$01; + StrDupW(Presets[03].name,'Country' ); tP(Presets[03].preset):=#$00#$00#$01#$01#$00#$00#$01#$01#$01#$01; + StrDupW(Presets[04].name,'Dance' ); tP(Presets[04].preset):=#$04#$03#$02#$01#$FF#$FF#$02#$04#$05#$05; + StrDupW(Presets[05].name,'Folk' ); tP(Presets[05].preset):=#$FF#$00#$00#$01#$01#$00#$01#$01#$01#$00; + StrDupW(Presets[06].name,'Grunge' ); tP(Presets[06].preset):=#$01#$00#$FF#$00#$00#$02#$01#$FF#$FE#$FD; + StrDupW(Presets[07].name,'Jazz' ); tP(Presets[07].preset):=#$00#$01#$02#$03#$03#$01#$01#$03#$04#$05; + StrDupW(Presets[08].name,'Metall' ); tP(Presets[08].preset):=#$FE#$00#$00#$00#$00#$03#$02#$04#$06#$05; + StrDupW(Presets[09].name,'New Age' ); tP(Presets[09].preset):=#$03#$03#$00#$00#$00#$00#$00#$00#$02#$02; + StrDupW(Presets[10].name,'Opera' ); tP(Presets[10].preset):=#$00#$01#$02#$04#$01#$02#$00#$00#$00#$00; + StrDupW(Presets[11].name,'Rap' ); tP(Presets[11].preset):=#$00#$04#$04#$00#$00#$00#$01#$04#$05#$07; + StrDupW(Presets[12].name,'Reggae' ); tP(Presets[12].preset):=#$03#$00#$FD#$00#$05#$00#$02#$03#$04#$05; + StrDupW(Presets[13].name,'Rock' ); tP(Presets[13].preset):=#$00#$02#$04#$00#$00#$00#$02#$04#$05#$06; + StrDupW(Presets[14].name,'Speech' ); tP(Presets[14].preset):=#$FE#$02#$00#$00#$00#$00#$FF#$FE#$FD#$FC; + StrDupW(Presets[15].name,'Swing' ); tP(Presets[15].preset):=#$FF#$00#$00#$02#$02#$00#$02#$02#$03#$03; + StrDupW(Presets[16].name,'Techno' ); tP(Presets[16].preset):=#$05#$08#$FF#$FE#$FD#$FF#$04#$06#$06#$06; +end; + +procedure LoadPresets; +var + num,preset,descr:array [0..63] of AnsiChar; + i:integer; + p,pd:pAnsiChar; +begin + p :=StrCopyE(preset,optPreset); + pd:=StrCopyE(descr ,optPreDescr); + + i:=DBReadByte(0,PluginName,optPresets); + if i=0 then + begin + SetLength(Presets,PresetMax); + InitPresets; + end + else + begin + OldEQPreset:=integer(DBReadByte(0,PluginName,optOldPreset,byte(-1))); + SetLength(Presets,i); + for i:=0 to HIGH(Presets) do + begin + StrCopy(p ,IntToStr(num,i)); DBReadStruct (0,PluginName,preset,@Presets[i].preset,10); + StrCopy(pd,num); Presets[i].name:=DBReadUnicode(0,PluginName,descr); + end; + end; +end; + +procedure SavePresets; +var + num,preset,descr:array [0..63] of AnsiChar; + i,j:integer; + p,pd:pAnsiChar; +begin + p :=StrCopyE(preset,optPreset); + pd:=StrCopyE(descr ,optPreDescr); + j:=DBReadByte(0,PluginName,optPresets); + for i:=0 to HIGH(Presets) do + begin + StrCopy(p ,IntToStr(num,i)); DBWriteStruct (0,PluginName,preset,@Presets[i].preset,10); + StrCopy(pd,num); DBWriteUnicode(0,PluginName,descr ,Presets[i].name); + end; + while j>Length(Presets) do + begin + dec(j); + StrCopy(p ,IntToStr(num,j)); DBDeleteSetting(0,PluginName,preset); + StrCopy(pd,num); DBDeleteSetting(0,PluginName,descr); + end; + DBWriteByte(0,PluginName,optOldPreset,OldEQPreset); + DBWriteByte(0,PluginName,optPresets ,Length(Presets)); +end; + +procedure FreePresets; +var + i:integer; +begin + for i:=0 to HIGH(Presets) do + mFreeMem(Presets[i].name); +end; + +procedure FillDeviceCombo(wnd:HWND;choose:pAnsiChar); +var + i,select,def:integer; + info:BASS_DEVICEINFO; + buf: array [0..255] of AnsiChar; +begin + SendMessage(wnd,CB_RESETCONTENT,0,0); + i:=0; + select:=-1; + def:=0; + repeat + if not BASS_GetDeviceInfo(i+1,info) then + break; + if (info.flags and BASS_DEVICE_ENABLED)<>0 then + begin + if (info.flags and BASS_DEVICE_INIT)<>0 then + begin + select:=i; + buf[0]:='>'; + end + else if (info.flags and BASS_DEVICE_DEFAULT)<>0 then + begin + def:=i; + buf[0]:='*'; + end + else buf[0]:=' '; + if select<0 then + begin + if StrCmp(info.name,choose)=0 then + select:=i; + end; + StrCopy(@buf[1],info.name); + SendMessageA(wnd,CB_ADDSTRING,0,lparam(@buf)); + end; + inc(i); + until false; + if select>=0 then + def:=select; + SendMessage(wnd,CB_SETCURSEL,def,0); +// not acceptable coz we added 1st char +// SendMessageW(wnd,CB_SELECTSTRING,twparam(-1),tlparam(choose)) +end; + function DlgProcOptTech(Dialog:HWnd;hMessage:uint;wParam:WPARAM;lParam:LPARAM):lresult; stdcall; const DlgInit:integer=1; @@ -609,16 +668,22 @@ begin CheckDlgButton(Dialog,IDC_MONO,ForcedMono); + // Fill EAX combo hEAXCombo:=GetDlgItem(Dialog,IDC_EAXTYPE); for i:=0 to EAX_ENVIRONMENT_COUNT do SendMessageW(hEAXCombo,CB_ADDSTRING,0,tlparam(TranslateW(EAXItems[i].name))); SendMessage(hEAXCombo,CB_SETCURSEL,DBReadByte(0,PluginName,optEAXType,0),0); + // Fill combo with devices + FillDeviceCombo(GetDlgItem(Dialog,IDC_DEVICE),usedevice); + + // Add preset to combo wnd:=GetDlgItem(Dialog,IDC_PRESET); for i:=0 to HIGH(Presets) do SendMessageW(wnd,CB_ADDSTRING,0,tlparam(Presets[i].name)); SendMessage(wnd,CB_SETCURSEL,OldEQPreset,0); + // Equalizer for i:=0 to 9 do begin eq[i].wnd:=GetDlgItem(Dialog,IDC_EQ00+i); @@ -628,7 +693,7 @@ begin SendDlgItemMessageA(Dialog,IDC_0+i,WM_SETTEXT,0,tlparam(eq[i].text)); EnableWindow(eq[i].wnd,isEQ_OFF=BST_UNCHECKED); end; - + CheckDlgButton(Dialog,IDC_EQOFF,isEQ_OFF); dst:=DBReadUnicode(0,PluginName,optBASSPath,nil); @@ -762,6 +827,11 @@ begin begin SavePresets; + mFreeMem(usedevice); + usedevice:=GetDlgText(Dialog,IDC_DEVICE,true); + StrCopy(usedevice,usedevice+1); + DBWriteString(0,PluginName,optDevice,usedevice); + //!! bass path saving here dst:=GetDlgText(Dialog,IDC_BASSPATH); DBWriteUnicode(0,PluginName,optBASSPath,dst); diff --git a/plugins/mRadio/i_vars.inc b/plugins/mRadio/i_vars.inc index 5d75dc7fae..97db03260a 100644 --- a/plugins/mRadio/i_vars.inc +++ b/plugins/mRadio/i_vars.inc @@ -7,6 +7,7 @@ const optLastStn :PAnsiChar = 'LastStation'; optConnect :PAnsiChar = 'AutoConnect'; optAutoMute :PAnsiChar = 'AutoMute'; + optDevice :PAnsichar = 'Device'; optEQ_OFF :PAnsiChar = 'eqoff'; optStatusMsg :PAnsiChar = 'StatusMsg'; optCurElement :PAnsiChar = 'LastPlayed'; @@ -93,6 +94,7 @@ var sBuffer, sTimeout, sPreBuf:cardinal; + usedevice:PAnsiChar; const hVolCtrl :HWND=0; hVolFrmCtrl :HWND=0; diff --git a/plugins/mRadio/mr_rc.inc b/plugins/mRadio/mr_rc.inc index 41998194b6..9cabc91824 100644 --- a/plugins/mRadio/mr_rc.inc +++ b/plugins/mRadio/mr_rc.inc @@ -35,6 +35,7 @@ const IDC_PRESET = 1052; IDC_TRIES = 1053; IDC_MONO = 1054; + IDC_DEVICE = 1055; IDC_BASSPATH = 1100; IDC_BASSPTHBTN = 1101; diff --git a/plugins/mRadio/mradio.dpr b/plugins/mRadio/mradio.dpr index f5e09dab4f..1039ead40e 100644 --- a/plugins/mRadio/mradio.dpr +++ b/plugins/mRadio/mradio.dpr @@ -149,6 +149,7 @@ begin // CallService(MS_RADIO_COMMAND,MRC_RECORD,2); record off - not so necessary recpath:=DBReadUnicode(0,PluginName,optRecPath); + usedevice:=DBReadString(0,PluginName,optDevice); sPreBuf:=DBReadWord(0,PluginName,optPreBuf,75); BASS_SetConfig(BASS_CONFIG_NET_PREBUF,sPreBuf); @@ -243,6 +244,7 @@ begin mFreeMem(storage); mFreeMem(storagep); mFreeMem(recpath); + mFreeMem(usedevice); mFreeMem(StatusTmpl); mFreeMem(basspath); FreePresets; diff --git a/plugins/mRadio/mradio.rc b/plugins/mRadio/mradio.rc index 2b81408090..126052f6ee 100644 --- a/plugins/mRadio/mradio.rc +++ b/plugins/mRadio/mradio.rc @@ -49,61 +49,64 @@ STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD | WS_VISIBLE EXSTYLE WS_EX_CONTROLPARENT FONT 8, "MS Shell Dlg", 0, 0 { - CTEXT "Use EAX",IDC_USEEAX,2,34,72,16,SS_CENTERIMAGE - COMBOBOX IDC_EAXTYPE,75,34,96,75,CBS_DROPDOWNLIST | WS_VSCROLL - - AUTOCHECKBOX "Forced Mono",IDC_MONO,2,52,169,16, BS_RIGHT | BS_VCENTER | BS_LEFTTEXT - - CONTROL "",IDC_VOLUME,"msctls_trackbar32",TBS_NOTICKS | WS_TABSTOP|$100,19,12,129,16 - CTEXT "min",IDC_STATIC,5,15,18,8 - CTEXT "max",IDC_STATIC,150,15,18,8 - GROUPBOX "Volume",-1,2,2,170,28, WS_TABSTOP - - GROUPBOX "",-1,174,2,128,73, WS_TABSTOP - LTEXT "Buffer, ms (5000)",IDC_STATIC,210,8,90,16,SS_CENTERIMAGE - EDITTEXT IDC_BUFFER,178,10,30,12, ES_RIGHT | ES_NUMBER - LTEXT "PreBuf, % (75%)",IDC_STATIC,210,24,90,16,SS_CENTERIMAGE - EDITTEXT IDC_PREBUF,178,26,30,12, ES_RIGHT | ES_NUMBER - LTEXT "Timeout, ms (5000)",IDC_STATIC,210,40,90,16,SS_CENTERIMAGE - EDITTEXT IDC_TIMEOUT,178,42,30,12, ES_RIGHT | ES_NUMBER - LTEXT "Tries to connect",IDC_STATIC,210,56,90,16,SS_CENTERIMAGE - EDITTEXT IDC_TRIES,178,58,30,12, ES_RIGHT | ES_NUMBER - - LTEXT "BASS library path (empty for default)",IDC_STATIC,6,76,276,14,SS_CENTERIMAGE - EDITTEXT IDC_BASSPATH, 2,90,284,11,ES_AUTOHSCROLL - PUSHBUTTON "...", IDC_BASSPTHBTN, 288,90,14,11, BS_BOTTOM + CTEXT "Use EAX",IDC_USEEAX,2,32,72,16,SS_CENTERIMAGE + COMBOBOX IDC_EAXTYPE,75,32,96,75,CBS_DROPDOWNLIST | WS_VSCROLL + + AUTOCHECKBOX "Forced Mono",IDC_MONO,2,50,169,16, BS_RIGHT | BS_VCENTER | BS_LEFTTEXT + + CONTROL "",IDC_VOLUME,"msctls_trackbar32",TBS_NOTICKS | WS_TABSTOP|$100,19,10,129,16 + CTEXT "min",IDC_STATIC,5,13,18,8 + CTEXT "max",IDC_STATIC,150,13,18,8 + GROUPBOX "Volume",-1,2,0,170,28, WS_TABSTOP + + GROUPBOX "",-1,174,0,128,72, WS_TABSTOP + LTEXT "Buffer, ms (5000)",IDC_STATIC,210,6,90,16,SS_CENTERIMAGE + EDITTEXT IDC_BUFFER,178,8,30,12, ES_RIGHT | ES_NUMBER + LTEXT "PreBuf, % (75%)",IDC_STATIC,210,22,90,16,SS_CENTERIMAGE + EDITTEXT IDC_PREBUF,178,24,30,12, ES_RIGHT | ES_NUMBER + LTEXT "Timeout, ms (5000)",IDC_STATIC,210,38,90,16,SS_CENTERIMAGE + EDITTEXT IDC_TIMEOUT,178,40,30,12, ES_RIGHT | ES_NUMBER + LTEXT "Tries to connect",IDC_STATIC,210,54,90,16,SS_CENTERIMAGE + EDITTEXT IDC_TRIES,178,56,30,12, ES_RIGHT | ES_NUMBER + + LTEXT "BASS library path (empty for default)",IDC_STATIC,6,73,276,14,SS_CENTERIMAGE + EDITTEXT IDC_BASSPATH, 2,87,284,11,ES_AUTOHSCROLL + PUSHBUTTON "...", IDC_BASSPTHBTN, 288,87,14,11, BS_BOTTOM - PUSHBUTTON "OFF", IDC_EQOFF,6 ,154,22,12,BS_PUSHLIKE | BS_CHECKBOX | BS_DEFPUSHBUTTON - PUSHBUTTON "0" ,IDC_ZERO ,9 ,171,14,13 - RTEXT "15" ,IDC_STATIC,13,141,16,10 - RTEXT "-15",IDC_STATIC,13,199,16,10 - - COMBOBOX IDC_PRESET,2,116,150,75,CBS_DROPDOWN | WS_VSCROLL - CONTROL "+", IDC_EQ_ADD, "MButtonClass",WS_TABSTOP, 154,114,16,16,$18000000 - CONTROL "-", IDC_EQ_DEL, "MButtonClass",WS_TABSTOP, 174,114,16,16,$18000000 - LTEXT "Equalizer presets",IDC_STATIC,194,114,106,16,SS_CENTERIMAGE - - CTEXT "",IDC_0,34,211,16,9 - CONTROL "",IDC_EQ00,"msctls_trackbar32",TBS_LEFT|TBS_VERT|WS_TABSTOP, 29,136,22,75 - CTEXT "",IDC_1,61,211,16,9 - CONTROL "",IDC_EQ01,"msctls_trackbar32",TBS_LEFT|TBS_VERT|WS_TABSTOP, 55,136,22,75 - CTEXT "",IDC_2,87,211,16,9 - CONTROL "",IDC_EQ02,"msctls_trackbar32",TBS_LEFT|TBS_VERT|WS_TABSTOP, 81,136,22,75 - CTEXT "",IDC_3,113,211,16,9 - CONTROL "",IDC_EQ03,"msctls_trackbar32",TBS_LEFT|TBS_VERT|WS_TABSTOP,107,136,22,75 - CTEXT "",IDC_4,139,211,16,9 - CONTROL "",IDC_EQ04,"msctls_trackbar32",TBS_LEFT|TBS_VERT|WS_TABSTOP,133,136,22,75 - CTEXT "",IDC_5,165,211,16,9 - CONTROL "",IDC_EQ05,"msctls_trackbar32",TBS_LEFT|TBS_VERT|WS_TABSTOP,159,136,22,75 - CTEXT "",IDC_6,191,211,16,9 - CONTROL "",IDC_EQ06,"msctls_trackbar32",TBS_LEFT|TBS_VERT|WS_TABSTOP,185,136,22,75 - CTEXT "",IDC_7,217,211,16,9 - CONTROL "",IDC_EQ07,"msctls_trackbar32",TBS_LEFT|TBS_VERT|WS_TABSTOP,211,136,22,75 - CTEXT "",IDC_8,243,211,16,9 - CONTROL "",IDC_EQ08,"msctls_trackbar32",TBS_LEFT|TBS_VERT|WS_TABSTOP,237,136,22,75 - CTEXT "",IDC_9,269,211,16,9 - CONTROL "",IDC_EQ09,"msctls_trackbar32",TBS_LEFT|TBS_VERT|WS_TABSTOP,263,136,22,75 - GROUPBOX "Equalizer",IDC_STATIC,2,130,298,92 + COMBOBOX IDC_DEVICE,2,101,190,75,CBS_DROPDOWNLIST | WS_VSCROLL + LTEXT "Device list",IDC_STATIC,194,99,106,16,SS_CENTERIMAGE + + COMBOBOX IDC_PRESET,2,118,150,75,CBS_DROPDOWN | WS_VSCROLL + CONTROL "+", IDC_EQ_ADD, "MButtonClass",WS_TABSTOP, 154,116,16,16,$18000000 + CONTROL "-", IDC_EQ_DEL, "MButtonClass",WS_TABSTOP, 174,116,16,16,$18000000 + LTEXT "Equalizer presets",IDC_STATIC,194,116,106,16,SS_CENTERIMAGE + + PUSHBUTTON "OFF", IDC_EQOFF,6 ,155,22,12,BS_PUSHLIKE | BS_CHECKBOX | BS_DEFPUSHBUTTON + PUSHBUTTON "0" ,IDC_ZERO ,9 ,172,14,13 + RTEXT "15" ,IDC_STATIC,13,142,16,10 + RTEXT "-15",IDC_STATIC,13,200,16,10 + + CTEXT "",IDC_0,34,212,16,9 + CONTROL "",IDC_EQ00,"msctls_trackbar32",TBS_LEFT|TBS_VERT|WS_TABSTOP, 29,137,22,75 + CTEXT "",IDC_1,61,212,16,9 + CONTROL "",IDC_EQ01,"msctls_trackbar32",TBS_LEFT|TBS_VERT|WS_TABSTOP, 55,137,22,75 + CTEXT "",IDC_2,87,212,16,9 + CONTROL "",IDC_EQ02,"msctls_trackbar32",TBS_LEFT|TBS_VERT|WS_TABSTOP, 81,137,22,75 + CTEXT "",IDC_3,113,212,16,9 + CONTROL "",IDC_EQ03,"msctls_trackbar32",TBS_LEFT|TBS_VERT|WS_TABSTOP,107,137,22,75 + CTEXT "",IDC_4,139,212,16,9 + CONTROL "",IDC_EQ04,"msctls_trackbar32",TBS_LEFT|TBS_VERT|WS_TABSTOP,133,137,22,75 + CTEXT "",IDC_5,165,212,16,9 + CONTROL "",IDC_EQ05,"msctls_trackbar32",TBS_LEFT|TBS_VERT|WS_TABSTOP,159,137,22,75 + CTEXT "",IDC_6,191,212,16,9 + CONTROL "",IDC_EQ06,"msctls_trackbar32",TBS_LEFT|TBS_VERT|WS_TABSTOP,185,137,22,75 + CTEXT "",IDC_7,217,212,16,9 + CONTROL "",IDC_EQ07,"msctls_trackbar32",TBS_LEFT|TBS_VERT|WS_TABSTOP,211,137,22,75 + CTEXT "",IDC_8,243,212,16,9 + CONTROL "",IDC_EQ08,"msctls_trackbar32",TBS_LEFT|TBS_VERT|WS_TABSTOP,237,137,22,75 + CTEXT "",IDC_9,269,212,16,9 + CONTROL "",IDC_EQ09,"msctls_trackbar32",TBS_LEFT|TBS_VERT|WS_TABSTOP,263,137,22,75 + GROUPBOX "Equalizer",IDC_STATIC,2,131,298,92 } IDD_SEARCH DIALOGEX 0, 0, 110, 140 diff --git a/plugins/mRadio/mradio.res b/plugins/mRadio/mradio.res index 10d008f143..660b222548 100644 Binary files a/plugins/mRadio/mradio.res and b/plugins/mRadio/mradio.res differ -- cgit v1.2.3