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

Reply
 
Thread Tools Display Modes
Old 09-28-2017, 02:42 PM   #1
deeb
Human being with feelings
 
deeb's Avatar
 
Join Date: Feb 2017
Posts: 4,820
Default req: AUXDATA field in Chunks of Tracks , Lanes, Media Items and Automations Items

If MediaTrack, Media Items, Envelope Lanes, Automation Items had a AUXDATA field in their chunks, Basically working as "local" databases in which scripts could use to store some relavant information and rely would make possible and easier a lot of kind of scripts.

So my request is that and the API function to get/set this Data for each of them.

edit:
Also would be nice to have something like ExtState for each one of them.
so that different scripts can use it without messing others.

per example for media Items:
GetMediaItemState(const char* section, const char* key)
SetMediaItemState
DeleteMediaItemState
HasMediaItemState

Last edited by deeb; 03-25-2019 at 11:32 PM. Reason: for explicity and adding other users ideas
deeb is offline   Reply With Quote
Old 09-29-2017, 10:59 PM   #2
Xenakios
Human being with feelings
 
Xenakios's Avatar
 
Join Date: Feb 2007
Location: Oulu, Finland
Posts: 8,062
Default

Quote:
Originally Posted by mpl View Post
SetTrackSendInfo
He means he wants to store custom per-track data, not aux sends. Anyway, that should already be possible with SetProjExtState and GetProjExtState. The track GUIDs could be used to generate the key names for those functions. (This approach has some problems like when removing tracks, the custom data won't automatically clear from the project state...Also copying tracks can end up problematic.)
__________________
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 12-20-2017, 01:31 PM   #3
deeb
Human being with feelings
 
deeb's Avatar
 
Join Date: Feb 2017
Posts: 4,820
Default

Quote:
Originally Posted by Xenakios View Post
He means he wants to store custom per-track data, not aux sends. Anyway, that should already be possible with SetProjExtState and GetProjExtState. The track GUIDs could be used to generate the key names for those functions. (This approach has some problems like when removing tracks, the custom data won't automatically clear from the project state...Also copying tracks can end up problematic.)
This make scripting much easier for a wide of application without the hassles you described. Better for scripting == better for all users

Last edited by deeb; 12-20-2017 at 01:40 PM.
deeb is offline   Reply With Quote
Old 12-22-2017, 12:45 PM   #4
Xenakios
Human being with feelings
 
Xenakios's Avatar
 
Join Date: Feb 2007
Location: Oulu, Finland
Posts: 8,062
Default

I'll propose to make it even more powerful and allow extensions and scripts to also store per-item and per-take data... (The available workarounds really are terrible at the moment...)
__________________
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 12-22-2017, 04:12 PM   #5
deeb
Human being with feelings
 
deeb's Avatar
 
Join Date: Feb 2017
Posts: 4,820
Default

Quote:
Originally Posted by Xenakios View Post
I'll propose to make it even more powerful and allow extensions and scripts to also store per-item and per-take data... (The available workarounds really are terrible at the moment...)
thanks! awesome idea! opens a lot of possibilities wawaweee
deeb is offline   Reply With Quote
Old 01-24-2018, 07:58 AM   #6
deeb
Human being with feelings
 
deeb's Avatar
 
Join Date: Feb 2017
Posts: 4,820
Default

this one opens a lot of possibilities for community scripts and extensions so one bump!
deeb is offline   Reply With Quote
Old 01-30-2018, 03:26 PM   #7
Meo-Ada Mespotine
Human being with feelings
 
Meo-Ada Mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig
Posts: 6,629
Default

I'm all in with that one....
Meo-Ada Mespotine is offline   Reply With Quote
Old 03-08-2018, 11:09 AM   #8
juliansader
Human being with feelings
 
Join Date: Jul 2009
Posts: 3,714
Default

+1!

I have long wanted to submit a similar FR for Automation Items.

Scripts such as my LFO Tool could then store an AI's curve data inside the AI itself, recall it whenever a user wants to re-edit the AI, and the data won't get lost during moving and copying.
juliansader is offline   Reply With Quote
Old 03-08-2018, 11:23 AM   #9
deeb
Human being with feelings
 
deeb's Avatar
 
Join Date: Feb 2017
Posts: 4,820
Default

Quote:
Originally Posted by juliansader View Post
+1!
Scripts such as my LFO Tool could then store an AI's curve data inside the AI itself, recall it whenever a user wants to re-edit the AI, and the data won't get lost during moving and copying.
ahh cool ! : ) and many many many other things i am sure
deeb is offline   Reply With Quote
Old 03-09-2018, 04:49 AM   #10
juliansader
Human being with feelings
 
Join Date: Jul 2009
Posts: 3,714
Default

Media items actually already have "Item notes", with chunk field <NOTES.
juliansader is offline   Reply With Quote
Old 03-09-2018, 08:33 AM   #11
deeb
Human being with feelings
 
deeb's Avatar
 
Join Date: Feb 2017
Posts: 4,820
Default

Quote:
Originally Posted by juliansader View Post
Media items actually already have "Item notes", with chunk field <NOTES.
i wonder what is the purpose! and if is this recent
deeb is offline   Reply With Quote
Old 03-10-2018, 05:44 PM   #12
deeb
Human being with feelings
 
deeb's Avatar
 
Join Date: Feb 2017
Posts: 4,820
Default

I reminded to add to the request a section / key like it happens with GetExtState
so that different scripts can use it without messing others. Also would be nice all the complementary functions.

per example for media Items:
GetMediaItemState(const char* section, const char* key)
SetMediaItemState
DeleteMediaItemState
HasMediaItemState

Also Markers would be nice in the list too, but apparently they have a different way of being saved
deeb is offline   Reply With Quote
Old 03-13-2018, 11:57 AM   #13
juliansader
Human being with feelings
 
Join Date: Jul 2009
Posts: 3,714
Default

Quote:
Originally Posted by deeb View Post
i wonder what is the purpose! and if is this recent
As far as I know, item notes have existed since the early years. In the case of empty items, the notes are the text that is displayed inside the item. In the case of other media items, the notes can be anything. I sometimes use it to temporarily store info for my scripts.

Strangely, there is no native API function to access the notes. Scripts must either use the state chuck, or use the SWS function ULT_Get/SetMediaItemNote.


Quote:
Originally Posted by deeb View Post
so that different scripts can use it without messing others. Also would be nice all the complementary functions.
If scripts share the same item notes, they can mark their own part (using "*****script name*****" or whatever), to ensure that they don't disturb other notes.
juliansader is offline   Reply With Quote
Old 03-13-2018, 12:18 PM   #14
deeb
Human being with feelings
 
deeb's Avatar
 
Join Date: Feb 2017
Posts: 4,820
Default

Thank you!

Quote:
Originally Posted by juliansader View Post
If scripts share the same item notes, they can mark their own part (using "*****script name*****" or whatever), to ensure that they don't disturb other notes.
yes, but this way forces a good practice imo, and so not so susceptible to be changed if other scripts don't take that into account properly, just that, like happens with GetExtState.
deeb is offline   Reply With Quote
Old 03-24-2018, 08:02 AM   #15
spk77
Human being with feelings
 
Join Date: Aug 2012
Location: Finland
Posts: 2,668
Default

This would be very useful!
+1
spk77 is offline   Reply With Quote
Old 01-07-2019, 11:09 PM   #16
deeb
Human being with feelings
 
deeb's Avatar
 
Join Date: Feb 2017
Posts: 4,820
Default

Bump!
deeb is offline   Reply With Quote
Old 01-10-2019, 10:02 AM   #17
Meo-Ada Mespotine
Human being with feelings
 
Meo-Ada Mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig
Posts: 6,629
Default

For MediaItems and MediaTracks, I made some functions to do that:

Read the following and the chapters following after that:
https://mespotin.uber.space/Mespotin...kItemExtStates

AutomationItems are still missing, but should be possible to do as well. But I need to research it a little first to be sure.
__________________
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-16-2019, 07:41 AM   #18
deeb
Human being with feelings
 
deeb's Avatar
 
Join Date: Feb 2017
Posts: 4,820
Default

Quote:
Originally Posted by mespotine View Post
For MediaItems and MediaTracks, I made some functions to do that:
nice mespotine and thank you! it can indeed be very useful but i think it is not really the point of the OR and i think using exstate it is much limited compared with AUXDATA written in track/item chunk for example copying tracks/items in same or in another project won't copy this values. So i think it does not full fill the request since it is something different and so i think REQUEST still open and valid!

Thank you!
deeb is offline   Reply With Quote
Old 03-26-2019, 06:49 AM   #19
Justin
Administrator
 
Justin's Avatar
 
Join Date: Jan 2005
Location: NYC
Posts: 15,737
Default

Looking at adding this!
Justin is online now   Reply With Quote
Old 03-26-2019, 08:01 AM   #20
juliansader
Human being with feelings
 
Join Date: Jul 2009
Posts: 3,714
Default

Yay!

Automation items are not yet included in the chunk, but I hope that it would be possible to add some kind of AUXDATA or "item notes" feature to AIs too.

As an example of an application: The LFO Tool can automatically recall the LFO shape of an AI, but only by using the AI's ID number. If the ID changes, as happens when copying without pooling, or moving to a subproject, to LFO Tool is stymied. Auto-recall would work much better if the LFO data could be saved within item notes that get copied with the AI:
juliansader is offline   Reply With Quote
Old 03-26-2019, 08:05 AM   #21
deeb
Human being with feelings
 
deeb's Avatar
 
Join Date: Feb 2017
Posts: 4,820
Default

Quote:
Originally Posted by juliansader View Post
Yay!
+ 1000!
deeb is offline   Reply With Quote
Old 03-26-2019, 08:47 PM   #22
Justin
Administrator
 
Justin's Avatar
 
Join Date: Jan 2005
Location: NYC
Posts: 15,737
Default

Now available (for testing anyway) in +dev0326. Post any results in that prerelease thread...
Justin 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 11:00 AM.


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