Hi Neils,
On Monday 12 July 2010 23:41, Niels Mayer wrote:
I've been long annoyed by alsa-tools' envy24control (*) lack of peak-level indication in it's metering, and the non-implementation of its "Reset Peaks" button: https://bugzilla.redhat.com/show_bug.cgi?id=602903
I've fixed that annoyance. Now, a small white line appears above the highest level on each meter, and can be reset via "Reset Peaks" button.
Original source: http://git.alsa-project.org/?p=alsa-tools.git;a=blob_plain;f=envy24control/ levelmeters.c;hb=HEAD Patch: http://nielsmayer.com/npm/602903.patch
I wish I had been aware of your interest in this - in 2006-08 I coded rising peak and clip indicators for envy24 control, and have my versions patched. Unfortunately, I never got to a final re-work to submit; it has been on that 'todo' list. I was responsible for patches that introduced the present layout of envy24control, incl 'tall_eq_mixer_heights' etc.
Right now I am in the middle of other things, but I have quickly attached my existing patch, as you might like to try it. I suspect many of the cc's on this mail will bounce (not-subscribed) so perhaps you could re-post it there. No guarantees though with current ALSA - I haven't updated since 1.0.18, and most boxes here use 1.0.12. But I feel sure you will be able to get the patch to apply. Come back with any issues.
<snip>
Next steps:
(1) Think about building-in meter ballistics from Fons Adriaensen's jkmeter ( http://www.kokkinizita.net/linuxaudio/downloads/jkmeter-0.4.0.tar.bz2 ). Which helps implent Bob Katz' "K System" ( http://www.digido.com/level-practices-part-2-includes-the-k-system.html ). Although it probably most makes sense to implement such metering on the main "digital mixer" meter of envy24control, if it's not too inefficient, I'd want it available on all meters, despite the warning from Fons ( http://old.nabble.com/First-release-of-jkmeter-td18798950.html ).
This is the type of meter you want for live recording, mixing and mastering. It probably makes no sense to use it on all tracks of a DAW, where keeping digital level within limits is the main purpose of metering.
With the attached patch, all channels have rising peaks that reset at regular intervals, or hold (have a play with values in 'Extras'). The marker is half-width only. No meter ballistics, though!
(2) Fix https://bugzilla.redhat.com/show_bug.cgi?id=602900 which causes 'envy24control' to crash when given "-D" argument. and behave incorrectly when given a correct non-numeric name for an audio device: e.g.
envy24control --card M66 invalid card type (driver is USB-Audio) envy24control --card M66 --device M66 Segmentation fault (core dumped)
(3) Apply more reasonable defaults and automatically size to correct
dimensions. I use, for example:
envy24control --card 2 --outputs 4 --input 4 --pcm_output 8 --view_spdif_playback --midichannel 1 --midienhanced --window_width 1275 --tall_eq_mixer_heights 1 &
Bear in mind that different hardware uses this, with different graphic environments; what seems the obvious ideal to you may not be so for others. Ultimately that is the job of command line arguments, as you do now.
I use this with DMX6fire and Hoontech DSP2000.
(4) Add midi output, in addition to midi input, which would monitor the hardware peak metering from the ice1712 ("amixer -c M66 cget iface=PCM,name='Multi Track Peak',numid=45") and output a MIDI note-on on the corresponding MIDI channel whenever a specified threshold value was exceeded. This could be used to implement "automatic gain control" in association with the midi-controllable ADC gain provided by envy24control.
Regards
Alan