Old 02-23-2015, 03:01 AM   #121
matthewjumpsoffbuildings
Human being with feelings
 
Join Date: Mar 2013
Posts: 463
Default

i discovered if i add a NAME key to the empty items state chunk it doesnt convert it to a MIDI item.

is there a way via ReaScript to add/edit this key without having to resort to getting the state chunk and doing string manipulation? There should be an api function to edit the P_NAME or whatever on an item, not just on a take?
__________________
[sun sprites] spotify facebook
matthewjumpsoffbuildings is offline   Reply With Quote
Old 02-23-2015, 07:46 AM   #122
heda
Human being with feelings
 
heda's Avatar
 
Join Date: Jun 2012
Location: Spain
Posts: 7,239
Default

wow.. I wouldn't have thought you could add the NAME to the chunk for empty items.. and it works
But not from API... there is only GetSetMediaTrackInfo_String for tracks and GetSetMediaItemTakeInfo_String for takes. You have to do the hack by manipulating the chunk again :P
heda is offline   Reply With Quote
Old 02-23-2015, 08:23 AM   #123
matthewjumpsoffbuildings
Human being with feelings
 
Join Date: Mar 2013
Posts: 463
Default

after more playing around i discovered that you can add a take to an empty item, then add a PCM_source with a blank type (not WAVE cause then it complains about missing files). this method just creates an empty <SOURCE> node in the state chunk, and allows me to set the take name without creating a MIDI take.

for some reason this kind of item wont glue properly with more than 1 other audio item. but thats ok, i realised i can just create a new empty item and resize/reposition it to match the empty SOURCE item, and use that new empty item for glueing. all worked out in the end.

the only real feature left is to remember the state an unglued item was in and reapply it when reglueing.

for example, if you have a glue group and you then loop it 10 times, currently if you unglue it then reglue it, the reglued version is just 1 loop, not 10. it would be nicer if it stored the original state, and reapplied it after the glue was done, just using the new wav file.

ill probably have that done tonight...

and then its just testing the speed difference in using a separate EEL script for the update loop... might not be worth it, but i have a feeling it will be faster with large projects with lots of groups.
__________________
[sun sprites] spotify facebook
matthewjumpsoffbuildings is offline   Reply With Quote
Old 02-23-2015, 12:33 PM   #124
matthewjumpsoffbuildings
Human being with feelings
 
Join Date: Mar 2013
Posts: 463
Default

heres a licecap of where im at... i create 3 groups, the last two are made up of instances of the previous group/s.

then i edit the first group that all the others depend on, and the other instances update.

also demonstrates how when you unglue an instance of a group, it remembers the looping etc of the glued version, and restores that when you reglue it.

__________________
[sun sprites] spotify facebook
matthewjumpsoffbuildings is offline   Reply With Quote
Old 02-23-2015, 12:40 PM   #125
matthewjumpsoffbuildings
Human being with feelings
 
Join Date: Mar 2013
Posts: 463
Default

and heres something different...

on a track with ReaSynth, mixing up a MIDI and an audio item in a glue group... then nesting that group in another group.

then unglueing the first group, and editing the MIDI, reglueing it, and having the other group update too

__________________
[sun sprites] spotify facebook
matthewjumpsoffbuildings is offline   Reply With Quote
Old 02-23-2015, 02:05 PM   #126
X-Raym
Human being with feelings
 
X-Raym's Avatar
 
Join Date: Apr 2013
Location: France
Posts: 9,875
Default

This is very very promising !!
How many code lines do you have ?

and what is the next step ?
X-Raym is offline   Reply With Quote
Old 02-23-2015, 02:34 PM   #127
heda
Human being with feelings
 
heda's Avatar
 
Join Date: Jun 2012
Location: Spain
Posts: 7,239
Default

looking amazing
this is really a superglue
heda is offline   Reply With Quote
Old 02-23-2015, 08:39 PM   #128
matthewjumpsoffbuildings
Human being with feelings
 
Join Date: Mar 2013
Posts: 463
Default

youre welcome to start playing around with it
https://bitbucket.org/matthewjumpsof...lua/?at=master

