Is it possible to have an option for imported groups to create new groups inside the session rather than simply being added to the same group number? I think most of the time this will make more sense.
Is it possible to have an option for imported groups to create new groups inside the session rather than simply being added to the same group number? I think most of the time this will make more sense.
Can you describe mechanism of that? Like, before import, check for unused groups in the project and map imported project to free groups?
Made an internal cleanup - menu, flags inside. It should more consistent now.
Obeying selection is also disabled by default with ability to turn it off.
Yes, thats the issue that coming from relative path set with source project. Latest version has experimental options to 1) fix relative paths and make them absolute, 2)import media as well
Would it be possible to have "Clear existing Tempo/time signature" as an option for the "Tempo / time signature" import?
In my case I am importing several songs with tempo maps in the same project and each time I import a new one, it erases the tempo map for previous song.
can you attach simple [project to import + source project] to replicate?
Projects attached. They are basically the same project. Each has three tracks which are in an edit group.
I try importing these three tracks from the source project to the destination project as new tracks with "try not to touch existing groups" checked and the tracks are imported but without the groups.
Is importing sends/receives still broken for everyone? If I import a bunch of tracks, say a mix template, all the sends go to the first track. The sends import hasn't worked for me since 2.10.
Projects attached. They are basically the same project. Each has three tracks which are in an edit group.
I try importing these three tracks from the source project to the destination project as new tracks with "try not to touch existing groups" checked and the tracks are imported but without the groups.
Aha, thanks for the project, found it, should be fixed for 2.19
Quote:
Originally Posted by spinal
Would it be possible to have "Clear existing Tempo/time signature" as an option for the "Tempo / time signature" import?
In my case I am importing several songs with tempo maps in the same project and each time I import a new one, it erases the tempo map for previous song.
You can disable importing tempo map by Tree -> Project header -> Tempo/time signature
Is importing sends/receives still broken for everyone? If I import a bunch of tracks, say a mix template, all the sends go to the first track. The sends import hasn't worked for me since 2.10.
I remember this goes from early issue, I probably removed ALL importing sends/receives code section because there were lot of questions and reports, and there wasn`t any suggestion to fit all user needs + each of solution was complex to implement.
When you import this project, what behaviour you suggest?
Replace sends? If yes, what to do if source track is not imported? Add sends if not exist? This could lead to various corner cases like acidental feedback routing. I can think of it, but probably it require some well defined technical task.
When you import this project, what behaviour you suggest?
Replace sends? If yes, what to do if source track is not imported? Add sends if not exist? This could lead to various corner cases like acidental feedback routing. I can think of it, but probably it require some well defined technical task.
When you import tracks to your destination project, the imported should ideally have all the routing (sends/receives) from the source project intact.
If you import tracks and send tracks don't exist, do not add sends. I do agree that feedback routing is a possibility if otherwise, so it might be safer to not import sends in this case. I assume, because of how Reaper works, there is no way to see if imported sends are already present in the destination project, and auto-route it to those existing send tracks.
For now, maybe you could re-implement send/receive logic from v2.10, and there could be a option under send/receives import that says "legacy import logic". Just a thought.
When you import tracks to your destination project, the imported should ideally have all the routing (sends/receives) from the source project intact.
If you import tracks and send tracks don't exist, do not add sends. I do agree that feedback routing is a possibility if otherwise, so it might be safer to not import sends in this case. I assume, because of how Reaper works, there is no way to see if imported sends are already present in the destination project, and auto-route it to those existing send tracks.
For now, maybe you could re-implement send/receive logic from v2.10, and there could be a option under send/receives import that says "legacy import logic". Just a thought.
Thanks for looking into this!
I'm pretty sure there is still an option to import sends in the destination menu.
I see, aha, I'll try to build carefully a couple of options related to send import logic back.
I imagine to do something like this:
- when parsing source project, build a GUIDs map of the routing between tracks, rather than index map like it was before (which is super unstable thing)
- do various stuff depending on routing logic options
Aha, thanks for the project, found it, should be fixed for 2.19
The groups are now imported to new groups when the option "try not to touch current groups" is selected thank you.
But when that option is not selected no groups are imported.
I see, aha, I'll try to build carefully a couple of options related to send import logic back.
I imagine to do something like this:
- when parsing source project, build a GUIDs map of the routing between tracks, rather than index map like it was before (which is super unstable thing)
- do various stuff depending on routing logic options
I think when importing tracks with sends (and marked to import send settings) the script could check the destination session for receives with the same name as they are named in the source. If they don't exist then import them from the source session along with the tracks that are sending to them. If they do exist then just import the send settings for the tracks that are marked to import sends, sending them to the existing tracks with the same name in the current session.
I just tried old versions of this script with reaper 7 and it does look like 2.10 was the last version that worked with sends. Later versions always route to the first track.
You can disable importing tempo map by Tree -> Project header -> Tempo/time signature
Thank you for your answer but I think I was not clear
I like to record and mix several songs in the same project, I find it more efficient.
Let's say a band send me several songs. Each song is in a separate reaper project which includes a tempo map, I want to import all these songs with the associated tempo maps in one project.
If I use "Import session data" and import the 1st song in my project, it works perfect. But when I import the 2nd song in the same project (with "Offset at edit cursor"), it imports the tempo map from the 2nd song and erase the tempo map of the 1st song. I would like it to keep the tempo map for the 1st song and import the tempo map for the 2nd song.
That's why I asked you for "Clear existing Tempo/time signature" (just like you do for Markers and Regions) in order I could deselect it and keep the tempo map of the previous songs.
I think when importing tracks with sends (and marked to import send settings) the script could check the destination session for receives with the same name as they are named in the source. If they don't exist then import them from the source session along with the tracks that are sending to them. If they do exist then just import the send settings for the tracks that are marked to import sends, sending them to the existing tracks with the same name in the current session.
I just tried old versions of this script with reaper 7 and it does look like 2.10 was the last version that worked with sends. Later versions always route to the first track.
Added send/receive logic section. There are lot of possible cases so for now I added only step-by-step options to 1) clear routing 2) add links if destination track is also imported
Thank you for your answer but I think I was not clear
I like to record and mix several songs in the same project, I find it more efficient.
Let's say a band send me several songs. Each song is in a separate reaper project which includes a tempo map, I want to import all these songs with the associated tempo maps in one project.
If I use "Import session data" and import the 1st song in my project, it works perfect. But when I import the 2nd song in the same project (with "Offset at edit cursor"), it imports the tempo map from the 2nd song and erase the tempo map of the 1st song. I would like it to keep the tempo map for the 1st song and import the tempo map for the 2nd song.
That's why I asked you for "Clear existing Tempo/time signature" (just like you do for Markers and Regions) in order I could deselect it and keep the tempo map of the previous songs.
2.23
Add check for Settings/Project header/Tempo envelope/Clear envelope
Added send/receive logic section. There are lot of possible cases so for now I added only step-by-step options to 1) clear routing 2) add links if destination track is also imported
Hi there MPL
I've tried the latest version (2.23) and I can't get importing sends to work at all. (Mac Catelina, Reaper 7.03)
It looks like there are two places I need to select importing sends (the second column "handling sends" and the settings column for either matched or new tracks) I've tried turning on all the options and no sends are imported in any situation. I've tried matching tracks or importing new tracks. Doesn't even slightly work!
I've tried the latest version (2.23) and I can't get importing sends to work at all. (Mac Catelina, Reaper 7.03)
It looks like there are two places I need to select importing sends (the second column "handling sends" and the settings column for either matched or new tracks) I've tried turning on all the options and no sends are imported in any situation. I've tried matching tracks or importing new tracks. Doesn't even slightly work!
Let me know if you need a test project.
Right, I cut off all the "import send/receive" code, excluding options above. Yes, I need test source+destination RPPs and detailed explanation what you want to get. From the perspective I see, there should be separated options for new and for matched tracks. In settings you can select defaults (they will be applied next time you run script or load source project), but the actual behaviour you set up just like before, in the destination track menu.
Following up on the send import functionality of your import session data script here are my desired functions. In version 2.23 of your script it looks like most of this is implemented from the menu choices but I can't get anything with sends to work. So I hope this helps. For reference I'm on mac 10.15.7 with Reaper 7.09
Sessions attached to this post.
Scenario A1:
Open Destination Session A
Import Vocal and Reverb tracks from the Source Session including the send from the Vocal to the Reverb. In your script it looks like there is an option for new tracks to import sends and add the send destination track if the vocal is imported. So I would expect if I just import the vocal with these options selected, the Reverb track would be imported also.
The wording in your script of this says “Add send if destination is imported”. I would suggest changing the wording to “Automatically import receive tracks if not present in destination session” . The use of the word “destination” for where a send is going within one session is probably best not used in your script as it will get confused with the source/destination terminology of the script functions
Scenario A2
Open Destination Session A
The same as the above but more simple. Import Vocal and Reverb tracks including the vocal send by selecting both tracks in your script and have the option “Import Sends” checked.
Scenario B1
Open Destination Session B
Import Vocal from Source Session A including its send to the Reverb. This time the reverb already exists in the destination session. I would expect that if I select only the Vocal track in your script to be imported as a new track in the destination session with “New Track / Import Sends” selected then the send to the existing reverb would be imported. The Reverb track itself would not be imported as a track exactly called “Reverb” already exists in the destination session.
Scenario B2
Same as above in B1 but more complicated
Open Destination Session B
Import Vocal from Source Session B (only selecting Vocal in your script plus some send options). In Source Session B the vocal has sends to two tracks - a Reverb and a Delay track but the destination session B only has the Reverb.
If the option discussed above was selected as well as import sends (“Automatically import receive tracks if not present in destination session” ) your script would import the Vocal track and automatically the Delay track with the vocal send to the delay. The send to the existing Reverb track would be imported on the vocal track. The Reverb track itself would not be imported as a track exactly called “Reverb” already exists in the destination session.
Scenario C
Open Destination Session C
Import the Reverb send value on the Vocal track in source session C by doing the following:
Select only the Vocal track in your script and choose “Match by name” or choose the destination track “Vocal”
Check the option “Matched tracks / Import sends / Clear Sends”
Press Import
I would expect your script to clear the original send in the destination session and replace it with a new send to the existing Reverb at that value
Notes: Maybe we should take this one step at a time and leave out the “Automatically import receive tracks if not present in destination session” first to avoid too much complication!
To be clear I am happy to pay a donation for your time.
Hey Mikhail,
This script of yours was recommended to me recently so I'm checking it out. (Thanks for your work developing it!)
A lot of my projects have track counts of 80+. Is it possible that the track selector popup (list) could have multiple columns rather than a single scrolling vertical column?
This is (roughly) what I imagine it could look like:
Also, in that popup menu, it says "Current project tracks", but it's probably better if it says "Destination project tracks".
Sorry, this is up to REAPER developers. From script side I can only generate submenus like - track 1-10
- track 11-21
etc
or by hierarchy following top level groups.
Sorry, this is up to REAPER developers. From script side I can only generate submenus like - track 1-10
- track 11-21
etc
or by hierarchy following top level groups.
Ahh, okay. And is it not within scope to develope a GUI element which can do the side-by-side thing? It takes a very long time to scroll to the bottom of this list and you have to do it every for every track above ~45.
Sorry, this is up to REAPER developers. From script side I can only generate submenus like - track 1-10
- track 11-21
etc
or by hierarchy following top level groups.
Could you tell me the name of this native GUI element so I can add a REAPER feature request to support columns? There are many places in the REAPER GUI where this type of list selector is used and it could help all of them.
Could you tell me the name of this native GUI element so I can add a REAPER feature request to support columns? There are many places in the REAPER GUI where this type of list selector is used and it could help all of them.
This is global reaper issue, at least for gfx.menu in reascript or function dropdown list in reascript IDE, probably some other places