Go Back   Cockos Incorporated Forums > REAPER Forums > REAPER Feature Requests

Reply
 
Thread Tools Display Modes
Old 03-20-2018, 06:45 PM   #1
Meo-Ada Mespotine
Human being with feelings
 
Meo-Ada Mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig
Posts: 6,621
Default API: Get/SetProjectStateChunk

I would love to see the whole project exposed as StateChunk, as there's a ton of nice and interesting stuff in the project itself, especially the rendering-settings, which I would love to be able to modify without the hassle of using the rendering-dialog.
That way, I could write me even more customized rendering-scripts, than the current rendering-functions provide as functionalities.

There's also many other tools or other project-setting-relevant stuff(recording-settings, the project-bay, etc) that could be modified or analysed in the background quite easily that way.

You already have Get/SetStateChunks for Items, Envelopes and Tracks.
So go big and give us the rest as well, please

Last edited by Meo-Ada Mespotine; 07-05-2018 at 09:42 AM.
Meo-Ada Mespotine is offline   Reply With Quote
Old 03-21-2018, 08:02 AM   #2
Xenakios
Human being with feelings
 
Xenakios's Avatar
 
Join Date: Feb 2007
Location: Oulu, Finland
Posts: 8,062
Default

I'd prefer proper APIs for that stuff, dealing with the text state chunks is pretty annoying.
__________________
I am no longer part of the REAPER community. Please don't contact me with any REAPER-related issues.
Xenakios is offline   Reply With Quote
Old 03-22-2018, 02:48 PM   #3
Meo-Ada Mespotine
Human being with feelings
 
Meo-Ada Mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig
Posts: 6,621
Default

I know, but at least, you could do it then immediately.
Meo-Ada Mespotine is offline   Reply With Quote
Old 07-05-2018, 09:54 AM   #4
_Stevie_
Human being with feelings
 
_Stevie_'s Avatar
 
Join Date: Oct 2017
Location: Black Forest
Posts: 5,054
Default

+1! Would be super useful.
__________________
My Reascripts forum thread | My Reascripts on GitHub
If you like or use my scripts, please support the Ukraine: Ukraine Crisis Relief Fund | DirectRelief | Save The Children | Razom
_Stevie_ is offline   Reply With Quote
Old 07-05-2018, 10:00 AM   #5
Lokasenna
Human being with feelings
 
Lokasenna's Avatar
 
Join Date: Sep 2008
Location: Calgary, AB, Canada
Posts: 6,551
Default

Yes please.

Quote:
Originally Posted by Xenakios View Post
I'd prefer proper APIs for that stuff, dealing with the text state chunks is pretty annoying.
Agreed, but exposing the chunk is a hell of a lot easier to implement than individual functions. There are a number of Track/FX/Item/Envelope parameters we don't have API calls for, but GetSetChunk at least lets us do it.

As annoying as it is, it's also pretty straightforward to write a wrapper that grabs the chunk and puts it in a table as chunk.TRACK_NAME or whatever, then another wrapper to convert it back.
__________________
I'm no longer using Reaper or working on scripts for it. Sorry. :(
Default 5.0 Nitpicky Edition / GUI library for Lua scripts / Theory Helper / Radial Menu / Donate
Lokasenna is offline   Reply With Quote
Old 07-05-2018, 10:44 AM   #6
X-Raym
Human being with feelings
 
X-Raym's Avatar
 
Join Date: Apr 2013
Location: France
Posts: 9,875
Default

+1 !!
X-Raym is offline   Reply With Quote
Old 07-08-2018, 01:00 PM   #7
Meo-Ada Mespotine
Human being with feelings
 
Meo-Ada Mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig
Posts: 6,621
Default

It would also allow access to the Pooled-Automation-Items themselves, which is impossible to do right now.

As well as the RPP-Project Bay, which would be nice to know. Otherwise, it is only available in the Project-Bay-dialog, but can't be accessed that way, AFAIK.
Meo-Ada Mespotine is offline   Reply With Quote
Old 08-07-2018, 10:20 AM   #8
Meo-Ada Mespotine
Human being with feelings
 
Meo-Ada Mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig
Posts: 6,621
Default

Ping
Meo-Ada Mespotine is offline   Reply With Quote
Old 08-07-2018, 03:04 PM   #9
rstockm
Human being with feelings
 
rstockm's Avatar
 
Join Date: May 2012
Location: Berlin, Germany
Posts: 171
Default

+1 for this FR
rstockm is offline   Reply With Quote
Old 08-08-2018, 03:58 PM   #10
Neutronic
Human being with feelings
 
Neutronic's Avatar
 
Join Date: Sep 2013
Posts: 657
Default

+1! It would be really handy to have it.
Neutronic is offline   Reply With Quote
Old 08-09-2018, 12:47 PM   #11
juliansader
Human being with feelings
 
Join Date: Jul 2009
Posts: 3,714
Default

Quote:
Originally Posted by mespotine View Post
I would love to see the whole project exposed as StateChunk
Perhaps you can consider the project RPP the project chuck, at least for "getting" the chunk.
juliansader is offline   Reply With Quote
Old 08-09-2018, 01:23 PM   #12
Lokasenna
Human being with feelings
 
Lokasenna's Avatar
 
Join Date: Sep 2008
Location: Calgary, AB, Canada
Posts: 6,551
Default

Quote:
Originally Posted by juliansader View Post
Perhaps you can consider the project RPP the project chuck, at least for "getting" the chunk.
Only if the project has been saved and isn't dirty.
__________________
I'm no longer using Reaper or working on scripts for it. Sorry. :(
Default 5.0 Nitpicky Edition / GUI library for Lua scripts / Theory Helper / Radial Menu / Donate
Lokasenna is offline   Reply With Quote
Old 08-13-2018, 04:48 AM   #13
Meo-Ada Mespotine
Human being with feelings
 
Meo-Ada Mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig
Posts: 6,621
Default

And setting states isn't possible that way at all. Unless you reload the altered project.

Bad idea, while you're recording...
Meo-Ada Mespotine is offline   Reply With Quote
Old 10-12-2018, 06:13 AM   #14
Meo-Ada Mespotine
Human being with feelings
 
Meo-Ada Mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig
Posts: 6,621
Default

Bump...
__________________
Use you/she/her.Ultraschall-Api Lua Api4Reaper - Donate, if you wish

On vacation for the time being...
Meo-Ada Mespotine is offline   Reply With Quote
Old 11-16-2018, 06:55 AM   #15
Meo-Ada Mespotine
Human being with feelings
 
Meo-Ada Mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig
Posts: 6,621
Default

Bumping back into the light
__________________
Use you/she/her.Ultraschall-Api Lua Api4Reaper - Donate, if you wish

On vacation for the time being...
Meo-Ada Mespotine is offline   Reply With Quote
Old 11-16-2018, 10:32 PM   #16
deeb
Human being with feelings
 
deeb's Avatar
 
Join Date: Feb 2017
Posts: 4,812
Default

+1 this would be really nice!
Other then rendering scripts , maybe we could alter soundcard latency by scripting? This would be awesome!
deeb is offline   Reply With Quote
Old 11-17-2018, 11:54 AM   #17
deeb
Human being with feelings
 
deeb's Avatar
 
Join Date: Feb 2017
Posts: 4,812
Default

Maybe there is a reason for cockos not letting to set the project chunk! How about request some specific API that would be useful meanwhile?
deeb is offline   Reply With Quote
Old 11-18-2018, 01:55 PM   #18
Meo-Ada Mespotine
Human being with feelings
 
Meo-Ada Mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig
Posts: 6,621
Default

I think too, as some settings may interfere too much with Reaper's internal handling of things.
But I would still love to have it, even if the devs remove the entries too problematic for the statechunk-process.
I could live with a simplified one, it would still solve tons of usecases.

Quote:
Other then rendering scripts , maybe we could alter soundcard latency by scripting? This would be awesome!
As far as I know, the soundcard-latency settings aren't stored per project in ProjectStateChunks, but rather globally(in reaper.ini).
For that, I think, a dedicated function would be better.
__________________
Use you/she/her.Ultraschall-Api Lua Api4Reaper - Donate, if you wish

On vacation for the time being...
Meo-Ada Mespotine is offline   Reply With Quote
Old 01-12-2019, 05:03 AM   #19
lb0
Human being with feelings
 
Join Date: Apr 2014
Posts: 4,171
Default

