aboutsummaryrefslogtreecommitdiff
path: root/externals/gridflow/devices4ruby/README
blob: 740b5165e1f66f146c819fae15be0743e20512d1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
devices/linux

AUTHOR

	Mathieu Bouchard <matju@sympatico.ca>
	irc: irc.openprojects.net / #ruby-lang / matju
	(note: I can't read Japanese; write in French or English please)

OVERVIEW

This is a collection of simple modules that you extend IO objects with, to
give them support for specific devices.  For example:

	require "linux/SoundMixer"
	f = File.open "/dev/mixer"
	f.extend Linux::SoundMixer

	# f now has special accessors for driver variables, e.g:

	f.treble = left_speaker_percent + 256 * right_speaker_percent

The modules are made of automatically generated methods, much like Ruby's
accessors. those generators are called ioctl_reader, ioctl_writer,
ioctl_accessor. Writing expects an integer in -2**31...2**31; reading will
return the same. You may browse the source to find out which accessors are
available, and it's easy to add support for more features.