Old 05-25-2020, 01:26 PM   #1201
amagalma
Human being with feelings
 
amagalma's Avatar
 
Join Date: Apr 2011
Posts: 3,450
Default

Seeing the Area Selection being native in the new dev build, of course I want to thank the devs for giving it to us, but I want to give kudos and lots of thanks to Sexan for his time and his talent! I really think that his excellent work with Area 51, the time and effort he invested in it, is what motivated the devs to implement it natively. And what Sexan did would not be possible without juliansader's JS_ReaScriptAPI! Thanks to all of you guys!
__________________
Most of my scripts can be found in ReaPack.
If you find them useful, a donation would be greatly appreciated! Thank you! :)
amagalma is offline   Reply With Quote
Old 05-25-2020, 01:45 PM   #1202
vitalker
Human being with feelings
 
vitalker's Avatar
 
Join Date: Dec 2012
Posts: 13,333
Default

Quote:
Originally Posted by AJYoung View Post
OH DAMN.

@Sexan, are you working with them on this perhaps?
Unfortunately, no.
vitalker is offline   Reply With Quote
Old 05-25-2020, 01:47 PM   #1203
vitalker
Human being with feelings
 
vitalker's Avatar
 
Join Date: Dec 2012
Posts: 13,333
Default

Quote:
Originally Posted by amagalma View Post
Seeing the Area Selection being native in the new dev build, of course I want to thank the devs for giving it to us, but I want to give kudos and lots of thanks to Sexan for his time and his talent! I really think that his excellent work with Area 51, the time and effort he invested in it, is what motivated the devs to implement it natively. And what Sexan did would not be possible without juliansader's JS_ReaScriptAPI! Thanks to all of you guys!
I hope we'll see all the features Sexan implemented in native Area selection 51!
vitalker is offline   Reply With Quote
Old 05-25-2020, 02:32 PM   #1204
Sexan
Human being with feelings
 
Sexan's Avatar
 
Join Date: Jun 2009
Location: Croatia
Posts: 4,528
Default

Thank you for the kind words everyone! And thanks to everyone that helped me with the development. I told you schwa will make it some day!
Sexan is offline   Reply With Quote
Old 05-25-2020, 03:04 PM   #1205
Vagelis
Human being with feelings
 
Vagelis's Avatar
 
Join Date: Oct 2017
Location: Larisa, Greece
Posts: 3,782
Default

Sexan you did a fantastic work, your passion for doing something right and beyond what was possible before by crafting lots of wonderful ideas, I think pushed the Devs to implement it natively. Respect : )

Of course also mad respect goes to Schwa for making it real!

Last edited by Vagelis; 05-25-2020 at 03:10 PM.
Vagelis is offline   Reply With Quote
Old 05-25-2020, 03:05 PM   #1206
J Reverb
Human being with feelings
 
Join Date: Jul 2009
Posts: 1,071
Default

Thank you
J Reverb is offline   Reply With Quote
Old 05-25-2020, 04:50 PM   #1207
tdc
Human being with feelings
 
Join Date: Oct 2019
Location: Sydney
Posts: 471
Default

Quote:
Originally Posted by Sexan View Post
Thank you for the kind words everyone! And thanks to everyone that helped me with the development. I told you schwa will make it some day!
The Levitating Cat has done it! Well done Sexan, your work was next-level !!

PS: I think it was your "Dancing Man" gif that got the attention of the devs.
tdc is offline   Reply With Quote
Old 05-25-2020, 05:08 PM   #1208
Joe90
Human being with feelings
 
Join Date: Aug 2019
Posts: 853
Default

Quote:
Originally Posted by amagalma View Post
Seeing the Area Selection being native in the new dev build, of course I want to thank the devs for giving it to us, but I want to give kudos and lots of thanks to Sexan for his time and his talent! I really think that his excellent work with Area 51, the time and effort he invested in it, is what motivated the devs to implement it natively. And what Sexan did would not be possible without juliansader's JS_ReaScriptAPI! Thanks to all of you guys!
This.

Well done guys. Many Reaper users will reap the benefit of your hard work for years to come. We appreciate it.
Joe90 is offline   Reply With Quote
Old 05-25-2020, 09:23 PM   #1209
todoublez
Human being with feelings
 
todoublez's Avatar
 
Join Date: Aug 2019
Location: beijing
Posts: 612
Default

it has become a native function ?
wow
congrats !
big thank to Sexan of course
todoublez is offline   Reply With Quote
Old 05-26-2020, 02:57 AM   #1210
timothys_monster
Human being with feelings
 
timothys_monster's Avatar
 
Join Date: Jan 2012
Location: Germany
Posts: 1,130
Default

Big big thank you to Sexan!!!

