diff options
author | whiteshark0 <whiteshark0@b956fd51-792f-4845-bead-9b4dfca2ff2c> | 2010-04-13 16:23:14 +0000 |
---|---|---|
committer | whiteshark0 <whiteshark0@b956fd51-792f-4845-bead-9b4dfca2ff2c> | 2010-04-13 16:23:14 +0000 |
commit | f1566a45ac7de81f31a1b419d88e1742089ae56d (patch) | |
tree | 889408caab4da0325663305c2ef9ac4b7bc47c9c /src/media | |
parent | 189d127196a855ca6a79793ba0bbe548bd415049 (diff) | |
download | usdx-f1566a45ac7de81f31a1b419d88e1742089ae56d.tar.gz usdx-f1566a45ac7de81f31a1b419d88e1742089ae56d.tar.xz usdx-f1566a45ac7de81f31a1b419d88e1742089ae56d.zip |
- save input device names as UTF8Strings
- device names of basslib are assumed to be in local encoding
- device names of portaudio are assumed to be in utf-8
fixes: display of device names w/ special characters w/ basslib ('รค' for me)
to-do: proof encoding of device names for basslib and portaudio
git-svn-id: svn://svn.code.sf.net/p/ultrastardx/svn/trunk@2234 b956fd51-792f-4845-bead-9b4dfca2ff2c
Diffstat (limited to '')
-rw-r--r-- | src/media/UAudioInput_Bass.pas | 10 | ||||
-rw-r--r-- | src/media/UAudioInput_Portaudio.pas | 2 |
2 files changed, 8 insertions, 4 deletions
diff --git a/src/media/UAudioInput_Bass.pas b/src/media/UAudioInput_Bass.pas index 9d4417f1..e51ba254 100644 --- a/src/media/UAudioInput_Bass.pas +++ b/src/media/UAudioInput_Bass.pas @@ -46,6 +46,7 @@ uses UIni, ULog, UAudioCore_Bass, + UTextEncoding, UCommon, // (Note: for MakeLong on non-windows platforms) {$IFDEF MSWINDOWS} Windows, // (Note: for MakeLong) @@ -352,7 +353,7 @@ end; function TAudioInput_Bass.EnumDevices(): boolean; var - Descr: PChar; + Descr: UTF8String; SourceName: PChar; Flags: integer; BassDeviceID: integer; @@ -389,9 +390,12 @@ begin BassDevice := TBassInputDevice.Create(); AudioInputProcessor.DeviceList[DeviceIndex] := BassDevice; - Descr := DeviceInfo.name; - BassDevice.BassDeviceID := BassDeviceID; + + // bass device name seems to be encoded w/ local encoding + // to-do : check if this is correct + Descr := DecodeStringUTF8(DeviceInfo.name, encLocale); + BassDevice.Name := UnifyDeviceName(Descr, DeviceIndex); // zero info-struct as some fields might not be set (e.g. freq is just set on Vista and MacOSX) diff --git a/src/media/UAudioInput_Portaudio.pas b/src/media/UAudioInput_Portaudio.pas index c5ec8115..95b0f104 100644 --- a/src/media/UAudioInput_Portaudio.pas +++ b/src/media/UAudioInput_Portaudio.pas @@ -271,7 +271,7 @@ var i: integer; paApiIndex: TPaHostApiIndex; paApiInfo: PPaHostApiInfo; - deviceName: string; + deviceName: UTF8String; deviceIndex: TPaDeviceIndex; deviceInfo: PPaDeviceInfo; channelCnt: integer; |