Go Back   Cockos Incorporated Forums > REAPER Forums > ReaScript, JSFX, REAPER Plug-in Extensions, Developer Forum

Reply
 
Thread Tools Display Modes
Old 03-20-2022, 10:52 AM   #1
MonkeyBars
Human being with feelings
 
MonkeyBars's Avatar
 
Join Date: Feb 2016
Location: Hollyweird
Posts: 2,690
Default Superglue: Reversible, nondestructive glue and nesting pooled audio for Reaper



Superglue
by MonkeyBars

Provides vital missing features in Reaper:

NONDESTRUCTIVE/REVERSIBLE GLUE
POOLED AUDIO ITEMS

and much, much more...

_____________________________________________

Download Superglue and stick it to your Reaper workflow today!


Import MonkeyBars's ReaPack repo from Github here.


Superglue is a suite of scripts allowing Reaper users to place items
into container items called Superitems which can be Edited and Reglued back together later.

Copies of Superitems stay in sync with each other in a pool by default,
but of course you can remove a Superitem from its pool at any time and create as many pools as you wish.



_____________________________________________

Want to smush your items into a single container Superitem
that you can unsmush, change, and resmush later?


SUPERGLUE THEM!





Want to create pooled audio items that all update in sync
whenever one of them is updated?


SUPERGLUE THEM!





Want to nest these pooled Superitems into other Superitems
that are also all pooled and all update in sync?


SUPERGLUE THEM!




These examples only scratch the sticky surface of all the amazing capabilities Superglue adheres to.

_____________________________________________

Superglue Script Guide
  • To glue items reversibly, use the Glue script.
  • To remove the reversible glue completely (restoring the items irreversibly), use the Unglue script.
  • But more commonly, you'll use the Edit action to restore the items you glued with the Glue script. All the other copies of the Edited Superitem will update automatically when you reglue.
  • Even quicker is to use the Smart Action scripts. These intelligently choose whether to Glue or Unglue / Glue or Edit automagically by context.
  • The source of Superitem copies automatically updates. If you want to remove a Superitem and make a new pool out of it (DePool), use the script "Pool - Remove selected Superitem from Pool".
  • There are a bunch of options that make Superglue even more powerful. Edit options by running the script "Options - Global - Open script options window".
  • Each option can be set with its own script, so you can make toolbars and custom actions, etc.
  • There are a couple specialty utility scripts – check em out.

_____________________________________________

Please examine the README on Github carefully before asking for support here.

The project board is kept up to date with all the enhancements and bugs.
Check there for an existing feature or bug before posting here.

Superglue is open source and free.
Every effort was taken to ensure the codebase is clean and self-explanatory.
Developer contributions are very welcome – just grab a card on Github and submit your pull request.



ENJOY!

_____________________________________________


Thank you to matthewjumpsoffbuildings for creating his Glue Groups script in 2015, which formed the core logic for Superglue. Numerous ReaScript advances and a lot of bugfixes & new features enabled the fulfillment of his vision – the codebase is over quadruple the length now.

Superglue is dedicated to my good friend @Julian. We slew the White Whale!

Thank you also to generous @tack for Reaper Toolkit (rtk), the amazing SWS team for the SWS Extension, Julian Sader for js_ReaScript_API, and pkulchenko for Serpent, which are used in Superglue.

Special thanks to @Breeder, @AZPercussion, and @Phazma for consultation, and of course @Justin, @schwa and the rest of the Reaper team for the great DAW and API!


_____________________________________________

Donations: Please donate to the SWS Extension project and then DM me about it!

Keywords: Referenced objects, Item Patterns, Meta-Items, Audio Containers, Item Folders, Blocks, Ghost Copies, Non-destructive Glue, Cubase Parts, Logic Folders, Audio Regions, Media Container, Prefabs, Pooled Box for audio-items, Repetitive Structures, Ghost Audio Item, Pooled Copy, Item Container, Container Item, Region Groups, Bounce in Place, Render

Last edited by MonkeyBars; 09-13-2023 at 08:56 PM.
MonkeyBars is online now   Reply With Quote
Old 03-20-2022, 11:11 AM   #2
JonLinnarson
Human being with feelings
 
JonLinnarson's Avatar
 
Join Date: Jul 2020
Posts: 726
Default

Awesome! Been seeing comments here and there where you've been talking about it so it's great to finally see it released Going to download and test it straight away!
JonLinnarson is offline   Reply With Quote
Old 03-20-2022, 11:19 AM   #3
Vagelis
Human being with feelings
 
Vagelis's Avatar
 
