These tables follow the Ultraschall project’s documentation of REAPER’s state chunks and the keywords found in real files. Types are int, num (a decimal number) and str. A keyword may be absent when it holds its default, and new keywords appear with new versions of REAPER, so a reader should ignore any it does not know.
The opening line
| Field | Type | Meaning |
|---|---|---|
| 1 | num | Project version, 0.1 in the files examined |
| 2 | str | REAPER version and platform, such as "4.602/OSX64" |
| 3 | int | Timestamp |
Project settings
| Keyword | Fields | Meaning |
|---|---|---|
RIPPLE | int | Ripple edit: 0 off, 1 one track, 2 all tracks |
GROUPOVERRIDE | int, int, int | Group override states; the second is the master track’s track-groups-enabled setting |
AUTOXFADE | int | Auto-crossfade settings, a bit field |
ENVATTACH | int | 0 off, 1 on |
MIXERUIFLAGS | int, int | Mixer display settings, bit fields |
PEAKGAIN | num | Peak display gain |
FEEDBACK | int | 0 or 1 |
PANLAW | num | Project pan law |
PROJOFFS | num, int, int | Project start time, start measure, whether the ruler is based on that measure |
MAXPROJLEN | int, num | Whether length is limited, and the limit |
GRID | int, then seven more | Snap and grid settings. The first is a bit field; others are not documented. |
TIMEMODE | int × 5 | Ruler time mode and related modes |
VIDEO_CONFIG | int, int, int | Preferred video width and height, and flags |
PANMODE | int | Project pan mode |
CURSOR | num | Edit cursor position |
ZOOM | num, int, int | Horizontal zoom, scroll position, scroll bar factor |
VZOOMEX | int | Vertical zoom, 0 to 40 |
USE_REC_CFG | int | 0, 1 or 2: which recording configuration is used |
RECMODE | int | 0, 1 or 2: recording mode |
SMPTESYNC | 10 fields | Timecode sync, including the frame rate as a number |
LOOP | int | Loop button: 0 or 1 |
LOOPGRAN | int, num | Loop granularity |
RECORD_PATH | str, str | Primary and secondary recording paths |
RECORD_CFG, APPLYFX_CFG, RENDER_CFG | block of base64 | Recording, apply-FX and render format settings |
RENDER_FILE, RENDER_PATTERN, RENDER_FMT, RENDER_1X, RENDER_RANGE, RENDER_RESAMPLE, RENDER_ADDTOPROJ, RENDER_QDELAY, RENDER_STEMS, RENDER_DITHER | int, num or str | Render settings |
QUEUED_RENDER_OUTFILE | str, int, str | Output path of a queued render, whether it auto-increments, a GUID |
QUEUED_RENDER_ORIGINAL_FILENAME | str | The project’s path, in a render queue copy |
TIMELOCKMODE, TEMPOENVLOCKMODE, ITEMMIX, DEFPITCHMODE, TAKELANE, INTMIXMODE | int | Timebase, item mixing, pitch and lane defaults |
SAMPLERATE | int, int, int | Project rate; the sample file has 48000 1 0 |
GLOBAL_AUTO | int | Global automation override, −1 for none |
TEMPO | num, int, int | Tempo in BPM, beats per measure, beat note value |
PLAYRATE | num, int, num, num | Play rate, preserve pitch (0 or 1), minimum, maximum |
SELECTION, SELECTION2 | num, num | Time selection start and end |
LOCK | int | Lock settings; see below |
LOCK bits
| Bit value | Locks |
|---|---|
| 1 | Time selection |
| 2 | Items (full) |
| 4 | Track envelopes |
| 8 | Markers |
| 16 | Regions |
| 32 | Time signature markers |
| 64 | Items, against left and right movement |
| 128 | Items, against up and down movement |
| 256 | Item edges |
| 512 | Item fade and volume handles |
| 1024 | Loop points |
| 2048 | Item envelopes |
| 4096 | Item stretch markers |
| 16384 | Enable locking |
Master track
The master track’s settings are project keywords.
| Keyword | Fields | Meaning |
|---|---|---|
MASTERAUTOMODE | int | 0 trim/read, 1 read, 2 touch, 3 write, 4 latch, 5 latch preview |
MASTER_SEL | int | 0 not selected, 1 selected |
MASTER_FX | int | 0 FX bypassed, 1 normal |
MASTERMUTESOLO | int | Bit field: 1 muted, 2 soloed, 4 mono button, 8 mono L, 16 mono R; 24 for mono L−R |
MASTER_NCH | int, int | Channel count; second field 2 for multichannel peak metering |
MASTERTRACKHEIGHT | int, int | Height (24 to 260), and height lock (0 or 1) |
MASTERPEAKCOL | int | Colour |
MASTERTRACKVIEW | 7 fields | First is 1 to show the track in the mixer; the others are not documented |
MASTERHWOUT | see below | A hardware output; one line each |
MASTER_VOLUME | num × 5 | Volume (0 to about 3.98, where 1 is 0 dB), pan (−1 to 1), pan law, unknown, second pan knob of Dual Pan |
MASTER_PANMODE | int | −1 project default, 3 stereo balance/mono pan, 5 stereo pan, 6 dual pan |
MASTER_WIDTH | num | Width: −1 to 1 |
MASTER_GROUP_FLAGS, MASTER_GROUP_FLAGS_HIGH | int | Group state flags |
The fields of a MASTERHWOUT line are: two unknown integers, volume, pan
(−1 to 1), mute (0 or 1), phase (0 normal, 1 inverted), output channels, and one unknown
number. Output channels are: −1 none; 0 stereo 1/2; 4 stereo 5/6; 12 stereo 13/14 on new
channels; 1024 mono 1; 1029 mono 6; 1030 mono 7 on new channels; 1032 mono 9 on new
channels; 2048 multichannel 4 from 1; 2050 multichannel 4 from 3; 3072 multichannel 6
from 1.
The nested blocks MASTERVOLENV, MASTERPLAYSPEEDENV,
TEMPOENVEX, MASTERFXLIST and the dual pan envelopes hold the
master’s envelopes and FX in the same form as a track’s.
Groups
| Keyword | Fields | Meaning |
|---|---|---|
GROUP_NAME | int, str | Group number and name |
GROUPS_DISABLED | int, int | Bit fields for groups 1 to 32 and 33 to 64; a set bit means disabled |
Markers and regions
Markers and regions are MARKER lines. The fields are, in order: the number
shown, the position, the name, a value combining the marker or region flag and the render
matrix use, the colour, an unknown integer, and a trailing string documented as
R.
REGIONRENDER lines give the region render matrix.
Nested blocks
| Block | Holds |
|---|---|
TRACK | A track. See tracks. |
METRONOME | Metronome settings, with VOL, FREQ, BEATLEN and SAMPLES |
TEMPOENVEX | The tempo envelope |
MASTERPLAYSPEEDENV | The master play speed envelope |
PROJBAY | The project bay |
EXTENSIONS | Data stored by extensions |
POOLEDENV | Pooled automation items |
Not confirmed
- The later fields of
GRID,MASTERTRACKVIEWandTIMEMODE, and other fields the sources call unknown. - The bits of
AUTOXFADEandMIXERUIFLAGS. - Late additions such as
UNDO_FTS,REWIRESLAVE,RENDER_PATLINE,MISCOPTSandAUTHOR, listed without their fields.