HulaLoop
Simple cross-platform audio loopback and recording.
CLICommands.h
1 #ifndef HL_CLI_COMMANDS_H
2 #define HL_CLI_COMMANDS_H
3 
4 #define HL_ORANGE "\033[48;2;255;165;0m"
5 #define HL_NC "\033[0m"
6 
7 #define HL_PROMPT "\nHulaLoop> "
8 
9 #define HL_DELAY_TIMER_LONG "delay"
10 #define HL_DELAY_TIMER_SHORT "de"
11 #define HL_DELAY_TIMER_ARG1 "seconds"
12 
13 #define HL_RECORD_TIMER_LONG "duration"
14 #define HL_RECORD_TIMER_SHORT "du"
15 #define HL_RECORD_TIMER_ARG1 "seconds"
16 
17 #define HL_RECORD_SHORT "r"
18 #define HL_RECORD_LONG "record"
19 #define HL_RECORD_ARG1 "delay"
20 #define HL_RECORD_ARG2 "duration"
21 
22 #define HL_STOP_SHORT "s"
23 #define HL_STOP_LONG "stop"
24 
25 #define HL_PLAY_SHORT "pl"
26 #define HL_PLAY_LONG "play"
27 
28 #define HL_PAUSE_SHORT "pa"
29 #define HL_PAUSE_LONG "pause"
30 
31 #define HL_EXPORT_SHORT "e"
32 #define HL_EXPORT_LONG "export"
33 #define HL_EXPORT_ARG1 "filepath"
34 
35 #define HL_DISCARD_SHORT "di"
36 #define HL_DISCARD_LONG "discard"
37 #define HL_DISCARD_ARG1 "-f"
38 
39 #define HL_LIST_SHORT "l"
40 #define HL_LIST_LONG "list"
41 
42 #define HL_INPUT_SHORT "i"
43 #define HL_INPUT_LONG "input"
44 #define HL_INPUT_ARG1 "name|id"
45 
46 #define HL_OUTPUT_SHORT "o"
47 #define HL_OUTPUT_LONG "output"
48 #define HL_OUTPUT_ARG1 "name|id"
49 
50 #define HL_PRINT_SHORT "p"
51 #define HL_PRINT_LONG "print"
52 
53 #define HL_VERSION_SHORT "v"
54 #define HL_VERSION_LONG "version"
55 
56 #define HL_HELP_SHORT "h"
57 #define HL_HELP_LONG "help"
58 
59 #define HL_SYSTEM_SHORT "sys"
60 #define HL_SYSTEM_LONG "system"
61 
62 #define HL_EXIT_LONG "exit"
63 
64 #define HL_HELP_TEXT "\n"\
65 "Commands: \n" \
66 "\n" \
67 " " HL_HELP_SHORT ", " HL_HELP_LONG "\t\t\t\t Displays this help.\n" \
68 " " HL_VERSION_SHORT ", " HL_VERSION_LONG "\t\t\t\t Displays version information.\n" \
69 " " HL_LIST_SHORT ", " HL_LIST_LONG "\t\t\t\t List all devices.\n" \
70 " " HL_PRINT_SHORT ", " HL_PRINT_LONG "\t\t\t\t Print the current configuration.\n" \
71 " " HL_EXIT_LONG "\t\t\t\t\t Exit HulaLoop.\n" \
72 "\n" \
73 " " HL_RECORD_SHORT ", " HL_RECORD_LONG " [" HL_RECORD_ARG1 "] [" HL_RECORD_ARG2 "]" \
74 "\t\t Start the record.\n" \
75 " " HL_STOP_SHORT ", " HL_STOP_LONG "\t\t\t\t Stop the record or playback.\n" \
76 " " HL_PLAY_SHORT ", " HL_PLAY_LONG "\t\t\t\t Playback captured audio.\n" \
77 " " HL_PAUSE_SHORT ", " HL_PAUSE_LONG "\t\t\t\t Pause playback or recording.\n" \
78 " " HL_EXPORT_SHORT ", " HL_EXPORT_LONG " <" HL_EXPORT_ARG1 ">\t\t\t Export captured audio to the specified file.\n" \
79 " " HL_DISCARD_SHORT ", " HL_DISCARD_SHORT " [" HL_DISCARD_ARG1 "]"\
80 "\t\t\t Discard the current recording\n" \
81 "\n" \
82 " " HL_INPUT_SHORT ", " HL_INPUT_LONG " <" HL_INPUT_ARG1 ">\t\t\t Set the input device.\n" \
83 " " HL_OUTPUT_SHORT ", " HL_OUTPUT_LONG " <" HL_OUTPUT_ARG1 ">\t\t\t Set the output device.\n" \
84 "\n" \
85 " " HL_DELAY_TIMER_SHORT ", " HL_DELAY_TIMER_LONG " <" HL_DELAY_TIMER_ARG1 ">" \
86 "\t\t\t Set the duration, in seconds, of the\n" \
87 "\t\t\t\t\t countdown timer before record. This will\n" \
88 "\t\t\t\t\t be overridden by an argument to the record\n" \
89 "\t\t\t\t\t command.\n" \
90 " " HL_RECORD_TIMER_SHORT ", " HL_RECORD_TIMER_LONG " <" HL_RECORD_TIMER_ARG1 ">" \
91 "\t\t Set the duration, in seconds, of the\n" \
92 "\t\t\t\t\t record. This will be overridden by an argument\n" \
93 "\t\t\t\t\t to the record command.\n" \
94 "\n" \
95 " " HL_SYSTEM_SHORT ", " HL_SYSTEM_LONG "\t\t\t\t Run a system command from within HulaLoop.\n" \
96 "\n"
97 
98 #endif // END HL_CLI_COMMANDS_H