Local-path workflow, render pipeline optimization, and portable CUDA compatibility fix#10
Merged
Merged
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
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
This PR combines a local desktop workflow refactor with the follow-up GPU/runtime fixes discovered during validation.
The result is a branch that:
v13.012.9.xProblem
The original workflow had two separate issues:
CUDA 13.xpluscupy-cuda13xstack was not viable for Pascal GPU beat analysis, failing in CuPy/NVRTC during runtime kernel compilation.Those two threads ended up touching the same startup/runtime surface, so this PR documents both the workflow refactor and the workstation compatibility work that followed.
What Changed
GUI and Input Handling
Browse...pickers for both inputs..mp4and.mkvclips recursively.output/.16:9,21:9, and9:16outputs.Standard Render Pipeline
temp/disk usage.fastbalancedhighTiming and Export Reliability
librosa/scikit-learnstack.7860is busy.GPU, NVENC, and Portable Runtime
analysis_devicereporting so the export/log layer can report whether analysis actually ran on GPU or CPU.runtime_env.pyas a shared helper for portable runtime discovery and environment setup.bin/CUDA/.BEATSYNC_CUDA_DIRoverride for explicit CUDA toolkit selection.bin/CUDA/v13.0assumptions from the app and launcher.run.batso Python owns CUDA discovery.>=Pascal-compatible portable stack to:CUDA 12.9.xcupy-cuda12x==13.6.0ProRes and Preview Paths
output/.movmaster.Segment Retry and Assembly Hardening
Documentation and Validation Assets
README.mdto describe:BEATSYNC_CUDA_DIRoverride>=Pascal-compatible CUDA 12 stackFiles of Interest
gui.pyvideo_processor.pyffmpeg_processing.pyauto_mode.pysmart_mode.pymanual_mode.pyruntime_env.pyrun.batREADME.mdUser-Facing Impact
12.9.x, not13.x.Breaking Change
Yes.
The GUI is now explicitly built around a local desktop workflow. That is a better fit for BeatSync's portable Windows use case, but it is not equivalent to the previous upload-oriented model.
Why This Approach
This branch favors a larger but coherent fix over a narrow one-off patch.
The disk-usage and throughput improvements required more than just removing one copy step, and the validation work made it clear that the runtime layer also needed cleanup:
Testing Performed
Static Validation
CPU-Oriented Validation
Validated on a CPU-only test machine using local sample media:
manualmode: passedsmartmode: passedautomode: passedGPU-Oriented Validation
Validated on GTX 1080 Ti test machine using local sample media:
CPU_ONLY_MODE=FalseBrowse...buttons:Auto ModeplusNVIDIA NVENC H.264run on the oldCUDA 13.xstack:invalid value for --gpu-architecture (-arch)bin/CUDA/v12.9cupy-cuda13xtocupy-cuda12x==13.6.012090analysis_device=gpuanalysis_device=gpuanalysis_device=gpuAuto ModeplusNVIDIA NVENC H.264: passedAuto ModeplusNVIDIA NVENC HEVC (H.265): passedSmart Modewith NVENC/HEVC: passedManual Modewith NVENC/HEVC: passedPROCESS COMPLETE7860is already in useRemaining Validation
Risks and Review Notes
CUDA 13.x.Not In Scope
Reviewer Checklist
bin/CUDA/is acceptable.BEATSYNC_CUDA_DIRoverride is acceptable.