102 if (current_pos >= 0.0) {
103 double new_pos = current_pos - 30.0;
108 if (err == ASCIICHAT_OK) {
109 log_info(
"Seeked backward to %.1f seconds", new_pos);
127 if (current_pos >= 0.0) {
128 double new_pos = current_pos + 30.0;
130 if (duration > 0.0 && new_pos > duration) {
134 if (err == ASCIICHAT_OK) {
135 log_info(
"Seeked forward to %.1f seconds", new_pos);
149 double current_volume = GET_OPTION(speakers_volume);
150 double new_volume = clamp_volume(current_volume - 0.1);
152 double verify_volume = GET_OPTION(speakers_volume);
153 log_info(
"Volume DOWN: %.0f%% → %.0f%% (verified: %.0f%%)", current_volume * 100.0, new_volume * 100.0,
154 verify_volume * 100.0);
159 double current_volume = GET_OPTION(speakers_volume);
160 double new_volume = clamp_volume(current_volume + 0.1);
162 double verify_volume = GET_OPTION(speakers_volume);
163 log_info(
"Volume UP: %.0f%% → %.0f%% (verified: %.0f%%)", current_volume * 100.0, new_volume * 100.0,
164 verify_volume * 100.0);
186 int current_mode = (int)GET_OPTION(color_mode);
187 int next_mode = next_color_mode(current_mode);
190 const char *mode_names[] = {
"Mono",
"16-color",
"256-color",
"Truecolor"};
191 if (next_mode >= 0 && next_mode <= 3) {
192 log_info(
"Color mode: %s", mode_names[next_mode]);
199 double current_volume = GET_OPTION(speakers_volume);
200 log_debug(
"Mute toggle: current_volume=%.2f, g_mute_saved_volume=%.2f, threshold=0.01", current_volume,
201 g_mute_saved_volume);
203 if (current_volume > 0.01) {
205 g_mute_saved_volume = current_volume;
207 double verify = GET_OPTION(speakers_volume);
208 log_info(
"Muted: saved %.0f%%, set to 0%% (verified: %.2f)", g_mute_saved_volume * 100.0, verify);
211 double restore_volume = g_mute_saved_volume > 0.0 ? g_mute_saved_volume : 0.5;
213 double verify = GET_OPTION(speakers_volume);
214 log_info(
"Unmuted: restored %.0f%% (verified: %.2f)", restore_volume * 100.0, verify);
221 bool current_flip_x = (
bool)GET_OPTION(flip_x);
223 log_info(
"Horizontal flip: %s", !current_flip_x ?
"enabled" :
"disabled");
231 log_debug(
"Lock state dump triggered via Ctrl+L");