Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issues with naming devices using non-ASCII characters #73

Closed
nd1torzelan opened this issue May 9, 2020 · 4 comments
Closed

Issues with naming devices using non-ASCII characters #73

nd1torzelan opened this issue May 9, 2020 · 4 comments
Labels

Comments

@nd1torzelan
Copy link

My output device is "Högtalare (RIG 800HD)", correctly detected and reproduced when logging.

However, PortAudioDevices.exe shows it as "Högtalare (RIG 800HD)", and when I experimented with using the REW software (Room EQ Wizard) to create a FlexASIO.toml file for me, it also input that.

Trying to use FlexASIO with either of those as device, however, doesn't work - it finds no device.
(It works / is found in other ASIO apps.)

Any idea for fix or workaround? Thanks.

@nd1torzelan
Copy link
Author

nd1torzelan commented May 9, 2020

...Ok, bizarre. Now, after putting it to "Högtalare" with "ö" again (as I did several times before), it just works. Right after posting, just typical. :-)

So this is what I have right now; haven't gotten to fine tune latency and all that yet, but at least it works now (and lets me jam on my guitar while watching f.e. YouTube at the same time, and hear it all on my wireless headset - super!).

backend = "Windows WASAPI"
bufferSizeSamples = 64
[input]
device = "Line 1/2 (M-Audio M-Track 2X2)"
[output]
device = "Högtalare (RIG 800HD)"

Cheers, thanks for making FlexASIO!

@dechamps
Copy link
Owner

dechamps commented May 9, 2020

Ah, I see. Most likely this is a character encoding issue where the output encoding of PortAudioDevices.exe doesn't match the encoding that PortAudio uses. I also sense a potential problem with the producer of FlexASIO.toml using an encoding that's different from the one FlexASIO expects.

I'm reopening because this is a real problem that will happen every time someone attempts to configure a device with a name that contains non-ASCII characters. I'll need to dig into it and determine what's the best way to fix it. At the very least I should document it.

@dechamps dechamps reopened this May 9, 2020
@dechamps dechamps added the bug label May 9, 2020
@dechamps dechamps changed the title Can't open Audio Device (because of name, letter "ö"?) Issues with naming devices using non-ASCII characters May 9, 2020
@dechamps
Copy link
Owner

dechamps commented Sep 3, 2020

In process memory, PortAudio exposes the device name Héadéset as 48 c3 a9 61 64 c3 a9 73 65 74. This matches UTF-8 encoding.

And indeed selecting a device with non-ASCII characters works as one would expect as long as the device name is written in UTF-8 to the configuration file.

However, the problem is that PortAudioDevices.exe does not convert the UTF-8 device name to the encoding used by the Windows console (which on my computer is CP 850). Thus, the names are mangled in the output of PortAudioDevices.

dechamps added a commit that referenced this issue Sep 4, 2020
dechamps added a commit that referenced this issue Sep 4, 2020
@dechamps
Copy link
Owner

dechamps commented Sep 5, 2020

Starting from FlexASIO 1.6, PortAudioDevices should display non-ASCII device names correctly when running in a console.

The REW control panel still doesn't work properly with non-ASCII device names because it doesn't seem to be using UTF-8 when reading the output of PortAudioDevices. I have reported the bug to @johnmgithub so that it can be fixed in REW.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants