Commit Graph

19 Commits

Author SHA1 Message Date
Geoffrey D. Bennett
ab40037064 Bump copyright year to 2025 2025-02-21 04:08:35 +10:30
Geoffrey D. Bennett
78e2d9642f Update alsa interface and gain widget to support linear volume
# Conflicts:
#	src/alsa.c
2025-02-21 04:08:34 +10:30
Geoffrey D. Bennett
909d3618b3 Use snprintf() in widget-gain.c when printing floats 2024-04-11 21:24:27 +09:30
Geoffrey D. Bennett
607b002985 Update gain widget to show no decimal places for scale > 0.5
The 4th Gen input gain control scale is 69/70 which is close enough to
1 that we don't need to display any decimal places.
2024-03-24 22:40:11 +10:30
Geoffrey D. Bennett
0fae084ccb Display "+" before positive dB values in the gain widget 2024-03-24 22:40:11 +10:30
Geoffrey D. Bennett
8b16bbdaed Make gain widget dB numbers smaller 2024-03-24 22:40:11 +10:30
Geoffrey D. Bennett
8c06e7aff7 Update the gain widget to support updating direct monitor mix controls
The 4th Gen Solo and 2i2 have controls to set custom Mix A/B gains
when Direct Monitor is enabled. Update those controls when the Mix A/B
gains are updated so that they are remembered.
2024-02-20 23:38:49 +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
793523b0a7 Add some red and grey 2024-02-20 23:26:10 +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
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
fcdbc60f16 Add scale to widget-gain.c struct gain 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
20c4ff5559 Display -inf when volume/gain controls are at zero/off 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
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
17b4d2f055 Initial revision 2022-03-14 09:24:43 +10:30