ascii-chat 0.11.33
Video chat in your terminal
Loading...
Searching...
No Matches
metadata.c
Go to the documentation of this file.
1
13#include <ascii-chat/log/log.h>
18
19// ============================================================================
20// Log Level Metadata
21// ============================================================================
22
31const char *g_log_level_descs[] = {"Development (most verbose, includes function traces)",
32 "Debug (includes internal state tracking)",
33 "Informational (key lifecycle events)",
34 "Warnings (unusual conditions)",
35 "Errors only",
36 "Fatal errors only",
37 NULL};
38
39// ============================================================================
40// Color Setting Metadata (--color flag values)
41// ============================================================================
42
43const char *g_color_setting_values[] = {"auto", "true", "false", NULL};
45const char *g_color_setting_descs[] = {"Smart detection (colors if TTY and not piping/CLAUDECODE)",
46 "Force colors ON (override TTY/pipe/CLAUDECODE)",
47 "Force colors OFF (disable all colors)", NULL};
48
49// ============================================================================
50// UTF-8 Setting Metadata (--utf8 flag values)
51// ============================================================================
52
53const char *g_utf8_setting_values[] = {"auto", "true", "false", NULL};
55const char *g_utf8_setting_descs[] = {"Auto-detect UTF-8 support from terminal capabilities",
56 "Force UTF-8 ON (always use UTF-8 regardless of terminal)",
57 "Force UTF-8 OFF (disable UTF-8 support)", NULL};
58
59// ============================================================================
60// Color Mode Metadata
61// ============================================================================
62
67const char *g_color_mode_descs[] = {"Auto-detect from terminal",
68 "Monochrome only",
69 "16 colors (ANSI)",
70 "256 colors (xterm)",
71 "24-bit truecolor (modern terminals)",
72 NULL};
73
74// ============================================================================
75// Color Filter Metadata
76// ============================================================================
77
89const char *g_color_filter_descs[] = {"No filtering (default)",
90 "Dark content on white background",
91 "White content on black background",
92 "Green color tint (#00FF41)",
93 "Magenta color tint (#FF00FF)",
94 "Fuchsia color tint (#FF00AA)",
95 "Orange color tint (#FF8800)",
96 "Teal color tint (#00DDDD)",
97 "Cyan color tint (#00FFFF)",
98 "Pink color tint (#FFB6C1)",
99 "Red color tint (#FF3333)",
100 "Yellow color tint (#FFEB99)",
101 "Rainbow color tint",
102 NULL};
103
104// ============================================================================
105// Palette Metadata
106// ============================================================================
107
117const char *g_palette_descs[] = {"Standard ASCII palette",
118 "Block characters (full/half/quarter blocks)",
119 "Digital/computer style",
120 "Minimal palette (light aesthetic)",
121 "Cool/modern style",
122 "Custom user-defined characters",
123 NULL};
124
125// ============================================================================
126// Render Mode Metadata
127// ============================================================================
128
131const int g_render_integers[] = {RENDER_MODE_FOREGROUND, RENDER_MODE_FOREGROUND, // fg is alias for foreground
132 RENDER_MODE_BACKGROUND, RENDER_MODE_BACKGROUND, // bg is alias for background
134const char *g_render_descs[] = {"Render using foreground characters only",
135 "Render using foreground characters only (alias)",
136 "Render using background colors only",
137 "Render using background colors only (alias)",
138 "Use half-block characters for 2x vertical resolution",
139 NULL};
140
141// ============================================================================
142// Render-file theme metadata
143// ============================================================================
144
145const char *g_render_theme_values[] = {"dark", "light", "auto", NULL};
146const int g_render_theme_integers[] = {0, 1, 2}; // 0=dark, 1=light, 2=auto
147const char *g_render_theme_descs[] = {"Dark background (black), light text", "Light background (white), dark text",
148 "Auto-detect based on system (macOS) or terminal setting (Linux)", NULL};
149
150// ============================================================================
151// Audio Source Metadata
152// ============================================================================
153
157const char *g_audio_source_descs[] = {"Local microphone, local media, and other call participants (default)",
158 "Audio received from other call participants", "Local microphone only",
159 "Local media playback only", NULL};
160
167const char *g_audio_capture_source_descs[] = {"Microphone when no media is playing; media only otherwise (default)",
168 "Capture microphone only", "Play media audio only",
169 "Capture microphone and play media audio simultaneously",
170 "Do not capture local audio", NULL};
171
172// ============================================================================
173// Log Format Output Type Metadata (--log-format flag values)
174// ============================================================================
175
176// ============================================================================
177// Example Arrays (null-terminated)
178// ============================================================================
179
180const char *g_compression_examples[] = {"1", "3", "9", NULL};
181const char *g_fps_examples[] = {"30", "60", "144", NULL};
182const char *g_width_examples[] = {"80", "120", "160", NULL};
183const char *g_height_examples[] = {"24", "40", "60", NULL};
184const char *g_maxclients_examples[] = {"2", "4", "8", NULL};
185const char *g_reconnect_examples[] = {"0", "5", "10", NULL};
186const char *g_webcam_examples[] = {"0", "1", "2", NULL};
187const char *g_mic_examples[] = {"-1", "0", "1", NULL};
188const char *g_speakers_examples[] = {"-1", "0", "1", NULL};
189const char *g_seek_examples[] = {"0", "60", "3:45", NULL};
Option enum value definitions - single source of truth.
#define OPT_COLOR_FILTER_YELLOW
Definition enums.h:101
#define OPT_PALETTE_CUSTOM
Definition enums.h:110
#define OPT_AUDIO_SOURCE_CALL
Definition enums.h:125
#define OPT_LOG_LEVEL_DEV
Definition enums.h:75
#define OPT_PALETTE_COOL
Definition enums.h:109
#define OPT_RENDER_MODE_BG
Definition enums.h:116
#define OPT_RENDER_MODE_FOREGROUND
Definition enums.h:113
#define OPT_AUDIO_CAPTURE_SOURCE_BOTH
Definition enums.h:134
#define OPT_COLOR_FILTER_RAINBOW
Definition enums.h:102
#define OPT_AUDIO_CAPTURE_SOURCE_AUTO
Definition enums.h:131
#define OPT_AUDIO_CAPTURE_SOURCE_MEDIA
Definition enums.h:133
#define OPT_LOG_LEVEL_FATAL
Definition enums.h:80
#define OPT_COLOR_FILTER_GREEN
Definition enums.h:93
#define OPT_LOG_LEVEL_ERROR
Definition enums.h:79
#define OPT_RENDER_MODE_HALF_BLOCK
Definition enums.h:117
#define OPT_COLOR_MODE_256
Definition enums.h:86
#define OPT_COLOR_FILTER_TEAL
Definition enums.h:97
#define OPT_AUDIO_SOURCE_ALL
Definition enums.h:124
#define OPT_RENDER_MODE_FG
Definition enums.h:114
#define OPT_LOG_LEVEL_INFO
Definition enums.h:77
#define OPT_COLOR_FILTER_CYAN
Definition enums.h:98
#define OPT_LOG_LEVEL_DEBUG
Definition enums.h:76
#define OPT_COLOR_MODE_NONE
Definition enums.h:84
#define OPT_PALETTE_MINIMAL
Definition enums.h:108
#define OPT_AUDIO_CAPTURE_SOURCE_REMOTE
Definition enums.h:135
#define OPT_COLOR_FILTER_FUCHSIA
Definition enums.h:95
#define OPT_PALETTE_BLOCKS
Definition enums.h:106
#define OPT_COLOR_FILTER_NONE
Definition enums.h:90
#define OPT_AUDIO_CAPTURE_SOURCE_MIC
Definition enums.h:132
#define OPT_AUDIO_SOURCE_MEDIA
Definition enums.h:127
#define OPT_PALETTE_STANDARD
Definition enums.h:105
#define OPT_COLOR_FILTER_RED
Definition enums.h:100
#define OPT_COLOR_MODE_TRUECOLOR
Definition enums.h:87
#define OPT_COLOR_FILTER_BLACK
Definition enums.h:91
#define OPT_PALETTE_DIGITAL
Definition enums.h:107
#define OPT_COLOR_FILTER_PINK
Definition enums.h:99
#define OPT_LOG_LEVEL_WARN
Definition enums.h:78
#define OPT_RENDER_MODE_BACKGROUND
Definition enums.h:115
#define OPT_COLOR_MODE_AUTO
Definition enums.h:83
#define OPT_COLOR_MODE_16
Definition enums.h:85
#define OPT_COLOR_FILTER_WHITE
Definition enums.h:92
#define OPT_COLOR_FILTER_MAGENTA
Definition enums.h:94
#define OPT_AUDIO_SOURCE_MIC
Definition enums.h:126
#define OPT_COLOR_FILTER_ORANGE
Definition enums.h:96
@ UTF8_SETTING_AUTO
Smart detection (default): UTF-8 if terminal supports it.
@ UTF8_SETTING_FALSE
Force UTF-8 OFF: disable UTF-8 support.
@ UTF8_SETTING_TRUE
Force UTF-8 ON: always use UTF-8 regardless of terminal capability.
@ COLOR_SETTING_TRUE
Force colors ON: always colorize regardless of TTY/piping/CLAUDECODE.
@ COLOR_SETTING_FALSE
Force colors OFF: disable all colors and logging colors.
@ COLOR_SETTING_AUTO
Smart detection (default): colors if TTY and not CLAUDECODE and not piping.
@ PALETTE_BLOCKS
Unicode block characters: " ░░▒▒▓▓██".
Definition palette.h:90
@ PALETTE_CUSTOM
User-defined via –palette-chars.
Definition palette.h:98
@ PALETTE_COOL
Ascending blocks: " ▁▂▃▄▅▆▇█".
Definition palette.h:96
@ PALETTE_STANDARD
Standard ASCII palette: " ...',;:clodxkO0KXNWM".
Definition palette.h:88
@ PALETTE_DIGITAL
Digital/glitch aesthetic: " -=≡≣▰▱◼".
Definition palette.h:92
@ PALETTE_MINIMAL
Simple ASCII: " .-+*#".
Definition palette.h:94
⚙️ Unified options parsing system for ascii-chat with builder pattern and lock-free access
📝 Logging API with multiple log levels and terminal output control
const int g_palette_integers[]
Definition metadata.c:115
const char * g_log_level_descs[]
Definition metadata.c:31
const char * g_render_theme_values[]
Definition metadata.c:145
const char * g_height_examples[]
Definition metadata.c:183
const int g_color_setting_integers[]
Definition metadata.c:44
const char * g_color_filter_descs[]
Definition metadata.c:89
const char * g_compression_examples[]
Definition metadata.c:180
const char * g_audio_capture_source_values[]
Definition metadata.c:161
const char * g_audio_source_descs[]
Definition metadata.c:157
const char * g_palette_descs[]
Definition metadata.c:117
const char * g_color_filter_values[]
Definition metadata.c:78
const int g_log_level_integers[]
Definition metadata.c:30
const char * g_seek_examples[]
Definition metadata.c:189
const char * g_color_mode_values[]
Definition metadata.c:63
const char * g_render_descs[]
Definition metadata.c:134
const int g_render_integers[]
Definition metadata.c:131
const char * g_speakers_examples[]
Definition metadata.c:188
const char * g_reconnect_examples[]
Definition metadata.c:185
const char * g_log_level_values[]
Definition metadata.c:23
const char * g_fps_examples[]
Definition metadata.c:181
const int g_audio_capture_source_integers[]
Definition metadata.c:164
const char * g_width_examples[]
Definition metadata.c:182
const char * g_palette_values[]
Definition metadata.c:108
const char * g_color_setting_descs[]
Definition metadata.c:45
const char * g_utf8_setting_values[]
Definition metadata.c:53
const char * g_render_theme_descs[]
Definition metadata.c:147
const int g_utf8_setting_integers[]
Definition metadata.c:54
const char * g_utf8_setting_descs[]
Definition metadata.c:55
const int g_color_filter_integers[]
Definition metadata.c:85
const char * g_color_setting_values[]
Definition metadata.c:43
const char * g_color_mode_descs[]
Definition metadata.c:67
const char * g_maxclients_examples[]
Definition metadata.c:184
const char * g_audio_source_values[]
Definition metadata.c:154
const char * g_render_values[]
Definition metadata.c:129
const int g_color_mode_integers[]
Definition metadata.c:65
const char * g_webcam_examples[]
Definition metadata.c:186
const char * g_mic_examples[]
Definition metadata.c:187
const char * g_audio_capture_source_descs[]
Definition metadata.c:167
const int g_audio_source_integers[]
Definition metadata.c:156
const int g_render_theme_integers[]
Definition metadata.c:146
ASCII Palette Management for Video-to-ASCII Conversion.
🖥️ Cross-platform terminal interface for ascii-chat
@ COLOR_FILTER_WHITE
White content on black background.
Definition terminal.h:605
@ COLOR_FILTER_FUCHSIA
Fuchsia (#FF00AA)
Definition terminal.h:611
@ COLOR_FILTER_NONE
No filtering (default)
Definition terminal.h:601
@ COLOR_FILTER_TEAL
Teal (#00DDDD)
Definition terminal.h:615
@ COLOR_FILTER_CYAN
Cyan (#00FFFF)
Definition terminal.h:617
@ COLOR_FILTER_GREEN
Green (#00FF41)
Definition terminal.h:607
@ COLOR_FILTER_MAGENTA
Magenta (#FF00FF)
Definition terminal.h:609
@ COLOR_FILTER_RAINBOW
Rainbow (cycles through spectrum over 3.5s)
Definition terminal.h:625
@ COLOR_FILTER_RED
Red (#FF3333)
Definition terminal.h:621
@ COLOR_FILTER_YELLOW
Yellow (#FFEB99)
Definition terminal.h:623
@ COLOR_FILTER_PINK
Pink (#FFB6C1)
Definition terminal.h:619
@ COLOR_FILTER_BLACK
Dark content on white background.
Definition terminal.h:603
@ COLOR_FILTER_ORANGE
Orange (#FF8800)
Definition terminal.h:613
@ RENDER_MODE_FOREGROUND
Foreground colors only (text color)
Definition terminal.h:664
@ RENDER_MODE_BACKGROUND
Background colors (block colors)
Definition terminal.h:666
@ RENDER_MODE_HALF_BLOCK
Unicode half-block characters (mixed foreground/background)
Definition terminal.h:668
@ TERM_COLOR_NONE
No color support (monochrome terminal)
Definition terminal.h:582
@ TERM_COLOR_16
16-color support (standard ANSI colors)
Definition terminal.h:584
@ TERM_COLOR_256
256-color support (extended ANSI palette)
Definition terminal.h:586
@ TERM_COLOR_AUTO
Auto-detect color support from terminal capabilities.
Definition terminal.h:580
@ TERM_COLOR_TRUECOLOR
24-bit truecolor support (RGB colors)
Definition terminal.h:588
#define LOG_DEV
Definition types.h:38
#define LOG_DEBUG
Definition types.h:39
#define LOG_FATAL
Definition types.h:43
#define LOG_ERROR
Definition types.h:42
#define LOG_WARN
Definition types.h:41
#define LOG_INFO
Definition types.h:40