+1
__________________
Projects - Reascripts - Lua:
Smart Knobs 2 | LBX Stripper | LBX Floating FX Positioner
Donate via Paypal | LBX Tools Website
lb0 is offline   Reply With Quote
Old 02-22-2020, 11:34 AM   #20
TonE
Human being with feelings
 
Join Date: Feb 2009
Location: Reaper HAS send control via midi !!!
Posts: 4,031
Default

+1 * exp(e)
TonE is offline   Reply With Quote
Old 02-22-2020, 12:00 PM   #21
Meo-Ada Mespotine
Human being with feelings
 
Meo-Ada Mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig
Posts: 6,621
Default

One thing that would be possible with that would be:
Versioning of Projects.

One could store rpp-files into git-branches and revert to earlier versions, if necessary.

Or several people working on one project at the same time would be possible as well. One is changing stuff, comitting it into some folder or git-repo, the others synchronize(via SetProjectStateChunk) and voila, all have the same version of the project, can listen to it and give immediately notes and suggestions, even changing details quickly.
(Yes, the synchronization would be a nightmare to code, but nevertheless....)

Tons of usecases, as I said.
__________________
Use you/she/her.Ultraschall-Api Lua Api4Reaper - Donate, if you wish

On vacation for the time being...
Meo-Ada Mespotine is offline   Reply With Quote
Old 02-22-2020, 04:41 PM   #22
heda
Human being with feelings
 
heda's Avatar
 
Join Date: Jun 2012
Location: Spain
Posts: 7,239
Default

+1 for this API at least the Get part of it if the Set is complex to do.

Last edited by heda; 02-22-2020 at 05:37 PM.
heda is offline   Reply With Quote
Old 02-22-2020, 10:39 PM   #23
TonE
Human being with feelings
 
Join Date: Feb 2009
Location: Reaper HAS send control via midi !!!
Posts: 4,031
Default

Quote:
Originally Posted by mespotine View Post
One thing that would be possible with that would be:
Versioning of Projects.

One could store rpp-files into git-branches and revert to earlier versions, if necessary.

Or several people working on one project at the same time would be possible as well. One is changing stuff, comitting it into some folder or git-repo, the others synchronize(via SetProjectStateChunk) and voila, all have the same version of the project, can listen to it and give immediately notes and suggestions, even changing details quickly.
(Yes, the synchronization would be a nightmare to code, but nevertheless....)

Tons of usecases, as I said.
And Reaper would turn suddenly to number 1 lecturing tool in music schools/studio environments/whoever earning money with daw teaching
TonE is offline   Reply With Quote
Old 02-23-2020, 10:50 AM   #24
Meo-Ada Mespotine
Human being with feelings
 
Meo-Ada Mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig
Posts: 6,621
Default

Wouldn't this be awesome?
__________________
Use you/she/her.Ultraschall-Api Lua Api4Reaper - Donate, if you wish

On vacation for the time being...
Meo-Ada Mespotine is offline   Reply With Quote
Old 02-25-2020, 11:35 AM   #25
TonE
Human being with feelings
 
Join Date: Feb 2009
Location: Reaper HAS send control via midi !!!
Posts: 4,031
Default

Imagine One Synth Challenges (OSC), but with collaboratively shared .rpp git projects!

Something like
https://sites.google.com/site/kvrosc/osc-74-dexed

but Reaper could start their own OSC series, with collaboration, with github, with Get/SetProjectStateChunk. (not sure if the prject state chunks are really needed for this? and why?)
TonE is offline   Reply With Quote
Old 09-13-2020, 06:10 PM   #26
daniellumertz
Human being with feelings
 
daniellumertz's Avatar
 
Join Date: Dec 2017
Location: Brazil
Posts: 1,992
Default

plus one!
If reaper could sync versions over the internet with this API would be veeeeeery awesome! :O
daniellumertz is offline   Reply With Quote
Old 09-13-2020, 06:30 PM   #27
akademie
Human being with feelings
 
Join Date: Mar 2007
Posts: 3,978
Default

+1
for collaborative option!
akademie is offline   Reply With Quote
Old 09-14-2020, 03:07 PM   #28
jkooks
Human being with feelings
 
Join Date: May 2020
Posts: 190
Default

