Old 06-19-2018, 01:40 AM   #1
teatime
Human being with feelings
 
teatime's Avatar
 
Join Date: Aug 2016
Location: South Africa
Posts: 42
Default Rearrange Automation Lanes

[preface: the google machine shows me this has been asked many times, but I can't find the reason why it hasn't been done - if someone with the power to do so could give a firm "maybe, but not now" or "never, we don't do that", I'd appreciate it]

* Request *
Rearrange Automation Lanes

* Benefit *
-> Better organise project for an overall better experience
-> Certain synthesizers host multiple instances of itself, and one does not always work perfectly linearly - leading to this unneeded mess:

https://i.imgur.com/CsLf1fd.png

If somehow, magically, a parents automation lanes can be moved to some child track, that would make my life easier (I have 16 lanes of midi feeding one synth, it would be nice to have the automation with the relevant midi).

Suggested Behaviour:
Click on the blank space next to the lane name and drag to move the selected automation lane up or down.

Last edited by teatime; 06-19-2018 at 02:09 AM. Reason: More info.
teatime is offline   Reply With Quote
Old 06-19-2018, 08:22 AM   #2
vitalker
Human being with feelings
 
vitalker's Avatar
 
Join Date: Dec 2012
Posts: 5,324
Default

Related: https://forum.cockos.com/showthread.php?t=138453
__________________
Quote:
Originally Posted by Sexan View Post
Make a thread "F%#! you Reaper! I quit!" to get more views and feedback since these kind of threads get much more traction
SoundCloudFR: True Non-destructive GLUEAll the REAPER names
vitalker is offline   Reply With Quote
Old 06-19-2018, 12:54 PM   #3
Masi
Human being with feelings
 
Join Date: Sep 2015
Posts: 667
Default

Quote:
Originally Posted by teatime View Post
but I can't find the reason why it hasn't been done
Too boring to program for real men, no intern at hand

Masi
Masi is offline   Reply With Quote
Old 06-20-2018, 07:23 AM   #4
teatime
Human being with feelings
 
teatime's Avatar
 
Join Date: Aug 2016
Location: South Africa
Posts: 42
Default

I'll give like *checks bank balance*, FIVE UNITED STATES DOLLARS, to whoever does this.
teatime is offline   Reply With Quote
Old 06-23-2018, 12:27 PM   #5
Fergler
Human being with feelings
 
Fergler's Avatar
 
Join Date: Jan 2014
Posts: 4,212
Default

Definitely interested. I'd also like a UI button for collapsing/hiding automation lanes, instead of menu diving. There are not many buttons at the moment for automation lanes, a triangle could be added without clutter.
__________________
Check out my hip-hop, funk-rock band Theatre Crisp
Fergler is offline   Reply With Quote
Old 07-02-2018, 05:28 AM   #6
teatime
Human being with feelings
 
teatime's Avatar
 
Join Date: Aug 2016
Location: South Africa
Posts: 42
Default

@fergler You can add custom UI buttons, say, on that nice toolbar top left - and assign an action to that button. I can't remember what the action name is, but it's something like toggle automation visibility, or toggle envelope lane visibility.

FWIW, I'm more of a keyboard shortcuts kinda person, and assigned ctrl-shift-w to do this (shoW). It's minimum effort now.

Edit: Oh, you meant per individual lane; my bad.

Last edited by teatime; 07-02-2018 at 06:49 AM.
teatime is offline   Reply With Quote
Old 08-29-2018, 10:51 AM   #7
teatime
Human being with feelings
 
teatime's Avatar
 
Join Date: Aug 2016
Location: South Africa
Posts: 42
Default

Found a hack:
1) Assign a shortcut to "remove automation lane"
2) Remove a lane and undo, this lane is now at the bottom of the list.
teatime is offline   Reply With Quote
Old 08-29-2018, 10:56 AM   #8
deeb
Human being with feelings
 
deeb's Avatar
 
Join Date: Feb 2017
Posts: 2,742
Default

Quote:
Originally Posted by teatime View Post
Found a hack:
1) Assign a shortcut to "remove automation lane"
2) Remove a lane and undo, this lane is now at the bottom of the list.
Sounds like a bug or a potential exploitable behaviour
__________________
i had to come back !
deeb is offline   Reply With Quote
Old 08-29-2018, 11:06 AM   #9
mccrabney
Human being with feelings
 
mccrabney's Avatar
 
Join Date: Aug 2015
Location: Wooleye, Louisiana
Posts: 2,312
Default

Quote:
Originally Posted by teatime View Post
Found a hack:
1) Assign a shortcut to "remove automation lane"
2) Remove a lane and undo, this lane is now at the bottom of the list.
hahah thanks teatime.

