306 Commits

Author SHA1 Message Date
Geoffrey D. Bennett
1815f61280 Allow GtkDial to shrink more and reduce slider thickness 2024-02-20 23:28:31 +10:30
Geoffrey D. Bennett
eaf73c280b Remove struct dial_properties; cache values in struct _GtkDial 2024-02-20 23:28:29 +10:30
Geoffrey D. Bennett
24a79963ba Use GtkDial off_db (deadband) for level meters
Set HW Output level meters deadband to -55dB, others to -45dB to match
the 4th Gen hardware level meters.
2024-02-20 23:26:10 +10:30
Geoffrey D. Bennett
1cc6c64c04 Add off_db (deadband) to GtkDial for quiet signals
Add an optional deadband at the bottom of the GtkDial so that very
quiet signals can be squashed into the first 1% of the dial. This will
be used to make the level meters more realistic.
2024-02-20 23:26:10 +10:30
Geoffrey D. Bennett
17b39efee0 Add 4th Gen Solo Mix switch 2024-02-20 23:26:10 +10:30
Geoffrey D. Bennett
1c2d966763 Add GtkDial:can_control property
If the dial can't be controlled, it shouldn't be dimmed when it's not
sensitive.
2024-02-20 23:26:10 +10:30
Geoffrey D. Bennett
72d45a0987 Add draw_slider() to remove some common code from dial_snapshot() 2024-02-20 23:26:10 +10:30
Geoffrey D. Bennett
9fc4c7c6e1 Use GtkTextView instead of GtkLabel in startup big_label() 2024-02-20 23:26:10 +10:30
Geoffrey D. Bennett
4b340b4d4c Add CSS for buttons that get dimmer when checked 2024-02-20 23:26:10 +10:30
Geoffrey D. Bennett
f40a1c986d Update about, etc. messages to include Gen 4/Clarett 2024-02-20 23:26:10 +10:30
Geoffrey D. Bennett
793523b0a7 Add some red and grey 2024-02-20 23:26:10 +10:30
Geoffrey D. Bennett
eae7cdc204 Remove now-unused widget-combo 2024-02-20 23:26:10 +10:30
Geoffrey D. Bennett
e0e591db3e Update 3rd Gen Solo Direct Monitor control to match 4th Gen 2024-02-20 23:26:10 +10:30
Geoffrey D. Bennett
b8ca52e7f2 Add power status control for 4th Gen 4i4 2024-02-20 23:26:10 +10:30
Geoffrey D. Bennett
b912ccbf9c Add 4th Gen Solo/2i2 Direct Monitor controls 2024-02-20 23:26:10 +10:30
Geoffrey D. Bennett
1411ff2c3b Switch Clock Source to widget-drop-down 2024-02-20 23:26:10 +10:30
Geoffrey D. Bennett
bc9d8867f3 Add widget-drop-down for Air 2024-02-20 23:26:10 +10:30
Geoffrey D. Bennett
ade852163b Add CSS classes to controls and add more colour 2024-02-20 23:26:10 +10:30
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