I think your input will be very valuable for the testing phase since you have been working so hard on it for a long time and know all about the possibilities and how to avoid mistakes
timothys_monster is offline   Reply With Quote
Old 05-26-2020, 03:05 AM   #1211
todd_r
Human being with feelings
 
todd_r's Avatar
 
Join Date: Nov 2006
Posts: 844
Default

How we just need Sexan to prod Cockos into making their Area Selection as good as his!
todd_r is online now   Reply With Quote
Old 05-26-2020, 05:46 AM   #1212
Dragonetti
Human being with feelings
 
Join Date: Feb 2017
Location: Kiel
Posts: 974
Default

At the beginning of the thread there was the idea of Zones.
Is it still possible to add zones?
That won't come in the native version, will it?
Dragonetti is offline   Reply With Quote
Old 05-26-2020, 06:27 PM   #1213
permeke
Human being with feelings
 
Join Date: Dec 2019
Posts: 587
Default

Quote:
Originally Posted by Sexan View Post
Christmas will come very early this year....
Multi/Noncontiguous AS (holding Shift or Ctrl)



P.S. I was just kidding Reno

I still don't know why my cursor turns into a pensil when doing this movent.

I'm on OSX
permeke is offline   Reply With Quote
Old 05-27-2020, 01:13 AM   #1214
Sexan
Human being with feelings
 
Sexan's Avatar
 
Join Date: Jun 2009
Location: Croatia
Posts: 4,528
Default

Please check Pre-Release thread
Sexan is offline   Reply With Quote
Old 03-30-2023, 08:27 AM   #1215
Wojtek Stecyszyn
Human being with feelings
 
Wojtek Stecyszyn's Avatar
 
Join Date: Mar 2023
Location: Poland
Posts: 35
Default

Hi
Can someone pleas be so kind to explain me how to use this script?
What Im looking for is to select more than one point of two envelopes from different lanes, or different tracks, move them together and then just unselect.

I have the repository installed but dont know how to use it in Reaper.
Please help.
Thanks

--------------------------------
My music:
https://wojciechstecyszyn.bandcamp.com/
Wojtek Stecyszyn is offline   Reply With Quote
Old 03-30-2023, 10:09 AM   #1216
AJYoung
Human being with feelings
 
Join Date: Aug 2018
Posts: 93
Default

Quote:
Originally Posted by Wojtek Stecyszyn View Post
What Im looking for is to select more than one point of two envelopes from different lanes, or different tracks, move them together and then just unselect.
This script is largely obselete now that Reaper has Razor Edits:



I can't remember what the default is, but I have mine set to Alt + Right Drag.

AJYoung is offline   Reply With Quote
Old 03-30-2023, 03:32 PM   #1217
Sexan
Human being with feelings
 
Sexan's Avatar
 
Join Date: Jun 2009
Location: Croatia
Posts: 4,528
Default

May be obselete, but will always remain in our hearts!!!
Sexan is offline   Reply With Quote
Old 03-30-2023, 09:40 PM   #1218
ferropop
Human being with feelings
 
ferropop's Avatar
 
Join Date: Jan 2016
Location: Los Angeles, CA
Posts: 3,112
Default

Envelope point Compression/Expansion options still superior in your script Sexan lol.
__________________
FERRO
Songs I've Written/Produced : https://sptfy.com/7SIW
Instagram : http://www.instagram.com/ferropop
ferropop is online now   Reply With Quote
Old 03-30-2023, 11:09 PM   #1219
timothys_monster
Human being with feelings
 
timothys_monster's Avatar
 
Join Date: Jan 2012
Location: Germany
Posts: 1,130
Default

Quote:
Originally Posted by Sexan View Post
May be obselete, but will always remain in our hearts!!!
Razor edit wouldn't even exist without your script. They where just following the lead
timothys_monster is offline   Reply With Quote
Old 03-31-2023, 05:59 AM   #1220
Wojtek Stecyszyn
Human being with feelings
 
Wojtek Stecyszyn's Avatar
 
Join Date: Mar 2023
Location: Poland
Posts: 35
Default

Quote:
Originally Posted by AJYoung View Post
This script is largely obselete now that Reaper has Razor Edits:
Razor edits are cool, but what Im looking for is simply selecting envelopes points only and move them together like one point - left right up and down and when unselected - they are separate again. Please watch the video, where I show what I mean:

https://youtube.com/shorts/TOl5fu0SYcY?feature=share

Can I do it with LUA : Area(51) Selection Alpha script?

If yes then how to make it run in Reaper?

Thank you in advance for your help


-------------------------------
My music:
https://wojciechstecyszyn.bandcamp.com/