i'd like to add support for this as a user of "show envelope in the media lane" -- would like to be able to have essentially a FIPM for AI.
__________________
° using REAPER as host/arranger/sequencer to write instrumental beat music.
° striving for a loop-based, controller-centric midi recording/editing workflow.
° justice and equality for editable secondary midi items!
mccrabney is offline   Reply With Quote
Old 08-29-2018, 03:03 PM   #10
Edgemeal
Human being with feelings
 
Edgemeal's Avatar
 
Join Date: Apr 2016
Location: ASU`ogacihC
Posts: 1,806
Default

Quote:
Originally Posted by teatime View Post
Found a hack:
1) Assign a shortcut to "remove automation lane"
2) Remove a lane and undo, this lane is now at the bottom of the list.

I can't even find any action/script or command with the name "remove automation lane".

FWIW, I've tried using Me2beats scripts,
Script: me2beats_Move selected envelope up.lua
Script: me2beats_Move selected envelope down.lua

EDIT:
These only work correctly on FX envelopes when track also doesn't have any Reaper envelopes on it!
So not very useful at all.

also "me2beats_Move selected envelope up.lua" has a small bug/typo in it, Just change this line,
local chunk = GetTrackChunk(track)
to,
local chunk = GetTrackChunk(tr)



Last edited by Edgemeal; 08-29-2018 at 03:44 PM. Reason: TESTED SCRIPTS NOT SO USEFUL AFTER ALL!
Edgemeal is offline   Reply With Quote
Old 08-29-2018, 07:43 PM   #11
deeb
Human being with feelings
 
deeb's Avatar
 
Join Date: Feb 2017
Posts: 2,742
Default

Quote:
Originally Posted by Edgemeal View Post
...

Thanks!
both have some kind of errors here!. Anyway i thought the reason for not being implemented was by some kind of design limitation.

This would be very useful to do directly in TCP, even if just for FX Envelopes, since there''s usually more lanes involved and less familiar names and "random" orders in them.

Quote:
Originally Posted by teatime View Post
Suggested Behaviour:
Click on the blank space next to the lane name and drag to move the selected automation lane up or down.
+ 1
__________________
i had to come back !

Last edited by deeb; 08-29-2018 at 09:09 PM.
deeb is offline   Reply With Quote
Old 08-30-2018, 02:14 AM   #12
DarkStar
Human being with feelings
 
DarkStar's Avatar
 
Join Date: May 2006
Location: Surrey, UK
Posts: 18,376
Default

We can re-order track (with the thick royal blue line), why not automation lanes?

https://forum.cockos.com/showthread.php?t=138453
__________________
DarkStar ... interesting, if true. . . . Inspired by ...
DarkStar is offline   Reply With Quote
Old 08-30-2018, 02:20 AM   #13
vitalker
Human being with feelings
 
vitalker's Avatar
 
Join Date: Dec 2012
Posts: 5,324
Default

Quote:
Originally Posted by DarkStar View Post
We can re-order track (with the thick royal blue line), why not automation lanes?

https://forum.cockos.com/showthread.php?t=138453
There is even API for these purposes. Personally I don't like how reordering works. I mean you should be very precise to put the track somewhere. Two millimeters can break your ordering and instead of reordering you will place it into a folder... And this is not only thing, which you have to do really carefully. There should be mouse modifiers like left drag will reorder track, ctrl+left drag will insert it into the folder, alt+left drag will delete it, ctrl+alt+left drag will hide it etc.
__________________
Quote:
Originally Posted by Sexan View Post
Make a thread "F%#! you Reaper! I quit!" to get more views and feedback since these kind of threads get much more traction
SoundCloudFR: True Non-destructive GLUEAll the REAPER names
vitalker is offline   Reply With Quote
Old 08-30-2018, 06:33 AM   #14
deeb
Human being with feelings
 
deeb's Avatar
 
Join Date: Feb 2017
Posts: 2,742
Default

Quote:
Originally Posted by DarkStar View Post
We can re-order track (with the thick royal blue line), why not automation lanes?
apparently seems they don't want to : ) which is amazing in my humble opinion. It seems just motivation.
deeb is offline   Reply With Quote
Old 09-04-2018, 03:19 PM   #15
Edgemeal
Human being with feelings
 
Edgemeal's Avatar
 
Join Date: Apr 2016
Location: ASU`ogacihC
Posts: 1,806
Default Move Selected Parameter Envelope Up/Down

Quote:
Originally Posted by deeb View Post
both have some kind of errors here!.
What sort of error(s)?

