summaryrefslogtreecommitdiff
path: root/src/main.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.cc')
-rw-r--r--src/main.cc29
1 files changed, 15 insertions, 14 deletions
diff --git a/src/main.cc b/src/main.cc
index 4542824..02a59c5 100644
--- a/src/main.cc
+++ b/src/main.cc
@@ -12,8 +12,8 @@
#include "audio/wav_dump_backend.h"
#endif
#include "generated/assets.h" // Include generated asset header
+#include "gpu/demo_effects.h" // For GetDemoDuration()
#include "gpu/gpu.h"
-#include "gpu/demo_effects.h" // For GetDemoDuration()
#include "platform.h"
#include "util/math.h"
#include <cmath>
@@ -121,7 +121,7 @@ int main(int argc, char** argv) {
// Music time state for variable tempo
static float g_music_time = 0.0f;
- static float g_tempo_scale = 1.0f; // 1.0 = normal speed
+ static float g_tempo_scale = 1.0f; // 1.0 = normal speed
static double g_last_physical_time = 0.0;
double last_beat_time = 0.0;
@@ -137,19 +137,19 @@ int main(int argc, char** argv) {
// Phase 6 (25s+): Steady 1.0x (reset after deceleration)
const float prev_tempo = g_tempo_scale;
if (t < 10.0) {
- g_tempo_scale = 1.0f; // Steady at start
+ g_tempo_scale = 1.0f; // Steady at start
} else if (t < 15.0) {
// Phase 3: Linear acceleration
const float progress = (float)(t - 10.0) / 5.0f;
- g_tempo_scale = 1.0f + progress * 1.0f; // 1.0 → 2.0
+ g_tempo_scale = 1.0f + progress * 1.0f; // 1.0 → 2.0
} else if (t < 20.0) {
- g_tempo_scale = 1.0f; // Reset to normal
+ g_tempo_scale = 1.0f; // Reset to normal
} else if (t < 25.0) {
// Phase 5: Linear deceleration
const float progress = (float)(t - 20.0) / 5.0f;
- g_tempo_scale = 1.0f - progress * 0.5f; // 1.0 → 0.5
+ g_tempo_scale = 1.0f - progress * 0.5f; // 1.0 → 0.5
} else {
- g_tempo_scale = 1.0f; // Reset to normal
+ g_tempo_scale = 1.0f; // Reset to normal
}
#if !defined(STRIP_ALL)
@@ -189,8 +189,9 @@ int main(int argc, char** argv) {
g_audio_engine.update(g_music_time);
// Fill ring buffer with upcoming audio (look-ahead rendering)
- // CRITICAL: Scale dt by tempo to render enough audio during acceleration/deceleration
- // At 2.0x tempo, we consume 2x audio per physical second, so we must render 2x per frame
+ // CRITICAL: Scale dt by tempo to render enough audio during
+ // acceleration/deceleration At 2.0x tempo, we consume 2x audio per physical
+ // second, so we must render 2x per frame
audio_render_ahead(g_music_time, dt * g_tempo_scale);
};
@@ -214,7 +215,7 @@ int main(int argc, char** argv) {
// PRE-FILL: Fill ring buffer with initial 200ms before starting audio device
// This prevents underrun on first callback
g_audio_engine.update(g_music_time);
- audio_render_ahead(g_music_time, 1.0f / 60.0f); // Fill buffer with lookahead
+ audio_render_ahead(g_music_time, 1.0f / 60.0f); // Fill buffer with lookahead
// Start audio (or render to WAV file)
audio_start();
@@ -266,14 +267,14 @@ int main(int argc, char** argv) {
// Calculate beat information for synchronization
float beat_time = (float)current_time * g_tracker_score.bpm / 60.0f;
int beat_number = (int)beat_time;
- float beat = fmodf(beat_time, 1.0f); // Fractional part (0.0 to 1.0)
+ float beat = fmodf(beat_time, 1.0f); // Fractional part (0.0 to 1.0)
#if !defined(STRIP_ALL)
// Print beat/time info periodically for identifying sync points
static float last_print_time = -1.0f;
- if (current_time - last_print_time >= 0.5f) { // Print every 0.5 seconds
- printf("[T=%.2f, Beat=%d, Frac=%.2f, Peak=%.2f]\n",
- (float)current_time, beat_number, beat, visual_peak);
+ if (current_time - last_print_time >= 0.5f) { // Print every 0.5 seconds
+ printf("[T=%.2f, Beat=%d, Frac=%.2f, Peak=%.2f]\n", (float)current_time,
+ beat_number, beat, visual_peak);
last_print_time = (float)current_time;
}
#endif /* !defined(STRIP_ALL) */