Part of software mixing control is consistent I/O to the hardware being mixed. So one aspect of such software is access to soundcards and MIDI devices -- setup. configured, and labelled on a per-system basis... For example, jack & qjackctl or qtractor might give you integrated access to patchbays and setup/configurations on a per-project basis, they won't setup your soundcards sampling rate/clock-source/multi-card-sync, or make sure all the system device-access permissions and priorities are correct, ensure the presence of optionally loaded modules like snd-hrtimer, and keeping all that working across revisions, hardware changes, and OS upgrades.
Along these lines, I've been thinking that there needs to be something that works alongside ALSA/Pulseaudio/Jack and the variety of soundcards and interfaces people end up using on each different system. A sort of combined "audio wizard" and custom config/interface generator (giving the alsamixers you want, with the kinds of controls you want laid out in the panels you want, all by "drag and drop" and direct manipulation of GUI elements). For example, in "[alsa-devel] Alsamixer-Qt4 0.4.0 released", I mentioned: In [alsa-devel] Alsamixer-Qt4 0.4.0 released I mentioned PS: digression -- has anybody used Vala to create a "mixer construction kit" out of nicely wrapped ALSA constructs and expeditiously-leveraged existing C/C++ code? ( i was thinking any serious hacking on envy24control/mudita24 deserves at least this centuries' programming languages&desktop support -- http://www.linuxaudio.org/mailarchive/lad/2010/8/11/172721 ).... IMHO this approach could be leveraged into something more useful for ALSA -- an ALSA "wizard" that could extract a high-level description of hardware, apply a rule-base of test/solutions to solving traditional and ongoing audio-setup or upgrading problems, and help visually construct a custom system control panel interface to all the audio and media devices on a particular person's system. It should also do the dishes. :-) ........... I came across http://opensource.wolfsonmicro.com/content/alsa-scenario-manager which seems like it would provide much needed underlying functionality in accessing devices and configurations needed to setup particular use cases.... ////////////// ALSA Scenario Manager Audio Scenario or Use Case Manager The ALSA scenario manager is a LGPL library designed to allow high level control of audio scenarios or use cases in sound device hardware. It is intended to be used by applications to change the hardware audio scenario of a device in a generic and portable manner. e.g. a dialer application may want to set a "GSM phone call" scenario or a media player may want to set a "playback via headphones" scenario. This library is not meant to replace gstreamer, PulseAudio or a sound server, but is meant to work in tandem with such audio software. Features Simple API and standard scenario types for changing device hardware scenario. Scenarios are stored in standard ALSA alsactl file format and can be very quickly generated using alsamixer. Ability for applications to identify controls relevant to the current scenario. ////////////////// http://www.slimlogic.co.uk/?p=40 //////////////// The ALSA scenario manager provides the following features. Consistent and simple C API. The library provides simple and consistent methods to change scenario or use case and thus make applications more portable across different devices. Ability to change any ALSA audio control type. This includes signal gain and signal routing (through mixers and muxes). Gain and mixer aliasing. Different scenarios may use different hardware gain controls (e.g. some hardware has different hardware gain controls for headphone and speaker volumes) . The library can alias controls so that the correct volume control is updated no matter what use case is in operation. ////////////////// Niels http://nielsmayer.com _______________________________________________ Linux-audio-dev mailing list [email protected] http://lists.linuxaudio.org/listinfo/linux-audio-dev
