|
|
|
02-23-2015, 03:01 AM
|
#121
|
Human being with feelings
Join Date: Mar 2013
Posts: 463
|
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?
|
|
|
02-23-2015, 07:46 AM
|
#122
|
Human being with feelings
Join Date: Jun 2012
Location: Spain
Posts: 7,239
|
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
|
|
|
02-23-2015, 08:23 AM
|
#123
|
Human being with feelings
Join Date: Mar 2013
Posts: 463
|
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.
|
|
|
02-23-2015, 12:33 PM
|
#124
|
Human being with feelings
Join Date: Mar 2013
Posts: 463
|
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.
|
|
|
02-23-2015, 12:40 PM
|
#125
|
Human being with feelings
Join Date: Mar 2013
Posts: 463
|
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
|
|
|
02-23-2015, 02:05 PM
|
#126
|
Human being with feelings
Join Date: Apr 2013
Location: France
Posts: 9,875
|
This is very very promising !!
How many code lines do you have ?
and what is the next step ?
|
|
|
02-23-2015, 02:34 PM
|
#127
|
Human being with feelings
Join Date: Jun 2012
Location: Spain
Posts: 7,239
|
looking amazing
this is really a superglue
|
|
|
02-23-2015, 08:39 PM
|
#128
|
Human being with feelings
Join Date: Mar 2013
Posts: 463
|
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
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
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
looking amazing
this is really a superglue
|
thanks
|
|
|
02-24-2015, 03:08 PM
|
#129
|
Human being with feelings
Join Date: Jun 2009
Posts: 129
|
Matthew, thanks a lot for your hard work!
|
|
|
02-24-2015, 03:52 PM
|
#130
|
Human being with feelings
Join Date: Jan 2008
Posts: 147
|
I will definitely need time to get my head around it, but it looks brilliant!
|
|
|
02-24-2015, 05:55 PM
|
#131
|
Human being with feelings
Join Date: Mar 2013
Posts: 463
|
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.
|
|
|
03-20-2015, 05:17 PM
|
#132
|
Human being with feelings
Join Date: Apr 2013
Location: France
Posts: 9,875
|
Any news about the video demo?
|
|
|
05-13-2015, 04:30 PM
|
#133
|
Human being with feelings
Join Date: Jan 2014
Posts: 5,205
|
Quote:
Originally Posted by matthewjumpsoffbuildings
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
|
|
|
05-13-2015, 07:38 PM
|
#134
|
Human being with feelings
Join Date: Mar 2013
Posts: 463
|
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.
|
|
|
05-13-2015, 10:19 PM
|
#135
|
Human being with feelings
Join Date: Apr 2013
Location: France
Posts: 9,875
|
@matthew
Are you these API functions are on the RADAR ?
|
|
|
05-13-2015, 10:28 PM
|
#136
|
Human being with feelings
Join Date: Mar 2013
Posts: 463
|
I dont know, I mentioned it in the thread for the prerelease version that included the propagate actions but havent heard anything yet
|
|
|
05-13-2015, 10:30 PM
|
#137
|
Human being with feelings
Join Date: Jun 2010
Location: canada
Posts: 3,396
|
is this usable yet? I just downloaded/installed and got an error
(looks amazing btw, great work!)
|
|
|
05-13-2015, 10:33 PM
|
#138
|
Human being with feelings
Join Date: Mar 2013
Posts: 463
|
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.
|
|
|
05-13-2015, 10:34 PM
|
#139
|
Human being with feelings
Join Date: Mar 2013
Posts: 463
|
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)
|
|
|
05-13-2015, 10:39 PM
|
#140
|
Human being with feelings
Join Date: Jun 2010
Location: canada
Posts: 3,396
|
something like missing <....
ya i have the newest sws, but no worries, i can wait till it's as it should be
|
|
|
08-01-2015, 08:22 AM
|
#141
|
Human being with feelings
Join Date: Jun 2009
Location: Croatia
Posts: 4,593
|
Is this awesomness dead or ?
|
|
|
10-19-2015, 12:14 PM
|
#142
|
Human being with feelings
Join Date: Mar 2013
Posts: 463
|
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
|
|
|
10-29-2015, 08:59 AM
|
#143
|
Human being with feelings
Join Date: Mar 2013
Posts: 463
|
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.
Last edited by matthewjumpsoffbuildings; 10-29-2015 at 09:38 AM.
|
|
|
02-01-2016, 05:11 AM
|
#144
|
Human being with feelings
Join Date: Dec 2012
Posts: 13,333
|
Quote:
Originally Posted by matthewjumpsoffbuildings
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?
|
|
|
02-07-2016, 03:21 AM
|
#145
|
Human being with feelings
Join Date: Dec 2012
Posts: 13,333
|
|
|
|
09-03-2016, 03:21 PM
|
#146
|
Human being with feelings
Join Date: Nov 2006
Posts: 2,182
|
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.
|
|
|
03-23-2017, 02:08 AM
|
#147
|
Human being with feelings
Join Date: Dec 2012
Posts: 13,333
|
Any news?
|
|
|
03-23-2017, 05:58 AM
|
#148
|
Human being with feelings
Join Date: Mar 2013
Posts: 463
|
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
|
|
|
03-23-2017, 07:42 AM
|
#149
|
Human being with feelings
Join Date: Dec 2012
Posts: 13,333
|
Quote:
Originally Posted by matthewjumpsoffbuildings
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.
|
|
|
03-23-2017, 09:53 AM
|
#150
|
Human being with feelings
Join Date: Jan 2014
Posts: 5,205
|
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.
|
|
|
06-06-2017, 08:38 PM
|
#151
|
Human being with feelings
Join Date: Jul 2015
Location: San Francisco
Posts: 12
|
This feature is all I've ever wanted.
What DAW's do have this feature?
|
|
|
06-07-2017, 01:27 AM
|
#152
|
Human being with feelings
Join Date: Dec 2012
Posts: 13,333
|
Quote:
Originally Posted by HarryPalms
What DAW's do have this feature?
|
Reaper has more developed feature called 'subproject', but it's a bit tricky for non-destructive glueing.
|
|
|
06-07-2017, 09:06 AM
|
#153
|
Human being with feelings
Join Date: May 2016
Posts: 369
|
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
|
|
|
06-07-2017, 09:50 AM
|
#154
|
Human being with feelings
Join Date: Dec 2012
Posts: 13,333
|
Quote:
Originally Posted by Ulf3000
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
|
|
|
06-07-2017, 04:18 PM
|
#155
|
Human being with feelings
Join Date: Feb 2017
Posts: 4,812
|
Quote:
Originally Posted by HarryPalms
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
|
|
|
06-07-2017, 05:51 PM
|
#156
|
Human being with feelings
Join Date: Jul 2015
Location: San Francisco
Posts: 12
|
I wish i could pay cockos instead of cubase
|
|
|
03-29-2018, 12:01 PM
|
#157
|
Human being with feelings
Join Date: Jul 2016
Location: London
Posts: 17
|
This script is incredible! I've wanted such a feature for ages, thank you!!
|
|
|
08-03-2019, 08:06 PM
|
#158
|
Human being with feelings
Join Date: Jun 2018
Posts: 375
|
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.
|
|
|
08-03-2019, 08:53 PM
|
#159
|
Human being with feelings
Join Date: Mar 2013
Posts: 463
|
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.
|
|
|
08-03-2019, 09:37 PM
|
#160
|
Human being with feelings
Join Date: Jun 2018
Posts: 375
|
Quote:
Originally Posted by matthewjumpsoffbuildings
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 ¯\_(ツ)_/¯
|
|
|
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 09:50 AM.
|