Old 07-19-2019, 07:44 AM   #1
Alkamist
Human being with feelings
 
Join Date: Dec 2011
Posts: 506
Default MIDI Pool-Based Region Items

This is my implementation of region items. I've wanted a feature like this for a long time, so I decided to code it myself since I'm really picky about how it should work. I'm not a super experienced programmer, so there is sure to be spaghetti and bugs here and there so please bear with me.

Currently, there are four main actions:

Update Region Items:

If you select one or more MIDI items that are pooled with others on the same track and call this action, and the tracks the selected items are on have children, the action will copy over the contents of their child tracks to the other pooled MIDI items. If you put a * symbol as the first letter of a track's name, that track will be ignored in this process.

There should also be a file called "Region Items Default Settings.lua" in the script directory. You can copy this file to "Scripts\Alkamist Scripts\Region Items\Region Items User Settings.lua", and change the "selectRegionsByName" bool to true if you want region items to be determined by identical item names instead of MIDI item pooling. This means you can use whatever item type as a region item.



There is bi-directional support for stretching the pooled items, which will stretch the contents accordingly.



There is bi-directional support for pitch changes in the pooled items, which will change the pitch of the contents accordingly.



There is bi-directional support for tempo changes, which will position the contents of the region items accordingly.



There is support for items that exceed the bounds of the region item, as long as the item's snap offset is within the bounds. This should work regardless of tempo and rate changes, inform me if it doesn't.



By default, items that exceed the bounds of a region item but have a snap offset within are copied over entirely. If you want the region to clip the contents so they stop exactly on the bounds, then add a fade on either side of the destination region item. The contents of the item will be clipped and faded. The length of these fades is dependent on your auto-fade settings.



Track and item timebase settings are taken into account when running this script. Item timebase takes priority, and track timebase comes next.



If you don't want some tracks to be children of the region item, you can make a MUTED (gif doesn't show that) send from the region item's track to the track you want to act like a child track.



Update Parent Region Items of Selected Items:

This action will navigate through all of the parent tracks of the selected items (including source tracks of receives) and update any parent region items they are contained within.

Update Parent Region Items of Selected Items:

This action is identical to "Update Parent Region Items of Selected Items", except it will first update any region items you have selected.

Clear Selected Region Items:

This action will simply clear the contents of whatever region items you have selected. This action is important; if you need to move or edit the bounds of a region item, you must clear its contents first before doing so. Otherwise, any contents that end up outside the bounds of the item after editing will not be cleaned up or updated later on.



I have not made an action that selects all of the contents of a region item because that is not how I intended for them to be worked with. It would be impractical to do so because you cannot edit multiple envelopes at the same time in Reaper. Also, Reaper incorrectly handles the positioning of items with snap offsets when moving or copy/pasting in the presence of tempo changes. My region item function corrects this when called, so it should be a preferred workflow to clear and re-copy regions instead of trying to move regions and their contents manually.

Other Considerations:

If you find any bugs or strange behaviors feel free to let me know. There are sure to be things here and there that I didn't account for as this is a fairly complicated script. Also, if you feel something should behave differently or you have other ideas, please feel free to discuss them. I will try to stay up to date as frequently as I can.

Requirements:

- Up-to-date Reaper (not sure on what version you need)
- SWS Extension

Installation:

If you have ReaPack, then you can import my repository with this URL:

Code:
https://raw.githubusercontent.com/Alkamist/Alkamist-Scripts/master/index.xml
I am new to using ReaPack as a developer, so let me know if something doesn't work.

There are six files that make this work: the four action lua scripts that you can run (Update Region Items.lua, Clear Selected Region Items.lua, Update Parent Region Items of Selected Items.lua, and Update Selected Region Items and Parent Region Items of Selected Items.lua), a dependency file (Region Items Functions.lua), and the default settings file (Region Items Default Settings.lua). You need these six files to be within a folder structure (Alkamist Scripts > Region Items) in your Reaper scripts folder. You can then import and bind the action scripts you want to use to hotkeys and run them.

Here are the raw files if you don't want to use ReaPack:

Update Region Items.lua
Update Parent Region Items of Selected Items.lua
Update Selected Region Items and Parent Region Items of Selected Items.lua
Clear Selected Region Items.lua
Region Item Functions.lua
Region Items Default Settings.lua