also if you see any weirdnesses in the code id love to hear any feedback, this is my first attempt at Lua so i doubt ive done everything as efficiently as possible.

Quote:
Originally Posted by X-Raym View Post
This is very very promising !!
How many code lines do you have ?
there are 3 files. the glue script, the unglue script, and a utility file that the other 2 include. the glue script is about 180 lines of actual code (ignoring comments etc), the unglue script is about 30 lines, and the utility script is about 170 lines.

you get the ability to glue any number and combination of audio and midi items into a single item, and have the original pieces stored in the ProjExtState. you can recall them at any time by running the unglue script on an item with "glue_group:NUMBER" eg "glue_group:2" in its name (if 2 corresponds to a stored glue group id). when you unglue a glued item, all the original pieces are restored, plus an empty item labelled "glue_group_container:NUMBER" eg "glue_group_container:2". this is used for reglueing, so the script knows that you are reglueing an existing glue group. you can add new items to the group, but you need to make sure both the new items, and at least one of the old items, or the container are selected. when you reglue, whatever state the item was in before you unglue it (eg looping, reversing, fade in/out etc) should be restored, just the source wav file updated.

Quote:
Originally Posted by X-Raym View Post
and what is the next step ?
test all the functionality thoroughly, clean up the code, fix any bugs if people report them

Quote:
Originally Posted by heda View Post
looking amazing
this is really a superglue
thanks
__________________
[sun sprites] spotify facebook
matthewjumpsoffbuildings is offline   Reply With Quote
Old 02-24-2015, 03:08 PM   #129
cjaxis
Human being with feelings
 
cjaxis's Avatar
 
Join Date: Jun 2009
Posts: 129
Default

Matthew, thanks a lot for your hard work!
cjaxis is offline   Reply With Quote
Old 02-24-2015, 03:52 PM   #130
timboid
Human being with feelings
 
Join Date: Jan 2008
Posts: 147
Default

I will definitely need time to get my head around it, but it looks brilliant!
timboid is offline   Reply With Quote
Old 02-24-2015, 05:55 PM   #131
matthewjumpsoffbuildings
Human being with feelings
 
Join Date: Mar 2013
Posts: 463
Default

Im going to make a youtube video fully explaining how to use it, as well as update the documentation, very soon.

The release of the new "propagate to items/takes" actions makes me feel that there might be a native version of 'pooled' audio, and maybe even the holy grail - pooled non-destructive glue groups... i really hope there is something brewing, as much as im proud of this script id still much prefer to see a proper native implementation.
__________________
[sun sprites] spotify facebook
matthewjumpsoffbuildings is offline   Reply With Quote
Old 03-20-2015, 05:17 PM   #132
X-Raym
Human being with feelings
 
X-Raym's Avatar
 
Join Date: Apr 2013
Location: France
Posts: 9,875
Default

Any news about the video demo?
X-Raym is offline   Reply With Quote
Old 05-13-2015, 04:30 PM   #133
Fergler
Human being with feelings
 
Fergler's Avatar
 
Join Date: Jan 2014
Posts: 5,205
Default

Quote:
Originally Posted by matthewjumpsoffbuildings View Post
heres an example with your image, showing the ability to 'drag-to-tile' glued groups, as well as pooling...

That's incredible I'd get SOOO much use out of something like that! I've wanted to pool audio items for ages
Fergler is offline   Reply With Quote
Old 05-13-2015, 07:38 PM   #134
matthewjumpsoffbuildings
Human being with feelings
 
Join Date: Mar 2013
Posts: 463
Default

well, my Glue Groups Lua scripts are mostly working.

Im just waiting on the devs to add an API function for the 'propagate takes to items' action that got added in the betas. That propagate action is lightning fast in updating things compared to my approach, but it doesnt have any finely grained control (eg I just need to update wav sources, not everything else), so I need an API function for it.

Once thats done I'll make a demo/tutorial screencast. Its pretty easy to use.
__________________
[sun sprites] spotify facebook
matthewjumpsoffbuildings is offline   Reply With Quote
Old 05-13-2015, 10:19 PM   #135
X-Raym
Human being with feelings
 
