Old 06-15-2019, 04:39 PM   #1
Joystick
Human being with feelings
 
Joystick's Avatar
 
Join Date: Jul 2008
Location: Athens / Greece
Posts: 625
Default Prefabs in Reaper

Prefabs is a name for the feature that I took from the Unity game engine.

They could be called aliases, pooled objects, globals, or whatever.

The feature simply suggests that such ability exists within a Reaper project, that allows a user to save and create linked clones of an item or track or plugin preset, to aid and accelerate production, by saving time and compartmentalize the way a project's logic is organized for the user.

A nice video showcasing the functionality in it's full extend can be found here:
https://www.youtube.com/watch?v=ibmdm_PoyMA

A quick description of the idea.

The major parts of Reaper's workflow: media items, tracks and plugin presets, should be able to be saved as a pooled or alias version, in a true object-oriented philosophy of information handling.

It's almost the same thing as having what Reaper calls "pooled MIDI items".

If you watch the video link above you will understand exactly what I'm saying here.

That way, we could have items that we use throughout the project and then, when we change one of those, all the rest that are aliased, change together.

That way we could easily create primary, secondary and tertiary design elements in sound effects design workflows for sfx libraries or games or of course sampled instruments content design.

Furthermore, it would enhance the workflow of music production. Being able to save a music track prefab for the tracks that have the most priority in the song and then change one track, changes the rest of those too.

This is already happening in many media authoring environments.
- Unity calls them prefabs.
- Fmod Studio calls them Preset Effect Chains (Fmod only uses this in effect presets)
- Affinity Designer calls the Symbols
- Scrivener calls them Placeholder Tags
enroe (thanks!) from the forums also noted:
- Cubase calls them Shared Parts
- Apple Logic calls them Aliases - of Midis, Audios and Folders
- Reaper calls them Pooled Items - but only for single Midi-Items

And many more.

Many Reaper user's ask for pooled audio items functionality. This feature here would be able to provide that and much-much more.

Stretching the idea, having parent-child relationships with those items, can create intricate projects that would accelerate production a lot.

After all, information architecture and computer interfaces can give as audio producers so much more that the old recorder-mixer setups that we all know. Adding that kind of information structure and linking within the DNA of Reaper's audio authoring environment would be really great. Imagine the possibilities when we add the scripting, actions, awesome routing and organization capabilities that Reaper already offers, together with the ability to create data models and control them en mass.

