[alsa-devel] FIxed alsa-tools' envy24control missing peak level meters and "Reset Peaks"
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/l... Patch: http://nielsmayer.com/npm/602903.patch
To run this version of envy24control grab the most recent stable release ( ftp://ftp.alsa-project.org/pub/tools/alsa-tools-1.0.23.tar.bz2 ) or git pull from trunk of the "alsa-tools" project ( http://alsa-project.org/main/index.php/GIT_Server ).
After unpacking and assuming you've got the patch in ~/602903.patch do:
cd alsa-tools-1.0.23 cat ~/602903.patch | patch -p1
it should give message "patching file envy24control/levelmeters.c" ... follow the directions to compile alsa-tools....
Can whoever's in charge of these things commit this change "upstream" and get it to propagate to the distros? Alternately, give me commit access and I'll do it myself, if people agree this patch is worth having.
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.
(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 &
(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.
Niels http://nielsmayer.com
PS: (*) http://alsa.opensrc.org/index.php/Envy24control Cards supported by this fix: * M Audio Delta 1010 * M Audio Delta 1010LT * M Audio Delta DiO 2496 * M Audio Delta 66 * M Audio Delta 44 * M Audio Delta 410 * M Audio Audiophile 2496 * TerraTec EWS 88MT * TerraTec EWS 88D * TerraTec EWX 24/96 * TerraTec DMX 6Fire * TerraTec Phase 88 * Hoontech SoundTrack DSP 24 * Hoontech SoundTrack DSP 24 Value * Hoontech SoundTrack DSP 24 Media 7.1 * Event Electronics, EZ8 * Digigram VX442 * Lionstracs, Mediastaton * Terrasoniq TS 88
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
2010/7/13 Alan Horstmann gineera@aspect135.co.uk
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
Seem "Peak Hold" button (e.g japa or jaaa ) may be better than "Reset Peaks" button
participants (3)
-
Alan Horstmann
-
Niels Mayer
-
Raymond Yau