Skip to main content

python-reaperdaw

GitHub Release PyPI PyPI - Downloads Buy me a coffee PayPal_Me

Python wrapper for REAPER DAW REST interface.

Please refer to ReaTeam's web interface modding documentation for API insights.

Setup in Reaper

  1. Launch your Reaper DAW
  2. Hit Ctrl + P or go to Options > Preferences
  3. Navigate to "Control/OSC/web" menu and click "Add"
  4. From the "Control surface mode" dropdown menu choose "Web browser interface"
  5. Set the web interface port or leave default 8080
  6. Optionally set username:password
  7. Optionally set the default web interface
  8. Copy the Access URL and paste it in your browser - now your Reaper has a web interface.
  9. Hit OK in both preference windows

Example usage

import aiohttp
import asyncio
import json
from reaperdaw import Reaper


async def main(host="localhost", port="8080", username="", password=""):

    async with aiohttp.ClientSession() as session:
        reaper = Reaper(session, host, port, username, password)

        # Sets Master Volume to 0db (maximum volume)
        await reaper.setMasterVolume(1)

        status = await reaper.getStatus()
        response = json.loads(status)
        print("Status:", status)
        print("Number of tracks:", response["number_of_tracks"])
        print("Number of armed tracks:", response["number_of_armed_tracks"])
        print("Armed tracks:", response["armed_tracks"])
        print("Time signature:", response["time_signature"])
        print("Play state:", response["play_state"])
        print("Repeat:", response["repeat"])
        print("Metronome:", response["metronome"])


loop = asyncio.get_event_loop()
loop.run_until_complete(main())

getStatus response

{
  "tracks": [
    {
      "index": 0,
      "name": "MASTER",
      "flags": [],
      "volume": "1.000000",
      "pan": "0.000000",
      "last_meter_peak": "-1500",
      "last_meter_pos": "-1500",
      "width_pan2": "1.000000",
      "panmode": "0",
      "sendcnt": "0",
      "recvcnt": "0",
      "hwoutcnt": "1",
      "color": "#000000"
    },
    {
      "index": 1,
      "name": "Track 1",
      "flags": ["record-armed"],
      "volume": "1.000000",
      "pan": "0.000000",
      "last_meter_peak": "-1500",
      "last_meter_pos": "-1500",
      "width_pan2": "1.000000",
      "panmode": "3",
      "sendcnt": "0",
      "recvcnt": "0",
      "hwoutcnt": "0",
      "color": "#764e78"
    },
    {
      "index": 2,
      "name": "Track 2",
      "flags": ["selected"],
      "volume": "1.000000",
      "pan": "0.000000",
      "last_meter_peak": "-1500",
      "last_meter_pos": "-1500",
      "width_pan2": "1.000000",
      "panmode": "3",
      "sendcnt": "0",
      "recvcnt": "0",
      "hwoutcnt": "0",
      "color": "#d9c25b"
    }
  ],
  "repeat": true,
  "metronome": false,
  "time_signature": "4/4",
  "beatpos": {
    "position_seconds": "0.000000000000000",
    "full_beat_position": "0.000000000000000",
    "measure_cnt": "0",
    "beats_in_measure": "0.000000000010000"
  },
  "play_state": "stopped",
  "transport": {
    "playstate": "stopped",
    "position_seconds": "0.000000",
    "repeat": true,
    "position_string": "1.1.00",
    "position_string_beats": "1.1.00"
  },
  "number_of_tracks": 2,
  "number_of_armed_tracks": 2,
  "armed-tracks": ["Track 1"]
}

Metadata

Release files for python-reaperdaw 0.0.7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for python-reaperdaw 0.0.7
File Size Uploaded
python-reaperdaw-0.0.7.tar.gz 6.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for python-reaperdaw 0.0.7
File Interpreter ABI Platform
python_reaperdaw-0.0.7-py3-none-any.whl Python 3 none any Details

Total release size: 13.5 kB

Release files / python-reaperdaw-0.0.7.tar.gz

Download URL python-reaperdaw-0.0.7.tar.gz
Size 6.4 kB
Tags Source
SHA-256 checksum
How to use checksums
ed896c189cc70701c7b3b0e43eb4cc502213e7c5c12b09dce1d1549ea8ae7d06
BLAKE2b-256 checksum
How to use checksums
bc7be382678f9cdc54d00e137579e9162e76d49c7bdfb516e1be18e2dbd4dafc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.0

Release files / python_reaperdaw-0.0.7-py3-none-any.whl

Download URL python_reaperdaw-0.0.7-py3-none-any.whl
Size 7.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a783f1cd087c40e09abee42ff8ff5619326223dc14ee9047a8c8e15942979549
BLAKE2b-256 checksum
How to use checksums
1293a5108446528fa8f1bca3dff6280d82da1a8572f6b986009cdb8b81042aa2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.0

Release history Release notifications | RSS feed

This release

0.0.7 This release

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page