In Affinity Designer for example, if you duplicate a symbol and go on the 2nd symbol and change the angle to +10° and then press duplicate again, the 3rd symbol will be +20° from the 1st one. This is used to make sprite-sheets. Same methods could work miracles when designing the sound items for a sampled instrument. Duplicating a prefab (that's how I call them now in my head :-P) and moving the 2nd prefab's fade-out -300ms and then duplicating this again, would create a 3rd one with -600ms fade-out from the 1st one. Here's how this works in Affinity Designer, the feature is called "Power Duplicate": https://vimeo.com/110124748

Here's how this data linking works in Affinity designer: https://affinity.help/designer/en-US...?title=Symbols

As a sound designer, this would give me great agility when create spell effects, synthesized weapons and other similarly styled sounds.

I write this idea here, and I'm sure that, as always the awesome community in those forums will have very interesting things to add.

Again, watch the video link above, as it really shows the whole idea within 7 minutes or less.

Thanks for reading this, thanks for your time!
__________________
Pan Athen
SoundFellas Immersive Audio Labs
www.soundfellas.com

Last edited by Joystick; 06-16-2019 at 04:11 AM. Reason: Added more definitions on other apps, thanks enroe!
Joystick is offline   Reply With Quote
Old 06-15-2019, 11:40 PM   #2
enroe
Human being with feelings
 
Join Date: Nov 2017
Posts: 1,576
Default

Quote:
Originally Posted by Joystick View Post
This is already happening in many media authoring environments:

- Unity calls them "Prefabs".
- Fmod Studio calls them "Preset Effect Chains" (Fmod only uses this in effect presets)
- Affinity Designer calls the "Symbols"
- Scrivener calls them "Placeholder Tags"
- Cubase calls them "Shared Parts"
- Apple Logic calls them "Aliases" - of Midis, Audios and Folders
- Reaper calls them "Pooled Items" - but only for single Midi-Items!
__________________
free mp3s + info: andy-enroe.de songs and weird stuff: enroe.de
enroe is online now   Reply With Quote
Old 06-15-2019, 11:48 PM   #3
enroe
Human being with feelings
 
Join Date: Nov 2017
Posts: 1,576
Default

Quote:
Originally Posted by Joystick View Post
The major parts of Reaper's workflow: media items, tracks and plugin presets, should be able to be saved as a pooled or alias version, in a true object-oriented philosophy of information handling.

That way, we could have items that we use throughout the project and then, when we change one of those, all the rest that are aliased, change together. That way we could easily create primary, secondary and tertiary design elements in sound effects design workflows for sfx libraries or games or of course sampled instruments content design.

Furthermore, it would enhance the workflow of music production. Being able to save a music track prefab for the tracks that have the most priority in the song and then change one track, changes the rest of those too.
Yes yes!

Your request is not only a small slight "thing".

No! Instead it is very essential for any DAW. It is a
structural element - for software developing, for DAWs
and for any creative tool.

We had this already being discussed here - with a poll!
__________________
free mp3s + info: andy-enroe.de songs and weird stuff: enroe.de
enroe is online now   Reply With Quote
Old 06-16-2019, 04:25 AM   #4
Joystick
Human being with feelings
 
Joystick's Avatar
 
Join Date: Jul 2008
Location: Athens / Greece
Posts: 625
Default

Quote:
Originally Posted by enroe View Post
Yes yes!

Your request is not only a small slight "thing".

No! Instead it is very essential for any DAW. It is a
structural element - for software developing, for DAWs
and for any creative tool.

We had this already being discussed here - with a poll!
I saw the discussion yesterday while researching for this request.

Thanks for reminding me as I forgot to vote. I voted now.

There are many ways to do that, in Affinity designer there is a special panel where the user can actually select to create a "Symbol" as they call them. The great thing is that in this panel there is a capability to deactivate the sync for a symbol, so it temporarily unlocks it's linkage with the rest of the symbols in the project, allowing for changes in any instance without affecting the rest.

Then, the user can activate the linkage again and everything that does to one symbol is reflected to the others. What was changed while un-linked is not affected, unless the user changes that specific property.

In Unity prefabs the functionality is way more advanced and efficient, allowing the creator to iterate different mutations of an item very fast and with precision, and most importantly, with consistency to her/his design.

I really can't stress enough the impact of such philosophy in a tool. I hope that the wise people behind Reaper's development, will take it under consideration and implement it in a very intuitive way (as they always do).

Good stuff!
__________________
Pan Athen
SoundFellas Immersive Audio Labs
www.soundfellas.com
Joystick is offline   Reply With Quote
Old 07-28-2021, 03:54 AM   #5
TonE
Human being with feelings
 
Join Date: Feb 2009
Location: Reaper HAS send control via midi !!!
Posts: 4,031
Default

Just a crazy side thought: Why not representing audio as content in RS5k, thus midifying it, then using the usual pooled copy feature. If you want to change it, update RS5k content, in a single place, it would auto-update all its pooled copy positions. Just a side thought, until there is a direct way.
TonE is offline   Reply With Quote
Old 07-28-2021, 04:59 AM   #6
Joystick
Human being with feelings
 
Joystick's Avatar
 
Join Date: Jul 2008
Location: Athens / Greece
Posts: 625
Default

Quote:
Originally Posted by TonE View Post
Just a crazy side thought: Why not representing audio as content in RS5k, thus midifying it, then using the usual pooled copy feature. If you want to change it, update RS5k content, in a single place, it would auto-update all its pooled copy positions.
Thanks for the tip, this is actually a good idea and I already tried to go down that path, but it restricts many of the powers that Reaper has in the timeline, also it's not so easy to manage with immersive audio mixing. It's similar to using linked files in Photoshop or Affinity and re-importing Blender files in Unity.

I'm sure that when and if Prefabs get implemented in Reaper's core, it's going to be a really powerful feature for sound design and any of its applications.
__________________
Pan Athen
SoundFellas Immersive Audio Labs
www.soundfellas.com
Joystick is offline   Reply With Quote
Old 08-17-2021, 09:57 AM   #7
enroe
Human being with feelings
 
Join Date: Nov 2017
Posts: 1,576
Default

Quote:
Originally Posted by Joystick View Post
I really can't stress enough the impact of such philosophy in a tool. I hope that the wise people behind Reaper's development, will take it under consideration and implement it in a very intuitive way (as they always do).

Good stuff!
Yes exactly, this can only be underlined.
__________________
free mp3s + info: andy-enroe.de songs and weird stuff: enroe.de
enroe is online now   Reply With Quote
Old 08-17-2021, 09:46 PM   #8
tonalstates
Human being with feelings
 
tonalstates's Avatar
 
Join Date: Jun 2020
Posts: 656
Default

This would be amazing +1 also cool to have inspiration from other type of software not just other DAW's
tonalstates is online now   Reply With Quote
Old 08-21-2021, 01:44 AM   #9
enroe
Human being with feelings
 
Join Date: Nov 2017
Posts: 1,576
Default

Quote:
Originally Posted by Joystick View Post

... and everything that does to one symbol is reflected to the others.
Yeah, that would be too nice if we had it in Reaper too.

Let's just stick to making music and have a look at DAWs:
Since the very beginning music always has consisted of
repetitions. Any arbitrary string of notes is actually not perceived
as music. Only when certain sections are repeated does a melody
become recognizable; this is the process in which music is
created. Johann Sebastian Bach allowed the art of composing,
and thus also of repetitions in different variations, to rise to its
peak.

With today's modern DAWs this "repetition" is optimally
supported, and so composing songs is really easy today.
But not so with Reaper! Pity!

You can find a more general approach to this problem here.
__________________
free mp3s + info: andy-enroe.de songs and weird stuff: enroe.de
enroe is online now   Reply With Quote
Old 08-21-2021, 05:42 PM   #10
Joystick
Human being with feelings
 
Joystick's Avatar
 
Join Date: Jul 2008
Location: Athens / Greece
Posts: 625
Default

Quote:
Originally Posted by enroe View Post
You can find a more general approach to this problem here.
In CG programs and interactive entertainment authoring applications they use the stochastic approach I describe to create the organic feeling of the real world.

This can be applied to music, especially any music that uses a stochastic way of thinking, but it's also very usable in sound design and sample-based digital musical instruments.

A look at how Unity Prefabs work shows one of the best implementation of the philosophy and it's a revolutionary feature.
__________________
Pan Athen
SoundFellas Immersive Audio Labs
www.soundfellas.com
Joystick is offline   Reply With Quote
Old 08-21-2021, 09:05 PM   #11
bobobo
Human being with feelings
 
bobobo's Avatar
 
Join Date: Oct 2014
Posts: 1,356
Default

@enroe .. sorry meant @joystick in first place

have you ever used subprojects?

read about it in in the docs chapter 12.23

subs are audio representations (renderings) of other reaperprojects that can be used as items

greetings

Last edited by bobobo; 08-23-2021 at 03:08 PM.
bobobo is offline   Reply With Quote
Old 08-22-2021, 04:43 AM   #12
enroe
Human being with feelings
 
Join Date: Nov 2017
Posts: 1,576
Default

Quote:
Originally Posted by Joystick View Post

In CG programs and interactive entertainment authoring applications they use the stochastic approach I describe to create the organic feeling of the real world.

This can be applied to music, especially any music that uses a stochastic way of thinking, but it's also very usable in sound design and sample-based digital musical instruments.

A look at how Unity Prefabs work shows one of the best implementation of the philosophy and it's a revolutionary feature.
Interesting idea.

In the manual of "Unity" we can read:

Quote:
Any edits that you make to a Prefab Asset are automatically reflected in the instances of that Prefab, allowing you to easily make broad changes across your whole Project without having to repeatedly make the same edit to every copy of the Asset.
But I wouldn't call it "revolutionary" because it is simply part
of good game software. And a good DAW.

What Reaper needs to fill that one void is just a simple box that
encloses audio clips on a single track.

__________________
free mp3s + info: andy-enroe.de songs and weird stuff: enroe.de
enroe is online now   Reply With Quote
Old 08-22-2021, 01:13 PM   #13
swiiscompos
Human being with feelings
 
swiiscompos's Avatar
 
Join Date: Mar 2011
Location: London
Posts: 1,211
Default

I have a workflow that uses scripts and item notes to propagate information to copies of the item. The cool thing is that I can choose which information I want to propagate every time.
swiiscompos is offline   Reply With Quote
Old 08-22-2021, 01:42 PM   #14
Joystick
Human being with feelings
 
Joystick's Avatar
 
Join Date: Jul 2008
Location: Athens / Greece
Posts: 625
Default

Quote:
Originally Posted by enroe View Post
But I wouldn't call it "revolutionary" because it is simply part
of good game software. And a good DAW.

What Reaper needs to fill that one void is just a simple box that
encloses audio clips on a single track.
Not quite, Prefabs in Unity have much deeper functionality.

There are Prefabs, Nested Prefabs, Prefab Variants, and Prefab Overrides. Did you saw the video reference from my original proposal?

I'll post it again, check it out: https://www.youtube.com/watch?v=ibmdm_PoyMA

It shows all the functionality which is not as simple as you describe.

It's a great information architecture philosophy, very useful as a management and productivity feature in scenarios of music, stochastic music and sound design, and organic or hybrid sample-based musical instruments development.
__________________
Pan Athen
SoundFellas Immersive Audio Labs
www.soundfellas.com
Joystick is offline   Reply With Quote
Old 08-22-2021, 01:45 PM   #15
Joystick
Human being with feelings
 
Joystick's Avatar
 
Join Date: Jul 2008
Location: Athens / Greece
Posts: 625
Default

Quote:
Originally Posted by swiiscompos View Post
I have a workflow that uses scripts and item notes to propagate information to copies of the item. The cool thing is that I can choose which information I want to propagate every time.
One of the features is selective properties propagation, yes!

But if implemented as a low level information architecture under the hood of Reaper, it can expand to much more than that.

Please check the video of the Unity Prefabs I posted on my comment above.

Also imagine that by implementing the low level model of that, you can also do power-duplication which also re-enacts the changes between the last and current copies. See here: https://vimeo.com/110124748
__________________
Pan Athen
SoundFellas Immersive Audio Labs
www.soundfellas.com
Joystick is offline   Reply With Quote
Old 08-23-2021, 02:41 AM   #16
enroe
Human being with feelings
 
Join Date: Nov 2017
Posts: 1,576
Default

Quote:
Originally Posted by bobobo View Post
@enroe

have you ever used subprojects? ...
greetings
Thank you for bringing up subprojects.

And the answer is: "Yes". Subprojects are one of the
workarounds - and the topic is here - and a little more
detailed again here. Maybe you need to scroll down a little.

__________________
free mp3s + info: andy-enroe.de songs and weird stuff: enroe.de
enroe is online now   Reply With Quote
Old 08-23-2021, 02:45 AM   #17
enroe
Human being with feelings
 
Join Date: Nov 2017
Posts: 1,576
Default

Quote:
Originally Posted by swiiscompos View Post
I have a workflow that uses scripts and item notes to propagate information to copies of the item. The cool thing is that I can choose which information I want to propagate every time.
Ohh yes, if that works for you - wonderful!

In general, however, we have a lot of audio clips at one point that
overlap each other and have a lot of crossfades. And in this case
propagation doesn't work.
__________________
free mp3s + info: andy-enroe.de songs and weird stuff: enroe.de
enroe is online now   Reply With Quote
Old 08-23-2021, 03:13 AM   #18
enroe
Human being with feelings
 
Join Date: Nov 2017
Posts: 1,576
Default

Quote:
Originally Posted by Joystick View Post

Not quite, Prefabs in Unity have much deeper functionality ...
Haja, yes, I completely understand the "prefab" concept,
don't worry! The company Emagic set up exactly the same
concept with their DAW "Logic Audio" (now Apple Logic)
back in 1996: Here the "Prefabs" are simply called "Folder"
- and the name of the software "Logic" is even derived from
its "Logical Hierarchical Folder Concept".

And that means that you could put any items and tracks into
a "folder". You can of course put items and folders into folders
- then you have another folder in a folder. Each folder can
be referenced, and the contents can also be referenced or
copied as original. So you have a hierarchy of folders and
complex references. And of course you can view an open folder
for the arrangement synchronously in the Logic DAW - or not.
So a wealth of possibilities for modular song structures!

I can see that this hierarchical referencing concept was
also pushed very far in "Unity". Fantastic!

But let's get back to Reaper:

Reaper is Reaper, and it would be an illusion to believe that
Reaper would turn into a different kind of DAW. Reaper is
pretty good the way it is, and it has other important advantages.

When it comes to composing and putting together songs,
however, one glaring disadvantage is quickly apparent.
I have described this in detail here.

For practicality - and given the small development crew - I
simply suggest a small thing, a small first step. And that is:

A simple box that encloses audio clips on a single track.

I think that this increases the likelihood that this void
will be filled in Reaper at some point. In a second step,
this box could then be given capabilities such as "pool-copy".
And maybe a few more steps would follow. But first the first
step
has to be taken. And this first step could be:

A simple box that encloses audio clips
on a single track.



PS: Confucius already said: Even a long journey begins with
the first step!
__________________
free mp3s + info: andy-enroe.de songs and weird stuff: enroe.de
enroe is online now   Reply With Quote
Old 08-23-2021, 03:46 PM   #19
Joystick
Human being with feelings
 
Joystick's Avatar
 
Join Date: Jul 2008
Location: Athens / Greece
Posts: 625
Default

Quote:
Originally Posted by enroe View Post
it would be an illusion to believe that
Reaper would turn into a different kind of DAW.[/color]
In general, Reaper is a different kind of DAW in its DNA.

Quote:
Originally Posted by enroe View Post
The company Emagic set up exactly the same
concept with their DAW "Logic Audio"[/color]
I loved Logic Audio, the first DAW I installed on my Windows PC before Apple lock it to their OS.

Quote:
Originally Posted by enroe View Post
a small first step. And that is:

A simple box that encloses audio clips on a single track.

I think that this increases the likelihood that this void
will be filled in Reaper at some point. In a second step,
this box could then be given capabilities such as "pool-copy".
And maybe a few more steps would follow. But first the first
step
has to be taken. And this first step could be:

A simple box that encloses audio clips
on a single track.



PS: Confucius already said: Even a long journey begins with
the first step!
I totally agree.
__________________
Pan Athen
SoundFellas Immersive Audio Labs
www.soundfellas.com
Joystick is offline   Reply With Quote
Old 08-23-2021, 04:01 PM   #20
Joystick
Human being with feelings
 
Joystick's Avatar
 
Join Date: Jul 2008
Location: Athens / Greece
Posts: 625
Default

Quote:
Originally Posted by bobobo View Post
@enroe .. sorry meant @joystick in first place

have you ever used subprojects?
Yes, that's how I did it in the beginning, many years ago when sub-projects appeared as an option.

Subprojects are ok to simulate cloning of grouped data. Enroe's pooled audio groups/boxes is the first step for that.

My need is about mutation between the clones which cannot be achieved right now.

Mutation can be:

- Random: Organic, experimental.
- Stochastic: Limited randomness like almost every oneshot in a video-game, see "wabi-sabi".
- Formulated: Like power-copy from Affinity designer, the original and first copy differences define the rest of the pasted properties.

There are some tools that can achieve similar results but with no formulated mutation or an link between the objects which is what I'm searching for.

Variator and Render Blocks from LKC Tools can be used or other similar scripts from the community or even some proprietary we have in our lab.

But in general what my feature request is about, is for data linking and mutation based operations to be part of Reaper's information architecture.

And as Enroe said, the first step would be to link the information as a group that can be at least mirrored in the beginning.

Would be very cool :-)
__________________
Pan Athen
SoundFellas Immersive Audio Labs
www.soundfellas.com
Joystick is offline   Reply With Quote
Old 03-21-2022, 07:30 AM   #21
MonkeyBars
Human being with feelings
 
