Add relative jog OSC command + Hold on Pause toggle for LTC Out - #14
Open
chandz102 wants to merge 1 commit into
Open
Add relative jog OSC command + Hold on Pause toggle for LTC Out#14chandz102 wants to merge 1 commit into
chandz102 wants to merge 1 commit into
Conversation
- New OSC command /stc/N/gen/jog <seconds> (float/int) performs a relative seek via the existing setGeneratorPosition()/getGeneratorCurrentMs(), preserving Playing/Paused state (unlike stop, which resets to Start TC). Intended for jog-back/jog-forward buttons (e.g. Bitfocus Companion) during live programming sessions. - New 'Hold on Pause' toggle for LTC Out (default off, matches existing behavior): when enabled, LTC output continues encoding the frozen timecode instead of going silent while the generator is paused, so downstream LTC receivers see continuous signal instead of a dropout.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Two small additions to the Generator/LTC Out, both aimed at live
programming workflows (e.g. a lighting programmer jogging back/forward
through a cue while STC drives LTC to a console via Bitfocus Companion):
/stc/N/gen/jog <seconds>— a new OSC command that performs arelative seek (positive = forward, negative = back), reusing the
existing
TimecodeEngine::setGeneratorPosition()/getGeneratorCurrentMs()(no engine changes needed — these alreadyhandle audio-file lockstep seeking and cue-cursor resync correctly).
Unlike
/stc/gen/stop, this preserves Playing/Paused state rather thanresetting to Start TC, so it behaves like a jog wheel rather than a
cue-and-restart.
current behavior) — when enabled, LTC output keeps encoding the frozen
timecode instead of going silent while the generator is paused, so
downstream LTC receivers see continuous signal rather than a dropout
during a jog/pause. Persisted per-engine like the other LTC Out settings.
Scope
Four files touched, nothing else:
MainComponent.cpp,MainComponent.h,LtcOutput.h,AppSettings.h. Followed existing patterns throughout(
styleOutputToggle, thegetBool/settings save-load-per-engine-copytriplet, the
setPaused/isPausedatomic style, Show Lock gating on thenew toggle, etc.) rather than introducing new conventions.
I don't have the Projucer project file or the vendor SDKs (Pro DJ Link,
StageLinQ, BTT) that are gitignored in this repo, so I could not compile
or run this locally. The diff was written and then manually re-verified
line-by-line against the actual source (confirmed every referenced symbol
—
btnH,accentPurple,syncing,isShowLocked(),currentEngine(),both
getBoollambdas, etc. — exists and is correctly scoped where used),but it has not been built or run. Flagging this clearly per your
CONTRIBUTING.md's testing guidance — happy to iterate on anything that
doesn't compile or behave as expected once you're able to build it.
🤖 Drafted with Claude Code + Codex, human-reviewed (source-only, not
build-verified per above).