Support:

If this script helps you out, please consider donating to help me out. I would greatly appreciate it!

Donate

Last edited by Alkamist; 08-02-2019 at 02:40 PM.
Alkamist is offline   Reply With Quote
Old 07-19-2019, 09:43 AM   #2
X-Raym
Human being with feelings
 
X-Raym's Avatar
 
Join Date: Apr 2013
Location: France
Posts: 9,875
Default

Intersting I'll take a look !


This reminds me Inspired region folder scripts,



https://forum.cockos.com/showthread.php?t=175388



Though it seems you have handle various extra things like pitch and fades etc...
X-Raym is offline   Reply With Quote
Old 07-19-2019, 05:12 PM   #3
Alkamist
Human being with feelings
 
Join Date: Dec 2011
Posts: 506
Default

Quote:
Originally Posted by X-Raym View Post
Intersting I'll take a look !


This reminds me Inspired region folder scripts,



https://forum.cockos.com/showthread.php?t=175388



Though it seems you have handle various extra things like pitch and fades etc...
Yes it's kind of similar to those scripts but with a bunch of extra things that I really wanted to account for. I also prefer doing it with MIDI pooling so I don't have to do anything involving item names.
Alkamist is offline   Reply With Quote
Old 07-27-2019, 03:47 PM   #4
Alkamist
Human being with feelings
 
Join Date: Dec 2011
Posts: 506
Default

Just pushed an update (v1.1) to this script. Thanks to the user nofish:
Quote:
Originally Posted by nofish View Post
It's a function provided by SWS extension...
I was able to figure out how to save and restore the settings that this script changes to function.
Alkamist is offline   Reply With Quote
Old 07-29-2019, 06:43 AM   #5
Ozman
Human being with feelings
 
Join Date: Feb 2015
Posts: 753
Default

Gosh, I just found out about this.
I've been using ActonDev's Region/Folder Items for easy arrangement.
Gonna give this one a shot.
This is much appreciated.
Ozman is offline   Reply With Quote
Old 07-29-2019, 08:58 AM   #6
puddi
Human being with feelings
 
puddi's Avatar
 
Join Date: Jun 2018
Posts: 375
Default

Man, this is fantastic and makes general song arranging so much faster.

I instinctively want to drag the region and have all the contents move with it, but I'll just have to learn to clear items > update region. Perhaps there's a way to create a custom action that selects and sets a time selection to the region content so that I can move them all in one go. I'll try to figure that one out.

Anyway, great job on this one!
puddi is offline   Reply With Quote
Old 07-29-2019, 09:40 AM   #7
Alkamist
Human being with feelings
 
Join Date: Dec 2011
Posts: 506
Default

Thanks for the feedback!

Quote:
Originally Posted by puddi View Post
I instinctively want to drag the region and have all the contents move with it, but I'll just have to learn to clear items > update region. Perhaps there's a way to create a custom action that selects and sets a time selection to the region content so that I can move them all in one go. I'll try to figure that one out.
I do wish this was a possibility. There are a few hurdles to overcome with this which makes me believe it isn't viable.

The main hurdle is the automation, since you can't edit on more than one automation lane at a time. A possible solution would be to wrap all of the automation into automation items and then select them, but then you need to create an action to get rid of those automation items when you deselect. If you don't, you'll end up accumulating them. It is also a complete pain in the ass dealing with automation items in the API, since you have to reference them by index instead of pointer. You could easily lose track of the automation items created by the selection if you aren't careful.

The other hurdle is that Reaper doesn't properly handle the positioning of items with snap offsets in the presence of tempo changes. My update region items script corrects this. This isn't a problem if you aren't using snap offsets with tempo changes, but in the case that you are, when you move your region the positions of the items will become incorrect.

If you come up with a way to make this viable though let me know.
Alkamist is offline   Reply With Quote
Old 07-29-2019, 05:58 PM   #8
puddi
Human being with feelings
 
puddi's Avatar
 
Join Date: Jun 2018
Posts: 375
Default

Quote:
Originally Posted by Alkamist View Post
Thanks for the feedback!



I do wish this was a possibility. There are a few hurdles to overcome with this which makes me believe it isn't viable.

