tracktion_engine
tracktion_engine copied to clipboard
[FR]: Add a simple way to render an Edit on a background thread
- [x] High level API that takes an
Renderer::Parametersand renders an Edit on a background thread - [x] Returns immediately with a handle
- [x] Runs on a an internal background thread
- [x] Takes a std::function that it calls on completion
- [x] Handle:
- [x] Progress
- [x] 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
- [ ] Render audio track
- [ ]
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