Old 01-14-2021, 02:12 PM   #1
sonictim
Human being with feelings
 
sonictim's Avatar
 
Join Date: Feb 2020
Location: Los Angeles
Posts: 463
Default TJF Smart Fade - Edit/create fades similar to Protools

This is a thread to discuss any ideas, issues, or bugs with my TJF Smart Fade script.

What is it? It's a script that mimic's Protools' fade behavior based on time selection or item selection or razor edit selection if you happen to be someone who's on the reaper bleeding edge.

It will crossfade, it will fade in it will fade out, and it will apply default fade length (currently set to 2 frames). It will lengthen and shorten fades and crossfades (protools can only lengthen). It should make your fade life much much easier.

You can adjust the default fade length/shape by editing the Global Variables inside the script.

This script was developed with a post production workflow/audio file editing in mind, but I'm sure it will have plenty of uses for music. I rarely deal with MIDI so I have not tested it with MIDI clips or other implementations.

Here is a short demo of it in action on one clip to give you the basics. It has different behaviors based on number of clips selected and type of selection, but this will get you started:


and for those of you with razor edit:


SCRIPT IS AVAILABLE ON MY REAPACK REPOSITORY
Any bug reports or feature requests are welcomed but I reserve the right to ignore them.
__________________
My Reapack Repository: I write scripts for my own personal use.
I offer no support, but if you find one that helps you, go for it!

Last edited by sonictim; 01-14-2021 at 06:24 PM.
sonictim is offline   Reply With Quote
Old 01-14-2021, 03:43 PM   #2
80icio
Human being with feelings
 
Join Date: Mar 2016
Location: Italy
Posts: 311
Default

Hey! thanks for your scripts! I can't get it to work with time selection, but i'm not sure how to use the Razor edit, is it a mouse modifier?!?
I've been following the razor edit thread and still can't figure out how you guys do that
80icio is offline   Reply With Quote
Old 01-14-2021, 04:57 PM   #3
sonictim
Human being with feelings
 
sonictim's Avatar
 
Join Date: Feb 2020
Location: Los Angeles
Posts: 463
Default

Razor Edit requires downloading one of the experimental developer builds of reaper. It is not an officially supported feature and not included in any of the official releases as of yet.
__________________
My Reapack Repository: I write scripts for my own personal use.
I offer no support, but if you find one that helps you, go for it!
sonictim is offline   Reply With Quote
Old 01-14-2021, 05:33 PM   #4
Fergler
Human being with feelings
 
Fergler's Avatar
 
Join Date: Jan 2014
Posts: 5,193
Default

While this is great, I can only assume (and hope) that this is native functionality after they finish the base of razor edit code.
Fergler is offline   Reply With Quote
Old 01-14-2021, 06:15 PM   #5
sonictim
Human being with feelings
 
sonictim's Avatar
 
Join Date: Feb 2020
Location: Los Angeles
Posts: 463
Default

To be clear... it works with Time selection and item selection as well
__________________
My Reapack Repository: I write scripts for my own personal use.
I offer no support, but if you find one that helps you, go for it!
sonictim is offline   Reply With Quote
Old 01-15-2021, 01:14 AM   #6
80icio
Human being with feelings
 
Join Date: Mar 2016
Location: Italy
Posts: 311
Default

Quote:
Originally Posted by sonictim View Post
Razor Edit requires downloading one of the experimental developer builds of reaper. It is not an officially supported feature and not included in any of the official releases as of yet.
wow! thanks, that explains a lot...


about your script
time selection and item selection work fine so far on my system.

a pre splice global variable on the script would be a useful thing for automatic crossfades .
Whenever I split on transients a centered crossfade generally overlap the transient attack.

A fade/crossfade options dialogue would be the best to set the variables!
80icio is offline   Reply With Quote
Old 01-15-2021, 09:21 AM   #7
sonictim
Human being with feelings
 
sonictim's Avatar
 
Join Date: Feb 2020
Location: Los Angeles
Posts: 463
Default

