diff options
Diffstat (limited to '')
| -rwxr-xr-x | aataaj.lua | 32 |
1 files changed, 20 insertions, 12 deletions
| @@ -180,31 +180,39 @@ print('') | |||
| 180 | io.flush() | 180 | io.flush() |
| 181 | 181 | ||
| 182 | 182 | ||
| 183 | local speak = function(card, subdevice, device, words, printIt, forkIt) | ||
| 184 | if printIt then print(words) end | ||
| 185 | if forkIt then | ||
| 186 | __('#!/bin/bash\necho "' .. words .. '" | ' .. speaker .. ' -d ' .. card .. subdevice):noErr():noOut():fork() | ||
| 187 | else | ||
| 188 | __('#!/bin/bash\necho "' .. words .. '" | ' .. speaker .. ' -d ' .. card .. subdevice):noErr():noOut():Do() | ||
| 189 | end | ||
| 190 | -- io.flush() | ||
| 191 | end | ||
| 192 | |||
| 183 | if 'start' == arg[1] then | 193 | if 'start' == arg[1] then |
| 184 | print('Your ' .. cnt .. ' audio devices are ') | 194 | print('Your ' .. cnt .. ' audio devices are ') |
| 185 | for k,C in pairs(Cards) do | 195 | for k,C in pairs(Cards) do |
| 186 | print('' .. C.card - 1 .. ' : ' .. C.name) | 196 | for j,c in ipairs(C['playbackDevs']) do |
| 187 | __ ('ALSA_CARD=' .. C.card - 1 .. ' ' .. speaker .. ' "Your ' .. cnt .. ' audio devices are "'):log():noErr():noOut():fork() | 197 | speak(C.name, C['playbackDevs'][j], C.card - 1, 'Your ' .. cnt .. ' audio devices are - ', false, true) |
| 198 | end | ||
| 188 | end | 199 | end |
| 189 | -- TODO - should do a proper "wait for speakers to finish" here. Have fork(write a file), think that's what :wait(file) does. | 200 | -- TODO - should do a proper "wait for speakers to finish" here. Have fork(write a file), think that's what :wait(file) does. |
| 190 | __'sleep 6':Do() | 201 | __'sleep 6':Do() |
| 191 | print('') | ||
| 192 | io.flush() | ||
| 193 | for k,C in pairs(Cards) do | 202 | for k,C in pairs(Cards) do |
| 194 | print('' .. C.card - 1 .. ' : ' .. C.name) | 203 | for j,c in ipairs(C['playbackDevs']) do |
| 195 | __('echo "' .. C.card - 1 .. ' : ' .. C.name .. '"') | 204 | speak(C.name, C['playbackDevs'][j], C.card - 1, 'Device number ' .. C.card - 1 .. ', ' .. C['playbackDevs'][j] .. ' : ' .. C.name, true, false) |
| 196 | __('ALSA_CARD=' .. C.card - 1 .. ' ' .. speaker .. ' "Device number ' .. C.card - 1 .. ' ' .. C.name .. '"'):log():noErr():noOut():Do() | 205 | end |
| 197 | io.flush() | ||
| 198 | __'sleep 1':Do() | 206 | __'sleep 1':Do() |
| 199 | end | 207 | end |
| 200 | print('') | ||
| 201 | io.flush() | 208 | io.flush() |
| 202 | 209 | ||
| 210 | print('Please type the device number you heard best - ') | ||
| 203 | for k,C in pairs(Cards) do | 211 | for k,C in pairs(Cards) do |
| 204 | print('' .. C.card - 1 .. ' : ' .. C.name) | 212 | for j,c in ipairs(C['playbackDevs']) do |
| 205 | __('ALSA_CARD=' .. C.card - 1 .. ' ' .. speaker .. ' "Please type the device number you heard best."'):log():noErr():noOut():fork() | 213 | speak(C.name, C['playbackDevs'][j], C.card - 1, 'Please type the device number you heard best - ', false, true) |
| 214 | end | ||
| 206 | end | 215 | end |
| 207 | io.write('Please type the device number you heard best - ') | ||
| 208 | local choice = tonumber(io.read()) -- Lua has no way of just checking IF there is ANY input, so can't do "check if there was a keypress, continue if not". | 216 | local choice = tonumber(io.read()) -- Lua has no way of just checking IF there is ANY input, so can't do "check if there was a keypress, continue if not". |
| 209 | local ourCard = '' | 217 | local ourCard = '' |
| 210 | 218 | ||
