Downloads
- 📘 c64cast User's Guide 0.2.1 (PDF)
— 10 chapters, read in order, starting from nothing. - 📕 c64cast Programmer's Reference Guide 0.2.1 (PDF)
— every scene, knob and register, with nine generated appendices. - 🎛️ c64cast Performance Card 0.2.1 (PDF)
— two pages for the desk next to the controller. - 📦
c64cast-0.2.1-py3-none-any.whl
·c64cast-0.2.1.tar.gz
— or justuv tool install 'c64cast[all]'
(PyPI).
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 tomain. 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 sitebuilds 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.pdfas before, and an unversioned
c64cast-users-guide.pdf— so
https://github.com/kfox/c64cast/releases/latest/download/c64cast-users-guide.pdf
(and the same forc64cast-reference-guide.pdfand
c64cast-performance-card.pdf) always serves the current release. The README
links all three that way; every past release keeps its version-stamped copy. -
--doctornames 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 thevision
extra (orall) bringsopencv-contrib-pythonalong with mediapipe, which
means theopencv-pythonversion 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 providingcv2, 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-dacuses 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 acv2.VideoWriteron one file and finished with a single
truncated recording — silently, since the writers have no way to detect the
collision.pathis now per-system likeultimate64.url: leave it unset and
each system writesrecording-<system>.mp4; set it and that path is used as
written.enabledstill cascades, so recording a whole wall is still one
key.--doctorreports an error if two systems are pointed at one file
explicitly. -
--doctorfindings 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
reinstallingc64cast[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/perfconsole 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.