|
|
|
03-26-2020, 11:17 PM
|
#1
|
Human being with feelings
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 4,069
|
MPL Import Session Data (parsing and taking data from RPP file)
ImportSessionData is a Lua script for REAPER.
It is designed to take REAPER project data (project settings, track, items, FX) into current project.
Requirements: REAPER 5.95+
ReaPack 1.2+
Download: ReaPack.com (MPL`s repository is embedded into default ReaPack configuration)
Install: - run ActionList > ReaPack: Browse packages...
- navigate and install (rightclick) Import Session Data and Various_functions packages, then click 'Apply'
- run ActionList > ReaPack: Synchronize packages
Telegram channel for MPL scripts: http://t.me/mplscripts_chat
Last edited by mpl; 07-30-2022 at 06:54 AM.
|
|
|
03-27-2020, 12:51 AM
|
#2
|
Human being with feelings
Join Date: Jan 2012
Posts: 1,200
|
This looks fabulous.
Definitely will try and post back here
|
|
|
03-27-2020, 02:22 AM
|
#3
|
Human being with feelings
Join Date: Jan 2012
Posts: 1,200
|
Donation sent and thank you mpl.
I have some suggestions:
It would be great if the script looked at the source tracks and automatically mapped them to the destination tracks based on the first few characters in the initial window. (like in PT). That would save a lot of clicking about.
Secondly it looks at the moment like the fx are added to whatever fx are already on the track. I think the script should remove the destination tracks' current fx first, then import from the source tracks.
It would also be great if the folder structure of the source tracks was copied for new tracks. Connected to this: new tracks that are child tracks would be placed in the session in the same position rather than at the end.
Lastly if the script would also import phase, input settings and monitor settings it would be more complete.
Edit: Also the script could include the master track fx as an option to import
If two destination tracks have the same name, ask the user which one to use
I'm on Reaper 6.05 and SWS 2.11.0.0
Last edited by Triode; 03-27-2020 at 02:31 AM.
|
|
|
03-27-2020, 09:36 AM
|
#4
|
Human being with feelings
Join Date: Jun 2015
Location: Venezuela
Posts: 396
|
This is honestly so amazing. I get a lot of people asking me how to do this in REAPER, and while using snapshots is great, it's just a lot of extra steps while importing session data you can just import any .rpp and select whatever you want from there.
I will be testing this later tonight and will let you know how it goes!
This script is muuuuch appreciated, MPL thank you!
|
|
|
03-27-2020, 12:23 PM
|
#5
|
Human being with feelings
Join Date: Jul 2009
Posts: 1,071
|
Spot on MPL ! Just been playing around with this it's really useful thanks !
Just one thing the GUI window sticks and then jumps to new position when moving it around on the screen. It seems it's not redrawing properly maybe as this is not happening with other plugins.
Anyway I have to say hats off ! cheers for another brill script
|
|
|
03-27-2020, 01:46 PM
|
#6
|
Human being with feelings
Join Date: Mar 2015
Location: India Mumbai
Posts: 827
|
whoaaa !! MPL you are crazy !
Keep calm Keep coding..
Be safe
zook
|
|
|
03-27-2020, 05:18 PM
|
#7
|
Human being with feelings
Join Date: Mar 2007
Posts: 4,391
|
Hi mpl,
first thanks for wonderful script, great.
But trying to import from some projects here I found a bug with incorrect import of sends when track numbers of source/destination projects do not match.
Example:
Source project has 2 tracks (Track1 sends to Track2)
A) destination project blank... = OK (after import it now contains 2 tracks, 1>2)
B) destination project contains already e.g. one track (Track1), import both tracks from source project as New track at tracklist end... = WRONG (now Track3 receives still from Track1 (as was in source project) instead of Track2 as should in new project !!!
Oh, and feature request..: visual differentiation of folder structure of tracks in the source project would be great (to be aware which tracks belongs to each other, so you can import all that are needed,...) Now I do not know which track is folder and where it ends.
Last edited by akademie; 03-27-2020 at 05:23 PM.
Reason: FR added
|
|
|
03-27-2020, 06:17 PM
|
#8
|
Human being with feelings
Join Date: May 2018
Location: Los Angeles
Posts: 1,731
|
Oh. MY. GOD!
__________________
Cheers... Andrew K
Reaper v6.80+dev0621 - June 21 2023 • Catalina • Mac Mini 2020 6 core i7 • 64GB RAM • OS: Catalina • 4K monitor • RME RayDAT card with Sync Card and extended Light Pipe.
|
|
|
03-27-2020, 11:17 PM
|
#9
|
Human being with feelings
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 4,069
|
1.01 should improve things related to
Quote:
Originally Posted by Triode
the script looked at the source tracks and automatically mapped them to the destination tracks
|
Quote:
Originally Posted by Triode
the script should remove the destination tracks' current fx first, then import from the source tracks
|
Quote:
Originally Posted by Triode
Lastly if the script would also import phase, input settings and monitor settings
|
Quote:
Originally Posted by akademie
visual differentiation of folder structure of tracks in the source project
|
|
|
|
03-28-2020, 12:33 AM
|
#10
|
Human being with feelings
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 4,069
|
Quote:
Originally Posted by akademie
But trying to import from some projects here I found a bug with incorrect import of sends when track numbers of source/destination projects do not match.
|
I know where it goes from.
REAPER sends under the hood (RPP) are number based instead of unique identifiers based. So when I try to import them - the references are broken because tracks structure is changed. I think I can workaround this, but again - it is (surprisingly to me) bad REAPER design.
Quote:
Originally Posted by Triode
It would also be great if the folder structure of the source tracks was copied for new tracks. Connected to this: new tracks that are child tracks would be placed in the session in the same position rather than at the end.
|
This one rise lot of questions. Should folder track be imported with all downside levels of childrens. If not, ok there are some childrens - should they also be matched by name or hardly placed/replace at destination tracks by number at the tree - I`m afraid this can go pretty frustrating if destination structure is so different.
|
|
|
03-28-2020, 02:56 AM
|
#11
|
Human being with feelings
Join Date: Jan 2012
Posts: 1,200
|
mpl this is looking amazing thank you.
I'm away from my machine at the moment.
For imports the most common use case generally is when projects are similar. If projects are really different structures it's unlikely that importing a mix will be useful in real life I think. So the script should be biased towards similarities and ignore large differences. I'd say no to automatically importing all child tracks but any imported should default to appearing in the same place relative to parents that have the same name.
I'll have a look at your new version when I can get to my machine.
Looking forward to checking this out
|
|
|
03-28-2020, 04:05 AM
|
#12
|
Human being with feelings
Join Date: Jul 2007
Location: Jazz City
Posts: 5,092
|
Oh wow, that's quite a thing! Thanks, MPL!
Now would there a possibility to even load a track that is frozen - and the plugins are restored?
__________________
Windows 10x64 | AMD Ryzen 3700X | ATI FirePro 2100 | Marian Seraph AD2, 4.3.8 | Yamaha Steinberg MR816x
"If I can hear well, then everything I do is right" (Allen Sides)
|
|
|
03-28-2020, 05:07 AM
|
#13
|
Human being with feelings
Join Date: Mar 2007
Posts: 4,391
|
Quote:
Originally Posted by beingmf
Oh wow, that's quite a thing! Thanks, MPL!
Now would there a possibility to even load a track that is frozen - and the plugins are restored?
|
Ha , madness. Let's go for it
EDIT: IT WORKS !!!
When frozen track is imported, (no media are imported of course), FX button is grey. Right click that track - select Unfreeze, and voila, FX button is green and whole original chain is restored. Wow
Last edited by akademie; 03-28-2020 at 05:22 AM.
|
|
|
03-28-2020, 07:56 AM
|
#14
|
Human being with feelings
Join Date: Aug 2019
Location: beijing
Posts: 623
|
this would be fun !
I'll be testing it and report back to u sir.
|
|
|
03-28-2020, 11:29 AM
|
#15
|
Human being with feelings
Join Date: Apr 2016
Posts: 108
|
Take my money, man!
For my sounddesign-thingies I miss the importfunction for the clips (copy or link for the ressoufces), import start TC of the session and markers.
Just some ideas for the future
|
|
|
03-28-2020, 11:46 AM
|
#16
|
Human being with feelings
Join Date: Jul 2016
Location: Los Angeles, CA
Posts: 1,704
|
Quote:
Originally Posted by mpl
REAPER sends under the hood (RPP) are number based instead of unique identifiers based. So when I try to import them - the references are broken because tracks structure is changed. I think I can workaround this, but again - it is (surprisingly to me) bad REAPER design.
|
Perhaps someone should make a feature request for track GUIDs that are global and unique between projects as well. This is something that is an issue for more than just this script and trying to solve it gets pretty ugly. Would love to see some help from the devs here because it really is bad design - or something that was overlooked and they didn't realize it was a problem until later.
|
|
|
03-28-2020, 02:10 PM
|
#17
|
Human being with feelings
Join Date: Oct 2017
Location: Black Forest
Posts: 5,130
|
Tried the script and some things popped into my mind:
1. possibility to match single tracks and not all tracks in the project
2. a track search functionality
3. filter to include or exclude certain tracks
All these features would be very useful for bigger projects.
|
|
|
03-28-2020, 03:22 PM
|
#18
|
Human being with feelings
Join Date: Jul 2016
Location: Los Angeles, CA
Posts: 1,704
|
Quote:
Originally Posted by _Stevie_
1. possibility to match single tracks and not all tracks in the project
2. a track search functionality
3. filter to include or exclude certain tracks
All these features would be very useful for bigger projects.
|
+1 on these. When you are dealing with 500+ track projects, most of the time the intention would not to be matching all or even the majority of the tracks. A track search that filtered as you typed would be brilliant if it could be implemented. Perhaps with a checkbox toggle to include tracks as you typed, or exclude tracks as you typed. So for example, if you are working on a movie project, you could include all the video tracks. This would also be a situation where including the children of folder tracks would be really useful. You could import your Video Folder track and then match it to the Video track in the current project with all children - video track, dialogue, sound fx and music temp.
|
|
|
03-28-2020, 03:23 PM
|
#19
|
Human being with feelings
Join Date: Jan 2012
Posts: 1,200
|
Quote:
Originally Posted by _Stevie_
Tried the script and some things popped into my mind:
1. possibility to match single tracks and not all tracks in the project
2. a track search functionality
3. filter to include or exclude certain tracks
All these features would be very useful for bigger projects.
|
Hey Stevie
For your point 1: You can left click on the destination tracks to individually select "none" to not import that track (or select another destination for the source or to make an according new track in the project)
Last edited by Triode; 03-28-2020 at 03:30 PM.
|
|
|
03-28-2020, 03:36 PM
|
#20
|
Human being with feelings
Join Date: Oct 2017
Location: Black Forest
Posts: 5,130
|
Yeah, not gonna happen with 50+ tracks.
Actually the other way would be good:
1. press reset to clear all tracks
2. then select the tracks you want to match (left click menu -> match)
|
|
|
03-28-2020, 03:39 PM
|
#21
|
Human being with feelings
Join Date: Jan 2012
Posts: 1,200
|
That functionality is already there. Are you seeing it?
Edit: well you have to match the tracks individually
|
|
|
03-28-2020, 03:56 PM
|
#22
|
Human being with feelings
Join Date: Oct 2017
Location: Black Forest
Posts: 5,130
|
Right and the individual matching (manually) is exactly the problem, unless I'm missing something. Here's a GIF to show the issue:
many tracks, no individual "match track" for single tracks.
|
|
|
03-28-2020, 04:07 PM
|
#23
|
Human being with feelings
Join Date: Jul 2016
Location: Los Angeles, CA
Posts: 1,704
|
Quote:
Originally Posted by Triode
well you have to match the tracks individually
|
A "match selected" option or checkbox next to match would solve this. So, for example, you select a set of tracks, hit match (selected), then once they are matched go back and select all the tracks to import, including the now matched ones.
|
|
|
03-28-2020, 04:08 PM
|
#24
|
Human being with feelings
Join Date: Oct 2017
Location: Black Forest
Posts: 5,130
|
Hah, brilliant idea! I should have come up with this!
|
|
|
03-28-2020, 04:09 PM
|
#25
|
Human being with feelings
Join Date: Jan 2012
Posts: 1,200
|
Yes you have a big list of destination tracks when you click on one!
That is how it works in Pro Tools - although individual track match sounds like a good idea.
|
|
|
03-28-2020, 05:03 PM
|
#26
|
Human being with feelings
Join Date: Jan 2012
Location: Germany
Posts: 1,169
|
MPL, thanks a lot for this super useful script! Will donate as soon as possible, because this is a game changer for me.
In PT you simply click or click drag to select the desired tracks to import. Am I not seeing this in your script or is it me being blind? Haha!
|
|
|
03-28-2020, 08:24 PM
|
#27
|
Human being with feelings
Join Date: Mar 2007
Posts: 4,391
|
The script does not remember the last opened folder. It always defaults to main Reaper folder.
You start script, browse to "Documents\REAPER Media\someproject\someproject.rpp", import few tracks, click the filepath on top and you are again in main Reaper dir instead of previously browsed "Documents\REAPER Media\someproject".
|
|
|
03-28-2020, 09:43 PM
|
#28
|
Human being with feelings
Join Date: Jan 2019
Location: Toronto, Canada
Posts: 551
|
Thanks so much for this MPL - looking great so far!
Just wanted to let you know that the previous (first) version of the script worked for me, but this new version gives the error 'mpl_ImportSessionData_data.lua:218: invalid pattern capture'.
I'm on Mac 10.14.6 and Reaper 6.06/64
Thanks!!
|
|
|
03-28-2020, 11:47 PM
|
#29
|
Human being with feelings
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 4,069
|
Quote:
Originally Posted by Tone Ranger
new version gives the error 'mpl_ImportSessionData_data.lua:218: invalid pattern capture'.
|
Send me a RPP produces that please
|
|
|
03-29-2020, 06:56 AM
|
#30
|
Human being with feelings
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 4,069
|
v1.03 by MPL – March 29 2020
# Improved parsing algorythm
# Improved match names algorythm
+ GUI: mousewhell scroll on tracklist
+ GUI: separate track dropdown menu by 20 tracks
# Take last RPP path when browse for import RPP
+ Strategy: Import master FX chain
+ Strategy: Import project markers/regions
+ Strategy: Import track item, optionally replace
+ Action: Allow match individual tracks
+ Action: Allow filter tracks by name
# Prevent using destination track more then one time in a list
# Don`t refresh current track list on menu click
# Ask for replacing destination track if already used
|
|
|
03-29-2020, 07:18 AM
|
#31
|
Human being with feelings
Join Date: Mar 2007
Posts: 4,391
|
Huh, ^^^^^^ , fast evolution
Amazing,
thanks
|
|
|
03-29-2020, 07:25 AM
|
#32
|
Human being with feelings
Join Date: Jan 2012
Posts: 1,200
|
Great stuff!
I notice that after clicking match>new then the match function won't work (either individual or all). You have to press reset first.
|
|
|
03-29-2020, 01:03 PM
|
#33
|
Human being with feelings
Join Date: Aug 2019
Location: beijing
Posts: 623
|
Hi mpl, got this error right after I finished browsing data to import.
here's the video to perform the error
Code:
...portSessionData_functions/mpl_ImportSessionData_data.lua:218: invalid pattern capture
and here's my rpp file for u to test.
its in my attachment.
OS info and RP version are down below in my signature.
this is a promising feature
thx for the Script !!!!
w8 for u to solve it , so I can do further testing
Last edited by todoublez; 03-29-2020 at 01:08 PM.
|
|
|
03-29-2020, 01:05 PM
|
#34
|
Human being with feelings
Join Date: Jan 2019
Location: Toronto, Canada
Posts: 551
|
Quote:
Originally Posted by mpl
Send me a RPP produces that please
|
Thanks MPL, your new update has fixed the issue!! No longer happens.
This script is progressing along so great, will definitely be donating again. Thanks for all of your hard work as always!
Quick question, what is meant by "Tracks RAW data (chunk)"? Thanks again!!
|
|
|
03-29-2020, 01:27 PM
|
#35
|
Human being with feelings
Join Date: Jan 2012
Posts: 1,200
|
Hi mpl
I like all the new stuff
Donated again
Marker import:
I got a partial import of markers (from a project with a lot of markers and regions for a film) with this error:
...ER/Scripts/MPL Scripts/Various/mpl_ImportSessionData.lua:265: bad argument #2 to 'AddProjectMarker2' (boolean expected, got string)
Also even from projects with only a few markers and regions I'm getting extra regions that seem to derive from markers. (Kind of mis-interpreted data?)
Track import:
I can't get sends to be imported. I think this was working in a previous version?
Import Folder state:
I like that when importing tracks the "new at tracklist end" way they come complete with their relative folder track position. It would be nice if this happened also when importing via track match. So if any tracks imported have a folder relationship to another track that is imported this is imported also.
If you're starting a new project (with no tracks) and you want to use the script to import many tracks from another project it would be helpful if there was an import strategy that would import all tracks. At the moment you have to click every track and pick "New Track at End of Project".
Filter:
I guess you'll get round to adding a clear button for this once the nitty gritty has calmed down?
|
|
|
03-29-2020, 01:35 PM
|
#36
|
Human being with feelings
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 4,069
|
Quote:
Originally Posted by Triode
Marker import:
I got a partial import of markers (from a project with a lot of markers and regions for a film) with this error
|
Also need a project produce that error. It is very roughly coded (chunk parsing to real parameters).
Quote:
Originally Posted by Triode
Track import:
I can't get sends to be imported.
|
I removed receives data from imported chunk since it is referenced to track id which is not working for other project, I`ll take a look how can I handle this. Same thing for folders/childrens.
Quote:
Originally Posted by Triode
Filter:
I guess you'll get round to adding a clear button for this once the nitty gritty has calmed down?
|
Simply set filter to empty string.
|
|
|
03-29-2020, 01:43 PM
|
#37
|
Human being with feelings
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 4,069
|
Quote:
Originally Posted by todoublez
Hi mpl, got this error right after I finished browsing data to import.
|
I tried with 1.07 and it seems to load fine.
Quote:
Originally Posted by Tone Ranger
Quick question, what is meant by "Tracks RAW data (chunk)"? Thanks again!!
|
There is so much data in pieces of RPP related to the track (items stuff, envelopes etc - everything is inside track chunk), so there are two ways to import it.
1) translate rough text from one RPP to another (almost) without any decoding process. But in this case you can`t choose what you want to translate. It imports anything. And could bring some strange results (especially problems with routing and unique IDs, which I prevented by rough destroing such lines from track chunk while import). Not nice at all. But bring all the existing stuff.
2) When you check which parameters you want to translate, the script:
- insert new temporary track somewhere
- apply raw track chunk from source project to temporary track
- take only parameters or stuff you need using native APIs, no chunking
- remove temporary track.
More smart method. Works way carefully. But doesn`t import all functions, limited to API (I didn`t add support for all btw so ask if something you need still not in list)
Last edited by mpl; 05-06-2020 at 02:22 PM.
|
|
|
03-29-2020, 01:44 PM
|
#38
|
Human being with feelings
Join Date: Jan 2012
Posts: 1,200
|
Quote:
Originally Posted by mpl
Also need a project produce that error. It is very roughly coded (chunk parsing to real parameters).
|
I've just sent it to you via email
|
|
|
03-29-2020, 10:41 PM
|
#39
|
Human being with feelings
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 4,069
|
Quote:
Originally Posted by Triode
I've just sent it to you via email
|
This should be fixed now.
BUT. There is a parse problem, like
Quote:
1 -1.5 0 1 oneworldname 1 1 1 1
1 -1.5 0 1 "space separated string" 1 1 1 1
1 -1.5 0 1 '"space" separated string with "quotation" mark' 1 1 1 1
|
so there still can be problems with such names, any pattern/way suggestion for parsing strings like that are very welcome.
|
|
|
03-30-2020, 12:45 AM
|
#40
|
Human being with feelings
Join Date: Aug 2019
Location: beijing
Posts: 623
|
Quote:
Originally Posted by mpl
I tried with 1.07 and it seems to load fine.
|
oh Jes..sry I didn't see the update.
I'll test it with updates and report back to ya.
have a nice day.
|
|
|
Thread Tools |
|
Display Modes |
Linear Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -7. The time now is 04:55 AM.
|