-
Notifications
You must be signed in to change notification settings - Fork 22
fix: CasparCG clip duration calculation for frame-rate specific formats #238
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Draft
softwaredevzestgeek
wants to merge
14
commits into
SuperFlyTV:develop
Choose a base branch
from
softwaredevzestgeek:feat/CasparCG_clip_duration_fixes
base: develop
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
fix: CasparCG clip duration calculation for frame-rate specific formats #238
softwaredevzestgeek
wants to merge
14
commits into
SuperFlyTV:develop
from
softwaredevzestgeek:feat/CasparCG_clip_duration_fixes
Conversation
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
- Implement comprehensive framerate parsing for CasparCG 2.5 compatibility - Handles framerate formats: direct fps, fps1000, and fps1001 - Correctly detects fractional rates (29.97fps, 59.94fps) vs integer rates (30fps, 60fps) - Fixes duration calculation for 1080i5994 clips - Add frameTime calculation (timecode format HH:MM:SS:FF) - Improve error handling and logging with device ID context - Add duration validation in resources.ts to prevent NaN/Infinity propagation - Add debug logging for problematic clips - 1080i5994, high framerates Fixes frame-rate specific duration parsing issue
…G_clip_duration_fixes Test bugfix caspar cg clip duration fixes
fix(tsr-bridge): use explicit .js ESM import for helpers ci: use upstream Node CI workflow (node.yaml) chore(tsr-bridge): fix lint/prettier issues; include tests in package tsconfigs; remove unused import chore: remove non-PR files and revert temp test script; keep only casparcg fix + helpers + tests tests: add .js extensions & include jest types in tsconfigs to fix typecheck tests: fix type-check (add input mock for OBS input types) lint: fix Prettier reflows and add ESLint exceptions for fetch usage; fix test indentation lint: fix Prettier indentation and helper signatures; align telemetry ESLint comment fix: correct logic/formatting in CasparCG and telemetry; Prettier conformances style(tsr-bridge): align indentation for Prettier fix(tsr-bridge): restore resource object (lost during formatting) Fix Prettier indentation in CasparCG and telemetry Restore missing resource fields (id, type, name) in CasparCG resource
…rce locator, formatDurationLabeled)
ci: refresh workflows (push refresh) style: fix Prettier whitespace in timeLib.ts ci: run electron-builder per workspace to fix macOS packaging ci: set GH_TOKEN to GITHUB_TOKEN for binary builds ci: add GH_TOKEN & isolated electron-builder cache, retries, and defensive artifact moves ci(windows): run build:binary under bash so retry helper works ci(macos): make notarize defensive and add debug logs for missing app path ci(lint): allow require() for fs in notarize.cjs to satisfy linter ci: add prep-build-binary wrapper to log expected paths before electron-builder (linted) ci: use CommonJS prep-build-binary wrapper for tsr-bridge chore: remove ESM prep-build-binary script fix(tsr-bridge): prep-build-binary lint/prettier (remove shebang, format tabs) ci(macos): add pre-build diagnostics, clear builder cache, upload builder configs
scripts(tsr-bridge): make prep-build-binary robust to missing npx and avoid throwing scripts(tsr-bridge): robust shell fallback for electron-builder (npx→yarn→local) Update packageManager to [email protected]
…onsole, catch binding) fix(tsr-bridge): clean electron-output before binary build and ensure electron-builder availability ci: set XDG_CACHE_HOME early in macOS Prepare Environment step fix(tsr-bridge): use yarn exec for electron-builder in Yarn workspaces
fix(ci): correct secrets conditional syntax in workflow fix(ci): use proper secrets syntax in if condition fix(ci): use environment variable for secrets check in if condition
- Add autoStep property to Group model for cycling through parts at scheduled times - Implement Auto Step logic in scheduler to cycle through parts sequentially - Add Auto Step UI control in Group Settings sidebar (visible when in Schedule mode) - Add Auto Step toggle button in Group View header (visible when in Schedule mode) - Fix loop logic to prevent playing extra part when loop is disabled This feature allows multi-part groups to automatically cycle through parts at each scheduled start time, enabling playlist-like behavior for scheduled content.
…red start times - Fix bug where Auto Step incorrectly selected parts when scheduled start times were filtered out - Track occurrence index separately from array index to ensure correct part cycling - Increment occurrence index only when start time passes the filter (startTime >= lastStopTime) - This ensures parts cycle correctly even when some scheduled times are filtered due to currently playing parts Fixes issue where parts would be selected incorrectly based on array position rather than actual occurrence number when start times are filtered.
- Add null check for partToPlay in Auto Step cycling logic - Add null check for firstPlayablePart in non-Auto Step path - Addresses potential Copilot concerns about type safety
|
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.


Fixes frame-rate specific duration parsing issue