Hi Ilya,
Please send bug reports to xemacs-beta(a)xemacs.org, rather than to me
personally.
"Ilya N. Golubev" <gin(a)mo.msk.ru> wrote:
On 2006/03/27 17:40:58 +0 you committed changes in cvs head. After
that compilation fails as follows.
alsaplay.c: In function `set_volume':
alsaplay.c:231: error: void value not ignored as it ought to be
alsaplay.c:254: error: `SND_MIXER_SCHN_REAR_CENTER' undeclared (first use in this
function)
alsaplay.c:254: error: (Each undeclared identifier is reported only once
alsaplay.c:254: error: for each function it appears in.)
alsaplay.c:262: error: `SND_MIXER_SCHN_SIDE_LEFT' undeclared (first use in this
function)
alsaplay.c:266: error: `SND_MIXER_SCHN_SIDE_RIGHT' undeclared (first use in this
function)
alsaplay.c: In function `reset_volume':
alsaplay.c:298: error: `SND_MIXER_SCHN_REAR_CENTER' undeclared (first use in this
function)
alsaplay.c:306: error: `SND_MIXER_SCHN_SIDE_LEFT' undeclared (first use in this
function)
alsaplay.c:310: error: `SND_MIXER_SCHN_SIDE_RIGHT' undeclared (first use in this
function)
make[2]: *** [alsaplay.o] Error 1
In `libalsa2-devel-1.0.2-3mdk' binary package
`snd_mixer_selem_get_playback_volume_range' return type is `void'.
Please add checks both for that and for possibly missing
`snd_mixer_selem_channel_id_t' enum items. In this version both this
type enum is defined and `snd_mixer_selem_get_playback_volume_range'
is declared in `<alsa/mixer.h>', and the following include set is
enough to compile.
#include <sys/types.h>
#include <alsa/mixer.h>
Or at least please determine the lowest required `libalsa' version and
document it in `INSTALL'.
I tested with ALSA library versions 1.0.9, 1.0.10, and 1.0.11 before
committing. I don't have anything older than that readily at hand.
Clearly the return type of snd_mixer_selem_get_playback_volume_range
changed after 1.0.2 and by 1.0.9. That's really not a problem, though.
We can have configure find the appropriate return type. I'll prepare a
patch that does that in a little while and have you test it out for me.
I don't understand your remarks about the include files, though.
<alsa/mixer.h> is already being included. Do you just mean that it is
necessary to include <sys/types.h> before that? That's easy enough to
do. Also the missing snd_mixer_selem_channel_id_t types are easy to
handle; I'll just wrap each if statement with an appropriate #ifdef.
Thanks for the report.
--
Jerry James, Assistant Professor james(a)xemacs.org
Computer Science Department
http://www.cs.usu.edu/~jerry/
Utah State University