Code Monkey home page Code Monkey logo

simong_reaper-scripts's Introduction

Simon Goričar's Reaper Scripts

1. Installation

You can use this repository via ReaPack by adding the following repository:

https://github.com/DefaultSimon/simong_reaper-scripts/raw/master/index.xml

2. Contents

2.1. Monitoring FX Bypass scripts (based on FX names containing "[BYPASSABLE]")

Notice how the monitoring FX gets (un)bypassed.

This package contains the following three actions:

  • Bypass all monitoring FX whose names contain "[BYPASSABLE]"
  • Toggle bypass on all monitoring FX whose names containin "[BYPASSABLE]"
  • Unbypass all monitoring FX whose names contain "[BYPASSABLE]"

These actions operate on the monitoring FX chain only, and only bypass/unbypass FX that contain [BYPASSABLE] somewhere in their name. To rename a monitoring FX, open the monitoring FX chain, then Right Click -> Rename FX instance to rename your FX).

SWS Cycle Action preset for this package

Because these scripts are handier with a toggleable SWS cycle action (requires SWS), I've included a preconfigured cycle action in the Cycle Action/simong_CycleAction_Toggle (bypass and unbypass) monitoring FX whose name contains the phrase [BYPASSABLE].ini preset file.

Simply download the file, then go to Extensions -> Cycle Action editor... -> Import/export -> Import in section 'Main'..., select the file, then click Apply.


2.2. Move selected media items onto child track whose name contains "[STEMS]"

In this demo, the target "stems" track is directly below the original track, but it can be any direct descendant.

This script moves the selected media items from the track they are on to the child "stems" track. It finds that track by looking at the track's direct children and finding a track whose name contains the phrase "[STEMS]".

If no "[STEMS]"-matching track is found or if no media items are selected, this script does nothing.

Why / Workflow

  • I record a loop (or part of it),
  • I now have a selected media item with what I just recorded
  • I use this action to push the just-recorded material into the child "stems" track that, importantly, still sends to the parent (so I can still hear what I recorded on previous loops),
  • I'll now record a new item onto the now-empty track,
  • At the end of the loop, I'll repeat the process, pushing the newly-recorded item down onto the "stems" track, effectively adding one more layer to the composition (and so on and so on).

This makes it easier to separate multiple overdubed layers of your material into separate items and name/sort/mute/... them accordingly.

Quirks

  • Due to how items are moved, if not all of the selected media items are on the same track, the script might work sometimes, but it will pick a stems child track from the first selected media item. Consider this... undefined behaviour.

2.3. Create new empty MIDI track at the same position as the selected media item


This script creates a new empty MIDI track at the same position (and of the same length) as the currently-selected media item. Additionally, it unselects the original media item and selects the newly created item.




3. Development Notes

3.1 Semantic versioning

I try to adhere to the semantic versioning rules if at all possible.

3.2 ReaScript's default package.path

On the default Windows installation, the default package.path upon launching a Lua script in Reaper is (line breaks mine, actualy value is all in one line):

C:\Program Files\REAPER (x64)\lua\?.lua;
C:\Program Files\REAPER (x64)\lua\?\init.lua;
C:\Program Files\REAPER (x64)\?.lua;
C:\Program Files\REAPER (x64)\?\init.lua;
C:\Program Files\REAPER (x64)\..\share\lua\5.3\?.lua;
C:\Program Files\REAPER (x64)\..\share\lua\5.3\?\init.lua;
.\?.lua;
.\?\init.lua

Most of these paths don't seem to exist (at least on my Windows machine), so the only useful parts seem to be: .\?.lua;.\?\init.lua. Minor information; useful basically only for the fact that you can import adjacent scripts in the same directory without modifying the path.

simong_reaper-scripts's People

Contributors

simongoricar avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.