Skip to content

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 29 Oct 14:32
· 9 commits to main since this release

Install with curl -fsSL https://raw.githubusercontent.com/lucas-romanenko/bmdctl/main/install.sh | sh, Scoop, the deb or rpm below, or ghcr.io/lucas-romanenko/bmdctl:0.2.0 (docs/INSTALL.md).

New to bmdctl? docs/GUIDE.md walks through it, task by task. What has run on real hardware, and what hasn't yet: docs/HARDWARE.md.

Changelog

Features

  • 9542e8c feat(engine): loop loses its unverified mark
  • 92bc3c3 feat(hyperdeck): follow bmdwire v1.8.0 (bmdwire#60)
  • b665cfe feat(hyperdeck): pause
  • f42e52f feat(hyperdeck): remote, configuration show and configuration set
  • 95931ce feat(hyperdeck): timeline add, remove and clear
  • 803f71e feat(ultimatte): the Ultimatte commands
  • da15430 feat(ultimatte): the Ultimatte package
  • 73b614b feat(ultimatte): the keyer's model, and what a restore would lose (bmdwire#52)
  • c5b9603 feat(videohub): the Videohub commands
  • 3455c33 feat(videohub): the Videohub package

Fixes

  • 486515f fix(atem): a transfer's last progress report reaches its caller
  • 4a1b06e fix(cli): a deck watch names slow play's speed; an empty slot has no time left
  • 5b7b9ce fix(cli): the man page lists every device's commands
  • 2b85d4d fix(doctor): a socket path too long for a Unix socket fails
  • bd6d9e1 fix(engine): the audio mixer is atemwire's audio_mixer_type, not _AMC
  • 2c4a9b1 fix(engine): timeline clear reads the timeline back until it is empty
  • 107245c fix(mcp): a message that is neither request nor response is an Invalid Request
  • ac44eba fix(ultimatte): a restore doesn't set the video format, so the warning doesn't say it does
  • 00aca91 fix: a timeout's message names the wait it was

Documentation

  • 9080e44 docs(hardware): the first HyperDeck and Ultimatte sessions
  • 957a29f docs(hardware): the twenty-first run, the new HyperDeck commands
  • bf47547 docs(hardware): the twenty-fourth run, the ATEM before v0.2.0
  • 7add8cc docs(hardware): the twenty-second run, an empty timeline after bmdwire 1.7.1
  • d287b52 docs(hardware): the twenty-third run, loop and timeline clear
  • a5e5f97 docs(porting): the record says what the port has now, and what it left out
  • 419aba1 docs(ultimatte): network set's example readdresses to a free address
  • 843ddd2 docs: CLAUDE.md keeps its rules and drops their history
  • f45c089 docs: LICENSE is MIT's text alone, with the licence map in NOTICE
  • 2a94721 docs: PORTING.md's scope, test line and history; ARCHITECTURE's oracle counts
  • eeff050 docs: SURFACE inventories of videohubwire and ultimattewire
  • 88d11d7 docs: Videohub and Ultimatte in the guide, README and architecture
  • 55b0684 docs: a security policy and a code of conduct
  • 52e9fd8 docs: bmdctl controls four devices, and follows bmdwire past v1.3.0
  • 6bdaf00 docs: leave a private deployment's details out of the hardware record
  • 442cfd6 docs: the README and the guide say what has run on hardware now

Other

  • ea36819 Merge pull request #24 from lucas-romanenko/dependabot/pip/docsite/docs-8fd6947140
  • dd65e52 Merge pull request #25 from lucas-romanenko/dependabot/github_actions/actions-d5666170a1
  • 47a78d1 ci(surface-drift): check out all four packages' docs
  • f051c48 ci: no nightly race run; CI on every push is the check
  • c0d5593 refactor(cli): one way to ask the running engine
  • 5d04997 refactor(engine): one watch loop, state, disconnect and registration for every device
  • 1934cd7 refactor(hyperdeck): Python's text rules in internal/pytext
  • 576d67d refactor: the standard library's maps and slices for hand-written copies
  • 2f97d4b test(bmdctl): a deck watch's change comes after its baseline
  • 6c3633c test(bmdctl): stopEngine waits for the engine's Serve to return
  • 9c49afa test(bmdctl): the hub's lock comes in the preamble
  • fb16295 test(cmd): give eventually 15 s
  • 8644410 test(fakes): the Videohub and Ultimatte fakes over loopback
  • f56c60a test(hosts): a made-up device name in the alias tests and their samples
  • 01f252e test(hyperdeck): the oracle at bmdwire v1.7.1, with a deck's timing; Dial refuses what isn't a greeting
  • feb524d test(ultimatte): bmdwire 1.7.0's parser tests, ported one for one