Skip to content

c64cast v0.2.1

Latest

Choose a tag to compare

@github-actions github-actions released this 05 Aug 15:54
Immutable release. Only release title and notes can be modified.
v0.2.1
f146226

Downloads


Added

  • The documentation is a website.
    kfox.github.io/c64cast publishes all three
    books — User's Guide, Programmer's Reference Guide, Performance Card — plus
    the caveats, troubleshooting and extending notes, rendered from the same
    Markdown the PDFs are set from and republished on every push to main. Each
    book gets a contents page, a chapter sidebar, prev/next paging and a link to
    its typeset PDF; a section link resolves identically on github.com, in the
    PDF and on the site, because all three use GitHub's own anchor rule. The
    renderer (scripts/build_site.py) is stdlib-only and shares its reading of
    the Markdown — and every check that reading makes — with the PDF builder, so
    the two cannot disagree about what a page says. make site builds it
    locally; a pull request now proves every book still renders, which previously
    nothing did until release day.

  • Every book has a permanent download link. A release now carries each PDF
    twice — c64cast-users-guide-X.Y.Z.pdf as before, and an unversioned
    c64cast-users-guide.pdf — so
    https://github.com/kfox/c64cast/releases/latest/download/c64cast-users-guide.pdf
    (and the same for c64cast-reference-guide.pdf and
    c64cast-performance-card.pdf) always serves the current release. The README
    links all three that way; every past release keeps its version-stamped copy.

  • --doctor names the opencv build that actually loaded. Every opencv
    wheel — plain, contrib, and the headless variants — unpacks into the same
    cv2/ directory under a different distribution name, so an installer will
    co-install several and the last one written wins. Installing the vision
    extra (or all) brings opencv-contrib-python along with mediapipe, which
    means the opencv-python version c64cast pins is not the one that runs, and
    nothing said so. ENVIRONMENT now reports the build in place, flags it when
    more than one distribution is providing cv2, and warns when the winner is a
    headless wheel — the cause of [preview] opening no window.

Fixed

  • DAC audio can no longer come up silent for a whole session. On some
    machines a run would play no audio at all from the first frame to the last —
    never a dropout, never a recovery, and the video also ran noticeably fast.
    Three writes start the NMI audio consumer, and the write transport is built to
    absorb a dropped write rather than fail loudly; if any of the three went
    missing the consumer never started, and nothing on the host noticed (the fast
    playback was the pacing loop correctly chasing a reader that never read). The
    bring-up now checks that the consumer actually started and re-sends the writes
    if it didn't, up to five times, logging when a retry was needed and warning
    outright if it never takes. A consumer that dies mid-session also warns now
    instead of playing out as unexplained silence. --calibrate-dac uses the same
    verified bring-up, so a run can no longer spend 50 seconds measuring nothing.

  • Ensemble systems no longer record over each other. [recording].path
    cascaded from the master like the rest of the section, so every system in a
    wall opened a cv2.VideoWriter on one file and finished with a single
    truncated recording — silently, since the writers have no way to detect the
    collision. path is now per-system like ultimate64.url: leave it unset and
    each system writes recording-<system>.mp4; set it and that path is used as
    written. enabled still cascades, so recording a whole wall is still one
    key. --doctor reports an error if two systems are pointed at one file
    explicitly.

  • --doctor findings can no longer go missing. The report printed only
    those categories named in a hard-coded list, so a check reporting under any
    other name returned findings that never reached the screen — indistinguishable
    from passing. Unlisted categories now print after the known ones.

  • Corrected the troubleshooting advice for a shadowed opencv, which prescribed
    reinstalling c64cast[all] — the install that causes the shadowing.

Changed

  • The README is a landing page again. It had grown a reference section for
    each surface it introduced — the full keyboard table with its chord
    precedence rules, nine config-discovery commands, the machine-settings
    precedence, the SID-player rationale — all of which the books now state
    properly, from the code. Those are cut down to what someone deciding whether
    to install this needs, and the space goes to what was missing: the pixel
    effect chain (four of the eight effects were listed, and the chain not at
    all), the live performance surfaces (a clip grid, a beat grid, pad LEDs,
    looks and the /perf console had no mention outside the docs list), audio
    files as quick-playback arguments, the bitmap spectrum overlay, and the
    character ROM your first run reads off your own machine.