Skip to content

Releases: artisan-build/rheocles

Rheocles v0.1.1

Choose a tag to compare

@github-actions github-actions released this 13 Sep 12:19
3700a1a

Added

  • Open in Finder buttons wherever a destination is shown: the finished take, each entry in the new Recent takes fold, the single file, and the output root in Settings. The daemon does the revealing (POST /takes/{id}/reveal, POST /reveal), so both apps get it the same way.
  • "Also save a single file": with at most one video stream armed, a take can also be written as one combined.mov — the video with its timecode track and every audio stream as its own track, no re-encode and no mixdown. It is settings.combine, or combine on a single take; the manifest reports it as combined with pending, complete or failed, and a failed combine never marks the take itself incomplete.
  • Combine now, on any finished take that qualifies but has no single file yet (POST /takes/{id}/combine).
  • Recent takes: the last five, newest first, under the take bar in both apps.

Changed

  • The version the daemon reports — GET /, --version, and every manifest — comes from the build, so it always matches the app's own.
  • A daemon whose screen source comes back empty now logs why, instead of silently listing no displays or windows.

Fixed

  • API responses carry millisecond timestamps, matching the manifest on disk; a marker's t no longer disagrees with the take's started by up to a second.
  • Stream ids sent the way encodeURIComponent produces them (display%3A…) are accepted; they used to answer 404 while the bare colon worked.
  • The menu bar app no longer briefly un-arms a switch while a stale streams read lands, and a take's single-file state can no longer be undone by a late answer.
  • The NativePHP app keeps its own data under its own bundle id rather than in the daemon's directory.

Apple Silicon, macOS 15 or later.

Always-current download:
https://github.com/artisan-build/rheocles/releases/latest/download/Rheocles.dmg

What's Changed

  • php: native:build for real — signed, entitlements verified on app and nested core by @ProjektGopher in #30
  • site: v0.1.0 — Download for Mac, the cask is live, four pages leave draft by @ProjektGopher in #31
  • php: set Electron's user data path before the plugin reads it by @ProjektGopher in #32
  • Fix: API responses emit millisecond timestamps, matching the manifest by @ProjektGopher in #33
  • Fix: percent-decode path parameters, so encodeURIComponent ids work by @ProjektGopher in #34
  • Reveal in Finder + combine (Loom mode) by @ProjektGopher in #36
  • app: Open in Finder via the daemon; "Also save a single file"; combined.mov; recent takes by @ProjektGopher in #35
  • Log why the screen source is empty by @ProjektGopher in #40
  • php: Open in Finder via the daemon; single-file output by @ProjektGopher in #38
  • app: take actions release their guard on the answer; manifests never placed backwards (CI flake) by @ProjektGopher in #39
  • docs: Open in Finder and the single-file option by @ProjektGopher in #37
  • app: a stop answer's pending never undoes the mux's result; pulse re-reads a pending combine (release flake) by @ProjektGopher in #41
  • Version the daemon from the build by @ProjektGopher in #42
  • app: live suites serialized under one umbrella; default waits; stale GET /streams dropped (release-runner races) by @ProjektGopher in #43

Full Changelog: v0.1.0...v0.1.1

Rheocles v0.1.0

Choose a tag to compare

@github-actions github-actions released this 12 Sep 06:56

The first release. Rheocles records any number of input streams at once, each to its own file, on one cue.

