Go Back   Cockos Incorporated Forums > REAPER Forums > REAPER Q&A, Tips, Tricks and Howto

Reply
 
Thread Tools Display Modes
Old 08-03-2020, 12:52 PM   #1
vonboo
Human being with feelings
 
Join Date: Mar 2020
Posts: 3
Default Rendering Multiple tracks of different lengths with no padding for silence

Heya, I'm finding this to be a tough one. I'm wondering if Reaper can do this. I have 90 voice files that I need rendered separately. They are for a project that does not require them to be lined up, but their lengths must be preserved. Imagine it's for a computer game.
I can do each file separately but that will take a long time. regions won't work as each track is a different length.
How can I render all the files in a queue, preserving the length of each track without having to do each track separately?

Am I look at SWS? Automation? Any help would be appreciated.
vonboo is offline   Reply With Quote
Old 08-03-2020, 01:21 PM   #2
Fex
Human being with feelings
 
Fex's Avatar
 
Join Date: Dec 2011
Location: Portsmouth, UK
Posts: 4,376
Default

Welcome to the forums.

Quote:
Originally Posted by vonboo View Post
Am I look at SWS?
Possibly. You're certainly looking at a custom action.

Something like this?



^ This being:

X-Raym_Render selected tracks individually through master.lua

https://www.extremraym.com/en/my-reaper-scripts/

If you can specify exactly what you want the custom action to do, somebody will show you how to do it.
Fex is offline   Reply With Quote
Old 08-03-2020, 02:04 PM   #3
nofish
Human being with feelings
 
nofish's Avatar
 
Join Date: Oct 2007
Location: home is where the heart is
Posts: 12,110
Default

Would either one of the last two options there do or did I misunderstand?
nofish is offline   Reply With Quote
Old 08-03-2020, 02:41 PM   #4
Fex
Human being with feelings
 
Fex's Avatar
 
Join Date: Dec 2011
Location: Portsmouth, UK
Posts: 4,376
Default

Quote:
Originally Posted by nofish View Post
Would either one of the last two options there do or did I misunderstand?
LOL

I guess that would do what OP wants.... I have a habit of missing the obvious.
Fex is offline   Reply With Quote
Old 08-03-2020, 09:18 PM   #5
Philbo King
Human being with feelings
 
Philbo King's Avatar
 
Join Date: May 2017
Posts: 3,204
Default

Sounds like a job for the region render mattix...
Create a region for each piece of audio you want rendered, and pick the track(s) to render for each region.
If you have large numbers of items to do, there might be an action to autoconvert all the selected items to separate regions and name each by itemname or trackname.
__________________
Tangent Studio - Philbo King
www.soundclick.com/philboking - Audio streams
Philbo King is offline   Reply With Quote
Old 06-20-2023, 12:51 AM   #6
vitalker
Human being with feelings
 
vitalker's Avatar
 
Join Date: Dec 2012
Posts: 13,335
Default

Created a script for this exact task. Instead of Selected tracks Razor edit areas should be used as a source. You'll get all the tracks from the beginning of the project to the last item.

Code:
reaper.PreventUIRefresh(1)
reaper.Undo_BeginBlock2(0) 

for i=0, reaper.CountTracks(0)-1 do
  tr = reaper.GetTrack(0, i)
  count_items = reaper.CountTrackMediaItems(tr)
  if count_items > 0 then
    item = reaper.GetTrackMediaItem( tr, count_items-1 )
    item_end = reaper.GetMediaItemInfo_Value( item, 'D_POSITION' ) + reaper.GetMediaItemInfo_Value( item, 'D_LENGTH' )
    reaper.GetSetMediaTrackInfo_String(tr, 'P_RAZOREDITS', '0.0 '..tostring(item_end)..' ""', 1 )
  end
end

reaper.Undo_EndBlock2(0, 'vitalker razor edits: enclose everything between start of project and last item on all tracks', 1)
reaper.PreventUIRefresh(-1)
Here is another version, which selects everything between left edge of first item and right edge of last item:

Code:
reaper.PreventUIRefresh(1)
reaper.Undo_BeginBlock2(0)
reaper.SelectAllMediaItems( 0, 1 )
reaper.Main_OnCommandEx(42630, 0, 0)

for i=0, reaper.CountTracks(0)-1 do
  tr = reaper.GetTrack(0, i)
  if reaper.CountTrackMediaItems(tr) > 0 then
    retval, razors = reaper.GetSetMediaTrackInfo_String(tr, 'P_RAZOREDITS', '', 0 )
    first = razors:match('[%d.]+ ')
    last = razors:match('[%d.]+ ""$')
    reaper.GetSetMediaTrackInfo_String(tr, 'P_RAZOREDITS', first..last, 1 )
  end
end

reaper.Undo_EndBlock2(0, 'vitalker razor edits: enclose everything between first and last item on all tracks', 1+4)
reaper.PreventUIRefresh(-1)
vitalker is online now   Reply With Quote
Old 06-21-2023, 01:06 AM   #7
vitalker
Human being with feelings
 
vitalker's Avatar
 
Join Date: Dec 2012
Posts: 13,335
Default

Quote:
Originally Posted by vitalker View Post
Created a script for this exact task. Instead of Selected tracks Razor edit areas should be used as a source. You'll get all the tracks from the beginning of the project to the last item.

Here is another version, which selects everything between left edge of first item and right edge of last item:
A little gif showing what they do:

vitalker is online now   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 04:40 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.