+1 please!
jkooks is offline   Reply With Quote
Old 09-14-2020, 05:29 PM   #29
sonictim
Human being with feelings
 
sonictim's Avatar
 
Join Date: Feb 2020
Location: Los Angeles
Posts: 463
Default

Yes please!!! +1
sonictim is offline   Reply With Quote
Old 09-15-2020, 07:33 AM   #30
Archie
Human being with feelings
 
Archie's Avatar
 
Join Date: Oct 2017
Location: Russia
Posts: 366
Default

+1 please!
__________________
=================================
ReaPack| Archie-ReaScript: Discussion | Donate | Donate2 | Donate3 | PayPal |
Archie is offline   Reply With Quote
Old 12-29-2020, 12:50 PM   #31
kyuseok
Human being with feelings
 
kyuseok's Avatar
 
Join Date: Oct 2020
Location: South Korea
Posts: 42
Default

+1
I would dance if it happens..
kyuseok is offline   Reply With Quote
Old 01-16-2021, 02:22 PM   #32
gxray
Human being with feelings
 
Join Date: Dec 2020
Location: Miami, FL USA
Posts: 396
Default

+1, supported
__________________
Seasoned codemonkey
Dunno a thing about making music (here to learn!)
gxray is offline   Reply With Quote
Old 11-06-2021, 08:40 PM   #33
dosman
Human being with feelings
 
Join Date: Mar 2012
Posts: 4
Default

+1 keen for this
dosman is offline   Reply With Quote
Old 11-06-2021, 11:05 PM   #34
mpl
Human being with feelings
 
mpl's Avatar
 
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 3,960
Default

Project header chunk you mean?

Anyway, +1 to this.
OR having everything ported to APIs, but that looks like huge work (although lot of stuff already exists like monitoring fx, project info, render settings).

Last edited by mpl; 11-07-2021 at 01:16 PM.
mpl is offline   Reply With Quote
Old 11-07-2021, 01:02 PM   #35
Thonex
Human being with feelings
 
Join Date: May 2018
Location: Los Angeles
Posts: 1,719
Default

+1

This could achieve reduced save times by many factors of magnitude.
__________________
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.
Thonex is offline   Reply With Quote
Old 03-19-2022, 08:34 PM   #36
daniellumertz
Human being with feelings
 
daniellumertz's Avatar
 
Join Date: Dec 2017
Location: Brazil
Posts: 1,992
Default

bumping
daniellumertz is offline   Reply With Quote
Old 04-16-2022, 11:15 AM   #37
daniellumertz
Human being with feelings
 
daniellumertz's Avatar
 
Join Date: Dec 2017
Location: Brazil
Posts: 1,992
Default

Found a small trick to Get the current project Chunk. Setting remains unavailable


Code:
function print(val)
    reaper.ShowConsoleMsg(tostring(val)..'\n')
end

function readAll(file)
    local f = assert(io.open(file, "rb"))
    if not f then return end
    local content = f:read("*all")
    f:close()
    return content
end


function GetProjectChunk(proj,temp_filename)
    reaper.Main_SaveProjectEx( proj, temp_filename, 0 )
    local chunk = readAll(temp_filename)
    os.remove(temp_filename)
    return chunk
end


local chunk = GetProjectChunk(0,'C:\\Users\\DSL\\Downloads\\Nothing\\test.rpp')
print(chunk)
daniellumertz is offline   Reply With Quote
Old 07-02-2022, 08:50 PM   #38
daniellumertz
Human being with feelings
 
daniellumertz's Avatar
 
Join Date: Dec 2017
Location: Brazil
Posts: 1,992
Default

bimp!
daniellumertz is offline   Reply With Quote
Old 12-03-2022, 04:37 PM   #39
daniellumertz
Human being with feelings
 
daniellumertz's Avatar
 
Join Date: Dec 2017
Location: Brazil
Posts: 1,992
Default

blap!
daniellumertz is offline   Reply With Quote
Old 08-04-2023, 11:29 AM   #40
daniellumertz
Human being with feelings
 
daniellumertz's Avatar
 
Join Date: Dec 2017
Location: Brazil
Posts: 1,992
Default

Halo! it would be really great to manage to set project chunk. Or at least more chunks api, like for the automation items section chunk.
daniellumertz is offline   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 09:13 AM.


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