Quote:
Originally Posted by 80icio View Post
a pre splice global variable on the script would be a useful thing for automatic crossfades .
Whenever I split on transients a centered crossfade generally overlap the transient attack.
I'm not 100% clear on what you are referring to, but it sounds like you are referring to the reaper setting. Under Media Item Defaults you can adjust the length of how much it auto crossfades when you split an item. Or you can do like I did and disable that feature completely since I am constantly dealing with very tiny pieces of audio and I don't like fades being created all the time for me. I'd rather do what I need to do, and then use my script here to just fade everything at the end.

Quote:
Originally Posted by 80icio View Post
A fade/crossfade options dialogue would be the best to set the variables!
To do so would require creating a second script that functions solely to set the globals for this script. Why clutter up the action window with a second script you'll likely only use once (my fade defaults haven't changed in 20 years of editing). I thought about having it try to read the default crossfade length in the above mentioned Media Settings, but I want my script to function with it's own variables so the user can set their auto-crossfades differently if so desired. This is the fastest most efficient place to put the variables, and if a user cannot figure out how to change them without some silly popup dialogue, then this script isn't for them. Please refer to my signature.
__________________
My Reapack Repository: I write scripts for my own personal use.
I offer no support, but if you find one that helps you, go for it!
sonictim is offline   Reply With Quote
Old 01-15-2021, 09:50 AM   #8
Skorobagatko
Human being with feelings
 
Skorobagatko's Avatar
 
Join Date: Mar 2017
Location: Ukraine, Kyiv
Posts: 545
Default

Quote:
Originally Posted by sonictim View Post
This is a thread to discuss any ideas, issues, or bugs with my TJF Smart Fade script.

What is it? It's a script that mimic's Protools' fade behavior based on time selection or item selection or razor edit selection if you happen to be someone who's on the reaper bleeding edge.

It will crossfade, it will fade in it will fade out, and it will apply default fade length (currently set to 2 frames). It will lengthen and shorten fades and crossfades (protools can only lengthen). It should make your fade life much much easier.

You can adjust the default fade length/shape by editing the Global Variables inside the script.

This script was developed with a post production workflow/audio file editing in mind, but I'm sure it will have plenty of uses for music. I rarely deal with MIDI so I have not tested it with MIDI clips or other implementations.

Here is a short demo of it in action on one clip to give you the basics. It has different behaviors based on number of clips selected and type of selection, but this will get you started:


and for those of you with razor edit:


SCRIPT IS AVAILABLE ON MY REAPACK REPOSITORY
Any bug reports or feature requests are welcomed but I reserve the right to ignore them.
Works great, thanks for the update!

Is it possible to add an option to remove razor edit/time selection after action is applied?

Also would be nice to have "consolidate undo points", for example I have to hit Ctrl+Z twice to remove fades and razor edit/time selection.
Skorobagatko is offline   Reply With Quote
Old 01-15-2021, 11:25 AM   #9
sonictim
Human being with feelings
 
sonictim's Avatar
 
Join Date: Feb 2020
Location: Los Angeles
Posts: 463
Default

Quote:
Originally Posted by Skorobagatko View Post
Works great, thanks for the update!

Is it possible to add an option to remove razor edit/time selection after action is applied?

Also would be nice to have "consolidate undo points", for example I have to hit Ctrl+Z twice to remove fades and razor edit/time selection.

Personally, I prefer leaving the selections, but it was an easy add/request.. I've updated to v1.5 to give you the option to enable this as a Global Setting. THIS FEATURE IS OFF BY DEFAULT. So update to 1.5 and then edit the script. Change the global variable "removeSelection" to "true" and it will clear the selection.....

Note, UNDO will only restore your time selection if you have this preference enabled in Reaper Preferences -> General -> Undo Settings -> Include Selection -> Time Selection
__________________
My Reapack Repository: I write scripts for my own personal use.
I offer no support, but if you find one that helps you, go for it!
sonictim is offline   Reply With Quote
Old 01-15-2021, 01:06 PM   #10
Skorobagatko
Human being with feelings
 
Skorobagatko's Avatar
 
Join Date: Mar 2017
Location: Ukraine, Kyiv
Posts: 545
Default

Quote:
Originally Posted by sonictim View Post
Personally, I prefer leaving the selections, but it was an easy add/request.. I've updated to v1.5 to give you the option to enable this as a Global Setting. THIS FEATURE IS OFF BY DEFAULT. So update to 1.5 and then edit the script. Change the global variable "removeSelection" to "true" and it will clear the selection.....

