Git Product home page Git Product logo

flexasio_gui's Introduction

This is a small GUI to make the configuration of https://github.com/dechamps/FlexASIO a bit quicker.

It should pick up your existing $Usersprofile/FlexASIO.toml file and read the basic parameters. Not all of them have been implemented yet...

To run, please make sure you have .NET Desktop Runtime 6.x installed.

v0.3 adds a registry key with the install path to HKEY_LOCAL_MACHINE\SOFTWARE\Fabrikat\FlexASIOGUI\Install\Installpath

It also makes most settings optional so that default settings are not overwritten.

image

flexasio_gui's People

Contributors

flipswitchingmonkey avatar vasilevp avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

flexasio_gui's Issues

Config check

Thanks for your GUI Tool, it makes life easier with FlexASIO.

BUT ;)

i think it would be great if there were some basic checks, which actually prevent you to configure FlexASIO in a way that it does not work. I.e. imho it is not obvious that channel count 0 means "Use Default Channel count reported by Device". As far as i understand the comments of the FlexASIO author, the devices report their available channels, so i guess it should be possible to limit the selection to the actual available channels... Also, it would be great if some "known bugs" as mentioned by the author would be caught in the GUI already, i.e. that you can not use small buffers in conjunction with DirectSound.

Ultimately it would be great if, the results of a future config check: dechamps/FlexASIO#111
would be represented in the GUI.

Here the whole thread:
dechamps/FlexASIO#110

thanks,
t.

List all loopback devices in input device section in the app

Since FlexASIO 1.9 was released, you can use loopback device as the input device. The idea here is to make the app list also all the loopback devices that are available in the system. To actually use it, you have to add [Loopback] after the device name while separating both words with a single space.
For example:
The desired loopback device is named G430 (4- Logitech G430 Gaming Headset)- the whole name would need to be as follows:
G430 (4- Logitech G430 Gaming Headset) [Loopback]
The [input] section of the flexASIO.toml after setting this device as the input would look like this:

[input]
device = "G430 (4- Logitech G430 Gaming Headset) [Loopback]"
wasapiExclusiveMode = false
wasapiAutoConvert = true
channels = 8

Have you thought about adding such feature?

how do we install or run this??

Some explanation of how to run this would be nice...
there is no executable installer or batch file to do the install included with this
most of us are not programmers and have no idea how to install something like this

Simply does not open.

Title says it all. FlexASIO is installed, I install this program and it works fine, shows up in the start menu etc, it just doesn't launch. Maybe I'm a total moron here (very likely) but I'm not sure what I could be doing wrong.

"You must install NET.Core"

I have installed the preview build and both LTS builds from this webpage, but when I launch the application it still say that NET.Core needs to be installed. I have restarted the computer after the installations to no effect.

To run this application, you must install NET.Core

Would you like to download it now?

Is there a specific version required for this app?

Redesign Suggestion

Would you be willing to plug this into a QT ui if I designed a new interface? I don't know C#, otherwise I would do it myself. I'll make it real nice, I promise lol.

I attached a previous UI I made in QT.
Thanks.

image

flexASIO_gui does not start when used again ### error in the event display

Hello, i have a Problem with this tool:

The flex asio gui does not start when used again.

How i can fix it?

This is the information I have from the event display:

Protokollname: Application
Quelle: Windows Error Reporting
Datum: 24.10.2022 14:53:25
Ereignis-ID: 1001
Aufgabenkategorie:Keine
Ebene: Informationen
Schlüsselwörter:Klassisch
Benutzer: Nicht zutreffend
Computer: DESKTOP-9GG4TR2
Beschreibung:
Fehlerbucket 1494313614435414010, Typ 4
Ereignisname: APPCRASH
Antwort: Nicht verfügbar
CAB-Datei-ID: 0

Problemsignatur:
P1: FlexASIOGUI.exe
P2: 1.0.0.0
P3: 62b2fac5
P4: KERNELBASE.dll
P5: 10.0.19041.2130
P6: b0fac6c9
P7: e0434352
P8: 000000000002cd29
P9:
P10:

Angefügte Dateien:
\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WER3FA8.tmp.mdmp
\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WER4268.tmp.WERInternalMetadata.xml
\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WER42B7.tmp.xml
\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WER42D4.tmp.csv
\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WER4314.tmp.txt

Diese Dateien befinden sich möglicherweise hier:
\?\C:\ProgramData\Microsoft\Windows\WER\ReportArchive\AppCrash_FlexASIOGUI.exe_f0138a15e9cb96ec3edc8ed59928d49da24924d_adcf0c17_a4f9d6aa-d0d9-489c-95a8-63df4c19293c

Analysesymbol:
Es wird erneut nach einer Lösung gesucht: 0
Berichts-ID: 450550fe-7790-44fa-8197-5a8870e999bb
Berichtstatus: 268435456
Bucket mit Hash: 8f87e7ef004374ecd4bcde50ab73effa
CAB-Datei-Guid: 0
Ereignis-XML:



1001
0
4
0
0
0x80000000000000

365521


Application
DESKTOP-9GG4TR2



1494313614435414010
4
APPCRASH
Nicht verfügbar
0
FlexASIOGUI.exe
1.0.0.0
62b2fac5
KERNELBASE.dll
10.0.19041.2130
b0fac6c9
e0434352
000000000002cd29





\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WER3FA8.tmp.mdmp
\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WER4268.tmp.WERInternalMetadata.xml
\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WER42B7.tmp.xml
\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WER42D4.tmp.csv
\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WER4314.tmp.txt
\?\C:\ProgramData\Microsoft\Windows\WER\ReportArchive\AppCrash_FlexASIOGUI.exe_f0138a15e9cb96ec3edc8ed59928d49da24924d_adcf0c17_a4f9d6aa-d0d9-489c-95a8-63df4c19293c


0
450550fe-7790-44fa-8197-5a8870e999bb
268435456
8f87e7ef004374ecd4bcde50ab73effa
0

##################################################################################################
Protokollname: Application
Quelle: Application Error
Datum: 24.10.2022 14:53:23
Ereignis-ID: 1000
Aufgabenkategorie:(100)
Ebene: Fehler
Schlüsselwörter:Klassisch
Benutzer: Nicht zutreffend
Computer: DESKTOP-9GG4TR2
Beschreibung:
Name der fehlerhaften Anwendung: FlexASIOGUI.exe, Version: 1.0.0.0, Zeitstempel: 0x62b2fac5
Name des fehlerhaften Moduls: KERNELBASE.dll, Version: 10.0.19041.2130, Zeitstempel: 0xb0fac6c9
Ausnahmecode: 0xe0434352
Fehleroffset: 0x000000000002cd29
ID des fehlerhaften Prozesses: 0x3ec8
Startzeit der fehlerhaften Anwendung: 0x01d8e7a798ee229a
Pfad der fehlerhaften Anwendung: C:\Program Files\FlexASIOGUI\FlexASIOGUI.exe
Pfad des fehlerhaften Moduls: C:\Windows\System32\KERNELBASE.dll
Berichtskennung: 450550fe-7790-44fa-8197-5a8870e999bb
Vollständiger Name des fehlerhaften Pakets:
Anwendungs-ID, die relativ zum fehlerhaften Paket ist:
Ereignis-XML:



1000
0
2
100
0
0x80000000000000

365520


Application
DESKTOP-9GG4TR2



FlexASIOGUI.exe
1.0.0.0
62b2fac5
KERNELBASE.dll
10.0.19041.2130
b0fac6c9
e0434352
000000000002cd29
3ec8
01d8e7a798ee229a
C:\Program Files\FlexASIOGUI\FlexASIOGUI.exe
C:\Windows\System32\KERNELBASE.dll
450550fe-7790-44fa-8197-5a8870e999bb






###########################################################