Last edited by Wojtek Stecyszyn; 03-31-2023 at 06:34 AM.
Wojtek Stecyszyn is offline   Reply With Quote
Old 03-31-2023, 07:22 AM   #1221
Sexan
Human being with feelings
 
Sexan's Avatar
 
Join Date: Jun 2009
Location: Croatia
Posts: 4,528
Default

No you cannot do that with Area51 also. That is little tricky because how things work internally in reaper.

Can be done with defered script
Sexan is offline   Reply With Quote
Old 03-31-2023, 07:57 AM   #1222
Sexan
Human being with feelings
 
Sexan's Avatar
 
Join Date: Jun 2009
Location: Croatia
Posts: 4,528
Default

Little showcase:


Code:
local r = reaper

local start_time = r.time_precise()
local key_state, KEY = r.JS_VKeys_GetState(start_time - 2), nil
for i = 1, 255 do
    if key_state:byte(i) ~= 0 then
        KEY = i;
        r.JS_VKeys_Intercept(KEY, 1)
    end
end
if not KEY then return end
local cur_pref = r.SNM_GetIntConfigVar("alwaysallowkb", 1)
r.SNM_SetIntConfigVar("alwaysallowkb", 1)

function Key_held()
    key_state = r.JS_VKeys_GetState(start_time - 2)
    return key_state:byte(KEY) == 1
end

function Release()
    r.JS_VKeys_Intercept(KEY, -1)
    r.SNM_SetIntConfigVar("alwaysallowkb", cur_pref)
end

function Handle_errors(err)
    r.ShowConsoleMsg(err .. '\n' .. debug.traceback())
    Release()
end

MX, MY = r.GetMousePosition()

local function SelectPointsInRazor(r_info)
    for i = 1, #r_info do
        local track = r_info[i].track
        for j = 1, r.CountTrackEnvelopes(track) do
            local envelope = r.GetTrackEnvelope(track, j - 1)
            for p = 1, r.CountEnvelopePoints(envelope) do
                local retval, time, value, shape, tension, selected = r.GetEnvelopePoint(envelope, p - 1)
                if time > r_info[i].L and time < r_info[i].R then
                    r.SetEnvelopePoint(envelope, p - 1, time, value, shape, tension, true)
                end
            end
        end
    end
end

local function GetPointsAcrossTracks()
    for i = 1, r.CountTracks(0) do
        local track = r.GetTrack(0, i - 1)
        for j = 1, r.CountTrackEnvelopes(track) do
            local envelope = r.GetTrackEnvelope(track, j - 1)
            for p = 1, r.CountEnvelopePoints(envelope) do
                local retval, time, value, shape, tension, selected = r.GetEnvelopePoint(envelope, p - 1)
                if selected then
                    local new_val = value + DY
                    local new_time = time + DX
                    r.SetEnvelopePoint(envelope, p - 1, new_time, new_val)
                end
            end
            r.Envelope_SortPoints(envelope)
        end
    end
end

