Commit Graph

8 Commits

Author SHA1 Message Date
rolandnsharp
9d65aa1f94 Remove C helper, use pure Nim dynlib imports; better defaults
- Replaced avhelper.c with direct {.dynlib.} pragma imports
- Grid off by default
- Higher default gain and time zoom

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-05 20:08:12 +10:00
rolandnsharp
2c04d7f034 Remove crosshair-only grid mode, keep grid on/off toggle
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-05 20:01:22 +10:00
rolandnsharp
1f320b7ff1 Handle terminal resize dynamically
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-05 19:59:01 +10:00
rolandnsharp
666af905f3 Fix AVPacket struct layout — was missing pts/dts fields
The packet layout is buf(8), pts(8), dts(8), data(8), size(4),
stream_index(4). We had buf, data, size, stream_index — reading
the pts timestamp as the data pointer, so every packet was garbage.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-05 19:56:02 +10:00
rolandnsharp
43a7997944 Remove demo signal generator
Audio capture only — shows NO SIGNAL when libav can't connect.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-05 19:39:44 +10:00
rolandnsharp
fb3a0cb77b Remove ffmpeg subprocess fallback
Only two paths now: libav via dlopen, or demo signal.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-05 19:36:58 +10:00
rolandnsharp
3fc7ed1c4e Use direct libav bindings via dlopen instead of ffmpeg subprocess
Loads libavformat + libavdevice at runtime — no dev packages, no
subprocess, no pipe buffering. Falls back gracefully to ffmpeg
subprocess then demo mode if .so files aren't present.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-05 19:33:52 +10:00
rolandnsharp
94d5b2cf63 Rename crt → osc throughout
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-05 13:43:15 +10:00