From 5e2a1bc9e56003349e533f7e5841041ba5c04e28 Mon Sep 17 00:00:00 2001 From: "N.N." Date: Tue, 4 Oct 2005 02:02:15 +0000 Subject: starting to commit gridflow 0.8.0 ... if you know how to use "cvs import" please mail me and i'll use it for 0.8.1 svn path=/trunk/; revision=3646 --- externals/gridflow/devices4ruby/SoundPCM.rb | 102 ++++++++++++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 externals/gridflow/devices4ruby/SoundPCM.rb (limited to 'externals/gridflow/devices4ruby/SoundPCM.rb') diff --git a/externals/gridflow/devices4ruby/SoundPCM.rb b/externals/gridflow/devices4ruby/SoundPCM.rb new file mode 100644 index 00000000..d1b97159 --- /dev/null +++ b/externals/gridflow/devices4ruby/SoundPCM.rb @@ -0,0 +1,102 @@ +# $Id: SoundPCM.rb,v 1.1 2005-10-04 02:02:14 matju Exp $ +require "linux/ioctl" + +module Linux + +module SoundPCM + extend IoctlClass + + # SNDCTL Kernel Procedure Numbers + + SEQ_RESET = 0x00005100 + SEQ_SYNC = 0x00005101 + SEQ_CTRLRATE = 0xc0045103 + SEQ_GETOUTCOUNT = 0x80045104 + SEQ_GETINCOUNT = 0x80045105 + SEQ_PERCMODE = 0x40045106 + SEQ_TESTMIDI = 0x40045108 + SEQ_RESETSAMPLES = 0x40045109 + SEQ_NRSYNTHS = 0x8004510a + SEQ_NRMIDIS = 0x8004510b + SEQ_THRESHOLD = 0x4004510d + SEQ_PANIC = 0x00005111 + SEQ_OUTOFBAND = 0x40085112 + SEQ_GETTIME = 0x80045113 + + SYNTH_INFO = 0xc08c5102 + SYNTH_MEMAVL = 0xc004510e + SYNTH_ID = 0xc08c5114 + SYNTH_CONTROL = 0xcfa45115 + SYNTH_REMOVESAMPLE = 0xc00c5116 + + FM_LOAD_INSTR = 0x40285107 + FM_4OP_ENABLE = 0x4004510f + + TMR_TIMEBASE = 0xc0045401 + TMR_START = 0x00005402 + TMR_STOP = 0x00005403 + TMR_CONTINUE = 0x00005404 + TMR_TEMPO = 0xc0045405 + TMR_SOURCE = 0xc0045406 + TMR_METRONOME = 0x40045407 + TMR_SELECT = 0x40045408 + + MIDI_INFO = 0xc074510c + MIDI_PRETIME = 0xc0046d00 + MIDI_MPUMODE = 0xc0046d01 + MIDI_MPUCMD = 0xc0216d02 + + # DSP_* names are obsolete ? + DSP_STEREO = 0xc0045003 + DSP_GETBLKSIZE = 0xc0045004 + DSP_SETDUPLEX = 0x00005016 + DSP_GETODELAY = 0x80045017 + DSP_PROFILE = 0x40045017 + + # what is this? + COPR_RESET = 0x00004300 + COPR_LOAD = 0xcfb04301 + COPR_RDATA = 0xc0144302 + COPR_RCODE = 0xc0144303 + COPR_WDATA = 0x40144304 + COPR_WCODE = 0x40144305 + COPR_RUN = 0xc0144306 + COPR_HALT = 0xc0144307 + COPR_SENDMSG = 0xcfa44308 + COPR_RCVMSG = 0x8fa44309 + + # SOUND_PCM Kernel Procedure Numbers + + PCM_READ_BITS , PCM_WRITE_BITS = 0x80045005, 0xc0045005 + PCM_READ_CHANNELS , PCM_WRITE_CHANNELS = 0x80045006, 0xc0045006 + PCM_READ_FILTER , PCM_WRITE_FILTER = 0x80045007, 0xc0045007 + PCM_READ_RATE , PCM_WRITE_RATE = 0x80045002, 0xc0045002 + + PCM_RESET = 0x00005000 + PCM_SYNC = 0x00005001 + PCM_POST = 0x00005008 + PCM_SUBDIVIDE = 0xc0045009 + PCM_SETFRAGMENT = 0xc004500a + PCM_GETFMTS = 0x8004500b + PCM_SETFMT = 0xc0045005 + PCM_GETOSPACE = 0x8010500c + PCM_GETISPACE = 0x8010500d + PCM_NONBLOCK = 0x0000500e + PCM_GETCAPS = 0x8004500f + PCM_GETTRIGGER , PCM_SETTRIGGER = 0x80045010, 0x40045010 + PCM_SETSYNCRO = 0x00005015 + PCM_GETIPTR = 0x800c5011 + PCM_GETOPTR = 0x800c5012 + PCM_MAPINBUF = 0x80085013 + PCM_MAPOUTBUF = 0x80085014 + + ioctl_accessor :bits , :PCM_READ_BITS , :PCM_WRITE_BITS + ioctl_accessor :channels, :PCM_READ_CHANNELS, :PCM_WRITE_CHANNELS + ioctl_accessor :filter , :PCM_READ_FILTER , :PCM_WRITE_FILTER + ioctl_accessor :rate , :PCM_READ_RATE , :PCM_WRITE_RATE +end + +# backward compatibility +SoundDSP = SoundPCM + +end # Linux -- cgit v1.2.1