Join Date: Oct 2017
Location: Larisa, Greece
Posts: 3,900
Default

Wow gamechanger, great work!
Vagelis is offline   Reply With Quote
Old 03-20-2022, 11:25 AM   #4
EpicSounds
Human being with feelings
 
EpicSounds's Avatar
 
Join Date: Jul 2009
Posts: 7,679
Default

its such a good script
__________________
REAPER Video Tutorials, Tips & Tricks and more at The REAPER Blog
EpicSounds is online now   Reply With Quote
Old 03-20-2022, 01:10 PM   #5
MonkeyBars
Human being with feelings
 
MonkeyBars's Avatar
 
Join Date: Feb 2016
Location: Hollyweird
Posts: 2,690
Default

Quote:
Originally Posted by EpicSounds View Post
its such a good script
Thanks John!!
MonkeyBars is online now   Reply With Quote
Old 03-20-2022, 09:17 PM   #6
pcp
Human being with feelings
 
pcp's Avatar
 
Join Date: Oct 2021
Location: Singapore
Posts: 182
Default

What a phenomenal script - working flawlessly in my first tests. The attention to detail and the attractive, functional UI elements are really great, I love the diagonal/horizontal shading on the items (and this even seems to be user-tweakable!) and the Reaper Toolkit GUI is great for those like me who have 4k screens. I'll have to spend time with it to figure out 'how does I workflow?', but definitely stocking up my right-click menu and giving the smart actions keyboard shortcuts for starters.

I reckon this would be saved for a version number upgrade in any other DAW, launched with 20 simultaneously-posted influencer videos with O-face and 96 point Impact font 'CUBASE KILLER!?!?!' thumbnails.

Thanks for making, sharing and open-sourcing!
pcp is offline   Reply With Quote
Old 03-22-2022, 10:55 AM   #7
DarrenH
Human being with feelings
 
Join Date: Mar 2014
Posts: 348
Default

This looks like a really interesting addition to reaper functionality, thank you for this.

I'm assuming the following is user error on my part. I installed via ReaPack and restarted and attempted to test glue two audio items, using the action "Script: MB_Superglue - Glue - Nondestructively glue selected item(s) into Superitem. Use 'Edit' later to reveal contained items & make changes.lua"

I'm getting quite a few missing file errors when attempting the Glue action. A few are listed below

lua\MB_Superglue-Utils.lua
lua\MB_Superglue-Utils\init.lua
.\MB_Superglue-Utils.dll

Is there something obvious when setting up I should be doing? Thanks for time on this

EDIT: too polite? lol thanks anyway, will try again after a few updates

Last edited by DarrenH; 03-22-2022 at 02:53 PM.
DarrenH is offline   Reply With Quote
Old 03-23-2022, 12:06 PM   #8
danerius
Human being with feelings
 
Join Date: Oct 2018
Posts: 173
Default

Quote:
Originally Posted by MonkeyBars View Post
Want to create pooled audio items that all update in sync
whenever one of them is updated?


SUPERGLUE THEM!
This is great

Been missing this feature in Reaper. Is there a video tutorial on this?

Regards /danerius
danerius is offline   Reply With Quote
Old 03-23-2022, 12:52 PM   #9
EpicSounds
Human being with feelings
 
EpicSounds's Avatar
 
Join Date: Jul 2009
Posts: 7,679
Default

Quote:
Originally Posted by danerius View Post
This is great

Been missing this feature in Reaper. Is there a video tutorial on this?

Regards /danerius
I was just making one when I found the above bug. I'll have to come back to it after next update.
__________________
REAPER Video Tutorials, Tips & Tricks and more at The REAPER Blog
EpicSounds is online now   Reply With Quote
Old 03-23-2022, 01:17 PM   #10
MonkeyBars
Human being with feelings
 
MonkeyBars's Avatar
 
Join Date: Feb 2016
Location: Hollyweird
Posts: 2,690
Default

Quote:
Originally Posted by MonkeyBars View Post
I'm getting a Windows testing machine together
I just tested on a portable install in Windows 7 and Glue & Edit worked correctly. Before going and changing things, it would be great to identify the actual issue at hand here. Does anyone know exactly what it is?

Quote:
Originally Posted by EpicSounds View Post
I was just making one when I found the above bug. I'll have to come back to it after next update.
Thank you so much for trying! I will post here about the update when it drops.
MonkeyBars is online now   Reply With Quote
Old 03-23-2022, 01:45 PM   #11
AZpercussion
Human being with feelings
 
Join Date: Oct 2019
Location: Moscow / Tbilisi
Posts: 956
Default

