summaryrefslogtreecommitdiff
path: root/plugins/mRadio
diff options
context:
space:
mode:
authorGeorge Hazan <george.hazan@gmail.com>2013-03-10 20:02:14 +0000
committerGeorge Hazan <george.hazan@gmail.com>2013-03-10 20:02:14 +0000
commitbd7fe0980cf5974c432b789323a3fe2f68a107d3 (patch)
tree907609038c666de3c2ef59f18f2b036e0781ea4e /plugins/mRadio
parent503d82db45bf24f4739d126d43bfbeee4828a882 (diff)
mRadio merge
git-svn-id: http://svn.miranda-ng.org/main/trunk@3965 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'plugins/mRadio')
-rw-r--r--plugins/mRadio/i_bass.inc40
-rw-r--r--plugins/mRadio/i_hotkey.inc15
-rw-r--r--plugins/mRadio/i_optdlg.inc256
-rw-r--r--plugins/mRadio/i_vars.inc2
-rw-r--r--plugins/mRadio/mr_rc.inc1
-rw-r--r--plugins/mRadio/mradio.dpr2
-rw-r--r--plugins/mRadio/mradio.rc111
-rw-r--r--plugins/mRadio/mradio.resbin18720 -> 14424 bytes
8 files changed, 273 insertions, 154 deletions
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
--- a/plugins/mRadio/mradio.res
+++ b/plugins/mRadio/mradio.res
Binary files differ