Skip to content
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

[FR]: Add a simple way to render an Edit on a background thread #228

Open
7 of 38 tasks
drowaudio opened this issue Aug 6, 2024 · 0 comments
Open
7 of 38 tasks

[FR]: Add a simple way to render an Edit on a background thread #228

drowaudio opened this issue Aug 6, 2024 · 0 comments
Assignees
Labels
enhancement New feature or request

Comments

@drowaudio
Copy link
Contributor

drowaudio commented Aug 6, 2024

  • High level API that takes an Renderer::Parameters and renders an Edit on a background thread
  • Returns immediately with a handle
  • Runs on a an internal background thread
  • Takes a std::function that it calls on completion
  • Handle:
    • Progress
    • Thumbnail
  • Move Renderer::Parameters to its own file
    • Add sensible defaults
    • Add builder pattern for options
    • Remove separateTracks
    • Take a vector of Tracks rather than bits
  • Make static functions to create common Render::Parameters
  • Ideally rendered files will be scoped so completion has to take ownership of them or they will be deleted
  • Options to add upstream/downstream tracks
  • Tests:
    • Two clips on two audio tracks
    • Submix/folder: Include sub tracks by default
    • Clip on audio track inside submix
      • Render audio track
        • Include upstream submix parent (should be audible with gain change)
        • Exclude upstream submix parent (should be as if it wasn't in a submix i.e. no gain change)
      • Render submix
        • Include downstream (clips should be audible)
      • Tracks that feed in to other tracks
        • Two audio tracks, one with a clip which feeds in to the other
        • Render the source track, should be as if track was rendered by itself (without feeding in to the other)
        • Render destination track, should render both
    • Side chain: Source side chain tracks should be included by default
      • One track with sin tone and sidechain compressor, second track with kick samples feeding side chain
      • Rendering just the sin track should give the pumping
      • Rendering just the second should be the normal kick
      • Rendering both should give the kick and the pumped sin
    • Mute/solo/isolate: Rendering should not affect the mute/solo states by default
    • Aux send/return: Include aux sends by default
      • Option to disable them
    • Rack source tracks: Don't include Rack source tracks by default
      • Option to include other Rack source tracks
@drowaudio drowaudio added the enhancement New feature or request label Aug 6, 2024
@drowaudio drowaudio self-assigned this Aug 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant