ReaScript

From CockosWiki

Revision as of 12:44, 16 October 2009 by MikeLacey (Talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Introduction

ReaScript is a feature that allows you to run Perl or Python scripts within REAPER. From within the script, you can call any REAPER action, and also call back into most of the REAPER Extensions SDK functions. ReaScript can be used to create anything from advanced macros to full-featured REAPER Extensions.

Requirements

To use ReaScript, you must have either Python or Perl installed on your computer. Both are freely available in several free distributions. OSX comes with both Python and Perl already installed, though older OSX installs may not have the most recent versions of Python or Perl.

Installing either Python or Perl is usually a simple, straightforward process. Although both are open-source projects, meaning the source code is available for anyone to build, most users will simply run a binary installer just like installing any other program (such as REAPER).

The company ActiveState make free versions of both Perl & Python available on their web site www.activestate.com and whilst they're not the only source of these two utilities they are very good.

Python: ReaScript requires Python 3.1. (2.5 and 2.6 may also work.)

Perl: ReaScript requires Perl 5.10, and a standard Perl module called FFI.

If the FFI module's not included with your version of Perl (it's part of the ActiveState distribution) then it's also here. Win32 http://www.reaper.fm/sdk/reascript/perl/FFI-W32.zip, OSX http://www.reaper.fm/sdk/reascript/perl/FFI-OSX.zip. FFI.pm and FFI.dll (or FFI.dylib on OSX) should both be placed in the Perl/lib directory of your Perl installation.

Running ReaScripts

To run a ReaScript, first you will need to either write a script, or copy a script from another user. Scripts can be placed anywhere on your disk, but it's convenient to keep them all in the REAPER/Scripts application data directory.

To write a new script, show the Actions list (bound to the ? key by default), and click ReaScript: Load. You will be prompted for the location to save your new script, the default location is recommended. Name your script something like test.py or test.pl, then click ReaScript: Edit. A text editor will open.

The simplest possible ReaScript in Python is:

RPR_APITest()

or in Perl:

RPR_APITest();

Please note - in Perl you do not have to specify use FFI; as REAPER will do that for you

Save the ReaScript, and then click Run. You should see a window that says "Test OK". Common reasons for the script failing are:

   * Python or Perl not installed
   * Wrong version of Python or Perl installed
   * Multiple versions of Python or Perl installed, and the system picks up the wrong version
   * Syntax error (typo, missing newline, incorrect indentation in Python) 

You can treat a ReaScript just like any custom action: bind it to a key shortcut, MIDI controller, or toolbar button. ReaScripts can also be run a la carte, via the actions "ReaScript: run..." and "ReaScript: run last script".