X-Raym's Avatar
 
Join Date: Apr 2013
Location: France
Posts: 9,875
Default

@matthew
Are you these API functions are on the RADAR ?
X-Raym is offline   Reply With Quote
Old 05-13-2015, 10:28 PM   #136
matthewjumpsoffbuildings
Human being with feelings
 
Join Date: Mar 2013
Posts: 463
Default

I dont know, I mentioned it in the thread for the prerelease version that included the propagate actions but havent heard anything yet
__________________
[sun sprites] spotify facebook
matthewjumpsoffbuildings is offline   Reply With Quote
Old 05-13-2015, 10:30 PM   #137
gwok
Human being with feelings
 
gwok's Avatar
 
Join Date: Jun 2010
Location: canada
Posts: 3,396
Default

is this usable yet? I just downloaded/installed and got an error

(looks amazing btw, great work!)
gwok is offline   Reply With Quote
Old 05-13-2015, 10:33 PM   #138
matthewjumpsoffbuildings
Human being with feelings
 
Join Date: Mar 2013
Posts: 463
Default

na i think the version in the bitbucket repo is a bit broken right now, i started reworking it with the new propagate stuff but then stopped until that API function is added... i could go back and start reverting it to the old, slow manual method i was using to update the items, but it feels like a step backwards

just out of curiosity whats the error your getting? the script needs a recent v5 reaper and SWS btw.
__________________
[sun sprites] spotify facebook
matthewjumpsoffbuildings is offline   Reply With Quote
Old 05-13-2015, 10:34 PM   #139
matthewjumpsoffbuildings
Human being with feelings
 
Join Date: Mar 2013
Posts: 463
Default

all i need is an API function that works like the "propagate take to items" action, but it only propagates the source wav file to all the items, and nothing else (no reverse/rate/pitch data etc)
__________________
[sun sprites] spotify facebook
matthewjumpsoffbuildings is offline   Reply With Quote
Old 05-13-2015, 10:39 PM   #140
gwok
Human being with feelings
 
gwok's Avatar
 
Join Date: Jun 2010
Location: canada
Posts: 3,396
Default

something like missing <....

ya i have the newest sws, but no worries, i can wait till it's as it should be
gwok is offline   Reply With Quote
Old 08-01-2015, 08:22 AM   #141
Sexan
Human being with feelings
 
Sexan's Avatar
 
Join Date: Jun 2009
Location: Croatia
Posts: 4,593
Default

Is this awesomness dead or ?
Sexan is online now   Reply With Quote
Old 10-19-2015, 12:14 PM   #142
matthewjumpsoffbuildings
Human being with feelings
 
Join Date: Mar 2013
Posts: 463
Default

Im still waiting for the devs to add an API version of the "propagate take to items" function that allows for fine grained control over which properties of the source take get applied to the target item... I requested it ages ago, and havent had any response
__________________
[sun sprites] spotify facebook
matthewjumpsoffbuildings is offline   Reply With Quote
Old 10-29-2015, 08:59 AM   #143
matthewjumpsoffbuildings
Human being with feelings
 
Join Date: Mar 2013
Posts: 463
Default

ok i just tested it again, realised that the only reason it wasnt working was cause i was hardcoding the path to the imported scripts, try getting the LUA scripts from here again https://bitbucket.org/matthewjumpsof...lua/?at=master

it seems to be working in v5.04 with SWS 2.8.1. just make sure you put all the LUA files (including the Utils LUA) in the same folder, and make sure you have a recent install of SWS.

im gonna start workin on it again, i might add a dialogue so you can name your groups (eg "glue_group:1: Synth Loop"), and also add a new script that allows you to insert an instance of an existing glue group, even if you deleted all instances from the current project tracks. And perhaps a "cleanup" function to permanently delete the stored data of a particular glue group from the RPP file, if you want to get rid of a glue groups source data for good.
__________________
[sun sprites] spotify facebook