Protokollname: Application
Quelle: .NET Runtime
Datum: 24.10.2022 14:53:22
Ereignis-ID: 1026
Aufgabenkategorie:Keine
Ebene: Fehler
Schlüsselwörter:Klassisch
Benutzer: Nicht zutreffend
Computer: DESKTOP-9GG4TR2
Beschreibung:
Application: FlexASIOGUI.exe
CoreCLR Version: 6.0.1022.47605
.NET Version: 6.0.10
Description: The process was terminated due to an unhandled exception.
Exception Info: System.InvalidOperationException: Cannot define table with key 'Nett.Parser.Builders.KeyChain' as the owner already contains a row for key 'input' of type 'table'.
at Nett.Parser.Builders.TableBuilder.CreateStandardTable(RootTable root, StandardTableNode table, IHasComments comments)
at Nett.Parser.Builders.TableBuilder.CreateTableOrArrayOfTables(RootTable root, TableNode table)
at Nett.Parser.Builders.TableBuilder.Build(StartNode node, TomlSettings settings)
at Nett.StreamTomlSerializer.Deserialize(Stream s, TomlSettings settings)
at Nett.Toml.ReadFile(String filePath, TomlSettings settings)
at Nett.Toml.ReadFile[T](String filePath, TomlSettings settings)
at FlexASIOGUI.Form1.LoadFlexASIOConfig(String tomlPath) in C:\dev\FlexASIO_GUI\Form1.cs:line 63
at FlexASIOGUI.Form1..ctor() in C:\dev\FlexASIO_GUI\Form1.cs:line 53
at FlexASIOGUI.Program.Main() in C:\dev\FlexASIO_GUI\Program.cs:line 20

Ereignis-XML:



1026
0
2
0
0
0x80000000000000

365519


Application
DESKTOP-9GG4TR2



Application: FlexASIOGUI.exe
CoreCLR Version: 6.0.1022.47605
.NET Version: 6.0.10
Description: The process was terminated due to an unhandled exception.
Exception Info: System.InvalidOperationException: Cannot define table with key 'Nett.Parser.Builders.KeyChain' as the owner already contains a row for key 'input' of type 'table'.
at Nett.Parser.Builders.TableBuilder.CreateStandardTable(RootTable root, StandardTableNode table, IHasComments comments)
at Nett.Parser.Builders.TableBuilder.CreateTableOrArrayOfTables(RootTable root, TableNode table)
at Nett.Parser.Builders.TableBuilder.Build(StartNode node, TomlSettings settings)
at Nett.StreamTomlSerializer.Deserialize(Stream s, TomlSettings settings)
at Nett.Toml.ReadFile(String filePath, TomlSettings settings)
at Nett.Toml.ReadFile[T](String filePath, TomlSettings settings)
at FlexASIOGUI.Form1.LoadFlexASIOConfig(String tomlPath) in C:\dev\FlexASIO_GUI\Form1.cs:line 63
at FlexASIOGUI.Form1..ctor() in C:\dev\FlexASIO_GUI\Form1.cs:line 53
at FlexASIOGUI.Program.Main() in C:\dev\FlexASIO_GUI\Program.cs:line 20


Non-ASCII device names are not handled correctly

Related: dechamps/FlexASIO#73

FlexASIO uses UTF-8 for device names everywhere, on the output of PortAudioDevices and in the configuration file.

However, FlexASIO GUI appears to be using the wrong encoding, as shown below when using the device name "Headéset":

image

It seems to be interpreting the device name in some kind of local 8-bit encoding (maybe CP 850 or ISO-8859-1) instead of UTF-8. FlexASIO GUI then ends up writing a configuration file with the wrong device name.

Where is the installer?

Trying to install this GUI, but in the install folder, there is no installer?

Alternatively, where do I put the folder if it can be done manually?

Thanks!

Request to add license

I would like to add FlexASIO and FlexASIO_GUI as tools as part of an installation for distribution. The FlexASIO license allows this, but the situation is unclear for FlexASIO_GUI. I would be very grateful if you can add the license from FlexASIO here.

Can't get audio with more than 2 channel?

Hello flipswitchingmonkey,

Can't get audio to works with asio if I set more than 2 channel? and you say it shouldn't limit channel and my Sound Blaster X3 has 8 ch.

Otherwise it works as exptected!

Kind Regards
/e33et

wasapiExclusiveMode is not being saved/displayed properly