I updated the scripts so they work when track also has regular reaper envelopes (Sends, volume, pan, etc) on them. The selected param envelope now stays selected after moving. I basically added a couple loops to count and ignore the non-param type envelopes, just a workaround to the code that was already there(original code by me2beats), so probably not very efficient, but so far no more errors here.

I'm not a lua/reaper guru/coder so use at your own risk!
Attached Files
File Type: lua Move selected parameter envelope up.lua (3.9 KB, 80 views)
File Type: lua Move selected parameter envelope down.lua (3.8 KB, 55 views)

Last edited by Edgemeal; 09-05-2018 at 09:48 PM. Reason: Renamed Script Files
Edgemeal is offline   Reply With Quote
Old 09-05-2018, 06:44 AM   #16
deeb
Human being with feelings
 
deeb's Avatar
 
Join Date: Feb 2017
Posts: 2,742
Default

Quote:
Originally Posted by Edgemeal View Post
What sort of error(s)?
Thanks! tested it and those errors are not present anymore : )

Quote:
Originally Posted by Edgemeal View Post
I updated the scripts so they work when track also has regular reaper envelopes (Sends, volume, pan, etc) on them. The selected param envelope now stays selected after moving. I basically added a couple loops to count and ignore the non-param type envelopes, just a workaround to the code that was already there, so probably not very efficient, but so far no more errors here.
this ones seem not to be working here:



Quote:
Originally Posted by Edgemeal View Post
I'm not a lua/reaper guru/coder so use at your own risk!
I wish this could be done by drag and drop in TCP! meanwhile this seems to be perfect! even just for FX lanes! Anyway! You have a clear syntax and good naming convention at least :P

Last edited by deeb; 09-05-2018 at 06:50 AM.
deeb is offline   Reply With Quote
Old 09-11-2018, 03:09 PM   #17
teatime
Human being with feelings
 
teatime's Avatar
 
Join Date: Aug 2016
Location: South Africa
Posts: 42
Default

@edgemeal
It seems I said what I was thinking when I perform the action, and not naming the action >.>
For the record, it's [Envelope: Clear Envelope]
teatime is offline   Reply With Quote
Old 09-11-2018, 06:00 PM   #18
Edgemeal
Human being with feelings
 
Edgemeal's Avatar
 
