Reaper scripts - What can be done and what can't be done with scripts?

Discussion in 'Reaper' started by stav, Apr 1, 2025.

  1. stav

    stav Guest

    I never looked into Reaper scripts much

    can you explain what can be done and what can't be done with scripts?

    and how is it different than actions?

    Thanks
     
  2.  
  3. tzzsmk

    tzzsmk Audiosexual

    Joined:
    Sep 13, 2016
    Messages:
    4,010
    Likes Received:
    2,534
    Location:
    Heart of Europe
  4. Sinus Well

    Sinus Well Audiosexual

    Joined:
    Jul 24, 2019
    Messages:
    2,156
    Likes Received:
    1,672
    Location:
    Sanatorium
    Actions are scripts. But they are written in native code, not in ReaScript.
    What primarily defines Actions, however, is the fact that they follow a very simple logic.
    They are triggered by the user, the code is executed once sequentially from top to bottom, and then they automatically terminated.

    In order of increasing complexity:
    • Actions: Native scripts with simple, sequential execution logic, managed without or with very few control structures (conditions, loops, etc.).
    • Custom Actions: Sequential chaining of scripts (native or user-created with ReaScript) with simple, sequential execution logic.
    • ReaScript: Scripts created by users in EEL2, Lua, or Python. The complexity can vary. From simple linear scripts (like actions), through communication with external programs, web calls, vst-communication, etc., up to analytical or procedural programming and automation tasks.
    • Extensions: Compiled, and therefore potentially very performant, add-ons with deep integration into Reaper's Extension API, which can significantly extend Reaper's functionality (SWS, ReaPack, etc).
    Custom actions only work reliably with actions and very simple sequential scripts, because within the chain of a custom action, there are no control structures to check whether one action has already finished executing before the next one starts. Therefore, if running an action takes too long, a kind of race condition occurs where the next action is executed even though the previous one has not yet finished.
     
    Last edited: Apr 1, 2025
    • Like Like x 2
    • Agree Agree x 1
    • Winner Winner x 1
    • List
Loading...
Similar Threads - Reaper scripts done Forum Date
[SOLVED] HoRNet HATEFISh RhyGenerator: Reaper MIDI routing? Software Monday at 9:27 PM
reaper midi paint notes question Reaper Apr 12, 2025
Reaper daw question - Inline midi editor Reaper Apr 10, 2025
Melodyne copy/paste in Reaper Software Reviews and Tutorials Apr 3, 2025
What do other DAWs have that REAPER doesn't? (songwriting, composition, music production) DAW Jan 25, 2025
Loading...