I have wasapiExclusiveMode enabled on both input and output, I save the configuration with the GUI, but when I open the GUI again, the exclusive mode shows as disabled and autoConvert shows as enabled, in the config file it shows differently.

backend = "Windows WASAPI"
[input]
device = "Input"
wasapiExclusiveMode = true
wasapiAutoConvert = false
[output]
device = "Line 1 (Virtual Audio Cable)"
wasapiExclusiveMode = true
wasapiAutoConvert = false

Refresh Devices button does not seem to refresh anything

Hello,
in my experience this button does nothing.... when pressed, new devices are not listed as well as disconnected devices do not disappear.
The only way i found to update the list is a restart of the app. Is that regular?
Could that refresh feature be added? it would be super helpful for instance when connecting a headphone to the pc...
thanks a lot

Can't get GUI to open

Is there something else to do aside from just installing? I didn't find any instructions so I just assumed it was plug n play.

FlexASIO 1.9, GUI 0.33

Unicode devices name encoding issue

Related to #7.

The GUI does not handle the device with Unicode name correctly.
It is resulting in a corrupted config file.

The input device name should be 麥克風 (2- USB Audio Device).
Output should be 喇叭 (2- USB Audio Device).
These texts are Chinese characters.

image

Provide a link to the FlexASIO configuration docs

It would be nice if FlexASIO GUI could show a link to the FlexASIO configuration docs somewhere on the main window so that users can get more information about the various options.

This will be especially useful once dechamps/FlexASIO#92 is implemented, because then the "ASIO Control Panel" button won't open these docs anymore, so there's no obvious way for the user to get to them.

It looks like FlexASIO GUI already knows which FlexASIO version it is running against. It would be nice if the documentation link used that version information to open the docs with the correct git tag in the URL so that the docs match the currently installed FlexASIO version. This is what FlexASIO does currently when the "control panel" button is clicked.

"You must install .NET Desktop Runtime" -- Already installed

Apologies in advance for what is probably a banal question. I have installed .NET Desktop Runtime 6.0.10 -- find evidence below.
Despite this, application will not start.

FlexASIOGUI_c2pHal4Wbb

Clicking "Yes" causes the application to close. As far as I can tell, no task appears in Task Manager related to the installation.

If there is any more information you need, please do not hesitate to let me know.


The result of dotnet --info:
WindowsTerminal_AO8AQQqSd8

The installation folder. (All files within 6.0.10 seem to be present.)
explorer_0qpnbXYEP0

Environment variables, if relevant; neither appears to be set.
WindowsTerminal_oQdwTYwgp2

Correct registry keys:
regedit_66hOe50Ekp
regedit_34RG58gAeA

installation

I'm sure, that this question completely stupid - but I'm too
how do i install this thing?

flex Asio GUI doesn't open anymore

Hi, I was using flexasio for over a year and today flexasio gui doesn't open anymore. I tried to uninstall it and reinstall it, I tried to open it with administrator mode but nothing, still the same issue.
If somebody can help I would be gratefull.

Dynamically refresh device list

Currently one has to close and reopen the app to see the new input/outputs. It would be nice to have the program refresh the device list when a new one is detected by the system - or just allow a user to refresh the list manually with a button or Ctrl+R.

FlexASIOGUI.exe refuses to launch after updating Visual Studio 2019 to version 16.9.0/16.9.1

FlexASIOGUI has been working fine for me for many months, and no hardware has changed on my end.
I recently updated Visual Studio 2019 Community to version 16.9.0/16.9.1 (the latest official VS2019 releases), and after that the FlexASUIGUI application refuses to start. It just goes all silent after trying to start it. No error messages, no GUI, nothing. But I do get these error messages in the Windows Event Log (Application log). I get these errors in the event log each time I try to start the application:

ERROR - .NET Runtime - Event ID: 1026:
Application: FlexASIOGUI.exe
CoreCLR Version: 4.700.21.6504
.NET Core Version: 3.1.12
Description: The process was terminated due to an unhandled exception.
Exception Info: System.ArgumentOutOfRangeException: InvalidArgument=Value of '0' is not valid for 'SelectedIndex'. (Parameter 'value')
Actual value was 0.
at System.Windows.Forms.ComboBox.set_SelectedIndex(Int32 value)
at FlexASIOGUI.Form1..ctor() in d:\Dev\FlexASIO_GUI\Form1.cs:line 71
at FlexASIOGUI.Program.Main() in d:\Dev\FlexASIO_GUI\Program.cs:line 20