Note, UNDO will only restore your time selection if you have this preference enabled in Reaper Preferences -> General -> Undo Settings -> Include Selection -> Time Selection
Thank you!
Skorobagatko is offline   Reply With Quote
Old 01-15-2021, 02:13 PM   #11
80icio
Human being with feelings
 
Join Date: Mar 2016
Location: Italy
Posts: 311
Default

Quote:
Originally Posted by sonictim View Post
I'm not 100% clear on what you are referring to, but it sounds like you are referring to the reaper setting. Under Media Item Defaults you can adjust the length of how much it auto crossfades when you split an item. Or you can do like I did and disable that feature completely since I am constantly dealing with very tiny pieces of audio and I don't like fades being created all the time for me. I'd rather do what I need to do, and then use my script here to just fade everything at the end.
Fading everything at the end of editing is what i need too to make sure i don't have any clicks happening. That's what i do with PT generally.

Pre splice crossfade means that the crossfade is not applied to the center of the cut but just on the left of the cut (just on the previous item end).


Quote:
To do so would require creating a second script that functions solely to set the globals for this script. Why clutter up the action window with a second script you'll likely only use once (my fade defaults haven't changed in 20 years of editing). I thought about having it try to read the default crossfade length in the above mentioned Media Settings, but I want my script to function with it's own variables so the user can set their auto-crossfades differently if so desired. This is the fastest most efficient place to put the variables, and if a user cannot figure out how to change them without some silly popup dialogue, then this script isn't for them. Please refer to my signature.
Makes sense, I guess I'm just used to PT. Thanks for your script I might use it and code the pre splice variable.
80icio is offline   Reply With Quote
Old 01-15-2021, 02:35 PM   #12
sonictim
Human being with feelings
 
sonictim's Avatar
 
Join Date: Feb 2020
Location: Los Angeles
Posts: 463
Default

Quote:
Originally Posted by 80icio View Post
Pre splice crossfade means that the crossfade is not applied to the center of the cut but just on the left of the cut (just on the previous item end).
.

Oh that is an interesting idea.... I'll give it a go...

UPDATE: v1.6 with Presplice cross fade is now available for download... I'm not entirely sure how I feel about this yet as a user, but for now it is TURNED ON by default. This may not be the case in future updates as it will mimic however I keep it in my system. The option to set the variable will always remain. Variable can be adjusted in GLOBAL VARIABLES

Enjoy!
__________________
My Reapack Repository: I write scripts for my own personal use.
I offer no support, but if you find one that helps you, go for it!

Last edited by sonictim; 01-15-2021 at 11:05 PM.
sonictim is offline   Reply With Quote
Old 01-16-2021, 05:05 AM   #13
80icio
Human being with feelings
 
Join Date: Mar 2016
Location: Italy
Posts: 311
Default

Quote:
Originally Posted by sonictim View Post
Oh that is an interesting idea.... I'll give it a go...

UPDATE: v1.6 with Presplice cross fade is now available for download... I'm not entirely sure how I feel about this yet as a user, but for now it is TURNED ON by default. This may not be the case in future updates as it will mimic however I keep it in my system. The option to set the variable will always remain. Variable can be adjusted in GLOBAL VARIABLES

Enjoy!
Wow! that was fast!

Making it a default is not necessary but much appreciated.
Drum editing is my main reason for presplice crossfades



So far it works fine!
Attached Images
File Type: gif presplice crossfade.gif (17.7 KB, 1238 views)
80icio is offline   Reply With Quote
Old 01-16-2021, 10:01 AM   #14
sonictim
Human being with feelings
 
sonictim's Avatar
 
Join Date: Feb 2020
Location: Los Angeles
Posts: 463
Default

Quote:
Originally Posted by 80icio View Post
Wow! that was fast!

Making it a default is not necessary but much appreciated.
Drum editing is my main reason for presplice crossfades

So far it works fine!
Honestly it makes sense. I cut so many sounds based on the transient (gunshots, punches, footsteps) and in protools I’m always worried I’m accidentally fading over them. this way I know my transient will always be safe... “protect your transients” is a key concept in sound design!

