Normalise JSON. Update todo
[PreCom.git] / menu.json
1 {
2 "MainMenu": {
3 "type": "menu",
4 "description": "PreCom Options",
5 "items": [
6 {
7 "name": "Services",
8 "type": "menu",
9 "description": "Start/Stop services",
10 "items": [
11 {
12 "name": "ITG",
13 "type": "service",
14 "description": "Start/Stop the ITG service",
15 "command": "/itg/de-itg",
16 "user": "itg"
17 },
18 {
19 "name": "Steam",
20 "type": "service",
21 "description": "Start/Stop the Steam service",
22 "command": "/itg/PreCom/steam.sh",
23 "user": "steam"
24 },
25 {
26 "name": "Steam TenFoot",
27 "type": "service",
28 "description": "Start/Stop the Steam service in tenfoot mode",
29 "command": "/itg/PreCom/steam.sh",
30 "args": "-t",
31 "user": "steam"
32 },
33 {
34 "name": "Stream",
35 "type": "service",
36 "description": "Start/Stop the stream service",
37 "command": "/itg/PreCom/stream.sh",
38 "user": "itg"
39 }
40 ]
41 },
42 {
43 "name": "Tasks",
44 "type": "menu",
45 "description": "Run tasks",
46 "items": [
47 {
48 "name": "Update songs",
49 "type": "task",
50 "description": "Update the ITG song list",
51 "commands": [
52 {
53 "command": "./rsync-adapter.sh -ia --delete --exclude 'A is for Cool Shit' --exclude 'Footspeed' --exclude 'Stamina' /mnt/shares/itg-repo/Songs /itg",
54 "title": "Syncing songs..."
55 },
56 {
57 "command": "./simlink-adapter.sh -d /itg/Songs/ -f 240 -s 5 -r 13",
58 "title": "Sorting songs..."
59 },
60 {
61 "command": "./cache-update-adapter.sh -d /itg/Cache/Songs/",
62 "title": "Updating cache..."
63 },
64 {
65 "command": "./cache-update-confirmation-adapter.sh",
66 "title": "Songs updated"
67 }
68 ],
69 "user": "itg"
70 },
71 {
72 "name": "DivinElegy Twitch",
73 "type": "task",
74 "description": "Sets up the camera and launches OBS",
75 "commands": [
76 {
77 "command": "./camflush-adapter.sh",
78 "title": "Flush camera"
79 },
80 {
81 "command": "ssh peekingboo@...",
82 "title": "Starting obs"
83 }
84 ],
85 "user": "itg"
86 }
87 ]
88 },
89 {
90 "name": "Presets",
91 "type": "menu",
92 "description": "Run presets",
93 "items": [
94 {
95 "name": "Sync and Launch",
96 "type": "preset",
97 "description": "Sync songs and launch ITG",
98 "itemsToRun": [
99 "MainMenu.Tasks.Update songs",
100 "MainMenu.Services.ITG"
101 ]
102 },
103 {
104 "name": "GameStomp",
105 "type": "preset",
106 "description": "Do shit for GameStomp",
107 "itemsToRun": [
108 "MainMenu.tasks.Divinelegy Twitch",
109 "MainMenu.Services.Steam"
110 ]
111 }
112 ]
113 }
114 ]
115 }
116 }