MonkeyBars's Avatar
 
Join Date: Feb 2016
Location: Hollyweird
Posts: 2,630
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 03-21-2022, 09:35 AM   #22
Joystick
Human being with feelings
 
Joystick's Avatar
 
Join Date: Jul 2008
Location: Athens / Greece
Posts: 625
Default

Quote:
Originally Posted by MonkeyBars View Post
I have created my version of this feature in ReaScript: it's called Superglue. Check it out here.
That is very cool!

It throws some errors though so I cannot use it right away.

When I try to unglue, the action displays an error window with this message:

...ve changes & propagate to Sibling items in same Pool.lua:11: module 'MB_Superglue-Utils' not found:
no field package.preload['MB_Superglue-Utils']
no file 'C:\Program Files\REAPER (x64)\lua\MB_Superglue-Utils.lua'
no file 'C:\Program Files\REAPER (x64)\lua\MB_Superglue-Utils\init.lua'
no file 'C:\Program Files\REAPER (x64)\MB_Superglue-Utils.lua'
no file 'C:\Program Files\REAPER (x64)\MB_Superglue-Utils\init.lua'
no file 'C:\Program Files\REAPER (x64)\..\share\lua\5.3\MB_Superglue-Utils.lua'
no file 'C:\Program Files\REAPER (x64)\..\share\lua\5.3\MB_Superglue-Utils\init.lua'
no file '.\MB_Superglue-Utils.lua'
no file '.\MB_Superglue-Utils\init.lua'
no file '\\MB_Superglue-Utils\C:\Users\Admin\AppData\Roaming\REAPER\Script s\MonkeyBars-ReaScripts\Superglue\MB_Superglue-Utils.lua'
no file 'C:\Program Files\REAPER (x64)\MB_Superglue-Utils.dll'
no file 'C:\Program Files\REAPER (x64)\..\lib\lua\5.3\MB_Superglue-Utils.dll'
no file 'C:\Program Files\REAPER (x64)\loadall.dll'
no file '.\MB_Superglue-Utils.dll'
__________________
Pan Athen
SoundFellas Immersive Audio Labs
www.soundfellas.com
Joystick is offline   Reply With Quote
Old 03-22-2022, 11:51 AM   #23
Joystick
Human being with feelings
 
Joystick's Avatar
 
Join Date: Jul 2008
Location: Athens / Greece
Posts: 625
Default

Quote:
Originally Posted by MonkeyBars View Post
I have created my version of this feature in ReaScript: it's called Superglue. Check it out here.
I know, you already posted it above :-P
__________________
Pan Athen
SoundFellas Immersive Audio Labs
www.soundfellas.com
Joystick is offline   Reply With Quote
Old 03-22-2022, 12:42 PM   #24
MonkeyBars
Human being with feelings
 
MonkeyBars's Avatar
 
Join Date: Feb 2016
Location: Hollyweird
Posts: 2,630
Default

Quote:
Originally Posted by Joystick View Post
I know, you already posted it above :-P
Oops, sorry!
MonkeyBars is offline   Reply With Quote
Old 03-23-2022, 02:04 AM   #25
Joystick
Human being with feelings
 
Joystick's Avatar
 
Join Date: Jul 2008
Location: Athens / Greece
Posts: 625
Default

Quote:
Originally Posted by MonkeyBars View Post
Oops, sorry!
No problem, I'm also very excited about Superglue! :-)
__________________
Pan Athen
SoundFellas Immersive Audio Labs
www.soundfellas.com
Joystick 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 11:27 PM.


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