I really only had it work the other way as it mimicked protools and was more of an “expected” behavior. But l like where this is going! This is smart fade, not keep fading in dumb ways!
__________________
My Reapack Repository: I write scripts for my own personal use.
I offer no support, but if you find one that helps you, go for it!
sonictim is offline   Reply With Quote
Old 01-18-2021, 12:13 PM   #15
Delucci
Human being with feelings
 
Join Date: May 2017
Posts: 325
Default

Hey sonictim, thanks for your script, I was testing it right now, but when I try to make a crossfade, it will remove my early fade, Is that suposed to work like that?

It happens when I set the fade manually, then I use the script and it goes away, but I tried to set the first fade with your script, and it worked.
Delucci is offline   Reply With Quote
Old 01-18-2021, 02:26 PM   #16
Skorobagatko
Human being with feelings
 
Skorobagatko's Avatar
 
Join Date: Mar 2017
Location: Ukraine, Kyiv
Posts: 545
Default

Quote:
Originally Posted by Delucci View Post
Hey sonictim, thanks for your script, I was testing it right now, but when I try to make a crossfade, it will remove my early fade, Is that suposed to work like that?

It happens when I set the fade manually, then I use the script and it goes away, but I tried to set the first fade with your script, and it worked.
I have the same issue, Reaper 6.20rc2
Skorobagatko is offline   Reply With Quote
Old 01-18-2021, 06:23 PM   #17
sonictim
Human being with feelings
 
sonictim's Avatar
 
Join Date: Feb 2020
Location: Los Angeles
Posts: 463
Default

That is indeed unintentional behavior. I found the bug and have updated the script on reapack
__________________
My Reapack Repository: I write scripts for my own personal use.
I offer no support, but if you find one that helps you, go for it!
sonictim is offline   Reply With Quote
Old 01-19-2021, 01:52 AM   #18
Delucci
Human being with feelings
 
Join Date: May 2017
Posts: 325
Default

Quote:
Originally Posted by sonictim View Post
That is indeed unintentional behavior. I found the bug and have updated the script on reapack
Holy!! That was quick, problem solved, thanks a lot
Delucci is offline   Reply With Quote
Old 01-19-2021, 03:41 AM   #19
80icio
Human being with feelings
 
Join Date: Mar 2016
Location: Italy
Posts: 311
Default

very useful script to me!
thanks a lot
80icio is offline   Reply With Quote
Old 01-19-2021, 01:28 PM   #20
sonictim
Human being with feelings
 
sonictim's Avatar
 
Join Date: Feb 2020
Location: Los Angeles
Posts: 463
Default

Quote:
Originally Posted by 80icio View Post
very useful script to me!
thanks a lot
Thanks!! Glad you find it useful!
__________________
My Reapack Repository: I write scripts for my own personal use.
I offer no support, but if you find one that helps you, go for it!
sonictim is offline   Reply With Quote
Old 01-20-2021, 08:22 AM   #21
plush2
Human being with feelings
 
Join Date: May 2006
Location: Saskatoon, Canada
Posts: 2,110
Default

I am loving this script. Thanks for making it.
plush2 is offline   Reply With Quote
Old 01-23-2021, 03:12 AM   #22
timothys_monster
Human being with feelings
 
timothys_monster's Avatar
 
Join Date: Jan 2012
Location: Germany
Posts: 1,130
Default

This script looks awesome!

Forgive my ignorance, but how can I configure the shortcuts (to use for example D, F and G as in Pro Tools)?
Does the script work together with other actions?

Last edited by timothys_monster; 01-23-2021 at 03:20 AM.
timothys_monster is offline   Reply With Quote
Old 01-23-2021, 09:49 AM   #23
sonictim
Human being with feelings
 
sonictim's Avatar
 
Join Date: Feb 2020
Location: Los Angeles
Posts: 463
Default

Quote:
Originally Posted by timothys_monster View Post
This script looks awesome!

Forgive my ignorance, but how can I configure the shortcuts (to use for example D, F and G as in Pro Tools)?
Does the script work together with other actions?
My script only replaces ‘F’.... for the others, you’ll have to bind them appropriately in the actions menu. I have written custom scripts for those keys as I like to toggle a “hover mode” where those actions will occur at the mouse cursor, rather than the edit cursor... I believe those scripts are on my reapack if you’d like to try them out
__________________
My Reapack Repository: I write scripts for my own personal use.
I offer no support, but if you find one that helps you, go for it!
sonictim is offline   Reply With Quote
Old 01-24-2021, 05:32 AM   #24
timothys_monster
Human being with feelings
 