Join Date: Apr 2016
Location: ASU`ogacihC
Posts: 1,806
Default

Quote:
Originally Posted by teatime View Post
@edgemeal
It seems I said what I was thinking when I perform the action, and not naming the action >.>
For the record, it's [Envelope: Clear Envelope]
Thanks, I was so confused LOL!
Edgemeal is offline   Reply With Quote
Old 09-11-2018, 11:41 PM   #19
mpl
Human being with feelings
 
mpl's Avatar
 
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 2,833
Default

Sort(rearrange) selected track FX envelopes alphabetically:
Code:
  function literalize(str) return str:gsub("[%(%)%.%%%+%-%*%?%[%]%^%$]", function(c) return "%" .. c end) end
  function GetFXByGUID(GUID_t, line) for GUID_id = 1, #GUID_t do if line:match(literalize(GUID_t[GUID_id])) then return GUID_id end  end  end
  function RearrangeAuto(tr)    
    if not tr then return end    
    local GUID_t = {}
    for fx = 1,  reaper.TrackFX_GetCount( tr) do GUID_t[#GUID_t+1]= reaper.TrackFX_GetFXGUID( tr, fx-1 ) end
                
    local _, chunk = reaper.GetTrackStateChunk(tr, '', false)
    local chunk_upd = chunk
    for FXchunk in chunk:gmatch('BYPASS.-WAK') do
    
      local fx_id = GetFXByGUID(GUID_t, FXchunk)
      local env_com_chunk = FXchunk:match('<PARMENV.*>')
      if env_com_chunk then
        local GUID = FXchunk:match('{.-}')
        local t = {} 
        if env_com_chunk then 
          
          for block in env_com_chunk:gmatch('<.->') do
            local par_id = block:match('PARMENV (%d+)')
            if par_id then par_id = tonumber(par_id) end
            local param_name = ''
            if par_id then 
               _, param_name = reaper.TrackFX_GetParamName( tr, fx_id-1, par_id, '' )
            end
            t[#t+1] = {block_str = block,
                       par_id = par_id,
                       param_name= param_name:lower(),
                       fx_id = fx_id}
          end
        end
        table.sort(t, function(a, b) return a.param_name<b.param_name  end) 
        local env_com_ret = ''
        for i = 1, #t do env_com_ret = env_com_ret..'\n'..t[i].block_str end
        local FX_chunk_upd = FXchunk:gsub(literalize(env_com_chunk), env_com_ret)
        chunk_upd = chunk_upd:gsub(literalize(FXchunk), FX_chunk_upd)
      end
      
    end
    local tr_id = reaper.CSurf_TrackToID( tr, false )
    reaper.InsertTrackAtIndex( tr_id, false )
    local tr2 = reaper.GetTrack(0,tr_id)
    reaper.SetTrackStateChunk(tr2, chunk_upd, true)
    reaper.DeleteTrack( tr )
    
    reaper.TrackList_AdjustWindows( false )
    reaper.UpdateArrange()
  end
  
  
 local tr= reaper.GetSelectedTrack(0,0) 
 RearrangeAuto(tr)
new_track >> delete_track hint is the workaround since there is no way to force graphic update for rearranged automation lanes in track state chunk (or I missed something somewhere). This also will NOT work with master track.
__________________
SoundCloud | MPL Scripts discussion | ReaPack | Donate

Last edited by mpl; 09-15-2018 at 01:34 PM.
mpl is offline   Reply With Quote
Old 02-05-2020, 04:14 PM   #20
dug dog
Human being with feelings
 
Join Date: Jan 2009
Location: Ontario Canada
Posts: 1,240
Default

Quote:
Originally Posted by teatime View Post
* Request *
Rearrange Automation Lanes

Yes, please.

What a mess I've made!
dug dog is offline   Reply With Quote
Old 02-11-2020, 02:15 AM   #21
n997
Human being with feelings
 
Join Date: Dec 2018
Posts: 143
Default

Quote:
Originally Posted by teatime View Post
* Request *
Rearrange Automation Lanes
Another +1 to this.

Oftentimes it's useful to visually rearrange the order of envelope lanes, especially in genres where many parameters of synths or effects are automated at the same time.
n997 is offline   Reply With Quote
Old 02-12-2020, 06:34 AM   #22
mccrabney
Human being with feelings
 
mccrabney's Avatar
 
Join Date: Aug 2015
Location: Wooleye, Louisiana
Posts: 2,312
Default

+1, and to add to the fun, when AI are used in media lanes, use FIPM protocol to do away with "lanes" altogether for envelopes... i want a green volume AI to be able to be side by side, full height, with an orange pan AI
__________________
° using REAPER as host/arranger/sequencer to write instrumental beat music.
° striving for a loop-based, controller-centric midi recording/editing workflow.
° justice and equality for editable secondary midi items!
mccrabney is offline   Reply With Quote
Old 02-12-2020, 06:35 AM   #23
BirdBird
Human being with feelings
 
BirdBird's Avatar
 
Join Date: Mar 2019
Posts: 174
Default

Ideally automation lane selection and manipulation should just behave like tracks. There is no good reason for them to behave so differently.
BirdBird is offline   Reply With Quote
Old 02-14-2020, 12:09 PM   #24
Fergler
Human being with feelings
 
Fergler's Avatar
 
Join Date: Jan 2014
Posts: 4,212
Default

Additionally it makes more sense for automation lanes to behave as ambiguous data with outputs assigned.
A flow like such:

Create new automation lane manually, or it is made by the current method automatically (param > show in envelope lane, or the envelope button on the TCP).
Assign or switch assignment of lane to other FX parameters or track parameters in a tcp dropdown
Assign to multiple outputs with small + button allowing for another dropdown in the TCP
Scale the effect of the outputs with a scale knob beside each drop down, including inverting the effect.
__________________
Check out my hip-hop, funk-rock band Theatre Crisp
Fergler is offline   Reply With Quote
Old 02-14-2020, 02:23 PM   #25
dug dog
Human being with feelings
 
Join Date: Jan 2009
Location: Ontario Canada
Posts: 1,240
Default

Quote:
Originally Posted by Fergler View Post
Additionally it makes more sense for automation lanes to behave as ambiguous data with outputs assigned.
A flow like such:

Create new automation lane manually, or it is made by the current method automatically (param > show in envelope lane, or the envelope button on the TCP).
Assign or switch assignment of lane to other FX parameters or track parameters in a tcp dropdown
Assign to multiple outputs with small + button allowing for another dropdown in the TCP
Scale the effect of the outputs with a scale knob beside each drop down, including inverting the effect.

Woooo.... I like very much.
dug dog is offline   Reply With Quote
Old 02-14-2020, 09:15 PM   #26
deeb
Human being with feelings
 
deeb's Avatar
 
Join Date: Feb 2017
Posts: 2,742
Default

Quote:
Originally Posted by BirdBird View Post
Ideally automation lane selection and manipulation should just behave like tracks. There is no good reason for them to behave so differently.
yes yes
deeb 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 02:08 AM.


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