1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
|
Jaroslav Kysela <perex@perex.cz>
volume.c: added by Takashi Iwai <tiwai@suse.de>
(2003/03/22) Changed to hbox/vbox layout.
Copyright (C) 2003 by Søren Wedel Nielsen
(16.12.2005) Re-worked user interface -digital mixer display permanently
visible; pcms split to another page; controls re-arranged and all pages
scrollable for min window size and greater flexibility; pop-up menu enabled.
Changes to levelmeters.c to prevent invalid redraws.
New options added: 'w' to set initial window pixel width and 't' for tall equal mixer height style.
Copyright (C) 2005 by Alan Horstmann
(Summer 2010) NPM: (1) Implemented "Peak Hold" functionality in meters;
reimplemented meters to do away with inefficient "faux LED" peak-meter
display, which causes thousands of rectangles per-second to be drawn,
individually, for no good reason other than increasing the load. (2)
Significantly reduced the number of timer interrupts generated by this
program by slowing down all updates to 10 per second -- previously
meters updated 25x/second! (3) All volumes are represented as decibels,
including the 0 to -48dB range of the hardware peak-meters, the 0 -to-
-48dB&off attenuation for all inputs to the digital mixer, the 0 -to-
-63dB attenuation of the analog DAC, and the +18 -to- -63dB
attenuation/amplification of the analog ADC. (4) All gtk "scale" widgets
have dB legends; the "PageUp" "PageDown" keys allow rapid movement
between the marked levels, and "UpArrow" and "DownArrow" allow
fine-adjustment. (5) Added command-line options --no_scale_mark,
--channel_group_modulus, --lights_color and --bg_color options; fixed
--card and --device to allow valid ALSA card and CTL device names (
https://bugzilla.redhat.com/show_bug.cgi?id=602900 ). (6) Add display
of "Delta IEC958 Input Status" under "Hardware Settings."
Copyright (C) 2010 Niels Mayer ( http://nielsmayer.com )
(August 2010) TER: (1) Fixed bug - sliders with native markings snap
to detents when using mouse. Removed native GtkScale markings and installed
custom scale marks drawing, and custom page/step up/down key handling.
(2) Fixed bug present even in original envy24control - sliders have bad
jitter even without scale markings. (3) Allowed digital mixer controls to
expand vertically.
TODO: (1) Use ALSA functions to set analog volume sliders and markings,
in order to support different DAC/ADC codec chips. (2) Shorten digital
mixer meters to align with scale markings. (3) Use recent gtk functions
to more accurately determine space between top of slider troughs and
top of widget. (4) Add scale markings to master meters.
(August 17 2010) TER: (1) Replaced hard-coded analog volume min/max
and markings with ALSA derived values. Should now support different
codec chip(s). 2) If gtk+ >= 2.6 use "change-value" signal for full
control over sliders. 3) Many clean-ups and rewrites of my last changes.
TODO: Still 2), 3), and 4) from last TODOs. Also, 5) try to extend
mixer sliders to around -60dB, or a user selectable minimum,
and 6) try to allow master meters to expand vertically.
Copyright (C) 2010 Tim E. Real (Sourceforge username: terminator356)
(September 23 2011) TER:
1) Moved to cmake build system. 2) Fixed wrong alsactl location. Now cmake looks
for alsactl. Override with environment variable ALSACTL_PROG. 3) Added usage info.
4) Fixed serious fatal X error: height too big. Was far too many markings, brought down
the system, due to lowest alsa db value now returing -9999999. Installed some limits.
Copyright (C) 2011 Tim E. Real (Sourceforge username: terminator356)
(October 18 2011) TER:
Moved current code into branches/attic. This branch contains legacy deprecated code for
supporting very old GTK+ versions.
In trunk:
Applied patch by James Morris to modernize and remove some deprecated code.
TODO: Apply his suggested compiler flags to remove deprecated code. The code needs
some more fixing before those flags will allow successful compilation.
Removed all support for very old GTK+ versions.
Copyright (C) 2011 Tim E. Real (terminator356 on sourceforge)
|