Hey Niels, thanks for the attention to this mixer.
I usually talk to Takashi Iwai at ALSA when I have patches.
It's been a while, but if he's still there he's very receptive.
The last time, I helped with getting him to fix the word clock
lock indicator.
The hardware has separate gain and attenuation stages.
Several years ago someone combined the 'gain' sliders
with the 'attenuation' sliders, on the 'Analog Volume' tab,
and there was some outcry from some users because they
wanted to have independent gain and attenuation sliders
and clearly know what each slider was set at.
I argued that this combining was a good thing because
having separate gain and attenuation sliders was clumsy.
I said that as long as the combined sliders were clearly marked,
users would know that anything above the 0dB mark
would clearly signify gain.
But nothing was ever done about the slider markings.
Having them go from 0 to 164 is not really helpful.
It's not clear where the 0dB mark is.
At the very least a 0dB mark should be added.
Uh, do you feel like taking a stab at this?
IIRC it would be a bit tricky because you have to look up
the corresponding values in the IC data sheets, I think.
Thanks. Tim.
On July 12, 2010 06:41:15 pm 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
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
_______________________________________________
Linux-audio-dev mailing list
Linux-audio-dev(a)lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev