aboutsummaryrefslogtreecommitdiff
path: root/externals/gridflow/devices4ruby/README
diff options
context:
space:
mode:
Diffstat (limited to 'externals/gridflow/devices4ruby/README')
-rw-r--r--externals/gridflow/devices4ruby/README27
1 files changed, 27 insertions, 0 deletions
diff --git a/externals/gridflow/devices4ruby/README b/externals/gridflow/devices4ruby/README
new file mode 100644
index 00000000..740b5165
--- /dev/null
+++ b/externals/gridflow/devices4ruby/README
@@ -0,0 +1,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.
+