306 Commits

Author SHA1 Message Date
Geoffrey D. Bennett
d56a1d34ff Add 4th Gen input controls 2024-02-05 20:04:58 +10:30
Geoffrey D. Bennett
63068ed9c7 Explicitly order main window controls
Rather than looping through the ALSA controls and creating them in
that order, create them in a specific order.
2024-02-05 20:04:56 +10:30
Geoffrey D. Bennett
2eb8e0b7cb Make boolean widget boolify value from alsa_get_elem_value()
Make sure the value is 0/1 as it's used as an index into
elem->bool_text[].
2024-02-05 20:03:10 +10:30
Geoffrey D. Bennett
0347d25fc9 Center-align text in combo boxes 2024-02-05 20:03:10 +10:30
Geoffrey D. Bennett
9a365000ad Combine gain and volume widgets
Remove volume widget and make the gain widget choose the appropriate
format string.
2024-02-05 20:03:10 +10:30
Geoffrey D. Bennett
be458afcc4 Remove hard-coded values from widget-gain.c and widget-volume.c
Update alsa-sim.c and alsa.c to read the TLV info, and update the gain
and volume widgets to use that info rather than hard-coding the
min/max values.
2024-02-05 20:03:10 +10:30
Geoffrey D. Bennett
197f469bd8 Allow for phantom power per-channel 2024-02-05 20:03:10 +10:30
Geoffrey D. Bennett
658f946202 Add support for routing the Gen 4 DSP I/O 2024-02-05 20:03:10 +10:30
Geoffrey D. Bennett
dfa40c79b0 Add margin to socket widget 2024-02-05 20:03:10 +10:30
Geoffrey D. Bennett
93f7a32ea5 Fix Presets button to be centered
The Presets button was filling the available space. It looks better
using GTK_ALIGN_CENTER instead.
2024-02-05 20:03:10 +10:30
Geoffrey D. Bennett
656eb06159 Inline routing_grid_label() in create_routing_group_grid()
As create_routing_grid() and routing_grid_label() are called 1:1 now,
the code from routing_grid_label() can be moved inside
create_routing_group_id() if we add descr and align parameters.
2024-02-05 20:03:10 +10:30
Geoffrey D. Bennett
e66a3ac883 Add orientation parameter to routing_grid_label()
By adding an orientation parameter, then routing_grid_label() can be
used for the Mixer I/O group labels as well.
2024-02-05 20:03:10 +10:30
Geoffrey D. Bennett
aba34f0648 Remove repeated group by code in create_routing_grid()
Create create_routing_group_grid() to remove repeated code from
create_routing_grid().
2024-02-05 20:03:10 +10:30
Geoffrey D. Bennett
9890b4939b Make the Level Meter check compatible with alsa-sim.c
Rather than retrieving the firmware version in alsa_scan_cards(), use
get_elem_by_name() to check if the control is present.

Update alsa-sim.c alsa_config_to_new_elem() to read iface=CARD
controls.
2024-02-05 20:03:10 +10:30
Geoffrey D. Bennett
5b9ff7d457 Remove lots of casts in create_routing_grid()
By storing routing_grid in a GtkGrid *, lots of GTK_GRID() casts can
be removed.
2024-02-05 20:03:10 +10:30
Geoffrey D. Bennett
22fdbaad41 Fix is_elem_routing_snk() for Gen 4
The search for routing sink ALSA elements should only include PCM,
Mixer, and DSP Capture Enums. The previous search for Capture Enum
excluding Line In Level Capture Enums is too broad for Gen 4 as the
Air control is a Capture Enum as well.
2024-02-05 20:03:10 +10:30
Geoffrey D. Bennett
80cd0ebc4d Remove gtk_widget_add_class()
Should use gtk_widget_add_css_class() instead.
2024-02-05 20:03:10 +10:30
Nate Gallaher
b525d8dc23 Clarify pad tooltip to specify attenuation amount 2024-02-02 19:19:22 +10:30
Geoffrey D. Bennett
0c3bc30439 Fix dial to display focus indication
Partial cherry-pick from 5dc3ab Sebastian Kaminski
"dial ... shows focus indication".

