The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Audio::Mixer - Perl extension for Sound Mixer control

SYNOPSIS

  use Audio::Mixer;
  $volume = Audio::Mixer::get_cval('vol');
  if (Audio::Mixer::set_cval('vol', 50, 40)) {
    die("Can't set volume...");
  }

DESCRIPTION

Library to query / set various sound mixer parameters.

This is just a very simple Perl interface which allows to set various sound mixer parameters. The most important probably 'vol' (volume). The list of all mixer parameters can be obtained using get_mixer_params() function.

All values (lcval, rcval) are numbers in 0-100 range.

FUNCTIONS

get_cval(cntrl) - Get parameter value Parameters: cntrl - name of parameter Returns: in array context: (lcval, rcval), where: lcval - left channel value rcval - right channel value in scalar context returns value of get_param_val() (see below)

set_cval(cntrl, lcval, rcval) - Set parameter value Parameters: cntrl - name of parameter lcval - left channel value rcval - right channel value (optional, if not supplied will be equal to lcval) Returns: 0 if Ok, -1 if failed

set_source(cntrl) - set record source Parameters: cntrl - name of channel to record from Returns: 0 if Ok, -1 if failed

get_source(cntrl) - get record source Returns: name of channel to record from

set_mixer_dev(fname) - Set mixer device name (optional), /dev/mixer is used by default fname - device name Returns: 0 if Ok

init_mixer() - Initialize mixer (open it) set_cval() / get_cval() opens / closes the mixer each time they called unless init_mixer() called before. In case if init_mixer() called before all other functions will use already opened device instead of opening it each time.

close_mixer() - Close device. Should be called only if init_mixer() was used.

get_mixer_params() - Get list of mixer parameters Returns: list of parameters names.

LOW LEVEL FUNCTIONS:

get_param_val(cntrl) - Get parameter value Parameter: cntrl - name of parameter Returns: integer value, which will be constructed as follows: lower byte (x & 0xff) - value of the left channel (or whole value) next byte (x & 0xff00) - value of the right channel third byte (x & 0xff0000) - flags (if x & 0x10000 then 2 channels exist) or -1 in case of failure.

set_param_val(cntrl, lcval, rcval) - Set parameter value. Here all parameters are mandatory (in contrast to set_cval()). Parameters: cntrl - name of parameter lcval - left channel value rcval - right channel value Returns: 0 if Ok, -1 if failed

AUTHOR

Sergey Gribov, sergey@sergey.com

LICENSE

Copyright (c) 2001 Sergey Gribov. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

SEE ALSO

perl(1).