Last edited by matthewjumpsoffbuildings; 10-29-2015 at 09:38 AM.
matthewjumpsoffbuildings is offline   Reply With Quote
Old 02-01-2016, 05:11 AM   #144
vitalker
Human being with feelings
 
vitalker's Avatar
 
Join Date: Dec 2012
Posts: 13,333
Default

Quote:
Originally Posted by matthewjumpsoffbuildings View Post
Im going to make a youtube video fully explaining how to use it, as well as update the documentation, very soon.
Hello Matthew! Do you still make a script?
vitalker is offline   Reply With Quote
Old 02-07-2016, 03:21 AM   #145
vitalker
Human being with feelings
 
vitalker's Avatar
 
Join Date: Dec 2012
Posts: 13,333
Default

Please vote: http://forum.cockos.com/project.php?issueid=5665
And there is a discussion thread: http://forum.cockos.com/showthread.php?t=172507
vitalker is offline   Reply With Quote
Old 09-03-2016, 03:21 PM   #146
sebas777
Human being with feelings
 
sebas777's Avatar
 
Join Date: Nov 2006
Posts: 2,182
Default

a big +1 for this FR.

I have been hoping for something like this for years . Be it the Cubase or the Logic version (with cascaded live processing and possibility to trigger folders by Midi like samples - also transposed!), it would be really useful to me as a composer/arranger.


For me the most important elements of this feature are:

1) loop-ability of the folder,
2) real time item FX.

I like PIPs a lot, but they work slightly differently - more like freezing than like. They could also by improved by:

+ playing two projects (the main one and the sub-project) together,
+ adding a two-way link (rendering the whole project as a reference item in the sub-project).
Updating both freeze files would be done either automatically or manually (if "auto" is turned off).

Item Folders and PIPs could be merged into one feature at some point in time.
sebas777 is offline   Reply With Quote
Old 03-23-2017, 02:08 AM   #147
vitalker
Human being with feelings
 
vitalker's Avatar
 
Join Date: Dec 2012
Posts: 13,333
Default

Any news?
vitalker is offline   Reply With Quote
Old 03-23-2017, 05:58 AM   #148
matthewjumpsoffbuildings
Human being with feelings
 
Join Date: Mar 2013
Posts: 463
Default

the request for an API function for the propagate takes feature seems to have been ignored by the devs, so no sadly nothing to report
__________________
[sun sprites] spotify facebook
matthewjumpsoffbuildings is offline   Reply With Quote
Old 03-23-2017, 07:42 AM   #149
vitalker
Human being with feelings
 
vitalker's Avatar
 
Join Date: Dec 2012
Posts: 13,333
Default

Quote:
Originally Posted by matthewjumpsoffbuildings View Post
the request for an API function for the propagate takes feature seems to have been ignored by the devs, so no sadly nothing to report
Well, I've just written this, because "bump" is a bit stupid, so let's wait for some people.
vitalker is offline   Reply With Quote
Old 03-23-2017, 09:53 AM   #150
Fergler
Human being with feelings
 
Fergler's Avatar
 
Join Date: Jan 2014
Posts: 5,205
Default

As nice as I'm sure your script is, it's the visual aspect as such that would make this feature so great. In addition to what's shown here:
https://i.imgur.com/5g8fiGb.gif

I would suggest a button in the item buttons row that locks the group from editing and makes the whole left/right edges available for loop dragging like a normal item. If unlocked, only the top bar functions this way, and is always loop source: off so as to encapsulate elongate the available space in the group for adding more items.

If already looped, this would 'push' the loops forward unilaterally. So if the item group is 4 bars long and loops 3 times for a total of 12 bars, an edited group loop (gloop? ) made into 5 bars would be 15 bars long.
Fergler is offline   Reply With Quote
Old 06-06-2017, 08:38 PM   #151
HarryPalms
Human being with feelings
 
Join Date: Jul 2015
Location: San Francisco
Posts: 12
Default

This feature is all I've ever wanted.

What DAW's do have this feature?
HarryPalms is offline   Reply With Quote
Old 06-07-2017, 01:27 AM   #152
vitalker
Human being with feelings
 
