[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

accessing mixer values

ruud grosmann

3/27/2008 3:30:00 PM

hi group

I want to read the volume of the mixer device with a ruby script.
Can anybody tell me what the ruby equivalent is of what the MIXER_READ
macro does in C?

#define SOUND_MIXER_VOLUME 0
#define SOUND_MIXER_READ_VOLUME MIXER_READ(SOUND_MIXER_VOLUME)
#define MIXER_READ(dev) _SIOR('M', dev, int)

I've been googling with keywords like 'ioctl, MIXER_READ SOUND_MIXER',
but with little result. Hopefully someone can me push me in the right
direction...


thanks in advance,

Ruud
3 Answers

ts

3/27/2008 3:55:00 PM

0

ruud wrote:
> I want to read the volume of the mixer device with a ruby script.
> Can anybody tell me what the ruby equivalent is of what the MIXER_READ
> macro does in C?

I'm sure that you'll happy to know that, on linux, MIXER_READ(dev) do
this

(((2U) << (((0 +8)+8)+14)) | ((('M')) << (0 +8)) | (((dev)) << 0) |
(((((sizeof(int) == sizeof(int[1]) && sizeof(int) < (1 << 14)) ?
sizeof(int) : __invalid_size_argument_for_IOC))) << ((0 +8)+8)))


:-)

> I've been googling with keywords like 'ioctl, MIXER_READ SOUND_MIXER',
> but with little result. Hopefully someone can me push me in the right
> direction...

perhaps best if you use Ruby::Inline to access it

http://rubyforge.org/projects/r...


Guy Decoux



Ron Fox

3/28/2008 11:34:00 AM

0

It encodes the ioctl request argument for a transfer of data from the
device to the program. See:
man ioctl

you may also need to look at the ioctl.h header.
_SIOR in at least the linux soundcard.h file just maps directly to _IOR

RF
ruud wrote:
> hi group
>
> I want to read the volume of the mixer device with a ruby script.
> Can anybody tell me what the ruby equivalent is of what the MIXER_READ
> macro does in C?
>
> #define SOUND_MIXER_VOLUME 0
> #define SOUND_MIXER_READ_VOLUME MIXER_READ(SOUND_MIXER_VOLUME)
> #define MIXER_READ(dev) _SIOR('M', dev, int)
>
> I've been googling with keywords like 'ioctl, MIXER_READ SOUND_MIXER',
> but with little result. Hopefully someone can me push me in the right
> direction...
>
>
> thanks in advance,
>
> Ruud

Ron Fox

3/28/2008 11:36:00 AM

0


http://www.4front-tech.com/pguide/s...

May also help now that you know that

_SIOR is just _IOR.

search there for MIXER_READ...below it are the legal values for dev if
I'm getting this right.



ruud wrote:
> hi group
>
> I want to read the volume of the mixer device with a ruby script.
> Can anybody tell me what the ruby equivalent is of what the MIXER_READ
> macro does in C?
>
> #define SOUND_MIXER_VOLUME 0
> #define SOUND_MIXER_READ_VOLUME MIXER_READ(SOUND_MIXER_VOLUME)
> #define MIXER_READ(dev) _SIOR('M', dev, int)
>
> I've been googling with keywords like 'ioctl, MIXER_READ SOUND_MIXER',
> but with little result. Hopefully someone can me push me in the right
> direction...
>
>
> thanks in advance,
>
> Ruud