The main hurdle is the automation, since you can't edit on more than one automation lane at a time. A possible solution would be to wrap all of the automation into automation items and then select them, but then you need to create an action to get rid of those automation items when you deselect. If you don't, you'll end up accumulating them. It is also a complete pain in the ass dealing with automation items in the API, since you have to reference them by index instead of pointer. You could easily lose track of the automation items created by the selection if you aren't careful.

The other hurdle is that Reaper doesn't properly handle the positioning of items with snap offsets in the presence of tempo changes. My update region items script corrects this. This isn't a problem if you aren't using snap offsets with tempo changes, but in the case that you are, when you move your region the positions of the items will become incorrect.

If you come up with a way to make this viable though let me know.
Yeah, I totally understand and it's honestly just nitpicking considering how much this script speeds up the workflow overall.

I have one question though (and sorry if I'm unclear on anything):

So right now you can't really have folders within folders, each with their own pooled regions, and then update a region on the top folder without breaking the pool of the regions below it. Would it be possible to make this work somehow and have all these regions coexist?

It got me thinking, would it be possible to have an alternative script where region updates were based on item names instead of pool? Kind of like how the "Propagate to similarly named items on track" action works. If it was then I think it would solve everything, but since I'm a complete non-coding dingus I have no idea what I'm talking about so feel free to shoot me down.

Last edited by puddi; 07-29-2019 at 06:04 PM.
puddi is offline   Reply With Quote
Old 07-29-2019, 06:28 PM   #9
Alkamist
Human being with feelings
 
Join Date: Dec 2011
Posts: 506
Default

Quote:
Originally Posted by puddi View Post
Yeah, I totally understand and it's honestly just nitpicking considering how much this script speeds up the workflow overall.

I have one question though (and sorry if I'm unclear on anything):

So right now you can't really have folders within folders, each with their own pooled regions, and then update a region on the top folder without breaking the pool of the regions below it. Would it be possible to make this work somehow and have all these regions coexist?

It got me thinking, would it be possible to have an alternative script where region updates were based on item names instead of pool? Kind of like how the "Propagate to similarly named items on track" action works. If it was then I think it would solve everything, but since I'm a complete non-coding dingus I have no idea what I'm talking about so feel free to shoot me down.
Actually, if you go into your preferences and check "Pool MIDI source data when pasting or duplicating media items" it will do that.
Alkamist is offline   Reply With Quote
Old 07-29-2019, 07:09 PM   #10
puddi
Human being with feelings
 
puddi's Avatar
 
Join Date: Jun 2018
Posts: 375
Default

Quote:
Originally Posted by Alkamist View Post
Actually, if you go into your preferences and check "Pool MIDI source data when pasting or duplicating media items" it will do that.
Ah, yes but that pools every single item under the region which isn't exactly what I want. I would just want the pooled items to stay pooled and vice versa.

Seriously though, would it be possible to alter the script so it updated regions to similarly named items on the folder instead of items in the same pool? As in changing a couple of lines from "pool" to "name" (lol) or is the pooling system much deeper than that? I'm just curious.

Last edited by puddi; 07-29-2019 at 07:30 PM.
puddi is offline   Reply With Quote
Old 07-29-2019, 07:55 PM   #11
Alkamist
Human being with feelings
 
Join Date: Dec 2011
Posts: 506
Default

Quote:
Originally Posted by puddi View Post
Ah, yes but that pools every single item under the region which isn't exactly what I want. I would just want the pooled items to stay pooled and vice versa.

Seriously though, would it be possible to alter the script so it updated regions to similarly named items on the folder instead of items in the same pool? As in changing a couple of lines from "pool" to "name" (lol) or is the pooling system much deeper than that? I'm just curious.
I see. I don't think that would be too hard to do. All the MIDI pooling does is tell the script what to operate on. I could probably make a version that uses the item name instead. I'll see what I can do when I get the chance tomorrow.
Alkamist is offline   Reply With Quote
Old 07-29-2019, 08:10 PM   #12
puddi
Human being with feelings
 
puddi's Avatar
 
Join Date: Jun 2018
Posts: 375
Default

Quote:
Originally Posted by Alkamist View Post
I see. I don't think that would be too hard to do. All the MIDI pooling does is tell the script what to operate on. I could probably make a version that uses the item name instead. I'll see what I can do when I get the chance tomorrow.
Much appreciated, take your time!
puddi is offline   Reply With Quote
Old 07-30-2019, 07:56 AM   #13
Alkamist
Human being with feelings
 
Join Date: Dec 2011
Posts: 506
Default

Quote:
Originally Posted by puddi View Post
Much appreciated, take your time!
I just pushed an update (v1.2) that adds a default settings file. You can copy this settings file to the location and name of: "Scripts\Alkamist Scripts\Region Items\Region Items User Settings.lua", and change the value of the "selectRegionsByName" bool to true.

This should make it work like how you want. You should even be able to use any kind of item as a region item with this setting, although empty items will be less flexible since you can't add source offsets or fades to them.

I haven't extensively tested this, so it is entirely possible that there will be bugs and crashes. Let me know if anything strange happens.
Alkamist is offline   Reply With Quote
Old 07-30-2019, 09:27 AM   #14
puddi
Human being with feelings
 
puddi's Avatar
 
Join Date: Jun 2018
Posts: 375
Default

Quote:
Originally Posted by Alkamist View Post
I just pushed an update (v1.2) that adds a default settings file. You can copy this settings file to the location and name of: "Scripts\Alkamist Scripts\Region Items\Region Items User Settings.lua", and change the value of the "selectRegionsByName" bool to true.

This should make it work like how you want. You should even be able to use any kind of item as a region item with this setting, although empty items will be less flexible since you can't add source offsets or fades to them.

I haven't extensively tested this, so it is entirely possible that there will be bugs and crashes. Let me know if anything strange happens.
Holy crap, from the short testing I've done it works perfectly! Now I can comfortably update top-down in the folder hierarchy without any surprises. I will use this a lot so if I come across anything weird I'll let you know. Thanks a million!
puddi is offline   Reply With Quote
Old 07-30-2019, 10:03 AM   #15
Alkamist
Human being with feelings
 
Join Date: Dec 2011
Posts: 506
Default

Quote:
Originally Posted by puddi View Post
Holy crap, from the short testing I've done it works perfectly! Now I can comfortably update top-down in the folder hierarchy without any surprises. I will use this a lot so if I come across anything weird I'll let you know. Thanks a million!
Glad to hear it's working so far! Hopefully I didn't introduce any bugs.

Also, just pushed v1.2.1, which adds a user setting that will allow you to force MIDI pooling regardless of preferences, for the users who prefer to not have that preference enabled but want the script to pool items. I have this turned on by default at the moment.
Alkamist is offline   Reply With Quote
Old 07-30-2019, 04:38 PM   #16
puddi
Human being with feelings
 
puddi's Avatar
 
Join Date: Jun 2018
Posts: 375
Default

I noticed something strange happening to automation items on region update. They seem to reset to zero while regular automation copies fine. I tried with "selectRegionsByName" set to both true and false.

puddi is offline   Reply With Quote
Old 07-30-2019, 05:20 PM   #17
Alkamist
Human being with feelings
 
Join Date: Dec 2011
Posts: 506
Default

Quote:
Originally Posted by puddi View Post
I noticed something strange happening to automation items on region update. They seem to reset to zero while regular automation copies fine. I tried with "selectRegionsByName" set to both true and false.

I can't seem to reproduce that. Can you possibly send that project file or go into detail of the exact condition when it happens?

The way I deal with automation items in this script is extremely tedious and complicated. I'm not surprised to see some problems.
Alkamist is offline   Reply With Quote
Old 07-30-2019, 05:37 PM   #18
puddi
Human being with feelings
 
puddi's Avatar
 
Join Date: Jun 2018
Posts: 375
Default

Quote:
Originally Posted by Alkamist View Post
I can't seem to reproduce that. Can you possibly send that project file or go into detail of the exact condition when it happens?

The way I deal with automation items in this script is extremely tedious and complicated. I'm not surprised to see some problems.
I played around with some settings in the Preferences and think I found it. The culprit seemed to be "Trim content behind automation items when editing or writing automation". Disabling that fixed it for me.

Edit: Not having it enabled is somewhat of a pain in the butt though since it makes such a mess with overlapping automation items everywhere.

Last edited by puddi; 07-30-2019 at 05:52 PM.
puddi is offline   Reply With Quote
Old 07-30-2019, 05:49 PM   #19
Alkamist
Human being with feelings
 
Join Date: Dec 2011
Posts: 506
Default

Quote:
Originally Posted by puddi View Post
I played around with some settings in the Preferences and think I found it. The culprit seemed to be "Trim content behind automation items when editing or writing automation". Disabling that fixed it for me.
Interesting. Not sure why that setting should matter but I guess there's some sort of issue going on. I guess I'll have to see if I can make it so that setting gets auto disabled when the script is running. Thanks for finding that!
Alkamist is offline   Reply With Quote
Old 07-31-2019, 08:21 AM   #20
Arthur McArthur
Human being with feelings
 
Arthur McArthur's Avatar
 
Join Date: Sep 2016
Location: Toronto
Posts: 744
Default

Very cool Alkamist, this is replacing Acton's script for me, great work.

One request I have is for the script to work when running it on items within a Region Item's folder instead of only on the Region Items. So if you run it on a regular audio item it would check if there is a parent folder with a midi item on it above the item, then it would run the update from that midi item. This would allow for much quicker editing, rather than having to constantly re-select the Region Item to update it. Does this make sense?
Arthur McArthur is offline   Reply With Quote
Old 07-31-2019, 09:04 AM   #21
cool
Human being with feelings
 
Join Date: Dec 2017
Location: Sunny Siberian Islands
Posts: 957
Default

Quote:
Originally Posted by Arthur McArthur View Post
Very cool Alkamist, this is replacing Acton's script for me, great work.

One request I have is for the script to work when running it on items within a Region Item's folder instead of only on the Region Items. So if you run it on a regular audio item it would check if there is a parent folder with a midi item on it above the item, then it would run the update from that midi item. This would allow for much quicker editing, rather than having to constantly re-select the Region Item to update it. Does this make sense?
Something like that? (screenshot attached) If so, that would be incredibly cool. Technically, these are just midi notes, each of which has a duration like an item and a position like a track.

cool is offline   Reply With Quote
Old 07-31-2019, 09:20 AM   #22
Arthur McArthur
Human being with feelings
 
Arthur McArthur's Avatar
 
Join Date: Sep 2016
Location: Toronto
Posts: 744
Default

Quote:
Originally Posted by cool View Post
Something like that? (screenshot attached)
No I meant that when you run the Update Region Item script it should check if the selected items (whether audio or MIDI) are in a folder, and if they are, go to the topmost folder at the position of the selected items, select the region item there, and run the update script off of that.

It would allow us to focus on editing the selected items while hitting the update hotkey rather than having to constantly reselect the region item to run the script.

The screenshot you showed looks cool but I imagine it'd be very difficult to implement.
Arthur McArthur is offline   Reply With Quote
Old 07-31-2019, 09:27 AM   #23
Alkamist
Human being with feelings
 
Join Date: Dec 2011
Posts: 506
Default

Quote:
Originally Posted by Arthur McArthur View Post
Very cool Alkamist, this is replacing Acton's script for me, great work.

One request I have is for the script to work when running it on items within a Region Item's folder instead of only on the Region Items. So if you run it on a regular audio item it would check if there is a parent folder with a midi item on it above the item, then it would run the update from that midi item. This would allow for much quicker editing, rather than having to constantly re-select the Region Item to update it. Does this make sense?
Glad you like it!

I get what you mean. I like the idea in theory, but there are quite a few factors to consider.

The main complication I could see is that currently I am leaving it up to the user to decide what is and what isn't a region item. By selecting an item and running the script, you are telling it that the item you selected is a region item.

Since currently you can use nested region item structures, I can see some complications arising when navigating up the folder structure, especially since recently I added an option to use item names to determine what region items to update. A region item doesn't necessarily have to be a MIDI item anymore.

I'll have to think on it for a while and see what I can come up with.

Quote:
Originally Posted by cool View Post
Something like that? (screenshot attached) If so, that would be incredibly cool. Technically, these are just midi notes, each of which has a duration like an item and a position like a track.

He just means he wants to be able to update the parent region item by selecting a child item and running the script.

Although, the idea you show is very interesting. I would have to think for a while about how to pull something like that off.

The main complication would be how to decide what goes with each note.
Alkamist is offline   Reply With Quote
Old 07-31-2019, 10:11 AM   #24
Arthur McArthur
Human being with feelings
 
Arthur McArthur's Avatar
 
Join Date: Sep 2016
Location: Toronto
Posts: 744
Default

Quote:
Originally Posted by Alkamist View Post
The main complication I could see is that currently I am leaving it up to the user to decide what is and what isn't a region item. By selecting an item and running the script, you are telling it that the item you selected is a region item.
Right, barring having two separate scripts for topmost parent and immediate parent region item update, this does seem like it would work better with empty MIDI items as the paradigm. (IMO MIDI is better because of the ease pooling/unpooling MIDI versus changing the item name but I do get the point of having it flexible for any item.)

So maybe the "run on selected item's MIDI region item on topmost parent track" functionality could just be an option as well?

On another note, I had made a custom action for quick creation of Acton's Region Items. I updated it for this script as an idea:

https://imgur.com/a/mQH23Ry

https://imgur.com/a/VshgBCY

Ways it could be improved: if no time selection is set it should create one based around the measures of the selected items. Something like "kawa_MAIN_SetTimeSelectionBySelectedItem'sBar(mea sure).lua"
Arthur McArthur is offline   Reply With Quote
Old 07-31-2019, 11:13 AM   #25
puddi
Human being with feelings
 
puddi's Avatar
 
Join Date: Jun 2018
Posts: 375
Default

Quote:
Originally Posted by cool View Post
Something like that? (screenshot attached) If so, that would be incredibly cool. Technically, these are just midi notes, each of which has a duration like an item and a position like a track.

That would be pretty cool indeed.


Quote:
Originally Posted by Alkamist View Post
Although, the idea you show is very interesting. I would have to think for a while about how to pull something like that off.

The main complication would be how to decide what goes with each note.
I guess for a start it could only have a set amount of notes you could use in the MIDI track (let's say 8, from C1-G1, like a basic drum machine) and the bottom track in the folder would always be C1, second up C#1 and so on. If you only had one track in the folder it would be C1. But yeah, sounds like an impossible task to me.
puddi is offline   Reply With Quote
Old 07-31-2019, 04:43 PM   #26
Alkamist
Human being with feelings
 
Join Date: Dec 2011
Posts: 506
Default

Quote:
Originally Posted by Arthur McArthur View Post
Right, barring having two separate scripts for topmost parent and immediate parent region item update, this does seem like it would work better with empty MIDI items as the paradigm. (IMO MIDI is better because of the ease pooling/unpooling MIDI versus changing the item name but I do get the point of having it flexible for any item.)
I just pushed version 1.3.1, which includes 2 new actions:

- Update Parent Region Items of Selected Items.lua
- Update Selected Region Items and Parent Region Items of Selected Items.lua

I believe these should work how you are wanting. I ended up having item updates go up the parent tracks until they hit the top. I haven't tested them super thoroughly, so please let me know if anything isn't working right.

Quote:
Originally Posted by puddi View Post
I guess for a start it could only have a set amount of notes you could use in the MIDI track (let's say 8, from C1-G1, like a basic drum machine) and the bottom track in the folder would always be C1, second up C#1 and so on. If you only had one track in the folder it would be C1. But yeah, sounds like an impossible task to me.
Assigning a track to a note probably wouldn't be a problem, it's more so deciding on what item/automation content gets put into each note on a time basis. Like if you have 4 repeating of the same note, what content under which note gets copied? The only solution I can think of is having the content under the first note be what determines the content of the rest.
Alkamist is offline   Reply With Quote
Old 07-31-2019, 06:33 PM   #27
Arthur McArthur
Human being with feelings
 
Arthur McArthur's Avatar
 
Join Date: Sep 2016
Location: Toronto
Posts: 744
Default

Just gave it a spin and looks like the new scripts are not working for me atm:

https://imgur.com/a/puJO4q2

On Windows 10 64
Arthur McArthur is offline   Reply With Quote
Old 07-31-2019, 07:05 PM   #28
Alkamist
Human being with feelings
 
Join Date: Dec 2011
Posts: 506
Default

Quote:
Originally Posted by Arthur McArthur View Post
Just gave it a spin and looks like the new scripts are not working for me atm:

https://imgur.com/a/puJO4q2

On Windows 10 64
I think I fixed it now. Uninstall and reinstall version 1.3.1. I horribly messed something up with reapack-index because I'm still pretty new with it. Sorry about that!
Alkamist is offline   Reply With Quote
Old 07-31-2019, 07:27 PM   #29
puddi
Human being with feelings
 
puddi's Avatar
 
Join Date: Jun 2018
Posts: 375
Default

Quote:
Originally Posted by Alkamist View Post
Assigning a track to a note probably wouldn't be a problem, it's more so deciding on what item/automation content gets put into each note on a time basis. Like if you have 4 repeating of the same note, what content under which note gets copied? The only solution I can think of is having the content under the first note be what determines the content of the rest.
Ah, I didn't even consider automation. I just thought of it as a cool, hybrid way to lay down drums, with the benefits of both MIDI and audio. I think underlying stuff should only be copied on a per-item basis and not per-note, but I don't really know.
puddi is offline   Reply With Quote
Old 08-01-2019, 09:57 AM   #30
Ozman
Human being with feelings
 
Join Date: Feb 2015
Posts: 753
Default

Quote:
Originally Posted by Alkamist View Post
Glad you like it!



He just means he wants to be able to update the parent region item by selecting a child item and running the script.

Although, the idea you show is very interesting. I would have to think for a while about how to pull something like that off.

The main complication would be how to decide what goes with each note.
Ya know, that actually looks like the workings an Arranger Track Item.
Ozman is offline   Reply With Quote
Old 10-02-2019, 09:24 AM   #31
inspired
Human being with feelings
 
inspired's Avatar
 
Join Date: Dec 2010
Posts: 271
Default

Hi there! Can't wait to test this! I did my version of region items back in the day, but yours has nice new features! (propper automation support & time stretch!!)

Also I like your idea about the item snap and midi fade is really!

Congrats and thanks!
__________________
My ReaScripts
inspired is offline   Reply With Quote
Old 10-02-2019, 02:22 PM   #32
Alkamist
Human being with feelings
 
Join Date: Dec 2011
Posts: 506
Default

Quote:
Originally Posted by inspired View Post
Hi there! Can't wait to test this! I did my version of region items back in the day, but yours has nice new features! (propper automation support & time stretch!!)

Also I like your idea about the item snap and midi fade is really!

Congrats and thanks!
Thanks for the feedback! I hope it suits your needs!
Alkamist is offline   Reply With Quote
Old 03-25-2023, 09:46 AM   #33
jason3.14
Human being with feelings
 
Join Date: Dec 2019
Posts: 12
Default

Hi Alkamist - This is really cool! Overall I'm just having trouble getting it to work consistently.

I think much of it might be related to items being outside the bounds of the region not copying over at all, whether destination fades are set or not. This often makes it so I have to make sure the destination region is exactly the same size as the source region - which is probably good enough for my purposes, but flexibility would be an added bonus! Picture is attached.

Thanks!
Jason
Attached Images
File Type: png Region Items.png (28.0 KB, 31 views)

Last edited by jason3.14; 03-25-2023 at 10:26 AM.
jason3.14 is offline   Reply With Quote
Old 03-28-2023, 12:35 PM   #34
Alkamist
Human being with feelings
 
Join Date: Dec 2011
Posts: 506
Default

Quote:
Originally Posted by jason3.14 View Post
Hi Alkamist - This is really cool! Overall I'm just having trouble getting it to work consistently.

I think much of it might be related to items being outside the bounds of the region not copying over at all, whether destination fades are set or not. This often makes it so I have to make sure the destination region is exactly the same size as the source region - which is probably good enough for my purposes, but flexibility would be an added bonus! Picture is attached.

Thanks!
Jason
Hello. I am not sure exactly what the problem is just by the picture, but it looks like you want an item that starts before the region to copy with the region. It has been a long time since I've used or looked at the code for this script but I remember programming it so that you can use a snap marker on items outside the region to have them be considered inside.
Alkamist 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 03:24 PM.


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