vitalker's Avatar
 
Join Date: Dec 2012
Posts: 13,333
Default

Quote:
Originally Posted by HarryPalms View Post

What DAW's do have this feature?
Reaper has more developed feature called 'subproject', but it's a bit tricky for non-destructive glueing.
vitalker is offline   Reply With Quote
Old 06-07-2017, 09:06 AM   #153
Ulf3000
Human being with feelings
 
Join Date: May 2016
Posts: 369
Default

do you think it´d be easier to build this one with the sdk ?

lol i think this is a really good idea ,

like make an electronic song template ... change bassline and synth , update pooled items and the new song is ready lol , save and repeat , at the end of the day you should have 10 "genuine" topical house songs XDDDDDD
Ulf3000 is offline   Reply With Quote
Old 06-07-2017, 09:50 AM   #154
vitalker
Human being with feelings
 
vitalker's Avatar
 
Join Date: Dec 2012
Posts: 13,333
Default

Quote:
Originally Posted by Ulf3000 View Post
do you think it´d be easier to build this one with the sdk ?
Here you can find an FR about it, where Matthew writes what is missed in API and doesn't allow his script run as it should: http://forum.cockos.com/showthread.php?t=172521
vitalker is offline   Reply With Quote
Old 06-07-2017, 04:18 PM   #155
deeb
Human being with feelings
 
deeb's Avatar
 
Join Date: Feb 2017
Posts: 4,812
Default

Quote:
Originally Posted by HarryPalms View Post
This feature is all I've ever wanted.

What DAW's do have this feature?
cubase does and it's a perfect tool for copying
deeb is offline   Reply With Quote
Old 06-07-2017, 05:51 PM   #156
HarryPalms
Human being with feelings
 
Join Date: Jul 2015
Location: San Francisco
Posts: 12
Default

I wish i could pay cockos instead of cubase
HarryPalms is offline   Reply With Quote
Old 03-29-2018, 12:01 PM   #157
Julian
Human being with feelings
 
Join Date: Jul 2016
Location: London
Posts: 17
Default

This script is incredible! I've wanted such a feature for ages, thank you!!
Julian is offline   Reply With Quote
Old 08-03-2019, 08:06 PM   #158
puddi
Human being with feelings
 
puddi's Avatar
 
Join Date: Jun 2018
Posts: 375
Default

Really digging this script, but why does it sometimes assign a "glue_group" number that's already being used on another track when gluing a new group? That completely breaks the first group with that same number. Is this a bug or is there a way to prevent it from happening?

Man this is so close to perfect but that one thing is a pretty huge deal-breaker.
puddi is offline   Reply With Quote
Old 08-03-2019, 08:53 PM   #159
matthewjumpsoffbuildings
Human being with feelings
 
Join Date: Mar 2013
Posts: 463
Default

ye theres probably a million bugs in this. to be honest i have kinda given up on updating it, for the most part i use reaper only for live audio or recording drums/guitars etc... if i want to do more loop based production i will use other DAWs.

if anyone wants to fork the code and update it feel free, fair warning its a complete mess, i was learning as i went along with this, so tons of the code is probably not best practice or efficient.
__________________
[sun sprites] spotify facebook
matthewjumpsoffbuildings is offline   Reply With Quote
Old 08-03-2019, 09:37 PM   #160
puddi
Human being with feelings
 
puddi's Avatar
 
Join Date: Jun 2018
Posts: 375
Default

Quote:
Originally Posted by matthewjumpsoffbuildings View Post
ye theres probably a million bugs in this. to be honest i have kinda given up on updating it, for the most part i use reaper only for live audio or recording drums/guitars etc... if i want to do more loop based production i will use other DAWs.

if anyone wants to fork the code and update it feel free, fair warning its a complete mess, i was learning as i went along with this, so tons of the code is probably not best practice or efficient.
Ah, that's a shame. I find Reaper pretty great for loop based music already but this feature would just make it so much better.

I guess our only hope then is that the devs implement it natively ¯\_(ツ)_/¯
puddi 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:50 AM.


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