Focusrite Scarlett Gen 2/3 Control Panel GUI
Moderators: MattKingUSA, khz
-
- Established Member
- Posts: 259
- Joined: Mon Jul 30, 2018 2:08 am
- Has thanked: 34 times
- Been thanked: 174 times
Focusrite Scarlett Gen 2/3 Control Panel GUI
Hi all,
Announcing the (first test version) of the Scarlett Gen 2/3 Control Panel GUI!
It seems I was rather optimistic when I said "it's almost ready to share" back in August last year. My goodness, learning how to program a Gtk4 GUI app sure was not a fun experience. But! The result is looking pretty good, it's way nicer than alsamixer, and my known bugs/issues list is down to only 10^H^H11 items. It's working well enough for me that I can share it with all of you now and cross my fingers that it builds, runs, and works for at least some of you!
To try it out, you'll need to be able to build a Gtk4 app with "make". I've been using Fedora 35 for testing & last I checked only needed to install the alsa-lib-devel and gtk4-devel packages on top of a default desktop install.
I even added a demo/simulation mode so you don't even need a Scarlett interface to try it out!
The routing configuration is my favourite part:
Check it out here: https://github.com/geoffreybennett/alsa-scarlett-gui
Have a look at the USAGE.md file for a bunch more screenshots.
As a few people asked about donating, I set up the needful and there's info in the README file if you'd like to say thanks in that way. Between the driver and the GUI, I've spent some hundreds of hours on this, and of course, purchasing one of every model so I could support them all was a very expensive exercise. So, anything that you can contribute, I will be greatly thankful for.
Good luck, and let me know how you go with it!
Regards,
Geoffrey.
Mentioning the people who expressed an interest in the GUI (I hope this is the right thing to do!):
@sysrqer @diuk @bluebell @multani @juki @Linuxmusician01 @mauser @DarkPoubelle @sc3sc3 @solarflight @JamesPeters @kraus @vulkanized @wirenoise @almet @svet-am @szszoke @wvi @wolftune
Announcing the (first test version) of the Scarlett Gen 2/3 Control Panel GUI!
It seems I was rather optimistic when I said "it's almost ready to share" back in August last year. My goodness, learning how to program a Gtk4 GUI app sure was not a fun experience. But! The result is looking pretty good, it's way nicer than alsamixer, and my known bugs/issues list is down to only 10^H^H11 items. It's working well enough for me that I can share it with all of you now and cross my fingers that it builds, runs, and works for at least some of you!
To try it out, you'll need to be able to build a Gtk4 app with "make". I've been using Fedora 35 for testing & last I checked only needed to install the alsa-lib-devel and gtk4-devel packages on top of a default desktop install.
I even added a demo/simulation mode so you don't even need a Scarlett interface to try it out!
The routing configuration is my favourite part:
Check it out here: https://github.com/geoffreybennett/alsa-scarlett-gui
Have a look at the USAGE.md file for a bunch more screenshots.
As a few people asked about donating, I set up the needful and there's info in the README file if you'd like to say thanks in that way. Between the driver and the GUI, I've spent some hundreds of hours on this, and of course, purchasing one of every model so I could support them all was a very expensive exercise. So, anything that you can contribute, I will be greatly thankful for.
Good luck, and let me know how you go with it!
Regards,
Geoffrey.
Mentioning the people who expressed an interest in the GUI (I hope this is the right thing to do!):
@sysrqer @diuk @bluebell @multani @juki @Linuxmusician01 @mauser @DarkPoubelle @sc3sc3 @solarflight @JamesPeters @kraus @vulkanized @wirenoise @almet @svet-am @szszoke @wvi @wolftune
Re: Focusrite Scarlett Gen 2/3 Control Panel GUI
Hey!
I tried to use this with my 18i20.
I tested the following:
- change routing
- change mixer settings
- enable/disable phantom power
- change level on channel 1 and 2
- enable/disable talkback
Everything seems to be working.
One cosmetic thing that I noticed is that the round icons for the mixer outputs are enlarged and pixelated:
I tried to use this with my 18i20.
I tested the following:
- change routing
- change mixer settings
- enable/disable phantom power
- change level on channel 1 and 2
- enable/disable talkback
Everything seems to be working.
One cosmetic thing that I noticed is that the round icons for the mixer outputs are enlarged and pixelated:
Re: Focusrite Scarlett Gen 2/3 Control Panel GUI
One more cosmetic thing about the Mixer window.
The mixer labels are both on the left and the right side. This is good because there are many knobs for the 18i20.
The mixer input labels only show up on the bottom, but I think it would make it easier to follow the grid if they would also appear on the top.
The mixer labels are both on the left and the right side. This is good because there are many knobs for the 18i20.
The mixer input labels only show up on the bottom, but I think it would make it easier to follow the grid if they would also appear on the top.
Re: Focusrite Scarlett Gen 2/3 Control Panel GUI
I will create an issue about the pixelated icons on Github.
- sysrqer
- Established Member
- Posts: 2524
- Joined: Thu Nov 14, 2013 11:47 pm
- Has thanked: 320 times
- Been thanked: 153 times
- Contact:
Re: Focusrite Scarlett Gen 2/3 Control Panel GUI
That's fantastic Geoffrey! Builds on Arch easily (just had to install GTK4) and appears to work perfectly. Thank you so much for all the hard work you have done for us with these interfaces.
-
- Established Member
- Posts: 3
- Joined: Sat Mar 12, 2022 6:57 am
- Has thanked: 4 times
- Been thanked: 1 time
Re: Focusrite Scarlett Gen 2/3 Control Panel GUI
On Arch Linux, alsa-lib and gtk4 packages were already installed. Cloned, typed make, pressed enter, it built, it ran, it works! Woo!!!
-
- Established Member
- Posts: 3
- Joined: Sat Mar 12, 2022 6:57 am
- Has thanked: 4 times
- Been thanked: 1 time
Re: Focusrite Scarlett Gen 2/3 Control Panel GUI
One thing I noticed is the levels window is commented out, I took a look at it and it appears to sort of work using the direct routing preset! the levels for hardware output showed up in mixer input, and pcm input showed up in hardware output, maybe? I also tried it with only routing PCM outputs 1+2 to Analogue outputs 1+2 out on my 6i6 2nd gen, and then all the meters were moving together in groups I'm not sure what exactly is going on there haha. I imagine this is a work in progress, but I was actually curious about implementing a fancy little level meter, maybe with some pretty colors and everything. So I was wondering about the status of this particular feature.
Re: Focusrite Scarlett Gen 2/3 Control Panel GUI
First of all, thanks a lot @geoffrey for sharing your work on the driver and the mixer gui.
I registered to this forum specifically for expressing my gratitude and to share my experience with compiling the code.
I'm on an Ubuntu Studio 21.10 laptop. I made sure the packages libgtk-4-dev and libasound2-dev were installed.
When running make i get this error message:
The solution according to https://stackoverflow.com/questions/308 ... g-while-us was to change the code in error.c to
Running make again compiles fine. The linking errors I got yesterday got fixed a few hours ago
I know a pull request would be best practice, but I haven't mastered all features of git yet.
Regards
Sebastian
I registered to this forum specifically for expressing my gratitude and to share my experience with compiling the code.
I'm on an Ubuntu Studio 21.10 laptop. I made sure the packages libgtk-4-dev and libasound2-dev were installed.
When running make i get this error message:
Code: Select all
error.c:18:3: error: format not a string literal and no format arguments [-Werror=format-security]
18 | );
| ^
Code: Select all
GtkWidget *dialog = gtk_message_dialog_new(
w,
GTK_DIALOG_DESTROY_WITH_PARENT | GTK_DIALOG_MODAL,
GTK_MESSAGE_ERROR,
GTK_BUTTONS_CLOSE,
"%s",
s
);
I know a pull request would be best practice, but I haven't mastered all features of git yet.
Regards
Sebastian
-
- Established Member
- Posts: 259
- Joined: Mon Jul 30, 2018 2:08 am
- Has thanked: 34 times
- Been thanked: 174 times
Re: Focusrite Scarlett Gen 2/3 Control Panel GUI
Hi Vulkanized!vulkanized wrote: ↑Wed Mar 16, 2022 6:53 pm One thing I noticed is the levels window is commented out, I took a look at it and it appears to sort of work using the direct routing preset! the levels for hardware output showed up in mixer input, and pcm input showed up in hardware output, maybe? I also tried it with only routing PCM outputs 1+2 to Analogue outputs 1+2 out on my 6i6 2nd gen, and then all the meters were moving together in groups I'm not sure what exactly is going on there haha. I imagine this is a work in progress, but I was actually curious about implementing a fancy little level meter, maybe with some pretty colors and everything. So I was wondering about the status of this particular feature.
Thanks for testing!
As you noticed, the code is commented out because it doesn't work right . The data coming from the kernel (and then displayed on the meters) is a copy of the raw data from the interface, and it needs some tweaking before it gets sent to userspace. I wanted to get that working before releasing the code, but it was proving to be too much work and I didn't want to delay any more. I've created issue #7 in github for this.
Regards,
Geoffrey.
-
- Established Member
- Posts: 259
- Joined: Mon Jul 30, 2018 2:08 am
- Has thanked: 34 times
- Been thanked: 174 times
Re: Focusrite Scarlett Gen 2/3 Control Panel GUI
Hi Sebastian!sebastian wrote: ↑Wed Mar 16, 2022 8:58 pm First of all, thanks a lot @geoffrey for sharing your work on the driver and the mixer gui.
I registered to this forum specifically for expressing my gratitude and to share my experience with compiling the code.
I'm on an Ubuntu Studio 21.10 laptop. I made sure the packages libgtk-4-dev and libasound2-dev were installed.
When running make i get this error message:The solution according to https://stackoverflow.com/questions/308 ... g-while-us was to change the code in error.c toCode: Select all
error.c:18:3: error: format not a string literal and no format arguments [-Werror=format-security] 18 | ); | ^
Running make again compiles fine. The linking errors I got yesterday got fixed a few hours agoCode: Select all
GtkWidget *dialog = gtk_message_dialog_new( w, GTK_DIALOG_DESTROY_WITH_PARENT | GTK_DIALOG_MODAL, GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE, "%s", s );
I know a pull request would be best practice, but I haven't mastered all features of git yet.
Regards
Sebastian
Thanks for your support! I've fixed that problem now and pushed to github, thank you.
Regards,
Geoffrey.
Re: Focusrite Scarlett Gen 2/3 Control Panel GUI
Thank's for the job accomplish, Sorry English is not my native languish.
I struggle to understand what you'r trying to achieve?
A "kindof" Fucusrite Control tool for Linux : Okay.
Will it support the Other than the Scarlett?
Will the Clarett be supported one day?
Just a question: do not take it bad!
I struggle to understand what you'r trying to achieve?
A "kindof" Fucusrite Control tool for Linux : Okay.
Will it support the Other than the Scarlett?
Will the Clarett be supported one day?
Just a question: do not take it bad!