timothys_monster's Avatar
 
Join Date: Jan 2012
Location: Germany
Posts: 1,130
Default

Oh silly me... I thought it was a background script. So I only had to assign a shortcut to your script. Great! Much more intuitive than the default fades in REAPER or Pro Tools.

Regarding the edit of crossfades. Is this intended behaviour?

timothys_monster is offline   Reply With Quote
Old 01-24-2021, 11:07 AM   #25
sonictim
Human being with feelings
 
sonictim's Avatar
 
Join Date: Feb 2020
Location: Los Angeles
Posts: 463
Default

Quote:
Originally Posted by timothys_monster View Post
Oh silly me... I thought it was a background script. So I only had to assign a shortcut to your script. Great! Much more intuitive than the default fades in REAPER or Pro Tools.

Regarding the edit of crossfades. Is this intended behaviour?

I see what you are referring to... I did some extensive testing this morning just to make sure...

The short answer is yes, that is intended behavior. When you run my script it works as expected by creating the crossfade and everything that happens afterwards has nothing to do with my script.

However, I see what you mean. One would expect that after creating a crossfade, you could treat a crossfade as that... Well, it turns out, Reaper only treats crossfades as crossfades (in the protools sense) IF create auto crossfades is enabled... otherwise it treats everything as regular fades. To reaper, crossfades as a concept don't actually exist, what we see as a crossfade is really simply two regular fades on overlapping items. If you enable "Show overlapping media items in lanes" you'll see the evidence of this

My guess is you have disabled auto-crossfade and therefor reaper is behaving accordingly.

If you prefer to work with autocross fade disabled, don't forget you can use my script to resize/move your crossfades as long as a part of your selection overlaps into the existing crossfade

Hope this helps...
__________________
My Reapack Repository: I write scripts for my own personal use.
I offer no support, but if you find one that helps you, go for it!
sonictim is offline   Reply With Quote
Old 01-24-2021, 02:09 PM   #26
timothys_monster
Human being with feelings
 
timothys_monster's Avatar
 
Join Date: Jan 2012
Location: Germany
Posts: 1,130
Default

Thanks, you are totally on the right path. Auto-crossfading was disabled and I understand now why it won't work like that. But that's easy to fix. I can just enable it for further editing of the fades.

Thanks for the testing and helpful comment
timothys_monster is offline   Reply With Quote
Old 09-21-2021, 06:58 PM   #27
Delucci
Human being with feelings
 
Join Date: May 2017
Posts: 325
Default

Hi, Tim. Firstly, thanks for your scripts, I've been using them a lot!

I found this odd behavior when deleting items in the same track.

I create a fade using your script, and, when removing (or cutting) the next item, the fade goes away.

It happens with Auto-crossfade enabled though, when I disable, it behaves "normally".




In this gif, the fades that weren't removed, was created manually.
Delucci is offline   Reply With Quote
Old 09-25-2021, 03:41 AM   #28
djjedidiah
Human being with feelings
 
Join Date: Nov 2011
Location: Denver, CO, USA
Posts: 447
Default

This is awesome! One minor bug though. When using hover mode and the fade in, if the edit cursor is off-screen when I hit the shortcut key then I get teleported over to where the edit cursor is. I wish I knew how to fix that, but you rock man!
djjedidiah is offline   Reply With Quote
Old 09-25-2021, 12:13 PM   #29
sonictim
Human being with feelings
 
sonictim's Avatar
 
Join Date: Feb 2020
Location: Los Angeles
Posts: 463
Default Bug reports...

Thanks for the feedback. I'll look into those bugs when I have some free time again, but that won't be for awhile and I can't make any promises on being able to solve them.

Delucci, I am having a hard time understanding what's happening with your image. It looks like there's a tiny little piece of audio that's overlapping. In your current view, it's hard to see what's actually happening with the fades as everything is overlapping. I would suggest switching to the view where overlapping media items on the same track aren't displayed on top of each other (instead they get put in lanes) to be able to see/understand.