local function GetRazorInfo()
    local r_tbl = {}
    for t = 0, r.CountTracks(0) - 1 do
        local track = r.GetTrack(0, t)
        local razorOK, razorStr = r.GetSetMediaTrackInfo_String(track, "P_RAZOREDITS", "", false)
        if razorOK and #razorStr ~= 0 then
            for razorLeft, razorRight, envGuid in razorStr:gmatch([[([%d%.]+) ([%d%.]+) "([^"]*)"]]) do
                r_tbl[#r_tbl + 1] = { track = track, L = tonumber(razorLeft), R = tonumber(razorRight) }
            end
        end
    end
    return r_tbl
end

local START = true
local function loop()
    if START then
        -- UNSELECT ALL POINTS
        r.Main_OnCommand(40769, 0)
        local r_info = GetRazorInfo()
        SelectPointsInRazor(r_info)
        r.Main_OnCommand(42406, 0)
        START = nil
    end

    local CX, CY = r.GetMousePosition()
    DX, DY = CX - MX, MY - CY

    GetPointsAcrossTracks()

    MX, MY = CX, CY
end

function Main()
    if not Key_held() then return end
    loop()
    r.defer(function() xpcall(Main, Handle_errors) end)
end

r.atexit(Release)
xpcall(Main, Handle_errors)
Requires JS API, assign script to some shortcut. While you hold that shorcut key and move mouse around magic starts to happen

(Script defers while you hold down the key)

Works only on volume, need to improve it

Last edited by Sexan; 03-31-2023 at 08:29 AM.
Sexan is offline   Reply With Quote
Old 03-31-2023, 08:31 AM   #1223
Wojtek Stecyszyn
Human being with feelings
 
Wojtek Stecyszyn's Avatar
 
Join Date: Mar 2023
Location: Poland
Posts: 35
Default

Quote:
Originally Posted by Sexan View Post
No you cannot do that with Area51 also. That is little tricky because how things work internally in reaper.

Can be done with defered script
Thank you Sexan for replying. This might be it!
Unfortunately Im not familiar with working with raw scripts (yet). Can this feature be applied through ReaPack extensions? If not then what should I do in order to use this script? Could you be so kind and guide me, please?

If this is slipping from the main topic of this thread than we may go private, if you wish.
__________________
My music:
https://wojciechstecyszyn.bandcamp.com/
Wojtek Stecyszyn is offline   Reply With Quote
Old 03-31-2023, 08:46 AM   #1224
Sexan
Human being with feelings
 
Sexan's Avatar
 
Join Date: Jun 2009
Location: Croatia
Posts: 4,528
Default

1. Install JS_API from Reapack
2. Copy the code above
3. Actions window - New Action - New Reascript
4. Paste that code in save and close
5. Assign that script to some shorcut
6. Make razor selection on several Volume envelopes (not yet working on other envelopes)
7. Hold down your shortcut button and move mouse around
Sexan is offline   Reply With Quote
Old 03-31-2023, 10:43 AM   #1225
Wojtek Stecyszyn
Human being with feelings
 
Wojtek Stecyszyn's Avatar
 
Join Date: Mar 2023
Location: Poland
Posts: 35
Default

Thank you so much for explanation
I made my first script running
It is exactly what I was looking for. It does great job when zoomed out , but unfortunately when zoomed in - where we usually perform these precise envelope adjustments - the selected points are moving so fast that it is very difficult (even impossible when zoomed in more) to manage them.
Thanks anyway. I appreciate your work.
__________________
My music:
https://wojciechstecyszyn.bandcamp.com/
Wojtek Stecyszyn is offline   Reply With Quote
Old 03-31-2023, 11:39 AM   #1226
Sexan
Human being with feelings
 
Sexan's Avatar
 
Join Date: Jun 2009
Location: Croatia
Posts: 4,528
Default

I made that in 5 minutes, will improve over time
Sexan is offline   Reply With Quote
Old 03-31-2023, 12:29 PM   #1227
Wojtek Stecyszyn
Human being with feelings
 
Wojtek Stecyszyn's Avatar
 
Join Date: Mar 2023
Location: Poland
Posts: 35
Default

Awesome, please do!
It will be wonderful.
Thank you for doing this.
__________________
My music:
https://wojciechstecyszyn.bandcamp.com/
Wojtek Stecyszyn is offline   Reply With Quote
Old 03-31-2023, 08:05 PM   #1228
sosie
Human being with feelings
 
sosie's Avatar
 
Join Date: Mar 2023
Posts: 29
Default

Quote:
Originally Posted by Sexan View Post
May be obselete, but will always remain in our hearts!!!
You script was a beast! By the way, this kind of funcionality is very much missing in the midi editor, can it be used there in some way?
sosie is offline   Reply With Quote
Old 04-01-2023, 06:40 AM   #1229
Vagelis
Human being with feelings
 
Vagelis's Avatar
 
Join Date: Oct 2017
Location: Larisa, Greece
Posts: 3,782
Default

Quote:
Originally Posted by sosie View Post
You script was a beast! By the way, this kind of funcionality is very much missing in the midi editor, can it be used there in some way?
This would be nice indeed if was possible.
Vagelis is offline   Reply With Quote
Old 04-01-2023, 09:07 AM   #1230
ferropop
Human being with feelings
 
ferropop's Avatar
 
Join Date: Jan 2016
Location: Los Angeles, CA
Posts: 3,112
Default

There's an absurdly high dollar value I'd pay to use Razors in the MIDI Editor haha.

And if ReaControlMIDI lanes were also displayed in the MIDI Editor, and editable together with the MIDI Notes using Razor Edits.

Almost as if those things all fit together
__________________
FERRO
Songs I've Written/Produced : https://sptfy.com/7SIW
Instagram : http://www.instagram.com/ferropop
ferropop is online now   Reply With Quote
Old 04-01-2023, 09:15 AM   #1231
Vagelis
Human being with feelings
 
Vagelis's Avatar
 
Join Date: Oct 2017
Location: Larisa, Greece
Posts: 3,782
Default

Quote:
Originally Posted by ferropop View Post
There's an absurdly high dollar value I'd pay to use Razors in the MIDI Editor haha.

And if ReaControlMIDI lanes were also displayed in the MIDI Editor, and editable together with the MIDI Notes using Razor Edits.

Almost as if those things all fit together
Absolutely agree, it would be great if we could see any fx parameter in midi editor.
Vagelis 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 09:14 PM.


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