Geoffrey D. Bennett
1caa75a7d2
Move 4th Gen Solo Air control up to be next to Inst control
2024-02-20 23:26:10 +10:30
Geoffrey D. Bennett
56054c2634
Rewrite choose_line_colour() to work with a dark background
...
Use HSL with fixed saturation/lightness, and a hue based on the sink
index.
2024-02-20 23:26:10 +10:30
Geoffrey D. Bennett
36f724c66c
Use CSS to set dark colour scheme
2024-02-20 23:26:10 +10:30
Geoffrey D. Bennett
d0b7c086ca
Remove "Analogue" from small Gen 3 device input labels
2024-02-20 23:26:10 +10:30
Geoffrey D. Bennett
54b99aca29
Move label into boolean controls and use button state to show status
...
Rather than having a label "Air" and the button toggle between "Off"
and "On", have the button just be "Air" and no separate label.
2024-02-20 23:26:10 +10:30
Geoffrey D. Bennett
099e50b91e
Remove bool_text from struct alsa_elem
...
Store the text in the boolean/dual widget private data.
2024-02-20 23:26:10 +10:30
Geoffrey D. Bennett
e655ee39ce
Make GtkDial dimmer if insensitive
2024-02-20 23:26:10 +10:30
Geoffrey D. Bennett
7c44f15428
Make GtkDial look better
2024-02-20 23:26:09 +10:30
Geoffrey D. Bennett
df5d0960dd
Add support for piecewise linear interpolation taper to GtkDial
...
This commit adds support for piecewise linear interpolation tapers to
GtkDial and the gain widget so that the 4th Gen 4i4 volume knob taper
can be modelled correctly.
2024-02-11 21:46:22 +10:30
Geoffrey D. Bennett
492c348897
Add configurable taper to GtkDial
...
The taper was previously set to a log function which matched the
Clarett volume knob. Add linear option to match the Scarlett 4th Gen
input gain knobs and hardware level meters.
2024-02-08 19:04:53 +10:30
Geoffrey D. Bennett
189b9ff6f6
Move valp clamp and scale from calc_valp_log() to calc_valp()
2024-02-08 18:08:34 +10:30
Geoffrey D. Bennett
a77cb0e258
Remove inline from functions in gtkdial.c
2024-02-08 18:08:34 +10:30
Geoffrey D. Bennett
64ca9f78da
Fix typo range->dial in gtkdial.[ch]
2024-02-08 18:08:34 +10:30
Geoffrey D. Bennett
d91c9d5687
Add page argument to gtk_dial_new_with_range()
...
Make gain widget page_incr 3dB.
2024-02-08 18:08:34 +10:30
Geoffrey D. Bennett
1164845b3c
Allow for continuous dials
...
Update gtk_dial_new_with_range() to set round_digits to -1 if step is
zero.
Update create_levels_controls() to set step to zero.
2024-02-08 18:08:34 +10:30
Geoffrey D. Bennett
e40ce4d5ad
Fix gtk_dial_new_with_range() to use calculated round_digits
2024-02-08 18:08:34 +10:30
Geoffrey D. Bennett
fcdbc60f16
Add scale to widget-gain.c struct gain
2024-02-08 18:08:34 +10:30
Geoffrey D. Bennett
3740d7ee2d
Fix GtkDial:zero_db property comment
2024-02-08 18:08:34 +10:30
Geoffrey D. Bennett
28604f08a3
Reformat gtkdial.c to match rest of code
2024-02-08 18:08:34 +10:30
Geoffrey D. Bennett
b646bc92cc
Remove irrelevant GDK_AVAILABLE_IN_ALL from gtkdial.h
...
GDK_AVAILABLE_IN_ALL is for core GDK/GTK classes, not user-defined
ones.
2024-02-08 18:08:34 +10:30
Geoffrey D. Bennett
9587e2f494
Remove unused guint8 and gsize from gtkdial.c
2024-02-08 18:08:34 +10:30
Geoffrey D. Bennett
2115a26d9d
Remove unused GtkDialFormatValueFunc from gtkdial.h
2024-02-08 18:08:34 +10:30
Geoffrey D. Bennett
b2823e79be
Bump copyright year
2024-02-08 18:08:34 +10:30
Geoffrey D. Bennett
4a123f5df6
Simplify GtkDial calculations
2024-02-08 18:07:44 +10:30
Geoffrey D. Bennett
bd8f812e01
Fix widget-combo to check if the alsa elem is writable
2024-02-05 20:04:58 +10:30
Geoffrey D. Bennett
6923a3ddb0
Don't round level meter values passed to GtkDial
2024-02-05 20:04:58 +10:30
Geoffrey D. Bennett
20c4ff5559
Display -inf when volume/gain controls are at zero/off
2024-02-05 20:04:58 +10:30
Geoffrey D. Bennett
770ce1cc23
Add bindings for pgup/pgdn/home/end to GtkDial
2024-02-05 20:04:58 +10:30
Geoffrey D. Bennett
1ebd6de6a1
Add missing GtkDial scroll_begin() implementation
2024-02-05 20:04:58 +10:30
Geoffrey D. Bennett
047fb72394
Add 4th Gen 4i4 headphone volume knob control
2024-02-05 20:04:58 +10:30
Geoffrey D. Bennett
b35fa3cf50
Add input select widget for 4th Gen 2i2 and 4i4
2024-02-05 20:04:58 +10:30
Geoffrey D. Bennett
47034d7901
Remove widgets from struct alsa_elem and add data to callbacks
...
Rather than having widget/widget2/widget_callback fields in the struct
alsa_elem, have a list of callbacks and allow private data to be
passed to callbacks.
2024-02-05 20:04:58 +10:30
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