Quote:
Originally Posted by MonkeyBars View Post
I just tested on a portable install in Windows 7 and Glue & Edit worked correctly. Before going and changing things, it would be great to identify the actual issue at hand here. Does anyone know exactly what it is?
Joystick already figured out that it's related with long names.
I think, if we have simple solution it will be better to solve problem that way, moreover such long names rather useless.
AZpercussion is offline   Reply With Quote
Old 03-23-2022, 03:29 PM   #12
MonkeyBars
Human being with feelings
 
MonkeyBars's Avatar
 
Join Date: Feb 2016
Location: Hollyweird
Posts: 2,690
Default

Quote:
Originally Posted by AZpercussion View Post
Joystick already figured out that it's related with long names.
I think, if we have simple solution it will be better to solve problem that way, moreover such long names rather useless.
The idea was to make it as simple as possible to figure out how to use Superglue from just the script names, but I'll shorten just the Edit script name for the next release.
MonkeyBars is online now   Reply With Quote
Old 03-23-2022, 10:01 PM   #13
Joystick
Human being with feelings
 
Joystick's Avatar
 
Join Date: Jul 2008
Location: Athens / Greece
Posts: 627
Default

Quote:
Originally Posted by MonkeyBars View Post
I just tested on a portable install in Windows 7 and Glue & Edit worked correctly. Before going and changing things, it would be great to identify the actual issue at hand here. Does anyone know exactly what it is?
The long-filenames issue is not found in all Windows systems and it's something that's troubling Windows users for decades. In some machines it might work in some it might not and this can change when a user changes unrelated configurations.

The best practice is to keep the filenames as short as possible. "Superglue - Edit" would be ok and it's self-explanatory. After all, a user that uses Superglue already knows what it does. It's a very specific set of actions. Of course, it's your creation, so you have the final authority on that, but I don't believe that describing an action in detail on the title will make any difference in user adoption. We already love it :-)

A question that comes to my mind is that. maybe it's possible to keep a very small filename for the actual file itself, like "sg_edit.lua" or whatever, and then have a longer name with a short description in the action list of REAPER. The elegant way to do this would be for REAPER to support action descriptions taken from within the script, right?
__________________
Pan Athen
SoundFellas Creative Audio Studios www.soundfellas.com
Creator of Echotopia www.soundfellas.com/software/echotopia
Joystick is offline   Reply With Quote
Old 03-25-2022, 12:14 AM   #14
MonkeyBars
Human being with feelings
 
MonkeyBars's Avatar
 
Join Date: Feb 2016
Location: Hollyweird
Posts: 2,690
Default

Superglue v1.823

Enhancements
  • Add option: Limit Sizing Region bounds to Superitem looped source
  • Prepend brand + Pool ID string to Superitem glued source files
  • Remove sizing region warning & replace time selection if TS bounds option enabled
Bugs fixed
  • DePool-Edit restores items at wrong position
  • Reglue offset is intermittently wrong with position change
  • Edit script filename length too long, errors out in Windows
Improvements
  • Remove obsolete internal time selection code
  • Changed time selection wording to "bounds"

Last edited by MonkeyBars; 03-25-2022 at 08:43 AM.
MonkeyBars is online now   Reply With Quote
Old 04-25-2022, 09:57 AM   #15
acebone
Human being with feelings
 
Join Date: Oct 2017
Location: Copenhagen, Denmark
Posts: 229
Default

