_Sounding Off with the RSX Library_
by Steve Durham

Listing One
// Set up output
output.FileName=c:\noises.wav
output.ChannelCount=2
output.SamplesPerSec=44100
output.BitsPerSample=16
output.TotalPlayTime=30.0f
output.PeripheralType=Headphones
environment.Reverb(0.0f, TRUE, 1.0f, 0.01f)
environment.SpeedOfSound(0.0f, 525.0f)

emitter n1=c:\windows\media\Robotz Windows Start.wav
emitter n2=c:\windows\media\Utopia Recycle.wav
emitter n3=c:\windows\media\Utopia Windows Start.wav
emitter n4=c:\windows\media\Utopia Windows Exit.wav

n1.Model(   0.0f, 1.0f, 30.0f, 1.0f, 30.0f, 1.0f)
n2.Model(   0.0f, 1.0f, 22.0f, 1.0f, 22.0f, 1.0f)
n3.Model(0.0f, 1.0f, 85.0f, 1.0f, 85.0f, 1.0f)
n4.Model(0.0f, 1.0f, 100.0f, 1.0f, 100.0f, 1.0f)

n1.ControlMedia(0.0f, RSX_PLAY, 0, 0.0f)
n2.ControlMedia(0.0f, RSX_PLAY, 0, 0.0f)
n3.ControlMedia(0.0f, RSX_PLAY, 0, 0.0f)
n4.ControlMedia(0.0f, RSX_PLAY, 0, 0.0f)

// Initial positions -------------------------------------
n1.Position(    0.0f,  50.0f, 0.0f, 0.0f)
n2.Position(    0.0f, 100.0f, 0.0f, 0.0f)

n4.Position( 0.0f,   0.0f, 5.0f,  25.0f)
n4.Position( 3.0f, 150.0f, 5.0f,  25.0f)
n4.Position( 4.0f, 150.0f, 5.0f, -25.0f)
n4.Position( 7.0f,   0.0f, 5.0f, -25.0f)
n4.Position( 8.0f,   0.0f, 5.0f,  25.0f)
n4.Position(11.0f, 150.0f, 5.0f,  25.0f)
n4.Position(12.0f, 150.0f, 5.0f, -25.0f)
n4.Position(15.0f,   0.0f, 5.0f, -25.0f)
n4.Position(16.0f,   0.0f, 5.0f,  25.0f)
environment.Reverb(17.0f, TRUE, 1.0f, 0.1f)
n4.Position(19.0f, 150.0f, 5.0f,  25.0f)
n4.Position(20.0f, 150.0f, 5.0f, -25.0f)
n4.Position(23.0f,   0.0f, 5.0f, -25.0f)
n4.Position(24.0f,   0.0f, 5.0f,  25.0f)
n4.Position(27.0f, 150.0f, 5.0f,  25.0f)
n4.Position(28.0f, 150.0f, 5.0f, -25.0f)

n3.Position( 0.0f,   0.0f, 0.0f,  25.0f)
n3.Position( 5.0f, 150.0f, 0.0f,  25.0f)
n3.Position( 6.0f, 150.0f, 0.0f, -25.0f)
n3.Position(11.0f,   0.0f, 0.0f, -25.0f)

n3.Position(12.0f,   0.0f, 0.0f,  25.0f)
n3.Position(17.0f, 150.0f, 0.0f,  25.0f)
n3.Position(18.0f, 150.0f, 0.0f, -25.0f)

n3.Position(23.0f,   0.0f, 0.0f, -25.0f)
n3.Position(24.0f,   0.0f, 0.0f,  25.0f)
n3.Position(29.0f, 150.0f, 0.0f,  25.0f)

// Start-em up!---------------------------------------------

listener.Orientation(0.0f, 1.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f)

// Move the listener around
listener.Position(0.0f, 10.0f, 5.0f, 0.0f)
listener.Position(2.0f, 40.0f, 5.0f, 0.0f)

// Circle once
listener.Position(4.0f, 50.0f, 5.0f, -10.0f)
listener.Position(6.0f, 60.0f, 5.0f, 0.0f)
listener.Position(8.0f, 50.0f, 5.0f, 10.0f)
listener.Position(10.0f, 40.0f, 5.0f, 0.0f)

// Circle twice
listener.Position(12.0f, 50.0f, 5.0f, -10.0f)
listener.Position(14.0f, 60.0f, 5.0f, 0.0f)
listener.Position(16.0f, 50.0f, 5.0f, 10.0f)
listener.Position(18.0f, 40.0f, 5.0f, 0.0f)

// Circle thrice
listener.Position(20.0f, 50.0f, 5.0f, -10.0f)
listener.Position(22.0f, 60.0f, 5.0f, 0.0f)
listener.Position(24.0f, 50.0f, 5.0f, 10.0f)
listener.Position(26.0f, 40.0f, 5.0f, 0.0f)

listener.Position(28.0f, 90.0f, 0.0f, 0.0f)
listener.Orientation(27.0f, 1.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f)
listener.Orientation(28.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, 0.0f)

Listing Two
MyEmitter1.Position(2.0f, 0.0f, 0.0f, 0.0f)
MyEmitter1.Position(5.0f, 4.0f, 4.0f, 4.0f)

Listing Three
// Output Settings
output.FileName=c:\mywave.wav
output.ChannelCount=2
output.SamplesPerSec=22050
output.BitsPerSample=16
output.TotalPlayTime=30.0f
output.PeripheralType=Headphones 

// RSX environment
environment.Reverb(time, true/false, delay, intensity) 
environment.SpeedOfSound(time, speed) 

// Listener
listener.Position(time, x, y, z) 
listener.Orientation(time, x, y, z, xUp, yUp, zUp) 

// Emitters
emitter Emitter0=c:\sounds\bird.wav

Emitter0.Position(time, x, y, z)
Emitter0.Orientation(time, x, y, z) 
Emitter0.Pitch(time, pitch) 
Emitter0.Model(time, MaxFront, MinFront, MaxBack, MinBack, Intensity) 
Emitter0.ControlMedia(time, action, loops, startPos) 
Emitter0.SetMuteState(time, true/false) 
Emitter0.SetMarkPosition(time, startpos, endpos) 