Use has_focus() rather than has_visible_focus() as I found
has_visible_focus() to be unreliable.
2023-12-15 03:17:04 +10:30
Geoffrey D. Bennett
945ccc874d Fix dial to grab focus when clicked
Partial cherry-pick from 5dc3ab Sebastian Kaminski
"dial grabs focus when being clicked".
2023-12-15 03:14:23 +10:30
Geoffrey D. Bennett
fef139be64 Split calc_valp() into calc_valp() and calc_valp_log()
gtk_dial_drag_gesture_begin() needs a linear calc_valp().
2023-12-15 02:55:42 +10:30
Geoffrey D. Bennett
e506edc965 Remove keyboard accelerator mention from USAGE.md
Implemented in 21f0d9d.
2023-12-15 02:51:00 +10:30
Geoffrey D. Bennett
f10a383e36 Reformat keyboard accelerators to match existing code
Terminate menus[] with empty-initialised as well.
2023-12-15 02:44:37 +10:30
Trent
21f0d9dd05 Add keyboard accelerators (aka shortcuts, hotkeys) for menu items. 2023-12-12 14:25:25 -07:00
Jason A. Donenfeld
d81f9ca2bb gtkdial: use fabs() for double
Passing a double to abs() truncates it to an integer, which is probably
not intended, and also causes fatal errors on clang.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2023-12-05 12:29:49 +10:30
Geoffrey D. Bennett
3a3860f617 Move FUNDING.yml to the right spot 2023-12-04 12:45:30 +10:30
Geoffrey D. Bennett
e7eea495ff Fix typo in INSTALL.md: comitting -> committing 2023-12-03 22:13:44 +10:30
Geoffrey D. Bennett
7b3c662dcb Add OpenSUSE package requirements 2023-12-03 22:07:19 +10:30
Geoffrey D. Bennett
6812c001de Fix long lines 2023-12-02 04:15:55 +10:30
Geoffrey D. Bennett
266b90e8ce Update FAQ with more MSD info 2023-12-02 03:51:53 +10:30
Geoffrey D. Bennett
21cc6d6021 Allow the mixer window to be resized and give it scrollbars 2023-12-02 03:06:53 +10:30
Geoffrey D. Bennett
ce40aa1ba9 Add link from USAGE.md to INTERFACES.md 2023-12-02 02:55:15 +10:30
Geoffrey D. Bennett
33bc54480d Add TOC to INTERFACES.md 2023-12-02 02:45:32 +10:30
Geoffrey D. Bennett
d7f673cb32 Add Clarett info to INTERFACES.md 2023-12-02 02:44:18 +10:30
Geoffrey D. Bennett
0f269fb2da Add issue template 2023-12-02 02:31:31 +10:30
Geoffrey D. Bennett
89e5eeaa61 Add FUNDING.yml 2023-12-02 01:51:02 +10:30
Geoffrey D. Bennett
58446d1511 Add initial version of FAQ.md 2023-12-02 01:37:33 +10:30
Jason A. Donenfeld
4cb1cd6e57 Makefile: prefer distro cflags if specified
The compilation flags that are necessary for building and part of the
developer's intentions belong in the `+=` section, but the base flags
that distros like to override belong in a `?=` section, so that build
systems using their own are respected.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
2023-12-01 14:19:36 +10:30
Geoffrey D. Bennett
8ef011145c Fix typo in INSTALL.md driver disabled message 2023-12-01 01:27:43 +10:30
Geoffrey D. Bennett
68fb1c3655 Add Gtk4 info to INSTALL.md 2023-12-01 01:27:20 +10:30
Geoffrey D. Bennett
1d844bfa1c Add info to INSTALL.md on how to check the kernel version 2023-12-01 01:23:53 +10:30
Geoffrey D. Bennett
68b6d0a047 Update software name in INSTALL.md and USAGE.md
Rename from "ALSA Scarlett Gen 2/3 Control Panel" to "ALSA Scarlett2
Control Panel".
2023-12-01 01:18:55 +10:30
Geoffrey D. Bennett
734ec616cc Update README.md with Gen 4 info
Driver was renamed to Scarlett2.
Add list of supported interfaces.
Add link to Gen 4 driver update.
2023-12-01 01:15:14 +10:30
sporksnail
1211746b9e src/Makefile: Respect CFLAGS from environment 0.3.3 2023-11-30 12:44:03 +10:30
Geoffrey D. Bennett
32c0062367 Update drag_motion() to scroll the routing window
The routing window will be scrolled relative to the position of the
mouse within the window so all sources/sinks can be reached when
dragging.
2023-11-30 00:42:55 +10:30
Geoffrey D. Bennett
8376ce70b4 Fix typo rounting -> routing 2023-11-30 00:42:52 +10:30
Geoffrey D. Bennett
d31bd3380e Allow the routing window to be resized and give it scrollbars 2023-11-26 22:57:52 +10:30
Geoffrey D. Bennett
19ccbbb304 Fix the socket widget so that it will not shrink 2023-11-26 22:56:59 +10:30
Geoffrey D. Bennett
26db9dec52 Improve layout for larger interfaces without speaker switching
The Clarett 8Pre layout was very wide; it would be preferable if the
main window output controls were placed below the global & input
controls like for the Gen 3 18i8 and 18i20.

Rather than use the presence of speaker switching to determine which
main window layout to use, check the number of input & output
controls, and use the taller layout if the total is 12 or more.
2023-11-26 22:56:09 +10:30
Geoffrey D. Bennett
92932dbb26 Remove user-control of level meters
jandejongh reported:

In the USB Levels display, user can (attempt to) set the level of the
"slider".
Expected: These "sliders" are read-only and should not allow setting a
value (makes no sense to me?).

Fixes: #78.
2023-11-19 16:00:58 +10:30