ERROR - Application Error - Event ID: 1000:
Faulting application name: FlexASIOGUI.exe, version: 1.0.0.0, time stamp: 0x5f1757ad
Faulting module name: KERNELBASE.dll, version: 10.0.19041.804, time stamp: 0x0e9c5eae
Exception code: 0xe0434352
Fault offset: 0x000000000002d759
Faulting process id: 0x44fc
Faulting application start time: 0x01d7150e16ad9dd2
Faulting application path: C:\Program Files\FlexASIOGUI\FlexASIOGUI.exe
Faulting module path: C:\WINDOWS\System32\KERNELBASE.dll
Report Id: 5b385b31-ebbb-42e6-8204-6c0b607989c1
Faulting package full name:
Faulting package-relative application ID:

how do I install this?

I have the .NET Desktop Runtime 6.15 installed....but cannot figure out how to install this GUI...

do I need to compile it?

"(None)" is not a valid FlexASIO device value

Background: dechamps/FlexASIO#115

When selecting (None) as the input or output device in FlexASIO GUI, the resulting configuration file contains device = "(None)". This is incorrect and results in FlexASIO initialization failure. The proper syntax to disable the input or output is device = "".

Integration query

I've installed and run this with FlexASIO, and have to say this is very close to being a feature-complete solution for universal ASIO on Windows.

I'm interested in making a Windows build of Jamulus (https://github.com/corrados/jamulus) which integrates FlexASIO and FlexASIO_GUI, so that non-savvy users (ie most musicians) can have a seamless installation experience (as they would on MacOS).

I'm a Linux devops/backend developer and haven't dug in to Windows builds much.
What would be the technical steps required in:
a) integrating FlexASIO_GUI and FlexASIO installers
b) making FlexASIO_GUI open on the usual "ASIO Setup" user button input
c) removing external runtime dependencies (ie installing Net.Core)
?

With these changes in place, I can't see why anyone would ever recommend ASIO4ALL again on Windows.
Having a full open-source solution in place would make it dramatically easier for open-source Windows audio apps to have a seamless experience for users.

FlexASIO GUI should not arbitrarily override FlexASIO defaults

It seems that FlexASIO GUI will always set bufferSizeSamples, suggestedLatencySeconds, wasapiExclusiveMode and wasapiAutoConvert, even if the user never touched them.

In general, this is not a good idea, especially for suggestedLatencySeconds, because the default in FlexASIO GUI (zero) is not the same as the FlexASIO default (3x buffer length). This can lead to the user getting confused as to what the real "default" is. This in turn can cause FlexASIO to fail, as suggestedLatencySeconds = 0 is less likely to work than the default. See dechamps/FlexASIO#110 for an example.

There is a similar problem for bufferSizeSamples, which FlexASIO GUI initially overrides to 256. In fact, if the user changes the backend to DirectSound without touching the buffer size, this will very likely result in FlexASIO failing to initialize, because DirectSound inputs are known to fail with such small buffer sizes.

There are very good reasons why the FlexASIO defaults are the way they are. FlexASIO GUI should not mess with them.

How do I install it?

Sorry, I'm really new to all of this. I just bought my Behringer interface and installed FlexAsio in my computer. I didn't change any configurations and I'm feeling that the standard config is not quite there yet. Since I'm not familiar with coding the config, I was trying to use your GUI to go through it. But I don't know how to open/install it. Can you help me, please?

Loading of multiple configurations

Currently there is support for loading only the default FlexASIO.toml configuration file.

The GUI itself supports saving various custom configurations by using the Save As button. However, there is no option for loading those saved custom configurations, right?

User needs to make the custom configuration every time and save it to the default FlexASIO.toml file for the configuration to load?

Is this a limitation of FlexASIO itself or the GUI?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.