Reaper: Interesting Tips, Tricks & Actions.

Discussion in 'Reaper' started by justsomerandomdude, Feb 9, 2023.

  1. justsomerandomdude

    justsomerandomdude Rock Star

    Joined:
    Aug 24, 2020
    Messages:
    530
    Likes Received:
    356
    Media Explorer: Media Channel Mapper.
    From Version 7.12

    Select the channels for preview. Works for Midi and audio.

    1.jpg

    2.jpg
     
  2. xbitz

    xbitz Audiosexual

    Joined:
    Apr 18, 2013
    Messages:
    956
    Likes Received:
    550
  3. Chaindog

    Chaindog Platinum Record

    Joined:
    Dec 12, 2016
    Messages:
    262
    Likes Received:
    222
    Reaper Update Utility by FTC

    A simple utility that automates the REAPER update/installation process.
    (No need to go to the download page everytime there is a new update)

    Features:
    -Update REAPER to the latest version
    -Install old versions of REAPER
    -Get notifications for new releases (enable them under Menu > Startup notifications > Run script on startup)
    -Open changelog in web browser (links to forum thread if available)
    -Post-installation script hooks for advanced users


    [​IMG]

    Reaper Update Utility by FTC
    https://forum.cockos.com/showthread.php?t=242922
     
    • Like Like x 2
    • Interesting Interesting x 2
    • List
  4. xorome

    xorome Audiosexual

    Joined:
    Sep 28, 2021
    Messages:
    1,393
    Likes Received:
    1,047
    Perfect Timing is a quantisation tool and automatic transient splitter based on MK Slicer.

    [​IMG]

    MK Slicer is a script for slicing, quantizing by grid, re-quantizing, triggering or sampling audio.

    upload_2024-4-4_14-25-7.jpeg
     
  5. Sinus Well

    Sinus Well Audiosexual

    Joined:
    Jul 24, 2019
    Messages:
    2,160
    Likes Received:
    1,677
    Location:
    Sanatorium
    .... already mentioned on page 1.
    :bleh:
     
    • Agree Agree x 1
    • Funny Funny x 1
    • List
  6. justsomerandomdude

    justsomerandomdude Rock Star

    Joined:
    Aug 24, 2020
    Messages:
    530
    Likes Received:
    356
    MIDI Channel Picker:
    By @xorome
    MIDI Channel Picker 3.jpg

    A JSFX from our very own AS fellow member, @xorome. It was one of those "ask and you shall receive" moments. I was looking for a plugin which could route MIDI signal to a selected channel, so i made a post here, and dude stepped in and was kind enough to share his skills for free, and made me the script. You can read the complete process in here, just wonderful.
    Original Thread:
    https://audiosex.pro/threads/looking-for-a-plugin-which-has-a-similar-midi-routing-feature.75098/#post-770235

    Here is his post with the final result,
    http://audiosex.pro/threads/looking-for-a-plugin-which-has-a-similar-midi-routing-feature.75098/#post-770235
    and the script he wrote
    Code:
    desc:MIDI Channel Picker
    
    in_pin:none;
    out_pin:none;
    
    @init
    ext_noinit = 1;
    
    solo = 0;
    note_off = 0;
    note_off_send = 0;
    mouse_cap_p = -1;
    
        ch_state = 0;
        m_state = 16;
        s_state = 32;
    ch_button_x = 48;
    ch_button_y = 64;
     m_button_x = 80;
     s_button_x = 96;
    
    memset(ch_state, 0, n_btn);
    memset( m_state, 0, n_btn);
    memset( s_state, 0, n_btn);
    ch_state[0] = 1;
    
    x = 8;
    y = 8;
    
    n_btn   = 15;
    bt_hght = 25;
    ch_wdth = 61;
    ms_wdth = 28;
    ck_wh   = 16;
    ck_x    = 8;
    ck_y    = 174;
    
    i = 0;
    while (i < n_btn) (
      ch_button_x[i] = x;
      ch_button_y[i] = y;
     
      m_button_x[i] = ch_button_x[i] + ch_wdth + 4;
      s_button_x[i] =  m_button_x[i] + ms_wdth + 4;
    
      y += 31;
     
      i += 1;
      (i % 5 == 0) ? (
        x += 138;
        y = 8;
      );
    );
    
    function draw_btn(txt, x, y, w, h, toggle) (
      toggle == 0 ? (
        gfx_set(.17, .17, .17);
      ) : (
        gfx_set(.1, .4, .3);
      );
      gfx_rect(x, y, w, h, 5, 1);
    
      gfx_set(.95, .95, .95);
      gfx_x = x + 11;
      gfx_y = y + 8;
      gfx_printf(txt);
    );
    
    function draw_ckbx(txt, x, y, w, h, toggle) (
      toggle == 0 ? (
        gfx_set(.17, .17, .17);
      ) : (
        gfx_set(.1, .4, .3);
      );
      gfx_rect(x, y, w, h, 5, 1);
    
      gfx_set(.95, .95, .95);
      gfx_x = x + w + 6;
      gfx_y = y + 4;
      gfx_printf(txt);
    );
    
    @gfx 415 200
    gfx_setfont(0);
    
    i = 0;
    while (i < n_btn) (
      #label = sprintf(#, "Ch %d", i + 1);
      draw_btn(#label, ch_button_x[i], ch_button_y[i], ch_wdth, bt_hght, ch_state[i]);
      draw_btn("M",     m_button_x[i], ch_button_y[i], ms_wdth, bt_hght,  m_state[i]);
      draw_btn("S",     s_button_x[i], ch_button_y[i], ms_wdth, bt_hght,  s_state[i]);
      i += 1;
    );
    
    draw_ckbx("Note off on channel change", ck_x, ck_y, ck_wh, ck_wh, note_off);
    
    ((mouse_cap == 1 || mouse_cap == 5) && (mouse_cap_p == 0)) ? (
      ((mouse_y >= ck_y) && (mouse_y <= ck_y + ck_wh) &&
       (mouse_x >= ck_x) && (mouse_x <= ck_x + 235)) ? (note_off = !note_off);
    
      i = 0;
      while (i < n_btn) (
        ((mouse_y >= ch_button_y[i]) && (mouse_y <= ch_button_y[i] + bt_hght)) ? (
          ((mouse_x >= ch_button_x[i]) &&
           (mouse_x <= ch_button_x[i] + ch_wdth)
          ) ? (
            (mouse_cap == 1) ? (
              memset(ch_state, 0, n_btn);
              (note_off == 1) ? (note_off_send = 1);
            );
            ch_state[i] = !ch_state[i];
          );
     
          ((mouse_x >= m_button_x[i]) &&
           (mouse_x <= m_button_x[i] + ms_wdth)
          ) ? (
            (mouse_cap == 5) ? (memset(m_state, 0, n_btn));
            m_state[i] = !m_state[i];
          );
    
          ((mouse_x >= s_button_x[i]) &&
           (mouse_x <= s_button_x[i] + ms_wdth)
          ) ? (
            (mouse_cap == 5) ? (memset(s_state, 0, n_btn));
            s_state[i] = !s_state[i];
          );
        );
    
        i += 1;
      );
    );
    
    mouse_cap_p = mouse_cap;
    
    solo = 0;
    i = 0;
    while (i < n_btn) (
      s_state[i] == 1 ? (
        solo = 1;
        i = 666;
      );
      i += 1;
    );
    
    @block
    (note_off_send == 1) ? (
      note_off_send = 0;
      i = 0;
      while (i < n_btn) (
        midisend(0, $xB0 + i, 123, 0);
        i += 1;
      )
    );
    
    while (midirecv(pos, msg1, msg2, vel)) (
      i = 0;
      while (i < n_btn) (
        pass = 0;
    
        (solo == 0) ? (ch_state[i] == 1) ? (pass = 1);
     
        (m_state[i] == 1) ? (pass = 0);
        (s_state[i] == 1) ? (pass = 1);
     
        (pass == 1) ? (midisend(pos, (msg1 & $xF0) + i, msg2, vel));
    
        i += 1;
      );
    )

    To save as jsfx
    Open Reaper FX browser, click "create new JS FX" from the FX menu on top left.
    Fill in the filename and description.
    open the newly created FX, click edit and just paste the code.

    Here is same but i just added one additional channel, (16)

    Code:
    desc:xorome's MIDI Channel Picker
    
    in_pin:none;
    out_pin:none;
    
    @init
    ext_noinit = 1;
    
    solo = 0;
    note_off = 0;
    note_off_send = 0;
    mouse_cap_p = -1;
    
        ch_state = 0;
        m_state = 16;
        s_state = 32;
    ch_button_x = 48;
    ch_button_y = 64;
     m_button_x = 80;
     s_button_x = 96;
    
    memset(ch_state, 0, n_btn);
    memset( m_state, 0, n_btn);
    memset( s_state, 0, n_btn);
    ch_state[0] = 1;
    
    x = 8;
    y = 8;
    
    n_btn   = 16;
    bt_hght = 25;
    ch_wdth = 61;
    ms_wdth = 28;
    ck_wh   = 16;
    ck_x    = 8;
    ck_y    = 260;
    
    i = 0;
    while (i < n_btn) (
      ch_button_x[i] = x;
      ch_button_y[i] = y;
     
      m_button_x[i] = ch_button_x[i] + ch_wdth + 4;
      s_button_x[i] =  m_button_x[i] + ms_wdth + 4;
    
      y += 31;
     
      i += 1;
      (i % 8 == 0) ? (
        x += 138;
        y = 8;
      );
    );
    
    function draw_btn(txt, x, y, w, h, toggle) (
      toggle == 0 ? (
        gfx_set(.17, .17, .17);
      ) : (
        gfx_set(.1, .4, .3);
      );
      gfx_rect(x, y, w, h, 5, 1);
    
      gfx_set(.95, .95, .95);
      gfx_x = x + 11;
      gfx_y = y + 8;
      gfx_printf(txt);
    );
    
    function draw_ckbx(txt, x, y, w, h, toggle) (
      toggle == 0 ? (
        gfx_set(.17, .17, .17);
      ) : (
        gfx_set(.1, .4, .3);
      );
      gfx_rect(x, y, w, h, 5, 1);
    
      gfx_set(.95, .95, .95);
      gfx_x = x + w + 6;
      gfx_y = y + 4;
      gfx_printf(txt);
    );
    
    @gfx 415 283
    gfx_setfont(0);
    
    i = 0;
    while (i < n_btn) (
      #label = sprintf(#, "Ch %d", i + 1);
      draw_btn(#label, ch_button_x[i], ch_button_y[i], ch_wdth, bt_hght, ch_state[i]);
      draw_btn("M",     m_button_x[i], ch_button_y[i], ms_wdth, bt_hght,  m_state[i]);
      draw_btn("S",     s_button_x[i], ch_button_y[i], ms_wdth, bt_hght,  s_state[i]);
      i += 1;
    );
    
    draw_ckbx("Note off on channel change", ck_x, ck_y, ck_wh, ck_wh, note_off);
    
    ((mouse_cap == 1 || mouse_cap == 5) && (mouse_cap_p == 0)) ? (
      ((mouse_y >= ck_y) && (mouse_y <= ck_y + ck_wh) &&
       (mouse_x >= ck_x) && (mouse_x <= ck_x + 235)) ? (note_off = !note_off);
    
      i = 0;
      while (i < n_btn) (
        ((mouse_y >= ch_button_y[i]) && (mouse_y <= ch_button_y[i] + bt_hght)) ? (
          ((mouse_x >= ch_button_x[i]) &&
           (mouse_x <= ch_button_x[i] + ch_wdth)
          ) ? (
            (mouse_cap == 1) ? (
              memset(ch_state, 0, n_btn);
              (note_off == 1) ? (note_off_send = 1);
            );
            ch_state[i] = !ch_state[i];
          );
     
          ((mouse_x >= m_button_x[i]) &&
           (mouse_x <= m_button_x[i] + ms_wdth)
          ) ? (
            (mouse_cap == 5) ? (memset(m_state, 0, n_btn));
            m_state[i] = !m_state[i];
          );
    
          ((mouse_x >= s_button_x[i]) &&
           (mouse_x <= s_button_x[i] + ms_wdth)
          ) ? (
            (mouse_cap == 5) ? (memset(s_state, 0, n_btn));
            s_state[i] = !s_state[i];
          );
        );
    
        i += 1;
      );
    );
    
    mouse_cap_p = mouse_cap;
    
    solo = 0;
    i = 0;
    while (i < n_btn) (
      s_state[i] == 1 ? (
        solo = 1;
        i = 666;
      );
      i += 1;
    );
    
    @block
    (note_off_send == 1) ? (
      note_off_send = 0;
      i = 0;
      while (i < n_btn) (
        midisend(0, $xB0 + i, 123, 0);
        i += 1;
      )
    );
    
    while (midirecv(pos, msg1, msg2, vel)) (
      i = 0;
      while (i < n_btn) (
        pass = 0;
    
        (solo == 0) ? (ch_state[i] == 1) ? (pass = 1);
     
        (m_state[i] == 1) ? (pass = 0);
        (s_state[i] == 1) ? (pass = 1);
     
        (pass == 1) ? (midisend(pos, (msg1 & $xF0) + i, msg2, vel));
    
        i += 1;
      );
    )

    and @xorome
    [​IMG]
     
    Last edited: Apr 18, 2024
    • Like Like x 3
    • Winner Winner x 2
    • Love it! Love it! x 1
    • List
  7. justsomerandomdude

    justsomerandomdude Rock Star

    Joined:
    Aug 24, 2020
    Messages:
    530
    Likes Received:
    356
    • Like Like x 4
    • Useful Useful x 1
    • List
  8. Chaindog

    Chaindog Platinum Record

    Joined:
    Dec 12, 2016
    Messages:
    262
    Likes Received:
    222
    Here are 2 great Repositories with awesome JSFX and Synths for Reaper:

    Saike's workshop
    https://forums.cockos.com/showthread.php?t=220277
    Direct Link to the Repository:
    https://raw.githubusercontent.com/JoepVanlierFX /JSFX/master/index.xml

    Some videos:



    Tukan Studios plugins
    Overview List (PDF)
    https://raw.githubusercontent.com/TukanStudios/TUKAN_STUDIOS_PLUGINS/main/Complete_Plugin_List.pdf
    Direct Link to the Repository:
    https://raw.githubusercontent.com/TukanStudios/TUKAN_STUDIOS_PLUGINS/main/index2.xml

    Some videos:
    [
    ]
     
  9. Sinus Well

    Sinus Well Audiosexual

    Joined:
    Jul 24, 2019
    Messages:
    2,160
    Likes Received:
    1,677
    Location:
    Sanatorium
    Here are some things that are probably more likely to be categorised as "simple and boring", but are absolutely indispensable for me in my day-to-day work.


    SWS: ReaConsole


    It's not sexy but,
    • Sometimes you just reach your goal faster with the keyboard than with the mouse.
    • And in combination with the Cycle Action Editor, you can use the Console to create quite complex actions.

    [​IMG]




    rodilab_Color palette
    • A very simple color palette - despite many customization options - but the fact that I can dock it vertically next to my TCP makes it very handy for me.
    [​IMG]

    ReaNamer (track-item-region renaming utility) [amagalma & gianfini]
    • Seriously, this tool saves me A LOT of time.
    [​IMG]




    SWS: Auto Color/Icon/Layout & Default_7.0_theme_adjuster
    • I mainly use Auto Color/Icon/Layout to load layouts based on prefixes in the name. Or to automatically color children based on their folder color.
    • The new Theme Adjuster is just great.
    layout.png




    "View: Toggle to alternate TCP area width (alternate is zero by default)"
    • Need more screen space for arranging and editing? This is your action!
    layout s.png
     
    • Like Like x 5
    • Interesting Interesting x 1
    • Love it! Love it! x 1
    • Useful Useful x 1
    • List
  10. justsomerandomdude

    justsomerandomdude Rock Star

    Joined:
    Aug 24, 2020
    Messages:
    530
    Likes Received:
    356
    MIDI Razor Edits
    Original Post: https://forum.cockos.com/showthread.php?p=2839310

    (from Forum)

    What does MIDI Razor Edits do?

    MIDI Razor Edits adds the ability to:
    • Select, copy, and manipulate MIDI notes and CC data with the precision of Razor Edits.
    • Use workflows similar to REAPER’s native Razor Edits but designed specifically for MIDI editing.
    • Stretch, scale, invert, duplicate, copy your MIDI data quickly and conveniently.
    • You don't need to change event selection to work with notes and CC data.
    • Save time and make MIDI editing more flexible and intuitive.

    How does it work?

    When the script is active (I recommend assigning it to a key command or a toolbar icon), you can left-drag to create areas over notes and CC lane events. Cmd/Ctrl+drag will let you create several at a time. The script reads your grid-snapping settings out and uses them as the default, press Shift to reverse that setting (to turn snapping off or on). Adding the Option/Alt key will cause your lane to extend to the full lane height (in the piano roll), or to _not_ extend to the full lane height (in a CC lane).

    Or you can double-click on some empty space and get a new area encompassing all the data in that lane (full-lane in a CC lane (use Option/Alt to get a free area), only surrounding the notes in the piano roll).

    Once you've got an area, you can drag to move it (and whatever is under it) to a new location. Cmd/Ctrl+drag will make a copy. Again, Shift will reverse your snapping setting. Or delete the area (and whatever is under it).

    Or you can press Option/Alt and drag on the edges of the area to stretch the contents in time, or scale the contents in value. This doesn't work for all stuff -- velocities and notes are special --, but you'll figure it out.

    Or you could double-click on an area to reveal The Widget©™, which will let you scale and tilt stuff along a linear ramp.

    Or you can use some keyboard commands to do stuff like invert the contents, delete the area contents, duplicate all selected areas to the right. It's documented in this PDF.

    There's a preferences app which lets you assign keyboard commands, change scale/tilt behaviors, etc.

    [​IMG]

    [​IMG]

    [​IMG]

    Repository Link: https://github.com/jeremybernstein/ReaScripts/raw/main/index.xml

    This Is much like the multi-tool script, This one: https://forum.cockos.com/showthread.php?t=176878


    [​IMG]
     
  11. justsomerandomdude

    justsomerandomdude Rock Star

    Joined:
    Aug 24, 2020
    Messages:
    530
    Likes Received:
    356
    FX Modulator Linking: https://forum.cockos.com/showthread.php?t=295963

    Repo link: https://raw.githubusercontent.com/saxmand/Saxmand-ReaPack/refs/heads/main/index.xml

    [​IMG]

    i've using this for a while now, its not complete i beleive, little bit buggy. But the dude has done a good job, its very much needed and much requested feature.

    There was another one just like it called FX Device: https://forum.cockos.com/showthread.php?t=263622 but it was bit too much i never used it. But anyway u ca try it https://raw.githubusercontent.com/BryanChi/BryanChi-FX-Devices/main/index.xml
    it requires Ultraschall, it will be prompted when u try to open dont worry,

    [​IMG]
     
  12. justsomerandomdude

    justsomerandomdude Rock Star

    Joined:
    Aug 24, 2020
    Messages:
    530
    Likes Received:
    356
    This action(s) might be overlooked for most, well atleast for me,
    Open Fx on last touched track, there are other actions but they dont float the fx window.

    Action: "Track: Open/close UI for FX #1 on last touched track"
    "Track: Open/close UI for FX #2 on last touched track"...... so on untill #8 mapped from 1 to 8

    To close all the fx windows i always used
    "SWS/S&M: Close all floating FX windows"
    mapped to 0
     
    • Like Like x 1
    • Useful Useful x 1
    • List
  13. justsomerandomdude

    justsomerandomdude Rock Star

    Joined:
    Aug 24, 2020
    Messages:
    530
    Likes Received:
    356
    • Useful Useful x 2
    • Like Like x 1
    • List
  14. justsomerandomdude

    justsomerandomdude Rock Star

    Joined:
    Aug 24, 2020
    Messages:
    530
    Likes Received:
    356
    Play item or track under mouse until shortcut released:

    Action/Script: " az_Play item or track under mouse until shortcut released.lua "

    Just does what it says, if u r hovering over a track solos the track and starts playing from the mouse cursor if u r in the empty space or on top in timeline region area it will play everything. U need to set a shortcut, for me alt+n was empty so i assigned to it, if u have Reateam scripts u might have it.

    Reateam script repository: https://github.com/ReaTeam/ReaScripts/raw/master/index.xml

    Reapack: https://reapack.com/repos
     
    • Like Like x 1
    • Useful Useful x 1
    • List
  15. Dan Fuerth

    Dan Fuerth Kapellmeister

    Joined:
    Nov 2, 2017
    Messages:
    144
    Likes Received:
    70
    Only Daw that you can setup across rooms and channel audio directly through Reastream.
    I use this all the time to send Audio over to the Main master Reaper PC with the heaviest plugins to route audio and midi back an fourth.
    I control that machine from my laptop with TightVNC so I can change the settings on the plugins if I wish, on the laptop I have Reastream Tracks that match the receiving tracks on the Master Reaper PC. This allows you to not need to install tons of plugins they are only needed on the master Reaper PC ( Main Daw machine).

    Another thing you can do is run 2 Reapers at the same time in order to do parallel recording and mixing using the Subnet address as the broadcast so the other Reaper picks it up on the same machine.

    I know this is silly to some people but you can not deny the genius of allowing these type of weird setup scenarios.

    No other Daw out there is even near this.
     
  16. Mynock

    Mynock Audiosexual

    Joined:
    Jul 14, 2012
    Messages:
    1,382
    Likes Received:
    2,072
    Reaper is just amazing... when I update ReaPack, are the extensions you previously mentioned automatically downloaded, or not?
    The only thing that displeases me is Musical Notation... dude, I simply hate writing anything there...
     
  17. justsomerandomdude

    justsomerandomdude Rock Star

    Joined:
    Aug 24, 2020
    Messages:
    530
    Likes Received:
    356
    @Mynock to answer this question, no updating reapack doesn't necessarily update all the packages, because 'Reapack' is an extension just like SWS, updating Reapack only updates it to the latest version.
    To update the packages u need to synchronize, thats when new packages gets installed or updated. To do this open manages repositories from menu bar on top as u can see i use a custom menu set i dont remember the wr in the default menu this could be, but im 100% sure that its after the action and before help menu. After u open manage repositories window 1 there is an option button down below click it to see different option make sure u have enabled "install new pacakges when Sync.." this way all new packages u have imported on the repository gets updated or if there is new one available it ll be installed automatically. the only down side is u never know whats actually installed, unless u r a super user and check it very often. To disable this behavior u can simply uncheck the option, and manually (method 1) use refresh by right clicking on the repo name, this usually puts an update que, then u can check browse package 3, Check the pic below

    reaper reapack 1.jpg

    on the first column there is an 'i' if there is an update available it shows 'u' heres the icon meanings
    reapck 2.jpg

    (method 2)

    When right clicking the repo name there u can see an option in install new package to manually install,

    [​IMG]

    Here is a user guide for Reapack: https://reapack.com/user-guide

    But sometimes this usually dont work i dont know y it happens but ithink its mostly because the script is not a part of reateam or the repo is third party and its not properly updating from github. For ex; The Fx modulator linking that i posted here, it doesnt properly update to its latest version, have to manually check, maybe its fixed now or maybe not. We cannot complain because most of these were created by users who are sharing there work that they spent hours in making, Reapers main strength is the user base, Dev make Reaper customizable in turn users share their scripts which exceeds the functionality that the Daw natively has.

    Talking about things i dislike in Reaper
    My complaints: Reaper still haven't given us the option to change some of the font size, like the FX browser and media browser, one reason being that reaper uses most windows or the OS native settings to make it light and fast. Many req for a subfolder or folder tree = meh, chord track = nil, Session view = naeh.. But when u talk about session view in Reaper, on Reaper forum or reddit, there is always some dickhead some idiot talk about Playtime for Reaper like no one ever knew its existence. I mean i have playtime but its not perfect, unless its integrated into Reaper (native). If that ever happens i ll only need one DAW for everything.. it will simply be amazing. But i still Love Reaper for what it is, it always gives me an option, a way around for every task to do things my way
     
  18. Mynock

    Mynock Audiosexual

    Joined:
    Jul 14, 2012
    Messages:
    1,382
    Likes Received:
    2,072
    I understand your frustration regarding requests for visual customization and more modern features like a folder tree structure, chord track, session view, and the native integration of Playtime. These would be great additions, and, just like you, I greatly admire Reaper and the freedom it offers to work in a personalized way.

    Since I write music, the notation aspect is very important to me, even though nowadays this is somewhat of a "dinosaur" practice. At first, notation in Reaper seemed extremely promising. However, since I imagine it's not in high demand, there haven't been further developments (in short, remains extremely slow in development and focused on fixes and small improvements within the overall MIDI editor ecosystem). In this regard, Reaper falls short compared to Cubase 14, Studio One Pro 7, as well as Digital Performer 11.

    This may be one reason why it is not as widely used in film scoring, but it is remarkably lightweight and is steadily gaining popularity among audio designers.
     
    Last edited: May 20, 2025
  19. justsomerandomdude

    justsomerandomdude Rock Star

    Joined:
    Aug 24, 2020
    Messages:
    530
    Likes Received:
    356
    When ever i read this line
    on forum or email or on the phone with technical support, my brain immediately calls for this


    I don't know much about notation editing, but i guess u meant writing notation is a nightmare in Reaper,

    Now its my turn "I understand Ur Frustration"

    I came across a script a couple of yrs ago, as it was not useful for my workflow i completely forgot about it, no idea of the author or even its name, untill sterday as i was working, one of the scripts in the midi editor, i went though other scripts from that author and there it was, i dont know if u r aware of this, but may be its useful to u.

    MIDI Transfer by Daniel Lumertz

    Original Post: https://forums.cockos.com/showthread.php?p=2445752
    Repo: https://raw.githubusercontent.com/daniellumertz/DanielLumertz-Scripts/master/index.xml
    Github: https://github.com/daniellumertz/DanielLumertz-Scripts

    From the forum:
    "MIDI Transfer - Use other Softwares to edit MIDI to Reaper!"

    "This script enable transfer automatic to reaper, in my view making the other software more or less an MIDI editor for reaper!!

    How it work?
    Every time you export MID from the other software it will get updated and organized (in the tracks you assign each channel) in REAPER. It is really good for softwares that afford different workflows but are good to use with an DAW, like Notation Editors (Musescore, Sibelius, Dorico. Finale….) or softwares like PureData, MAX/MSP etc etc etc..."

    [​IMG]



    Requirements:
    Reaper v6, JS extension, Sws and Reapack.
    Manual: https://docs.google.com/document/d/...AoxpOOoAI/edit?tab=t.0#heading=h.xi8lnjjalmro
     
    Last edited: May 21, 2025
  20. justsomerandomdude

    justsomerandomdude Rock Star

    Joined:
    Aug 24, 2020
    Messages:
    530
    Likes Received:
    356
    Midi Toolkit by Daniel Lumertz
    Original Post: https://forum.cockos.com/showthread.php?t=272241
    Repo: https://raw.githubusercontent.com/daniellumertz/DanielLumertz-Scripts/master/index.xml
    Github: https://github.com/daniellumertz/DanielLumertz-Scripts


    [​IMG]


    MIDI Toolkit have, currently, 4 main modules that are independent. All modules are dedicated for manipulating MIDI notes separating in different parameters. Some parameters are related to note pitch like Pitch and Interval*. Some parameters are related with the notes position like Rhythm**, Measure Position*** and Groove****. The parameter Length is related to the note length, which shall only change the note OFF position. The Velocity parameter is related to the MIDI Note ON velocity. The 4 modules are:

    1) Copy Paste: For coping and pasting parameters. It also can merge between the original version and the pasted parameters. If you are pasting to more notes than your copy then the values will loop around.


    [​IMG]

    [​IMG]

    2) Rotator: For Rotating the parameters. Left and Right rotate in the sequence order ( so if a sequence of pitches are C, E, G and you rotate right it will become G, C, E. Up and Down rotate by increasing/decreasing to the next/previous value ( so if a sequence of velocities are 10, 127, 55 and you rotate upwards it will become 55, 10, 127.

    [​IMG]


    3) Mapper: Switch the value of every occurrence of a parameter. E.g. in a rhythm sequence 1/4, 1/2, 1/4, 1/2, 1/4 if you switch all 1/4(0.25) to 1/3 it will become 1/3 1/2 1/3 1/2 1/3.

    [​IMG]

    4) Serializer: Apply a series of parameters values to selected notes. Can get the series of parameters from selected notes and change the order.

    [​IMG]


    Manual:
     
Loading...
Loading...