Go Back   Cockos Incorporated Forums > REAPER Forums > REAPER Feature Requests

Reply
 
Thread Tools Display Modes
Old 03-07-2024, 06:36 AM   #1
smandrap
Human being with feelings
 
smandrap's Avatar
 
Join Date: Feb 2021
Location: Right here
Posts: 1,940
Default Option to Auto-toggle Midi overdub for items with open midi editor

Hi,

Since v7 i like that i can record midi in multiple layered lanes and then glue them together when needed (please also add support to collapse lanes while keeping the layering).
But sometimes i have a midi editor open and would like to touch-replace some ccs, add notes or whatever, in overdub mode, so stuff get added to the current item.

Now i have to go to the tcp/mcp, set the mode to Overdub, do my thing, and most importantly remember to switch back to input audio/midi, and most of the time i simply forget, yell at the screen and do the thing all over again.

So... could we have an option in the midi editor to Auto-enable midi overdub for tracks with open midi editors?

Hope this is clear, thanks
__________________
My Scripts
smandrap is offline   Reply With Quote
Old 04-08-2024, 10:00 AM   #2
smandrap
Human being with feelings
 
smandrap's Avatar
 
Join Date: Feb 2021
Location: Right here
Posts: 1,940
Default

bump
__________________
My Scripts
smandrap is offline   Reply With Quote
Old 04-08-2024, 11:12 AM   #3
FeedTheCat
Human being with feelings
 
FeedTheCat's Avatar
 
Join Date: May 2019
Location: Berlin
Posts: 2,281
Default

Quote:
Originally Posted by smandrap View Post
bump
Don't want to be pessimistic, but it seems highly unlikely that something like this will be added. Probably a good task for a script.

Here's one that you can launch after opening the MIDI editor (e.g. in a custom action):

Code:
reaper.set_action_options(7)

local prev_track
local prev_rec_mode

function Main()
    local hwnd = reaper.MIDIEditor_GetActive()
    local take = hwnd and reaper.MIDIEditor_GetTake(hwnd)
    local track = take and reaper.GetMediaItemTake_Track(take)
    
    if track ~= prev_track then
        if prev_track and reaper.ValidatePtr(prev_track, 'MediaTrack*') then
            reaper.SetMediaTrackInfo_Value(prev_track, 'I_RECMODE', prev_rec_mode)
        end
        if track then
            prev_rec_mode = reaper.GetMediaTrackInfo_Value(track, 'I_RECMODE')
            reaper.SetMediaTrackInfo_Value(track, 'I_RECMODE', 7)
        end
        prev_track = track
    end
    
    if reaper.ValidatePtr(hwnd, 'HWND*') then reaper.defer(Main) end
end

function Exit()
    if prev_track and reaper.ValidatePtr(prev_track, 'MediaTrack*') then
        reaper.SetMediaTrackInfo_Value(prev_track, 'I_RECMODE', prev_rec_mode)
    end
    reaper.set_action_options(11)
end

reaper.atexit(Exit)
Main()
__________________
Featured scripts: REAPER Update UtilityLil ChordboxGridbox/Adaptive gridMX TunerRS5K LinkMIDI Editor Magic Donate💝: PayPal|ko-fi
FeedTheCat is offline   Reply With Quote
Old 04-08-2024, 11:18 AM   #4
smandrap
Human being with feelings
 
smandrap's Avatar
 
Join Date: Feb 2021
Location: Right here
Posts: 1,940
Default

Quote:
Originally Posted by FeedTheCat View Post
Don't want to be pessimistic, but it seems highly unlikely that something like this will be added. Probably a good task for a script.

Here's one that you can launch after opening the MIDI editor (e.g. in a custom action):

Code:
reaper.set_action_options(7)

local prev_track
local prev_rec_mode

function Main()
    local hwnd = reaper.MIDIEditor_GetActive()
    local take = hwnd and reaper.MIDIEditor_GetTake(hwnd)
    local track = take and reaper.GetMediaItemTake_Track(take)
    
    if track ~= prev_track then
        if prev_track and reaper.ValidatePtr(prev_track, 'MediaTrack*') then
            reaper.SetMediaTrackInfo_Value(prev_track, 'I_RECMODE', prev_rec_mode)
        end
        if track then
            prev_rec_mode = reaper.GetMediaTrackInfo_Value(track, 'I_RECMODE')
            reaper.SetMediaTrackInfo_Value(track, 'I_RECMODE', 7)
        end
        prev_track = track
    end
    
    if reaper.ValidatePtr(hwnd, 'HWND*') then reaper.defer(Main) end
end

function Exit()
    if prev_track and reaper.ValidatePtr(prev_track, 'MediaTrack*') then
        reaper.SetMediaTrackInfo_Value(prev_track, 'I_RECMODE', prev_rec_mode)
    end
    reaper.set_action_options(11)
end

reaper.atexit(Exit)
Main()
Thanks! still hoping for native though
__________________
My Scripts
smandrap is offline   Reply With Quote
Old 06-21-2024, 12:28 PM   #5
joshxtra
Human being with feelings
 
Join Date: Jul 2018
Posts: 57
Default

I think this is a great idea, comes up constantly for me
joshxtra is offline   Reply With Quote
Old 06-22-2024, 10:17 AM   #6
deeb
Human being with feelings
 
deeb's Avatar
 
Join Date: Feb 2017
Posts: 4,908
Default

^^ I agree. This would very useful.
__________________
🙏🏻
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 11:35 AM.


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