Old 10-23-2019, 04:48 AM   #1
BirdBird
Human being with feelings
 
BirdBird's Avatar
 
Join Date: Mar 2019
Posts: 428
Default Building Blocks

- Intro -
When developing musical ideas or songs it is quite often necessary to use blocks of elements that can be copied around a project and reused. Most modern songs can be condensed to fairly large building blocks of:
* instruments
* song sections
Having a structure that can represent a mixture of these groups is immensely valuable to the user as it:
* helps sketching out tracks/making demo tracks
* makes it easier to reuse the elements of a song
* speeds up making changes to the elements during the production of a song significantly
* makes it easier to utilize layered elements in a song
These benefits all stack up and help the creator:
* write better songs
* use their time more efficiently
* enjoy using the software more as they are freed from significant chunk of the manual labor

In the following image i have broken down a Zedd song called "The Middle" released in 2018 down to its "building blocks":
(Larger image with everything easier to read, please open this link in new tab: https://i.imgur.com/I6HOQIs.png)
(Song Link: https://www.youtube.com/watch?v=Lj6Y6JCu-l4)



Every single colored rectangle under the song regions in the image is a "building block".
A "building block" is a group of song elements, that the creator might want to copy and reuse around the project.
They might also want to tweak one of the building blocks, and have the changes reflected to other similarly named building blocks in the project.

Why not use subprojects?
1) It is almost always necessary to tweak the elements of a song in the context of the song. Attempting this with subprojects would be like trying to open a door in another part of your house using a string tied to its door knob.

2) It would be very time consuming to do this with subprojects looking at the number of building blocks in the example provided above. It could also get very hard to manage all the projects.

------------------------------------------

- Building Blocks-
I am not the first person to think of this feature to be implemented into Reaper. While searching i have came across lots of great threads that discuss the workflow benefits of having a structure like it, and multiple reascript developers attempting to implement this behaviour. I have linked some of the best ones below:


https://forum.cockos.com/showthread....94#post1979094 - A thread created by the user enroe, explaining the need for this feature with brilliant visuals and presentation. I would recommend reading it even if you don't care about this functionality.

https://forum.cockos.com/showthread.php?t=193258 - A thread created by the user Tristam exploring the need for the functionality and proposing a similar solution, again with brilliant visuals.

https://forum.cockos.com/showthread.php?t=205731 - Thread created by bFooz where he shows a script he has created that somewhat recreates folder items feature in Cubase.

https://forum.cockos.com/showthread.php?t=17664 - Another thread created by beatbybit way back in 2008 that discusses the functionality.

Another thread, with a twist:
https://forum.cockos.com/showthread.php?t=210354 - Thread created by vanhaze where he showcasing the wonderful script he is developing to provide structures to copy items around, further discussion about why this feature is useful in the thread.

As such i have also attempted to implement a pooled structure on top of this myself. However currently there are a couple of roadblocks that make this hard (if not impossible) for reascript developers:
There is no way to pool audio items. This means changes made to audio items in "building blocks" have to be propagated manually. A solution to develop this using a script would be:
* track changes in audio item state
* auto propagate the changes using the native action
heda has a script that does this in this thread: https://forum.cockos.com/showthread.php?t=156127

However this is really slow (if not impossible to use) when using take-FX.
I don't know what auto propagate does in the background, but if it calls GetItemStateChunk/SetItemStateChunk like mpl has stated in the thread it would explain the slowdown when using take-FX.

Another approach would be:
* track changes in audio item state
* copy and paste the item wherever necessary when a change has been made
However this is currently really hard to do. Because it is not possible to duplicate audio items using the reascript api, so you have to either:
*copy item state chunks to other audio items, this is very slow
*use native actions to copy the items around, which uses the edit cursor and distrupts the users arrange view position (and is also very slow when using take-FX)
Pooled audio items would solve all of these issues.

- Pooled Audio Items -

Here are some threads discussing the ability to pool/ghost copy audio items:

https://forum.cockos.com/showthread.php?t=37097 - A thread created way back in 2009 by stk asking for this feature.

https://forums.cockos.com/showthread.php?p=1570299 - A thread created by HarryPalms in 2015 in the search for pooled audio items. The answer in the thread is propagating the changes manually. heda currently has an auto-propagate script that simplifies this process. However there are caveats with it as discussed above.

------------------------------------------

- My Feature Request -

1) Ability to pool/ghost copy audio items
2) Pooled Media Item Groups

Media item groups already exist in REAPER, pooled media item groups combined with pooled audio items can provide all of the functionality needed for creating "building blocks". Some ideas to handle the user interaction would be:

A) The media item groups would let you assign a "parent" media item. All the other media items in the group would keep their position relative to the parent when the parent is moved, but not when the child items are manipulated individually.
The parent media item could be used to move, copy and pool copy the groups. This would let the user make tweaks to the child items in the groups, and use the parent items to manage the groups.

B) A visual box (or maybe a small rectangle) could be created above the media items like the users enroe and Tristam have suggested to move, copy and pool copy the groups. This would let the user modify the contents of the group like they modify every other media item and use the box/rectangle to manage the group.



- Personal Note -
It took me over 7 hours to put together all of this post, on top of researching other threads. I would love to hear back your opinion on it. Thank you for reading.

Last edited by BirdBird; 10-23-2019 at 05:40 AM.
BirdBird is offline   Reply With Quote
Old 10-23-2019, 11:31 AM   #2
enroe
Human being with feelings
 
Join Date: Nov 2017
Posts: 1,586
Default

Yes! Thank you for gathering all the links!
You will find a general discussion also here.
__________________
free mp3s + info: andy-enroe.de songs and weird stuff: enroe.de
enroe is offline   Reply With Quote
Old 10-23-2019, 12:24 PM   #3
ivansc
Human being with feelings
 
