View Single Post
Old 05-27-2020, 06:54 AM   #511
aurelien
Human being with feelings
 
Join Date: Apr 2014
Posts: 95
Default

Here's the code, it's quite close to the old one, create a region, select it and launch the script, it should render all the selected regions.

Fun fact: if i save the render table using ApplyRenderTable_Project, and then using RenderProject_RenderTable with nil arguments(to render last settings) : it works.

If i pass the same RenderTable to RenderProject_RenderTable : there's the following error, something is messing with the RenderTable but i don't know what exactly.

"RenderProject_RenderTable"
error : rendering aborted
errcode:-2

PHP Code:
dofile(reaper.GetResourcePath().."/UserPlugins/ultraschall_api.lua")

function 
RenderSelectedRegionsTest()
    --
wav config wav 24bits function 
    
render_cfg_string ultraschall.CreateRenderCFG_WAV(2000false)
    
    --
Settings of the render table
    sourceDropDown
=-- 0 MasterMix32 Selected Mediam Items64 selected item via master
    bounds
=-- 2 TimeSelection3 Projects region4 Selected Media5 Selected Regions
    Startposition 
=0
    Endposition 
=0
    TailFlag 
=1
    TailMS
=0
    renderDirectory
=renderDirectoryUser
    filePattern
="$region"
    
sampleRate=48000
    channels
=2
    OfflineOnlineRendering
=0
    ProjectSampleRateFXProcessing 
=true
    RenderResample 
=9
    OnlyMonoMedia 
=false
    MultiChannelFiles
=false
    dither
=0
    SilentlyIncrementFilename
=false
    AddToProj
=false
    SaveCopyOfProject
=false
    RenderQueueDelay
=false
    RenderQueueDelaySeconds
=0
    CloseAfterRender
=true

    
--Create the RenderTable
    RenderTable 
ultraschall.CreateNewRenderTable(sourceDropDownboundsStartpositionEndpositionTailFlagTailMSrenderDirectoryfilePatternsampleRatechannelsOfflineOnlineRenderingProjectSampleRateFXProcessingRenderResampleOnlyMonoMediaMultiChannelFilesditherrender_cfg_stringSilentlyIncrementFilenameAddToProjSaveCopyOfProjectRenderQueueDelayRenderQueueDelaySecondsCloseAfterRender)
    
SLEM()
        
    --
Apply the render table to project
    ultraschall
.ApplyRenderTable_Project(RenderTable,false)
    
SLEM()
    
    --
Render with the Render table
    renderAddtoProj
=false
    renderCloseAfterRender
=true
    renderSilentlyIncrementFilename 
=false
    local count
MediaItemStateChunkArrayFilearray ultraschall.RenderProject_RenderTable(nilRenderTablerenderAddtoProjrenderCloseAfterRenderrenderSilentlyIncrementFilename)
    
    
SLEM()

    return 
Filearray
end


function MainTest()
    
ret=reaper.MB("Export selected regions""Export selected regions "4)

    --
ret 6 when yes is clicked
    
if ret==6 then

            filearray
=RenderSelectedRegionsTest()
            for 
i,file in ipairs(filearray) do
                
Msg("Done exporting " .. i)

            
end
        
    
else
        return
    
end
end

MainTest
() 
aurelien is offline   Reply With Quote