Added

  • The rheocles-core daemon on 127.0.0.1:7447 (HTTP and SSE) and 7448 (WebSocket), behind a bearer token stored at ~/Library/Application Support/Rheocles/token, with a pairing code and token rotation.
  • Streams: every display (including screen-like devices such as the Elgato prompter), individual windows, cameras, microphones and system audio, listed by GET /streams and armed one at a time.
  • Takes: create, start, stop and record on one cue; join and leave streams mid-take; markers; a manifest.json per take that is live while recording and truthful when a take ends early.
  • Real files: HEVC (default) or ProRes 422 MOV with a time-of-day tmcd track and one-second fragments, and 48 kHz 24-bit Broadcast Wave with a bext time reference, so an editor syncs every file of a take by timecode in one click.
  • Crash safety: a daemon stopped mid-take finalises it; a daemon that died leaves a manifest that says so and never serves that take as live; a full disk ends the take with the reason and playable partial files.
  • Preview: an on-demand JPEG of any stream (GET /preview/{stream}) and live audio levels.
  • Settings: output root and codec, over the API and in the apps; live events for streams, takes, levels, markers, stalls and settings on both transports.
  • The menu bar app: streams with arm switches and permission nudges, Record and Stop, take name, elapsed time, markers, preview, levels, settings and pairing, in the site's limestone palette.
  • The NativePHP front end, driving the same daemon — signed, not yet notarized, and not yet in the download.
  • Signed and notarized DMG, a Homebrew cask (brew install --cask artisan-build/tap/rheocles), and rheocles.com/docs with an API reference generated from docs/openapi.yaml.

Apple Silicon, macOS 15 or later.

Always-current download:
https://github.com/artisan-build/rheocles/releases/latest/download/Rheocles.dmg

What's Changed

  • site: scaffold rheocles.com (Astro) + docs/BRAND.md by @ProjektGopher in #1
  • site: landing page by @ProjektGopher in #2
  • art: make.py and the first three plates by @ProjektGopher in #3
  • docs: shell, and the first three pages by @ProjektGopher in #4
  • docs: takes, markers, timecode, the API, reference, apps, troubleshooting by @ProjektGopher in #7
  • app: skeleton, menu bar icon, daemon lifecycle, --render-preview (task 1) by @ProjektGopher in #8
  • site: social cards, favicon set, 404, sitemap; reference merges the real YAML by @ProjektGopher in #9
  • deploy-site: also trigger on docs/openapi.yaml by @ProjektGopher in #10
  • brand: the app uses the site's palette; no dark app theme by @ProjektGopher in #11
  • app: streams and arming, limestone popover, bundled faces, icon states (task 2) by @ProjektGopher in #12
  • docs: Engine step 3 — arming is real; Streams and arming leaves draft by @ProjektGopher in #13
  • app: takes — Record/Stop, name, elapsed, recording icon; events; app tests (task 3) by @ProjektGopher in #14
  • docs: Engine step 4 — takes are real; Recording a take and the manifest leave draft by @ProjektGopher in #15
  • app: preview, levels, markers, settings, pairing code (task 4) by @ProjektGopher in #16
  • bundle.sh: record the TCC finding — the child daemon inherits the app's grants (task 5) by @ProjektGopher in #17
  • docs: Engine step 5 — writers are real; Timecode and sync leaves draft by @ProjektGopher in #18
  • docs: Engine step 6 — join, leave, markers, live events, settings, rotation by @ProjektGopher in #19
  • app: step 6 — live events pinned, settings and rotate live, join/leave, stalled by @ProjektGopher in #20
  • app: step 7 — preview decodes real JPEGs, audio preview feeds the meter; SSE never dispatched (fixed) by @ProjektGopher in #21
  • docs: the reference is fully generated; preview on The API and the app page by @ProjektGopher in #22
  • php: scaffold the NativePHP front end — sidecar, daemon lifecycle, GET / popover by @ProjektGopher in #23
  • docs: the HEVC tier, measured — from CAPTURE.md by @ProjektGopher in #25
  • php: streams and arming — the list, arm switches, permission nudges, show windows by @ProjektGopher in #24
  • app: confirmation pass on 12ca517 — meters and live manifest confirmed; writing rows re-laid by @ProjektGopher in #26
  • release: Rheocles release notes and permission wording by @ProjektGopher in #27
  • php: takes — Record/Stop, name, elapsed, markers, the cue dot, SSE-driven by @ProjektGopher in #28
  • php: preview, levels, settings, token — against Engine's live routes by @ProjektGopher in #29

Full Changelog: https://github.com/artisan-build/rheocles/commits/v0.1.0