Join Date: Aug 2007
Location: Near Cambridge UK and Near Questembert, France
Posts: 22,754
Default

This is SO funny! Exactly what I have been asking for for several years, but you have done a much better job of explaining it than I could. Bars n Pipes Pro on the Amiga computer had a very similar arrange system which cut my workflow massively when authoring MIDI backing tracks. I SO hope your explanation catches some other people`s attention, notably the devs.!!
__________________
Ici on parles Franglais
ivansc is offline   Reply With Quote
Old 11-26-2020, 06:44 PM   #4
Dinesh Kumar
Human being with feelings
 
Join Date: Nov 2020
Location: India, Chennai
Posts: 1
Default

Have u got this feature to work in Reaper 2020 November?
Dinesh Kumar is offline   Reply With Quote
Old 11-27-2020, 12:20 AM   #5
enroe
Human being with feelings
 
Join Date: Nov 2017
Posts: 1,586
Default

Quote:
Originally Posted by Dinesh Kumar View Post

Have u got this feature to work in Reaper 2020 November?
Hello Dinesh!

Welcome to the Reaper Forum. I hope you are well.
To answer your question: No, this feature is
currently not implemented in Reaper.

And to be honest: Nobody knows if this feature
will ever come, and if so, when.

If you want to use Reaper for recording, then the
subprojects are the only workaround, but - as
already discussed - extremely laborious and
tedious.
__________________
free mp3s + info: andy-enroe.de songs and weird stuff: enroe.de
enroe is offline   Reply With Quote
Old 11-27-2020, 04:15 AM   #6
AZpercussion
Human being with feelings
 
Join Date: Oct 2019
Location: Moscow / Tbilisi
Posts: 912
Default

So, we have a two features, which both need to implement:
boxes for items on one track - https://forum.cockos.com/showthread.php?t=205643
boxes for items on different tracks - https://forum.cockos.com/showthread.php?t=193258

I see the difference, because boxes on different tracks more like grouping with pool ability; and boxes on one track more like meta-items, wich can be used as a take to duplicate for change, put fx on it, render as new take.

So, boxes on one track have a wider range of uses.
It helps with arrangement, editing, and mixing.

But for global rearrange, music composing, boxes for items on different tracks still need.
AZpercussion is offline   Reply With Quote
Old 12-01-2020, 03:42 PM   #7
enroe
Human being with feelings
 
Join Date: Nov 2017
Posts: 1,586
Default

@AZpercussion: Good summary!
__________________
free mp3s + info: andy-enroe.de songs and weird stuff: enroe.de
enroe is offline   Reply With Quote
Old 12-04-2020, 08:09 AM   #8
Ericson
Human being with feelings
 
Join Date: Jun 2019
Location: Rotterdam
Posts: 94
Default

This would be a game changer
Ericson is offline   Reply With Quote
Old 09-13-2021, 01:52 AM   #9
ErikL
Human being with feelings
 
Join Date: Oct 2020
Posts: 18
Default

Thank you for taking the time to write this out. This is my #1 complaint about REAPER. It feels very strange that there aren't pooled audio items, and that plus the other ideas you mention would significantly improve my workflow.
ErikL is offline   Reply With Quote
Old 09-17-2021, 10:51 AM   #10
enroe
Human being with feelings
 
Join Date: Nov 2017
Posts: 1,586
Default

Quote:
Originally Posted by ErikL View Post
... This is my #1 complaint about REAPER. It feels very strange that there aren't pooled audio items, ...
I feel the same way.
__________________
free mp3s + info: andy-enroe.de songs and weird stuff: enroe.de
enroe is offline   Reply With Quote
Old 03-25-2022, 12:15 AM   #11
MonkeyBars
Human being with feelings
 
MonkeyBars's Avatar
 
Join Date: Feb 2016
Location: Hollyweird
Posts: 2,637
Default

I have created my version of this feature in ReaScript: it's called Superglue. Check it out here.
MonkeyBars is offline   Reply With Quote
Old 04-29-2022, 08:40 AM   #12
futurewy
Human being with feelings
 
futurewy's Avatar
 
Join Date: Mar 2018
Posts: 19
Default

marvelous! This is an amazingly good idea!
futurewy is offline   Reply With Quote
Old 04-29-2022, 09:51 AM   #13
mtk
Human being with feelings
 
Join Date: Sep 2019
Posts: 85
Default

100%, project management should be much more ‘modular’.

There was sth like item container released in dev version around 19th April 2021 but then suddenly it was dropped in the next release.

Recently I was thinking about some simple solution for this case, sth like “fixed razor selection” to be able to make a razor selection for certain arrangement area and lock it for as long as you need + maybe add some additional options:
- pool
- loop
- mute
- solo
- fades
- stretch
- color
- name
- pitch
- vol/pan
- …


But in general, I think we need 2 types of containers at the current state in Reaper:

1) track containers/folders
- this should work like subproject but without the necessity to render result each time because of the reasons mentioned above in the first post
- with pooling, looping, etc.

2) item containers
- to group a few items on the same track/lane
- with pooling/looping, etc. as well


*) and ofc fx containers maybe one day, but this is a different purpose and a different story
- adding pooling to fx containers may be interesting, btw.
mtk is offline   Reply With Quote
Old 04-29-2022, 11:10 AM   #14
MonkeyBars
Human being with feelings
 
MonkeyBars's Avatar
 
Join Date: Feb 2016
Location: Hollyweird
Posts: 2,637
Default

Quote:
Originally Posted by mtk View Post
2) item containers
- to group a few items on the same track/lane
- with pooling/looping, etc. as well
Ahem, to repeat myself, I created this feature. Download it for free here
MonkeyBars 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 10:22 AM.


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