1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
|
#!/usr/bin/env luajit
local _ = require '_'
local D = _.D
local I = _.I
local T = _.T
local W = _.W
local E = _.E
local C = _.C
local __ = _._
D('Starting from the top.')
local Help = [[
This is part of the blah blah blah...
]]
local args = {...}
if 0 ~= #args then
-- for i,a in pairs(args) do
-- print('Argument ' .. i .. ' = ' .. a)
-- end
if 'start' == args[1] then
elseif 'stop' == args[1] then
--[=[
_.killEmAll{'qsynth'}
__[[
a2j_control --stop
sleep 2
a2j_control --exit
sleep 2
]]:Do()
_.killEmAll{'alsa_in', 'alsa_out', 'zita-a2j', 'zita-j2a', 'aseqjoy', 'jack-plumbing'}
__[[
sleep 2
jack_control stop
sleep 2
jack_control exit
sleep 2
]]:Do()
_.killEmAll{'jmcore', 'qjackctl'}
-- Catia is python, and no easy way to kill it.
-- Also it keeps jackdbus alive, no matter how hard you kill it.
__"pkill -TERM -u $USER -f catia":Do()
__"sleep 2":Do()
_.killEmAll{'jackdbus', 'a2jmidid'}
]=]
return(0)
elseif 'JACK' == args[1] then
elseif 'restart' == args[1] then args[1] = 'start'
elseif 'force-reload' == args[1] then args[1] = 'start'
elseif 'status' == args[1] then
return(0)
elseif 'help' == args[1] then
print(Help)
return(0)
elseif '--help' == args[1] then
print(Help)
return(0)
else
print("Usage: /etc/init.d/aataaj.lua {start|stop|restart|force-reload|status}")
return(1)
end
else
print("Usage: /etc/init.d/aataaj.lua {help|start|stop|restart|force-reload|status|JACK}")
return(1)
end
local GUI = 'qjackctl'
if _.exists'catia' then GUI = 'catia' end
local speaker = 'espeak'
if _.exists'espeak-ng' then speaker = 'espeak-ng' end
for i,l in ipairs(__'df -h':log():Do().lines) do
print(l)
end
print('')
__'df -h':log():also'free -h':show():Do()
print('')
for i,l in ipairs(__'df -h\nfree -h':log():Do().lines) do
print(l)
end
print('')
__[[
df -h
free -h
]]:log():show():Do()
print('')
for i,l in ipairs(__{'df -h', 'free -h'}:log():Do().lines) do
print(l)
end
print('')
print('' .. GUI .. ' ' .. speaker)
print('')
print(__'true':log():show():Do().status)
print(__'false':log():show():Do().status)
print(__'exit 42':log():show():Do().status)
print(__'return 42':log():show():Do().status)
print(__'command NoSuchCommand':log():show():Do().status)
|