Quote:
Yep, that's the idea. The VI check will launch this dialog if it detects a VI... but then you mentioned the "indirect VI" idea so perhaps it will always have to ask on supergluing exclusively MIDI items.
If you expose both possibilities as actions (glue as audio, glue as midi), you could have a default workflow that will suit most people, and at the same time give users the option to streamline workflow to own preferences (and to me, that's part of the Reaper-experience). Personally I'd tie each action to it's own shortcut. The words "always have to ask" sends shivers down my spine

Javascript <3 I just looove that language for some odd reason

The "JS" in JSFX etc ... has nothing to with javascript, right?
acebone is offline   Reply With Quote
Old 04-25-2022, 10:10 AM   #16
MonkeyBars
Human being with feelings
 
MonkeyBars's Avatar
 
Join Date: Feb 2016
Location: Hollyweird
Posts: 2,690
Default

Quote:
Originally Posted by acebone View Post
If you expose both possibilities as actions (glue as audio, glue as midi), you could have a default workflow that will suit most people, and at the same time give users the option to streamline workflow to own preferences (and to me, that's part of the Reaper-experience). Personally I'd tie each action to it's own shortcut. The words "always have to ask" sends shivers down my spine
That will make too many scripts to choose from. The best solution here is a new option default Audio/MIDI/ask.

Quote:
Javascript <3 I just looove that language for some odd reason
The prototype architecture is pretty unique, and appears to share similarities with LUA metatables, but that's some pretty advanced stuff. No CS degree here – music comp/theory...

Quote:
The "JS" in JSFX etc ... has nothing to with javascript, right?
Nope! Justin invented an audio fx engine called "Jesusonic"

Also nothing to do with the JS in the API extension which stands for its creator, Julian Sader – not the same Julian helping me with Superglue
MonkeyBars is online now   Reply With Quote
Old 04-25-2022, 10:23 AM   #17
acebone
Human being with feelings
 
Join Date: Oct 2017
Location: Copenhagen, Denmark
Posts: 229
Default

Quote:
Originally Posted by MonkeyBars View Post
That will make too many scripts to choose from. The best solution here is a new option default Audio/MIDI/ask.
I respectfully disagree. I think it's about having a boilerplate-setup that works, and then let the user have access to all actions if he or she so wishes. Right now, u'd save a lot of coding if the Reaper-devs had exposed the "retain" flag. But it's ok to disagree and it's your project. I'll just have to hack it a bit myself if I get too annoyed

Quote:
Originally Posted by MonkeyBars View Post

The prototype architecture is pretty unique, and appears to share similarities with LUA metatables, but that's some pretty advanced stuff. No CS degree here – music comp/theory...
No degree here either, I learned it by doing it ... I saw an interview with Schwa, one of the reaper-devs, he is about the same age as me. He said "people my age don't have computerdegrees, they learned it by hacking", and that's true for me too


Quote:
Originally Posted by MonkeyBars View Post

Nope! Justin invented an audio fx engine called "Jesusonic"

Also nothing to do with the JS in the API extension which stands for its creator, Julian Sader – not the same Julian helping me with Superglue
LOL!


BTW - I saw your advice for people to check out the Superglue-scripts in the action-list, so I did, and yeah, that's some nifty functionality in there

I am attaching a toolbar with buttons for all the scripts. Nothing fancy, but you could attach it to your initial post, and help people discover those scripts if you so fancy
Attached Files
File Type: reapermenu SUPERGLUE_TOOLBAR.ReaperMenu (1.8 KB, 242 views)
acebone is offline   Reply With Quote
Old 04-25-2022, 10:54 AM   #18
MonkeyBars
Human being with feelings
 
MonkeyBars's Avatar
 
Join Date: Feb 2016
Location: Hollyweird
Posts: 2,690
Default

Quote:
Originally Posted by acebone View Post
I respectfully disagree. I think it's about having a boilerplate-setup that works, and then let the user have access to all actions if he or she so wishes.
The UX approach we're taking with Superglue is to have the minimum number of scripts for unique actions, and utilize options to modify those actions. (E.g., early on we had separate options for glue to time selection or not but later changed it into an option.) Of course, EVERY option gets its own toggle script to change it. Even though that might add an additional keystroke for some workflows, I think it's a good balance, as in general most Superglue users are not gonna be supergluing a ton of stuff all in a row alernating between MIDI and audio.

Quote:
No degree here either, I learned it by doing it ... I saw an interview with Schwa, one of the reaper-devs, he is about the same age as me. He said "people my age don't have computerdegrees, they learned it by hacking", and that's true for me too
Hehe yep... I'm no spring chicken either

Quote:
BTW - I saw your advice for people to check out the Superglue-scripts in the action-list, so I did, and yeah, that's some nifty functionality in there
Let us know how you get on with them incorporating 'em into your workflow!

Thanks for the toolbar
MonkeyBars is online now   Reply With Quote
Old 04-25-2022, 11:20 AM   #19
acebone
Human being with feelings
 
Join Date: Oct 2017
Location: Copenhagen, Denmark
Posts: 229
Default

Quote:
Originally Posted by MonkeyBars View Post
Of course, EVERY option gets its own toggle script to change it. Even though that might add an additional keystroke for some workflows, I think it's a good balance, as in general most Superglue users are not gonna be supergluing a ton of stuff all in a row alernating between MIDI and audio.
Most of us have SWS installed, and right now Superglue is about 20 actions. You are far from the pain threshold of "too many scripts".

"You can't decide what you want to do in the heat of the moment, you'll have to go flip an option switch if you want to switch usecase" in order to save 1 meager action in the action list is rather hardcore

In other words: this does not, and probably will not make sense to me, and that's totally alright

But hey: if the option switch is exposed, I can create my own custom action - "flip switch to audio + glue" or "flip to midi + glue" so I'll have my cake and eat it too, and so will you

Getting VIs on items and a safe-guard on the source-files will be great!

I'll be sure to pass on any relevant UX-info as I encounter it, both howto-tips, bugs, suggestions etc ...

Superglue is an awesome project, and it's on it's way to become really really great!
acebone is offline   Reply With Quote
Old 12-28-2022, 11:23 PM   #20
svijayrathinam
Human being with feelings
 
Join Date: May 2017
Posts: 982
Default

Quote:
Originally Posted by MonkeyBars View Post


Superglue
by MonkeyBars

Provides vital missing features in Reaper:

NONDESTRUCTIVE/REVERSIBLE GLUE
POOLED AUDIO ITEMS

and much, much more...

_____________________________________________

Download Superglue and stick it to your Reaper workflow today!


Import MonkeyBars's ReaPack repo from Github here.


Superglue is a suite of scripts allowing Reaper users to place items
into container items called Superitems which can be Edited and Reglued back together later.

Copies of Superitems stay in sync with each other in a pool by default,
but of course you can remove a Superitem from its pool at any time and create as many pools as you wish.



_____________________________________________

Want to smush your items into a single container Superitem
that you can unsmush, change, and resmush later?


SUPERGLUE THEM!





Want to create pooled audio items that all update in sync
whenever one of them is updated?


SUPERGLUE THEM!





Want to nest these pooled Superitems into other Superitems
that are also all pooled and all update in sync?


SUPERGLUE THEM!




These examples only scratch the sticky surface of all the amazing capabilities Superglue adheres to.

_____________________________________________

Superglue Script Guide
  • Core scripts: Glue, Edit, Unglue
  • Use Smart Actions to trigger these automagically by context.
  • DePool: "Pool - Remove selected Superitem from Pool"
  • Script options: "Options - Global - Open script options window"
  • Utilities
  • Option scripts for convenience to control the options in the SG script options window via Action List

_____________________________________________

Please examine the README on Github carefully before asking for support here.

The project board is kept up to date with all the enhancements and bugs.
Check there for an existing feature or bug before posting here.

Superglue is open source and free.
Every effort was taken to ensure the codebase is clean and self-explanatory.
Developer contributions are very welcome – just grab a card on Github and submit your pull request.



ENJOY!

_____________________________________________


Thank you to matthewjumpsoffbuildings for creating his Glue Groups script in 2015, which formed the core logic for Superglue.
Numerous ReaScript advances and a lot of bugfixes & new features enabled the fulfillment of his vision – the codebase is over quadruple the length now.

Superglue is dedicated to my good friend @Julian. We slew the White Whale!

Thank you also to generous @tack for Reaper Toolkit (rtk), the amazing SWS team for the SWS Extension, Julian Sader for js_ReaScript_API, and pkulchenko for Serpent, which are used in Superglue.

Special thanks to @Breeder, @AZPercussion, and @Phazma for consultation, and of course @Justin, @schwa and the rest of the Reaper team for the great DAW and API!


Keywords: Referenced objects, Item Patterns, Meta-Items, Audio Containers, Item Folders, Blocks, Ghost Copies, Non-destructive Glue, Cubase Parts, Logic Folders, Audio Regions, Media Container, Prefabs, Pooled Box for audio-items, Repetitive Structures, Ghost Audio Item, Pooled Copy, Item Container, Container Item, Region Groups
Thank you for this script. When I try to import your repack I am getting the following error.


"Download failed: SSL connect error (35): LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to raw.githubusercontent.com:443
https://github.com/MonkeyBars3k/ReaScripts/raw/master/index.xml"

Can you pls look into this ?
__________________
Vijay Rathinam MPSE,
www.theaudioville.com
IMDB Page : https://www.imdb.com/name/nm3221039/?ref_=fn_al_nm_1
svijayrathinam is offline   Reply With Quote
Old 12-29-2022, 08:16 AM   #21
MonkeyBars
Human being with feelings
 
MonkeyBars's Avatar
 
Join Date: Feb 2016
Location: Hollyweird
Posts: 2,690
Default

Quote:
Originally Posted by svijayrathinam View Post
Thank you for this script. When I try to import your repack I am getting the following error.

"Download failed: SSL connect error (35): LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to raw.githubusercontent.com:443
https://github.com/MonkeyBars3k/ReaScripts/raw/master/index.xml"
Looks like you have a connection error.

Please remove the quotation of the entire OP from your post
MonkeyBars is online now   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:36 PM.


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