Detailed steps on how to reproduce the bug
I'm performing a render for an in-memory Edit (meaning, no project file on disk exists for the Edit).
Additionally, I'm rendering to seperate tracks.
The problem is that EditRenderJob is reporting the job as failed, due to what I believe is a bug in the logic in the following Tracktion code:
bool EditRenderJob::completeRender()
{
CRASH_TRACER
if (result.items.size() > 0
|| (params.category == ProjectItem::Category::none && proxy.getFile().existsAsFile()))
result.result = juce::Result::ok();
return result.result.wasOk();
}
Given that my Edit is an in-memory edit, params.category stays at its default value of ProjectItem::Category::none (see Renderer::Parameters RenderOptions::getRenderParameters (Edit& edit, SelectionManager* selectionManager, TimeRange markedRegionTime)).
This results in result.items (list of ProjectItems) being empty, for which the logic is found in RenderPass::~RenderPass().
Looking at the condition up in completeRender, the only other thing that can make the job be marked as success is if the proxy file exists. The problem is that the proxy file doesn't exist if separateTracks is true, which it is for me, because then each track is rendered to a unique file, not to the proxy file. See the code below from void EditRenderJob::renderSeparateTracks():
auto file = proxy.getFile();
auto trackFile = file.getSiblingFile (file.getFileNameWithoutExtension()
+ " " + track->getName()
+ " " + TRANS("Render") + " 0"
+ file.getFileExtension());
params.destFile = juce::File (juce::File::createLegalPathName (getNonExistentSiblingWithIncrementedNumberSuffix (trackFile, false)
.getFullPathName()));
Any idea how to fix this?
What is the expected behaviour?
The job succeeds :)
Unit test to reproduce the error?
Operating systems
macOS
What versions of the operating systems?
15.6.1 (24G90)
Architectures
ARM
Stacktrace
Plug-in formats (if applicable)
Standalone
Plug-in host applications (DAWs) (if applicable)
No response
Testing on the develop branch
The bug is present on the develop branch
Code of Conduct
Detailed steps on how to reproduce the bug
I'm performing a render for an in-memory Edit (meaning, no project file on disk exists for the Edit).
Additionally, I'm rendering to seperate tracks.
The problem is that EditRenderJob is reporting the job as failed, due to what I believe is a bug in the logic in the following Tracktion code:
Given that my Edit is an in-memory edit,
params.categorystays at its default value ofProjectItem::Category::none(seeRenderer::Parameters RenderOptions::getRenderParameters (Edit& edit, SelectionManager* selectionManager, TimeRange markedRegionTime)).This results in result.items (list of ProjectItems) being empty, for which the logic is found in
RenderPass::~RenderPass().Looking at the condition up in
completeRender, the only other thing that can make the job be marked as success is if the proxy file exists. The problem is that the proxy file doesn't exist ifseparateTracksis true, which it is for me, because then each track is rendered to a unique file, not to the proxy file. See the code below fromvoid EditRenderJob::renderSeparateTracks():Any idea how to fix this?
What is the expected behaviour?
The job succeeds :)
Unit test to reproduce the error?
Operating systems
macOS
What versions of the operating systems?
15.6.1 (24G90)
Architectures
ARM
Stacktrace
Plug-in formats (if applicable)
Standalone
Plug-in host applications (DAWs) (if applicable)
No response
Testing on the
developbranchThe bug is present on the
developbranchCode of Conduct