DJJedidiah, weird... I wonder if there's a zoom setting you have set in reaper? I don't think my script has anything in it regarding timeline zoom.

Cheers!
__________________
My Reapack Repository: I write scripts for my own personal use.
I offer no support, but if you find one that helps you, go for it!
sonictim is offline   Reply With Quote
Old 09-30-2021, 02:55 PM   #30
Delucci
Human being with feelings
 
Join Date: May 2017
Posts: 325
Default

Hi, Tim, sorry for the late answer, I'm not on my computer right now to open that project, but you can try to replicate it by making a fade using a hotkey binded to your script, by selecting the item + time selection, and you have to have an item after the item you faded, then you delete that item, the fade might disappear. I'll try to replicate later to show you what I mean!
Delucci is offline   Reply With Quote
Old 09-30-2021, 09:35 PM   #31
sonictim
Human being with feelings
 
sonictim's Avatar
 
Join Date: Feb 2020
Location: Los Angeles
Posts: 463
Default

Quote:
Originally Posted by Delucci View Post
Hi, Tim, sorry for the late answer, I'm not on my computer right now to open that project, but you can try to replicate it by making a fade using a hotkey binded to your script, by selecting the item + time selection, and you have to have an item after the item you faded, then you delete that item, the fade might disappear. I'll try to replicate later to show you what I mean!
My script exploits auto fades.. so if something is overlapping something else and there’s a fade, when that other thing goes away, then so does the fade. Toggle “show overlapping media items in lanes” to on and that’s the best way to see what’s happening with my script
__________________
My Reapack Repository: I write scripts for my own personal use.
I offer no support, but if you find one that helps you, go for it!
sonictim is offline   Reply With Quote
Old 10-18-2021, 02:15 PM   #32
pietro79
Human being with feelings
 
Join Date: Jun 2016
Posts: 267
Default

This is super useful, thank you!

Quick question, thought I should double check:

There's no way to set a different default value for length of fade in/fade out and another for crossfade... right? It's only one value?
---

Also, this doesn't seem to touch/adjust existing fades/crossfades, is that right? No option to change this?

Thanks again!
pietro79 is offline   Reply With Quote
Old 10-18-2021, 03:20 PM   #33
pietro79
Human being with feelings
 
Join Date: Jun 2016
Posts: 267
Default

Oh my, what happened? I was using the script no problem. Used it 50 times.
Now suddenly when I run it, nothing happens.

I tried deleting the script and adding it again, but it's still not doing anything.

Which makes me think it's something in my local settings.

What could it be?
pietro79 is offline   Reply With Quote
Old 10-18-2021, 06:14 PM   #34
PMan
Human being with feelings
 
Join Date: Aug 2019
Posts: 645
Default

@ pietro79;

I have no idea why the script no longer works on your machine, but in regards to your question: "this doesn't seem to touch/adjust existing fades/crossfades, is that right? No option to change this?"

-I don't use this script myself, but from sonictim's first post - the second giff, it looks like you can change the position and length of fades/crossfades with Razor Edit, which is now fully incorporated into Reaper.

HTH
PMan is offline   Reply With Quote
Old 10-19-2021, 01:40 AM   #35
sonictim
Human being with feelings
 
sonictim's Avatar
 
Join Date: Feb 2020
Location: Los Angeles
Posts: 463
Default

There is just one default fade value. I like the idea of having a separate crossfade default value, (protools does that) and I had originally attempted to include it as an option, but ultimately, the way my code is written, it doesn't work, and I don't have time to basically restructure the script entirely to incorporate this feature. Thanks for the suggestion!

As to why it stopped working, your guess is as good as mine based on the info you've provided.
__________________
My Reapack Repository: I write scripts for my own personal use.
I offer no support, but if you find one that helps you, go for it!
sonictim is offline   Reply With Quote
Old 01-21-2024, 11:17 AM   #36
Ape_Din
Human being with feelings
 
Join Date: Sep 2023
Location: Tirana, Albania
Posts: 35
Default

I would like to thank you for your amazing scripts!

I use tjf smart crossfade which its not on the repo, i downloaded it separately.

Will it be possible to include that script to the repo too?
Ape_Din 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 01:54 AM.


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