3 package.path = package.path..";/home/startx/projects/swamp-machine/trunk/src/?.lua;/home/startx/projects/swamp-machine/trunk/lib/?.lua"
5 package.cpath = package.cpath..";/home/startx/projects/swamp-machine/trunk/src/?.so;/home/startx/projects/swamp-machine/trunk/lib/?.so"
8 -- create an audio device using default parameters and exit in case of errors
13 print("starting player")
14 posix.mkfifo("/tmp/dodo")
16 dofile '/home/startx/projects/swamp-machine/trunk/config/swamp.conf'
18 if not proAudio.create( 8, 44000, 1024 ) then
22 --- initialize the sample and sound table
29 start_load = os.time()
31 sample[1] = proAudio.sampleFromFile(CONFIG.install_path.."audio/1.ogg")
33 sample[2] = proAudio.sampleFromFile(CONFIG.install_path.."audio/2.ogg")
35 sample[3] = proAudio.sampleFromFile(CONFIG.install_path.."audio/3.ogg")
37 sample[4] = proAudio.sampleFromFile(CONFIG.install_path.."audio/4.ogg")
39 sample[5] = proAudio.sampleFromFile(CONFIG.install_path.."audio/5.ogg")
41 sample[6] = proAudio.sampleFromFile(CONFIG.install_path.."audio/6.ogg")
43 sample[7] = proAudio.sampleFromFile(CONFIG.install_path.."audio/7.ogg")
45 sample[8] = proAudio.sampleFromFile(CONFIG.install_path.."audio/8.ogg")
47 sample[9] = proAudio.sampleFromFile(CONFIG.install_path.."audio/9.ogg")
49 sample[10] = proAudio.sampleFromFile(CONFIG.install_path.."audio/10.ogg")
51 sample[31] = proAudio.sampleFromFile(CONFIG.install_path.."audio/31.ogg")
52 sample[32] = proAudio.sampleFromFile(CONFIG.install_path.."audio/32.ogg")
53 sample[33] = proAudio.sampleFromFile(CONFIG.install_path.."audio/33.ogg")
54 sample[34] = proAudio.sampleFromFile(CONFIG.install_path.."audio/34.ogg")
55 sample[35] = proAudio.sampleFromFile(CONFIG.install_path.."audio/35.ogg")
56 sample[36] = proAudio.sampleFromFile(CONFIG.install_path.."audio/36.ogg")
57 sample[37] = proAudio.sampleFromFile(CONFIG.install_path.."audio/37.ogg")
58 sample[38] = proAudio.sampleFromFile(CONFIG.install_path.."audio/38.ogg")
59 sample[39] = proAudio.sampleFromFile(CONFIG.install_path.."audio/39.ogg")
60 print("pre-loading finished")
61 print("took "..os.time() - start_load.." seconds.")
64 PITCH = { slow = 0.5 ,
72 local file = io.open("/tmp/dodo","r")
77 local line = file:read()
80 local message , n = string.match(line, "^(.-)%s(.-)$")
86 if message == "play" then
88 --sample[n] = proAudio.sampleFromFile(CONFIG.install_path.."audio/"..n..".ogg")
89 sound[n] = proAudio.soundPlay(sample[n])
91 print("sound "..n.." allready playing")
94 elseif message == "loop" then
96 --sample[n] = proAudio.sampleFromFile(CONFIG.install_path.."audio/"..n..".ogg")
97 sound[n] = proAudio.soundLoop(sample[n])
99 print("sound "..n.." allready playing")
102 elseif message == "play_right" then
104 --sample[n] = proAudio.sampleFromFile(CONFIG.install_path.."audio/"..n..".ogg")
105 sound[n] = proAudio.soundPlay(sample[n])
106 proAudio.soundUpdate( sound[n], 0.0, 2.0, 0.0, 1.0 )
108 print("sound "..n.." allready playing")
111 elseif message == "play_left" then
113 --sample[n] = proAudio.sampleFromFile(CONFIG.install_path.."audio/"..n..".ogg")
114 sound[n] = proAudio.soundPlay(sample[n])
115 proAudio.soundUpdate( sound[n], 2.0, 0.0, 0.0, 1.0 )
117 print("sound "..n.." allready playing")
121 elseif message == "stop" then
125 proAudio.soundStop(sound[n])
132 proAudio.soundStop(sound[n])
138 elseif message == "right" then
140 proAudio.soundUpdate( sound[n], 0.0, 2.0, 0.0, 1.0 )
144 elseif message == "left" then
146 proAudio.soundUpdate( sound[n], 2.0, 0.0, 0.0, 1.0 )
150 elseif message == "slow" then
152 proAudio.soundUpdate( sound[n], 1.0, 1.0, 0.0, 0.5 )
156 elseif message == "normal" then
158 proAudio.soundUpdate( sound[n], 1.0, 1.0, 0.0, 1.0 )
162 elseif message == "fast" then
164 proAudio.soundUpdate( sound[n], 1.0, 1.0, 0.0, 2.0 )
169 elseif message == "fadeout" then
170 for i= 1 , 0 , -0.1 do
171 proAudio.soundUpdate( sound[n], i, i, 0.0, 1.0 )
174 proAudio.soundStop(sound[n])
177 print("invalid message")
181 print("invalid or missing parameter")
190 os.remove("/tmp/dodo")