From 0a586bbbe8dc39a21e0edfc7b7f3ec4b72f0bc9b Mon Sep 17 00:00:00 2001 From: skal Date: Sat, 7 Feb 2026 08:34:55 +0100 Subject: feat(test_demo): Add beat_number column to fine-grained peak log Adds beat_number as 4th column in fine-grained logging mode to enable easy correlation between frame-level data and beat boundaries. File format change: - Before: frame_number clock_time raw_peak - After: frame_number clock_time raw_peak beat_number Benefits: - Correlate frame-level peaks with specific beats - Filter or group data by beat in analysis scripts - Easier comparison between beat-aligned and fine-grained logs - Identify which frames belong to each beat interval Example output: 0 0.000000 0.850000 0 1 0.016667 0.845231 0 ... 30 0.500000 0.720000 1 31 0.516667 0.715234 1 This allows filtering like: awk '$4 == 0' peaks_fine.txt to extract all frames from beat 0. Co-Authored-By: Claude Sonnet 4.5 --- src/test_demo.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/test_demo.cc b/src/test_demo.cc index 5f36e30..4d2d60b 100644 --- a/src/test_demo.cc +++ b/src/test_demo.cc @@ -141,7 +141,7 @@ int main(int argc, char** argv) { fprintf(peak_log, "# To plot with gnuplot:\n"); fprintf(peak_log, "# gnuplot -p -e \"set xlabel 'Time (s)'; set ylabel 'Peak'; plot '%s' using 2:3 with lines title 'Raw Peak'\"\n", log_peaks_file); if (log_peaks_fine) { - fprintf(peak_log, "# Columns: frame_number clock_time raw_peak\n"); + fprintf(peak_log, "# Columns: frame_number clock_time raw_peak beat_number\n"); } else { fprintf(peak_log, "# Columns: beat_number clock_time raw_peak\n"); } @@ -193,7 +193,7 @@ int main(int argc, char** argv) { if (peak_log) { if (log_peaks_fine) { // Log every frame for fine-grained analysis - fprintf(peak_log, "%d %.6f %.6f\n", frame_number, current_time, raw_peak); + fprintf(peak_log, "%d %.6f %.6f %d\n", frame_number, current_time, raw_peak, beat_number); } else if (beat_number != last_beat_logged) { // Log only at beat boundaries fprintf(peak_log, "%d %.6f %.6f\n", beat_number, current_time, raw_peak); -- cgit v1.2.3