Problem with swing settings (reaper)

Discussion in 'Reaper' started by macros mk2, May 3, 2026 at 10:18 PM.

  1. macros mk2

    macros mk2 Audiosexual

    Joined:
    Sep 22, 2022
    Messages:
    624
    Likes Received:
    555
    Location:
    seattle
    one of the things i love and hate about reaper is how deep it is, sometimes i don't even know how to phrase the question i have though because of that. so im guessing there is a setting that will fix this for me, but currently swing settings under quantize for midi override every time i change projects. so for example i have song 1 and 2. i make song 1 and using q or quanitize i set the swing to 30% and i save and close it. then i make song 2 and make the swing 10%, save and close it. when i go back to song 1 the midi data is still set to swing 30% until i hit q again, then it will change the swing from 30% to the last set swing, which is 10% from song 2. so i basically lose the old songs swing settings.

    im not even sure im explaining this right, but its very frustrating, i basically have to try and remember to write the swing settings down somewhere so i dont lose them. there has to be a better way im hoping?
     
  2.  
  3. KORG3R

    KORG3R Platinum Record

    Joined:
    Apr 14, 2022
    Messages:
    489
    Likes Received:
    281
    ok, so this is how you do it:

    kidding

    No idea, what´s even worse this actually "subliminally" slipped thru for me, like having a ghost that always messes some little setting enough to drive you insane. I would see that it is different but i always thought " i´m such a crap producer, why do i even change these settings, i dont even hear them"...but i was wrong, Cubase does not make me negate my entire existence.

    i guess i´m just adding more weight to this entire thing
     
  4. Funk U

    Funk U Platinum Record

    Joined:
    Nov 17, 2015
    Messages:
    352
    Likes Received:
    179
    You're using the "quantize" command, not changing project settings, so the command remembers the last state it was used in. What you want is a global, project wide midi setting. Unfortunately, Reaper doesn't have such a thing. It only has the quantize command, no project setting. I just looked it up, it's actually annoying.

    I guess copious use of project notes is the only solution. All DAWs should have such a feature, this is one reason I still use Reason.
     
    • Like Like x 1
    • Agree Agree x 1
    • Interesting Interesting x 1
    • List
  5. PulseWave

    PulseWave Audiosexual

    Joined:
    May 4, 2025
    Messages:
    5,217
    Likes Received:
    3,035
    Open a new project, make your changes to the Snap, then go File > Project Templates > Save project as template.

    Then go Options > Preferences > Project > then browse for the template in the top line.

    Whilst you're here you might wanna set up an autosave directory which you can do on the same page as above, tick 'Save to timestamped file in additional directory' and set an autosave folder.

    Swing Grid in REAPER


    Snap to Grid Settings and Snap Bypass – Reaper Tutorial
    https://untidymusic.com/reaper-tutorials/reaper-snap-to-grid-snap-settings-snap-bypass
     
    Last edited: May 4, 2026 at 12:05 PM
  6. FrankPig

    FrankPig Audiosexual

    Joined:
    Jan 31, 2021
    Messages:
    952
    Likes Received:
    739
    Location:
    Hog Heaven
    Not sure if this is the solution, but have you tried when you hit Q, instead of "Quantize: All notes", changing it to "Selected Notes", highlight the notes you want to swing, then "Commit"?

    Those notes should then stay at whatever swing percentage you have set them regardless of whatever subsequent changes you make to the Swing percentage.
     
  7. xorome

    xorome Audiosexual

    Joined:
    Sep 28, 2021
    Messages:
    1,753
    Likes Received:
    1,323
    Isn't the swing saved (per-MIDI item) with your MIDI editor grid settings? The row below the MIDI editor where you can also find 'key snap'.

    E: Yeah, it is.

    If you want to manually look this up in your RPP file or script this somehow, grab the CFGEDIT chunk for the MIDI item you're working with. Fields 25 and 26 are for swing enabled (bool, 0 or 1) and swing in % (float, -1 to 1) respectively.
     
    Last edited: May 4, 2026 at 11:56 AM
    • Interesting Interesting x 1
    • List
  8. Funk U

    Funk U Platinum Record

    Joined:
    Nov 17, 2015
    Messages:
    352
    Likes Received:
    179
    Correct. but the OP wanted a global option. To avoid having to do it per MIDI item. But yes each MIDI item does save it's individual grid settings.

    So the only two options are:
    1. Write it down.
    2. Change each MIDI item's grid settings, which are then saved with the project.
     
  9. xorome

    xorome Audiosexual

    Joined:
    Sep 28, 2021
    Messages:
    1,753
    Likes Received:
    1,323
    See if this does what you want.

    Basically: This script is meant to replace your "Open Quantize window" keybind AND toolbar icon(s).

    It will (try to) re-call swing strength from a value that it stores with the PROJECT file and fill in the "Swing strength" field accordingly.

    (Therefore, you need to change the swing strength the quantize window (which you opened with the script) at least once (and save your project too) before anything useful can happen!)

    You need to have js_ReaScriptAPI installed ( https://github.com/juliansader/ReaExtensions ).

    You need to change both occurrences of "Quantize Events" to match your language if your Reaper installation is not in English.

    Code:
    if not reaper.APIExists("JS_ReaScriptAPI_Version") then return nil end
    
    local editor = reaper.MIDIEditor_GetActive()
    if not editor then return nil end
    
    reaper.MIDIEditor_OnCommand(editor, 40009)
    
    local wnd = reaper.JS_Window_Find("Quantize Events", true)
    if not wnd then return nil end
    
    local strength_field = reaper.JS_Window_FindChildByID(wnd, 1002)
    if not strength_field then return nil end
    
    local ret, val = reaper.GetProjExtState(0, "swing_str", "strength")
    
    if ret < 1 then
        val = reaper.JS_Window_GetTitle(strength_field)
    end
    
    reaper.JS_Window_SetTitle(strength_field, val)
    
    local function str_loop()
        if not reaper.JS_Window_Find("Quantize Events", true) then return nil end
    
        strength_field = reaper.JS_Window_FindChildByID(wnd, 1002)
        strength_field_val = reaper.JS_Window_GetTitle(strength_field)
    
        if not (val == strength_field_val) then
            val = strength_field_val
            reaper.SetProjExtState(0, "swing_str", "strength", tostring(val))
        end
    
        reaper.defer(str_loop)
    end
    
    str_loop()
     
    Last edited: May 4, 2026 at 8:39 PM
Loading...
Similar Threads - Problem swing settings Forum Date
DW Soundworks problems Software Apr 28, 2026
Fender Studio Pro 8.03 and Fender Quantum ES2 Problem Studio One Apr 26, 2026
Problem Going Legit With Canvas Audio 8K That I Haven't Been Able To Resolve Software Apr 14, 2026
Omnisphere 3 problems (Solved) Omnisphere Apr 11, 2026
weird flstudio problem FL Studio Apr 7, 2026
Loading...