
Explore the basics of Reaper scripting using Lua, set up Reaper, install Visual Studio Code, and add a Lua extension to write bite-sized scripts for learning coding.
Learn to create your first Reaper script that moves a selected item to the start of the timeline, and set up a dedicated Reaper scripts course folder using Lua.
Kick off your reaper scripting journey by creating your first script, using comments, verifying item selection with the Lua API, and moving the item to the start of the timeline.
Continue building a Reaper script by using api calls to select items, get the zeroth selected media item, and set its start position to zero with d_position.
Build and test a Reaper script that moves a media item, assigns a shortcut, and uses if statements to avoid errors when no items are selected.
Learn to load existing Reaper scripts by using the actions window, choosing load script, and selecting a local text file or GitHub resource to activate the script.
Explore Lua functions in Reaper: declare and call custom and built-in functions, test with if statements, booleans, and string building; create an octave up function and learn debugging tips.
Learn to move an item to a specified time in Reaper scripts for beginners, using active project references, user input, and nil checks to prevent errors.
Create or modify a Reaper script to accept bars and beats, convert them to seconds, and move an item accordingly; complete this homework task for hands-on practice.
Create a two-way toggle item mute script for Reaper in Visual Studio Code, reading mute status with get media item info and triggering mute or unmute actions by command IDs.
Color the selected tracks by user input, converting RGB values to a native Reaper color and applying it to each track, with selection validation and nil safeguards.
Learn to build a Lua color map using a colors table for Reaper scripts. Apply track color conventions for sound design and extend the table with keys and values.
Apply colors to all selected tracks using a for loop in Reaper scripts. Learn to reconcile Lua's one-based indexing with Reaper's zero-based indexing while referencing each track to set color.
Implement random color generation in a Reaper script by using a boolean flag and a for loop to color multiple tracks differently with math.random, within a key-value color table.
Show how to insert track and item effects in Reaper with shortcuts and a Lua script. Enforce single selection and add effects by name with new instances for faster workflows.
Explore scripting to insert track fx in Reaper: validate one track selected, prompt for a plugin, map shortcuts to plugin names, and prepare to display the effect.
Learn to automate inserting track fx in reaper with a script that shows the inserted effect in a window, using an index and show flag, and assigns a quick-access shortcut.
Learn to implement a help command in Reaper scripts that prints plugin key-value lists using a Lua for loop with pairs, and manage scope with local variables to handle typos.
Reaper scripts for beginners show how to bail out when the user cancels or presses escape by using retval and wrapping logic in an if statement.
Create a new Reaper script that inserts take effects on the take using the take fx API, building from scratch and assigning a new shortcut such as ctrl-shift-q.
Learn how to create a track from a preset script in Reaper by inserting a new track below the selected one, coloring it for effects, and naming via the API.
Define a preset map with color, plugin, and optional name, then prompt for a shortcut key and insert the new track under the last selected track in Reaper.
This lesson demonstrates creating a new track at a chosen index, setting its color and name from the value table, and handling nil selections to avoid errors.
Learn how to use for loops in Reaper scripts, including counting iterations, printing results to the console, and handling track indexing pitfalls with practical exercises.
Explore reversing a for loop in reaper scripts by counting backwards with a negative step, swapping start and end indices, and understanding forward versus backward iteration to print track names.
Explore what a reference to a media track means in Reaper scripts by examining memory addresses and using Lua string conversion to compare track references.
Build a chords table of triads in Reaper scripts, print the fifth degree for chords with for loops, and create a function to derive notes from a chord and degree.
Learn to quickly nudge the play rate of selected media items in Reaper using up and down scripts, with optional preserve pitch and off loop source for precise sound design.
Set an increment value (0.1) for nudge play rate, apply preserve pitch and loop source to the active take and item, and test 1 for true and 0 for false.
Create a play rate down script with a direction variable to control sign, and apply conditional logic to reduce by 10% when the value is one or less.
Explore a sound design oriented randomize item properties script for Reaper that randomizes pitch, play rate, and reverse options on a single selected item using take and item references.
Learn how to return item properties to normal after randomizing in Reaper scripts, by resetting play rate to one, pitch to zero, and item volume to zero.
Learn to use built-in actions to nudge item volume and bind them to shortcuts, enabling quick take-volume adjustments for editing and mixing without writing scripts.
Explore how while loops evaluate a condition and run code until it becomes false, with hands-on Reaper examples showing infinite loops, the break keyword, and safety checks.
This introduction explains a named region script for Reaper that exports assets, auto-numbers region names with wildcards to ensure unique file names, and adapts to selection or loop time range.
Learn how to create a named region in Reaper using a script, set the timeline boundaries, add a project marker, and prompt for a region name with graceful cancel handling.
Build and refine a named region script in Reaper by calculating region start and end from one or more selected items, using a leftmost-rightmost algorithm in Lua.
Learn how to check region name uniqueness in a Reaper session by enumerating markers and regions and validating new region names before creation.
Learn to extract and increment numeric suffixes in region names with the inbuilt string sub function, testing last digits and handling snare 99 to 100 and 999 to 1000.
Practice constructing a named region script in lua by extracting and incrementing trailing numeric characters, handling nil cases, rebuilding the region name, and printing results to the console.
Develop a named region script by creating a conflict-checking function, handling user input, and incrementing to the next free name with a while loop and return values.
create named region script part 8 teaches resolving name conflicts, generating the latest region name, and populating the session with the new region while debugging numeric suffix logic.
Create a named region script that adds an n pad to extend the region end, prompts for number input, and updates the region name based on user input.
Master boolean logic in Lua, using and and or in if statements with nil checks and combined conditionals. Apply these concepts to validate name, age, and location.
Learn to use MIDI controlled scripts in Reaper to adjust volume and pitch. See how knobs adjust play rate, preserve pitch, and enable mono output.
Populate an items table from selected items in reaper lua scripts, addressing the zero-based reaper indexing versus one-based lua indexing and grid interval shuffling.
Starting from the very beginning, assuming no prior coding knowledge, we go through coding scripts for Cuckos Reaper. Starting quite basic before moving pretty swiftly to some more complex scripts and concepts.
If you are new to coding, this is a really great starting point, as we are able to very quickly see some tangible results from our work. All of our Reaper scripts will be written in Lua, which is a great first language for beginners.
The format of the course is to dive right in and cover fundamental topics when they come up. This way, everything we learn is immediately contextualised and you won't feel like you are learning abstract contexts with dubious applications!
At the end of the course, you'll find capable to write your own scripts and use your imagination. You'll have the tools necessary to further your learning on your coding adventure in the realms of Reaper scripting. At the end of the course, if you wished to jump into new areas of coding and programming, this course will have given you a fantastic starting point and everything you learn in the future you'll be able to relate to what you learned here with your Reaper scripts!