Go Back   Cockos Incorporated Forums > REAPER Forums > REAPER General Discussion Forum

Thread Tools Display Modes
Old 11-14-2014, 04:19 PM   #1
Human being with feelings
Tycho's Avatar
Join Date: Jan 2011
Location: San Francisco
Posts: 449
Default Automatically create automation envelope when creating a send

Is there any way to have an automation envelope be created automatically when making a send? I drag the IO button to another track and the send is created, but then I have to click "trim" and create the envelope which seems like a needless secondary step.

Perhaps it's not how most people work but I do automation on every send I create so it's kind of annoying to have to do that second step, particularly when there are a ton of parameters in the trim dialog for whatever plugins happen to be on that track, a bit confusing with all that going on.
Tycho is offline   Reply With Quote
Old 05-31-2015, 06:29 PM   #2
Human being with feelings
daxliniere's Avatar
Join Date: Nov 2008
Location: London, UK
Posts: 2,411

Hey Scott,
Though this doesn't address your specific request, but it might make things a bit easier for you. I have 100,000 points of automation per song and came up with a whole lot of envelope related actions which were implemented in the SWS Extensions.

Something that could be useful to you is Show envelope for last adjusted send.
Unfortunately it has to be 'last adjusted', not 'last touched' the way it is for plugin parameters, because simply touching the send control doesn't trigger an event.

PM me if you'd like some scripts I've had written that improve efficiency when working with envelopes.

Puzzle Factory Sound Studios, London [Website] [Instagram]
[AMD 5800X, 32Gb RAM, Win10x64, NVidia GTX1080ti, UAD2-OCTO, FireFaceUCX, REAPER x64]
[AMD 5600X, 16Gb RAM, Win10x64, NVidia GTX710, FireFaceUFX, REAPER x64]
daxliniere is offline   Reply With Quote
Old 06-01-2015, 01:28 PM   #3
Human being with feelings
mpl's Avatar
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 3,811

I did one:
PHP Code:
 // get last send envelope  
lasttouchedtrack GetLastTouchedTrack();  
numsends GetTrackNumSends(lasttouchedtrack0);  
lastsendidx numsends 1;  
envelopeType 0// envelopeType determines which envelope is returned (0=volume, 1=pan, 2=mute)  
envelope extension_api("BR_GetMediaTrackSendInfo_Envelope"lasttouchedtrack0lastsendidxenvelopeType);  
// Perform make last send envelope visible  
br_envelope extension_api("BR_EnvAlloc"envelope0);  
br_envelope != ? ( 
active 1;  
visible 1;  
armed 1;  
inLane 1;  
laneHeight 100;  
defaultShape 0// default point shape: 0 -Linear,1-Square, 2-Slow start/end, 3-Fast start, 4-Fast end, 5-Bezier  
It actually should work, but it crashes REAPER. I`ll try to rewrite it with LUA.
mpl is offline   Reply With Quote
Old 06-02-2015, 06:55 AM   #4
Human being with feelings
Breeder's Avatar
Join Date: Nov 2010
Posts: 2,433

It actually doesn't work cause even though send envelope pointer is valid, GetSetObjectState() (or any other ReaScript function that is used to get envelope chunk) still returns empty chunk (that is also the reason for the crash...I can fix the crash, but I can't fix GetSetObjectState() behaviour). This is to do with the fact that even though send is created and envelope has valid pointer, the envelope hasn't been initialized yet (from the user perspective this is a good thing, less memory used, less bytes to write to .rpp file etc...)

The only way to make this work would be to manipulate track chunk. This is exactly what I'm doing with SWS/BR actions that show send envelopes...it's one of the reasons I keep telling people that dealing with send envelopes is not as straightforward and easy - besides manipulating track chunks you also have to be aware that send envelopes are actually stored in receiving track's chunk. Not to mention various options for trimming envelopes when showing them etc...all of this has to be taken into account if proper behavior is desired. This is also the reason why nobody tried to fix SWS snapshots in regards to send envelopes. It's messy and nobody doesn't seem to care enough to spend a lot of time to fix it.
I spent a loooot of time on doing these actions due to the request and there's no way in hell I'm repeating that - thought it was easy and I ended up investing a hell lot of time for something I don't need.

You can try adjusting (adjust twice - once to mark as last adjusted, and then to return to original value) the send in question and use my SWS/BR actions to show that send envelope. I'm just not sure if adjusting the send with the API will make it mark as last adjusted - you will need to try it yourself.

Last edited by Breeder; 06-02-2015 at 09:55 AM.
Breeder is offline   Reply With Quote

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:54 AM.

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