feat: headless PNG render, mLnL annotations, and per-frame sched offset
Commit the accumulated working-tree changes as one snapshot. - Headless render: `--render OUT.png INPUT.wav` draws the spectrogram (full window, or `--pane` for the spectrogram pane only) to a PNG with no visible window. Options: `--annotations`/`--no-annotations`, `--annotation-opacity`, `--width`/`--height`. - mLnL annotations: parse the optional `mLnL` RIFF chunk (schema v2) and render tx_frame/assertion/control overlays, a timeline lane, and a waveform-scope echo, with hover tooltips on the spectrogram, timeline, and scope. - sched_offset_ms: parse the per-frame intent->air latency and surface it in the hover tooltips (boxes stay air-anchored upstream). - Supporting: build wiring (rspektrum.make), shared types/headers, web-build and capture-script tweaks, and removal of the old synchrosqueezing LaTeX doc. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -127,6 +127,7 @@ GENERATED += $(OBJDIR)/ui.o
|
||||
GENERATED += $(OBJDIR)/platform_linux.o
|
||||
GENERATED += $(OBJDIR)/utils.o
|
||||
GENERATED += $(OBJDIR)/primitives.o
|
||||
GENERATED += $(OBJDIR)/mlnl.o
|
||||
OBJECTS += $(OBJDIR)/spectrogram.o
|
||||
OBJECTS += $(OBJDIR)/fft.o
|
||||
OBJECTS += $(OBJDIR)/stft.o
|
||||
@@ -136,6 +137,7 @@ OBJECTS += $(OBJDIR)/ui.o
|
||||
OBJECTS += $(OBJDIR)/platform_linux.o
|
||||
OBJECTS += $(OBJDIR)/utils.o
|
||||
OBJECTS += $(OBJDIR)/primitives.o
|
||||
OBJECTS += $(OBJDIR)/mlnl.o
|
||||
|
||||
# Rules
|
||||
# #############################################
|
||||
@@ -235,6 +237,10 @@ $(OBJDIR)/primitives.o: src/primitives.c
|
||||
@echo "$(notdir $<)"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||
|
||||
$(OBJDIR)/mlnl.o: src/mlnl.c
|
||||
@echo "$(notdir $<)"
|
||||
$(SILENT) $(CC) $(ALL_CFLAGS) $(FORCE_INCLUDE) -o "$@" -MF "$(@:%.o=%.d)" -c "$<"
|
||||
|
||||
-include $(OBJECTS:%.o=%.d)
|
||||
ifneq (,$(PCH))
|
||||
-include $(PCH_PLACEHOLDER).d
|
||||
|
||||
Reference in New Issue
Block a user