__________________ subproject FRs click here note: don't search for my pseudonym on the web. The "musicbynumbers" you find is not me or the name I use for my own music.
I just discovered this thread,I love subfolders, it's THE reaper killer feature for me, but it's still difficult to maintain sync between subs & master project imo.
It would be very nice to have an option in the right clic subproject tab that allows us to update markers & tempo markers everytime the subproject is opened in case those have changed in the master. This behaviour already exists, but only when your push a track to a new subproject, I cannot find a workaround for it to happen everytime a subproject is opened.
The only solution I have for now is to copy paste the markers/regions & tempo envelope, but it's a pain
Thank you for adding that on list, and thanks for your thread that pushed all this subproject thing forward, it's a real game changer for all of us working in post/game audio!
As of right now, if you make a subproject and then change a region or marker or anything in the master, it doesn't carry over to the subproject.
I have been utilizing subprojects while writing, so often my regions/markers change as I am working towards the finish line on a project. I would love to see the the regions change on the subproject to mirror the master after a change.
Just as an aside... I was recently able to track a vocal with basically no latency on a huge project because of subprojects. All I did was render the stereo buss and made a subproject with the vocals I wanted to track and then copied the stereo buss render over. Boom! Full practically finished mix tracking with no latency. I absolutely love this feature and would love to see the regions mirror the master project.
I came up with a custom script to handle subprojects auto-sync with the master project. This scripts basically copies all the markers / regions & tempo markers from the master project and populates those markers in the subprojects, overriding the existing ones.
The master project has to be the top left project in the project tabs (which is often the case). As far as I know there is nothing in the reascript API that can give us the info if a project is a subproject or not, so I came up with this solution, if someone has a better idea, he is more than welcome.
You can trigger this when you want, for me I just put it in the SWS startup project actions, so when i open a subproject, it automatically gets the markers & tempo markers from the master project.
Hope it will be useful untill this is implemented properly into reaper.
I came up with a custom script to handle subprojects auto-sync with the master project. This scripts basically copies all the markers / regions & tempo markers from the master project and populates those markers in the subprojects, overriding the existing ones.
The master project has to be the top left project in the project tabs (which is often the case). As far as I know there is nothing in the reascript API that can give us the info if a project is a subproject or not, so I came up with this solution, if someone has a better idea, he is more than welcome.
You can trigger this when you want, for me I just put it in the SWS startup project actions, so when i open a subproject, it automatically gets the markers & tempo markers from the master project.
Hope it will be useful untill this is implemented properly into reaper.
I'm not sure who you are, but I am fairly sure I am developing feelings for you.
In jest, of course
I will be trying this out later. Sincerely, thank you very much.
Just made a slight variation over the precedent script. This new one still imports all the tempo markers and the project markers from your master project into all the open subprojects, but it does'nt override the =START & =END markers in your subprojects. This way you can stay in sync with your master project but still keep control on what you want to render.
- Option to define "take areas" using markers within a subproject to auto create takes in the subproject item.
I'm definitely very interested in something like this.
There's probably a few ways it could be implemented, but markers or regions with special (aka reserved) names seems like an obvious starting point.
I currently achieve this manually (see images below).
This works OK for me because I use relatively few "take areas" per subproject (<10 usually and I think it'd be rare to use >20).
However, there is one snag which seems pretty important and might be a bug. (I'm going to write it up soon, I hope.. it'll take a little while to make it clear for the devs. :¬) In summary: if the subproject sections don't start at a time that ends .000, weird little timing errors start creeping in. Or, it looks like they do, at least.
Anyway:
These two items are different sections of the same subproject. (The subproject is empty, it's just to demonstrate the concept.)
The item colours are done manually but note the green letters in each item: these are the region names in the subproject.
I use the section setting of the item properties to achieve this:
Note how the section is different for each "take area". Importantly: I have to enter these values manually. It would be much faster if I could just use the active take dropdown!
This is the subproject. The regions are there as a convenient visual aid only, they don't affect what is played.
(The colours are also just done manually atm.)
Live sub-projects - yes please. As long as they only use CPU while the play cursor is in them (or at least have that option).
My immediate use case is backing tracks for a live set. Many of my songs mess with tempo, so having each song in its own project makes sense. Right now I use project tabs for this - but that means switching between projects during a set, which means each project has to have the live inputs (mic, guitar etc.) duplicated. Any adjustment in one means adjusting them in all projects. And when recording the live tracks (to record the show), there will be short gaps every time projects are switched. Plus at the end I have to assemble all the separate recordings if I want to produce a 'plays through' live album.
With live sub-projects, I could have the live inputs on the master project only, but route their audio to the sub (for song-specific FX and automation). And I could record those (dry) inputs continuously, so the entire show is one seamless recording.
EDIT: .. don't forget that you can still selectively freeze tracks _in_ the sub-projects to save CPU. The advantage over simple freezing (which I'm using now with project tabs) is that all the project-specifc stuff like automated tempo is preserved. So live sub-projects would give the best of both worlds.
Great explanation for this additional kind of usage for "live" (aka not prerendered) extension of the great (and seemingly unique) "subproject" feature Reaper offers !
In fact, if any subproject would be "live" by default there would be the option to manually (completely) "freeze" it to get the current functionality sauf some automatic freezing when switching away from it.
Of course implementing the audio and Midi routing possibilities to and fro between main and sub- projects necessary for "live" subprojects (as you describe) does not seam exactily trivial.
Ability to pick only a single region from a subproject.
That way you could have multiple variations of a sound effect(or drum loops) in a subproject and you could choose which variation to use. Or one region with reverb track included and another without.
From a simple dropdown menu (in the item properties dialog) you would choose which region of a subproject to use.
(Similar to how can you choose a layer comp in Photoshop for a linked psd file.)
I'm not a programmer so my script is certainly full of not efficient or messy workarounds but it seems to work pretty well !
Don't hesitate to correct or optimize the code.
I write it to solve 3 of my most important problems with subprojects:
1 = the ability to create only ONE subproject from items on different tracks
2 = the ability to see the video from the master project in the subproject
3 = the ability to copy the markers from the master project to the subproject
I also add the option to cut & paste the FX chains from the master project to the subproject (with automation)
It's largely based on native actions and it requires SWS extension.
I also used a lot of parts of script from you guys and for that I want to say thanks so much for sharing your knowledge!
One of the limitation I currently have is that the UNDO isn't working correctly.
If any amazing script wizard could have a look and suggest me a way to fix this it will be awesome!
I guess the undo issue is linked to the fact that I use native actions in my script.
Anyone confirm that?
Also we still need a Cockos way of implementing this as when we use the master playrate automation in a subproject, the copied video and markers from the master project become useless.
New version with a fix regarding automation reset on main project.
This version also remove the redundant envelope points remaining after the automations reset.
I'd like the prompt "Background subprojects may need re-rendering. Re-render now?" to be more helpful and user-friendly, because:
Sometimes they don't actually need re-rendering, Reaper just hasn't rendered them for a while and is nostalgic or something.
Sometimes I have several projects open and have no idea which of them suddenly wants to render a bunch of subprojects, stalling me for several minutes.
Sometimes I'm OK with re-rendering something if it isn't a lot, but the prompt gives me no clue.
I'd like the prompt "Background subprojects may need re-rendering. Re-render now?" to be more helpful and user-friendly, because:
Sometimes they don't actually need re-rendering, Reaper just hasn't rendered them for a while and is nostalgic or something.
Sometimes I have several projects open and have no idea which of them suddenly wants to render a bunch of subprojects, stalling me for several minutes.
Sometimes I'm OK with re-rendering something if it isn't a lot, but the prompt gives me no clue.
Example from another application: Photoshop marks modified linked files (that need to be updated) with a yellow warning icon.
We don't seem to have had much movement on this for a while, but I could really use
- New action to "move tracks to subproject (obey time selection)"
If I want to subproject a track but only use a portion of it, I have to subproject the whole thing, then edit the markers and reexport the subproject.
If you're using this action as part of a pipeline, this becomes problematic, as you have to edit the tab and reexport again via a script.
must have option: "do not re-render / re-open subprojects when 'saving as+copy all media into project directory'"
TOP Priority for me since it took me more than 5 minutes to save a busy project with subprojects in it:X
I'm just here to add my voice to the desire to have a 'save as' function when using subprojects, it would really help with version control and recalls.
How on earth do you move a Subproject's contents back to the main project? We have freeze and unfreeze, but 'Expand from subproject' seems to have eluded me.
I'm just here to add my voice to the desire to have a 'save as' function when using subprojects, it would really help with version control and recalls.
+1 (am I allowed to do more than +1?) -- would love more flexibility with features like save as, but even more than this, I'd love a subproject management control panel that would show all the subprojects in a project, with the ability to manage them, identify them in the project, zoom to them, open them in a new tab from the control panel, close, render, rename them, move/consolidate their source files (perhaps into subfolders too), maybe even archive and version them (am I getting too greedy?), etc... all inside a control panel just for subprojects... anything to maximize working with, optimize the organization of, and manage subprojects in general.
I use subprojects in EVERY serious project now (and even the non-serious projects!), sometimes dozens and dozens of them, growing with every big projects I do, sliced and diced all over, and also using sub-subprojects, and a handful of sub-sub-subprojects (that's 3X deep!) and I've even tried sub-sub-sub-subprojects (4X deep!) too! They are the greatest thing since sliced bread in DAWs! A genius feature. Critical to sound design and post production projects and any music project that has lots and lots of production! So any extra love given to subprojects by the Reaper team would be deeply appreciated.
P.S. And actually, since I use nested subprojects, it would be super cool if the subproject control panel could also identify which subprojects have nested subprojects so I could even see a tree, collapse/expand the hierarchy of subprojects, and/or make sure I can manage the dependencies of subprojects I build up as the project becomes more complex...
How on earth do you move a Subproject's contents back to the main project? We have freeze and unfreeze, but 'Expand from subproject' seems to have eluded me.
Hi Dax,
I'm still discovering new ways of working with subprojects, but out of curiosity, why do you want to do this? As a huge fan of subprojects (but still discovering new approaches), I have come to the conclusion that going with subprojects is basically a one-way ticket and totally worth the trip. Sure, you can manually copy and paste items from one project/tab back to your main project and sort of manually rebuild what's in a subproject back into its parent project, but as far as I can tell from my experience so far, there is not really a feasible, reliable, simple, consistent, automated way to do this, especially with complex subprojects. It might make a good feature request though for simple subprojects, although I doubt it would ever cover all the possibilities of what subprojects can really do.
Consider this: A subproject can be as complex as you can possibly imagine, in fact far more complex than its parent project if you want it to be, including with more nested subprojects and all their infinite complexity, including complex routing, sends/returns, takes, take effects, take envelopes, timebase, automation items, project-level settings (including render, time-stretch/compress, etc., settings), not to mention tempo envelopes!!!, video clips, ARA plugins, etc., etc., etc., that I cannot conceive of how you could possibly PERFECTLY expand a subproject's content back into its parent project without blowing up something important. Just think of the implications of tempo maps/envelopes nested within tempo envelopes, which is what is possible with nested subprojects... how are the developers supposed to handle that? It's just too much stuff in theory, way too complex, and I've got some super complex subprojects that are complete cues within cues of feature length films. I wouldn't even dare trust it TBH. It's too complex with too many conflicts what would happen. So in other words, in my view, subprojects are one way tickets.
However, if you are just using subprojects as simple containers, like repositories for small groups of items that all run with basically the same settings and tempo, etc. of the parent project, then your best bet IMO is copying the subproject file in your OS as a new file, then opening it in a new tab as a separate project (thereby retaining the relationship with the original subproject and its parent project file), then copying and pasting the actual contents manually into new tracks in the parent project. Then mute the subproject, then make sure it all sounds right with the cut-and-pasted tracks, then delete the subproject (but not the media!) if you want to. Voila. That's no big deal, and it works fine for simple things. For complex things, it's a lot of work. But personally, I'd humbly suggest that you embrace subprojects in all their glory and take advantage of all you can really do... subprojects are like infinite magical nested treasure chests of power! Good luck!
Because I need a non-destructive glue. Freeze doesn't fit the situation because it's hundreds of media items on a single track. (Dialogue editing, sometimes the director wants something changed and gluing items doesn't allow it.)
The complexity argument doesn't hold water; if you can copy/paste tracks with the Create Subproject function, then you can reverse it. Seems like it just hasn't been done yet.
Because I need a non-destructive glue. Freeze doesn't fit the situation because it's hundreds of media items on a single track. (Dialogue editing, sometimes the director wants something changed and gluing items doesn't allow it.)
Non-destructive glue is a good usage for subprojects. I often use subprojects on films for dialogue editing and sound design. If you haven't changed the tempo or other deeper settings of the subproject (which is really just a project BTW!), then copying and pasting back into the parent project would be the way to go IMO if you HAVE to bring those audio items back in to the parent project, which I can see some advantage for in some cases.
However, you can also just continue using the subproject and really take advantage of what a subproject can do. Or you can do a hybrid approach by further editing the rendered subproject right in the parent project, since the parent project will treat that subproject as *simply audio*. That's the key to the subproject concept in Reaper is that it's just rendered audio of some other project. Once you look at it that way, it will guide your workflow choices with it. It's not always the best choice to use for a situation, but once you think of subprojects as rendered audio of other projects, then whole new possibilities (and some limitations) are there for you. That's the beauty of subprojects. And also the limitation you are experiencing.
Sometimes in dialogue editing or sound design for a film, if the subproject becomes too complex, I'll basically start to consider it as a separate mini cue and then drop a cut of the film into the subproject itself, lock it up, maybe extend it and focus on that cue by itself for a while, and then head back to the parent project to work on the rest of the film, since that audio is then rendered and automatically updated. Works great for post production. But you may not like that approach for your workflow, so maybe subprojects aren't the best choice for what you're doing.
Quote:
Originally Posted by daxliniere
The complexity argument doesn't hold water; if you can copy/paste tracks with the Create Subproject function, then you can reverse it. Seems like it just hasn't been done yet.
Sorry I have to disagree with you on this point, since I think you may be missing what subprojects really are. Again, subprojects are just rendered audio, tied to some other Reaper project. That's it. It's brilliantly and deceptively simple IMO (maybe accidentally so or with great foresight by the devs, who knows?), a subproject is therefore infinitely complex and infinitely nestable, and can have any level of tempo and musical and FX and routing complexity, since it's just a render of some other Reaper project. Which BTW is critical for scoring with cues (for example) or doing sound design inside a master timeline in a parent project of a complete film which will have a different tempo envelope, for example.
By default, with the complexity of what you can do in a project, and the complexity of a Reaper project in general, a subproject (aka project!) can't be fully or perfectly "expanded" or "imported" into another project without impacting numerous issues, like the ones I mentioned before, but in particular a different tempo envelope. Just think how that would work. In fact, since you can actually time compress/expand as well as slice and dice the rendered audio of a subproject, on top of additional tempo manipulation with the parent project's own tempo envelope, just throw all that into the complexity equation of how the devs would pull off what you are asking. I'm not a developer, but I'd think it's nearly an impossible scenario to get sample-accurate and null out, considering tempo envelopes and time compression/expansion and render preferences, further sample-accurate editing, etc...
That's the key to see why complex subprojects can't really be fully and perfectly imported as their component tracks into the parent project. Again, subprojects are treated as audio files...
Also, creating a subproject (i.e. Move items to new subproject) is not and can not be reversible because of the nature of what a subproject really is and what it can become... Moving items to a new subproject is only ONE way to create a subproject. You can just import some other project (as complex as you can imagine with nested subprojects as well!) into an existing project and that other project then becomes a subproject of the parent project which you can then manipulate as audio. So as soon as you look at a subproject as simply a "rendered audio file of another project" you'll be able to best decide how subprojects can and can't be used for your workflow. Hope that all makes sense!
And again, if you're just using subprojects as simple containers with nothing fancy going on in the subproject, and nothing fancy going on with editing of the rendered audio file in the parent project, then copying and pasting approach will do what you want.
But then if you start playing with the rendered files of a subproject as audio, you'll start to see new uses of the subproject, which are super cool and open new creative possibilities and amazing new workflows that no other DAW has right now.
I'll give you a quick example of one way I use subprojects that will illustrate how it is infeasible (or probably impossible, but Justin would have to answer that!) to reverse course but yet at the same time gain some really amazing new workflows:
For example, when I do a sound design project, let's say of a laser beam sound for a film, I might create a very simple laser beam to start out with that is a stock laser beam sound from a sound library I own. Then, over time, I will create numerous layers of sound design inside my subproject to create a truly massive and awesome laser beam sound. I might even include tempo locked VSTi synth sound from U-he Diva and a Kontakt library sound... then a tempo locked delay effect with a tempo ramp, etc... you get the idea. So then, back in my parent project, I've got a pretty complex laser beam sound that might have 25 tracks in my subproject that includes audio, MIDI, VSTi, tempo changes, sends/returns, maybe even an iZotope Ozone as a compressor/limiter to round out the levels, etc... and it would be a pain in the neck to bring all those tracks and routing and fx and automation back into the parent project, but it would theoretically still be possible. Pain. But possible.
BUT WAIT. The director loves my laser beam sound so much that he wants to use it again in a time compressed flashback scene later on in the film, that has quick cuts in it with a stutter effect as he flash cuts to different scenes. What do I do? Easy! I just copy and paste the rendered audio of the subproject into the flashback scene exactly as-is, but then I do some time compression on it, then I add some take fx such as EQ, some filter effect, etc..., and then I slice and dice it to match the scene cuts perfectly to the frame. And now I have two distinctly different versions of the EXACT SAME subproject, one of which has been further manipulated during the flashback sequence inside the parent project.
BUT WAIT. The director asks me to change the first instance of the laser beam sound, and wants me to also change the sound accordingly for the flashback sequence. Guess what, easy as pie. I just go inside the subproject, make the general changes to the laser beam sound there, and it automatically updates BOTH instances of the subproject -- INCLUDING the sliced and diced flashback scene -- perfectly. Voila. The magic of subprojects.
BUT WAIT. The director loves the laser beam so much, he wants 10 more variations of it in different parts of the film... also easy! There are three approaches I use to handle this -- and I might use all three in one film. 1) copy and and paste the original subproject audio and add take fx and pitch/time manipulation, 2) create nested subprojects that give me even more creative flexibility, 3) extend the first subproject length where I create alternate "takes" or "options" of the laser beam sound inside the original subproject... then I can slice and dice which "option" I want throughout the film. All three approaches give me enormous creative flexibility.
You could actually build a massive library of laser beam sounds right inside ONE subproject once you get the hang of it, and then have massive control over literally hundreds of laserbeam instances inside your parent project. That's where subprojects can shine...
And now back to your point of making it REVERSIBLE, by importing a subproject's tracks and effects and routing and automation and tempo perfectly back into a parent project, I hope it's clear from that example, that it would be basically impossible, especially with the extensive manipulation you can do of the rendered subproject's *audio* in the parent project. Not to mention that you'll lose all the incredible creative flexibility of using multiple edited copies of a single subproject that will then update seamlessly ALL the instances of the subproject throughout the film!
Hope all that makes sense, and if not, I'm at a loss for words, lol. Cheers in any case, wish you the best!
And apologies if I've taken this thread a little off topic. But hopefully I've made a case for the devs to please consider taking a look at my recent feature request of adding a subproject management control panel! After all, that would make the scenario I just painted above far easier to manage in Reaper once a person starts building complex nested subprojects!
I wholeheartedly support these points by mschnell. The first one is the most important.
Quote:
Originally Posted by mschnell
A feature request.
As ReaMote supposedly is at the end of it's live, itz might be a good idea to allow for Subprojects to be rendered on another PC accessible voa TCP/IP Network.
This seems more versatile than ReaMote and supposedly will have no problems with e.g. Sample-player VSTis, that I was told would not run with ReaMote.
Exactly! My main workflow issue is remoting CPU/disk. Reaper is the only serious piece of software that will happily run on 32bit. Apart from chewing tons of IRs remotely, it would allow me to revive old plugins I've grown affection for, have disk farms with huge libraries etc., all from a laptop! From any friend's laptop, actually, for those producer binge evenings. Please, Cockos, help us distribute CPU power over our machine pool. And allow us to bring our old stuff into the future!
Quote:
Originally Posted by mschnell
Yep !!!
I think it's rather obvious that pre-rendering (which of course does make sense in many instances) should be just opional. With this using subprojects simply as a means for structuring and sharing parts of a project with other main projects. (In fact I did not expect that subprojects would be pre-rendered at all)
On top of this it would be perfectly sensible to allow for sub-projects to be rendered in realtime remotely on another PC using a similar protocol as Reamote, but allowing the configuration of VSTs (also) on the slave, as with many VSTs, remote-configuration of VSTs with ReaMote is not possible .
Quote:
Originally Posted by mschnell
There schould not be dedicated Midi subprojectects, but the "kind" of a subproject should be switchable between "pre-rendered", "live" (not pre-rendered, but just a way of handling the tracks), and (finally) "remote" (same as "live", but the subproject is rendered on another box controlled via a protocol similar as ReaMote) .
So live Midi work would be included automatically.
DONE - Option to see master project markers/regions reflected in subprojects
These markers/regions could be shown as semi transparent or maybe a grey colour to distinguish them and they probably wouldn't be editable, just ghosted on to the subproject for reference.
How do you do this? I would really love this feature but don't see any way to enable this option.
I'm not a programmer so my script is certainly full of not efficient or messy workarounds but it seems to work pretty well !
Don't hesitate to correct or optimize the code.
I write it to solve 3 of my most important problems with subprojects:
1 = the ability to create only ONE subproject from items on different tracks
2 = the ability to see the video from the master project in the subproject
3 = the ability to copy the markers from the master project to the subproject
I also add the option to cut & paste the FX chains from the master project to the subproject (with automation)
It's largely based on native actions and it requires SWS extension.
I also used a lot of parts of script from you guys and for that I want to say thanks so much for sharing your knowledge!
One of the limitation I currently have is that the UNDO isn't working correctly.
If any amazing script wizard could have a look and suggest me a way to fix this it will be awesome!
Hope it will be useful for you!
Cheers
How can you see the video from the master project in the subproject? What has to be done to achieve this? I'm trying but it says "VF - Custom Subproject.lua:189: bad argument #1 to 'SetTrackSelected' (MediaTrack expected)"
Sorry for not answering before, I just noticed your message!
My script is no more.
It was sort of a hack and I didn't know much about Reascript at that time.
Today I will advise you to check the awesome Workflow Pack of Nick Von Kaenel which is including a Subproject script close to what mine was offering (at least concerning the feature of copying the VIDEO track) https://gumroad.com/nickvonkaenel#jQyIY
I would just love to see the possibility to create different versions of a subproject.
For example I start with 2 items in the main project referencing the same subproject. Now I want to create a variation of one item. It would be nice to have something like "Open in alternative version of subproject" and it creates a new subproject (perhaps by adding _1 to the original name) which initially is identical to the original subproject. Now I can tweak it and save it and it renders only to the item which references the new subproject, while I can still access the original subproject from the other item.
You already can!
Set Reaper as your secondary external editor and open your subproject with the action:
"Open copy of item in secondary external editor".
Done!
You already can!
Set Reaper as your secondary external editor and open your subproject with the action:
"Open copy of item in secondary external editor".
Done!
What a nice hack, works perfectly for me! Thanks a lot!
Although I would never have come up with it myself... I believe a native action that does would be also appreciated by other users who don't browse this thread.
DONE - Option to see master project markers/regions reflected in subprojects
These markers/regions could be shown as semi transparent or maybe a grey colour to distinguish them and they probably wouldn't be editable, just ghosted on to the subproject for reference.
Does anyone know how to do this? The first post says it's done, but I don't see it anywhere.