[AD] Board mixer ...

[ Thread Index | Date Index | More lists.liballeg.org/allegro-developers Archives ]


Hi All:

  I recently ported splay (mpegsound library) to DOS using Allegro. I used some code from
Ove for the sound streaming that I took from the libamp port of AMP library. Then I
incorporated it to my editor.
  It works quite well. In Linux I'm using just plain /dev/dsp access.
  The main "problem" is that Linux sets the sound blaster mixer with silly values and I
don't know about programs to manipulate it.
  For this reason I want to add some dialog with options to setup it.
  Looking in Allegro code I can only see functions to set the master volume of the boards.

  What about adding a set of functions to do it? I think 3 functions are enough, or
perhaps even 1 if we want to avoid pollution in the sound driver VT (which is full of
voice mixing members).
  I suggest something like:

1) A function that returns the number of elements that have adjustable level (wav output,
line input, treble, etc.) and a pointer to an structure containing:
a) A printable name of the element in long format
b) The same in short format (4 or 5 characters)
c) Flags indicating if that's stereo or mono.
d) Actual setting for left and right channel.
e) An ID value. Some IDs are well known, like Master volume or Treble or Bass.
2) A set function that receives an ID number and the value for each channel.
3) A get funtion similar to (2).

  The idea is more or less a generalization of the Linux's IOCTL services.
  I can code it for Linux's /dev/mixer and SB 16.

Looking for opinions, suggestions, etc. SET

--
Salvador Eduardo Tropea (SET). (Electronics Engineer)
Visit my home page: http://welcome.to/SetSoft or
http://www.geocities.com/SiliconValley/Vista/6552/
Alternative e-mail: set-soft@xxxxxxxxxx set@xxxxxxxxxx
                    set@xxxxxxxxxx set-soft@xxxxxxxxxx
Address: Curapaligue 2124, Caseros, 3 de Febrero
Buenos Aires, (1678), ARGENTINA Phone: +(5411) 4759 0013





Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/