Skip to main content

Python wrapper for REAPER DAW REST API

Project description

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"]
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

python-reaperdaw-0.0.7.tar.gz (6.4 kB view details)

Uploaded Source

Built Distribution

python_reaperdaw-0.0.7-py3-none-any.whl (7.1 kB view details)

Uploaded Python 3

File details

Details for the file python-reaperdaw-0.0.7.tar.gz.

File metadata

  • Download URL: python-reaperdaw-0.0.7.tar.gz
  • Upload date:
  • Size: 6.4 kB
  • Tags: Source
  • Uploaded using 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

File hashes

Hashes for python-reaperdaw-0.0.7.tar.gz
Algorithm Hash digest
SHA256 ed896c189cc70701c7b3b0e43eb4cc502213e7c5c12b09dce1d1549ea8ae7d06
MD5 3a6c06ac079636a6d461cc8d7312f20b
BLAKE2b-256 bc7be382678f9cdc54d00e137579e9162e76d49c7bdfb516e1be18e2dbd4dafc

See more details on using hashes here.

File details

Details for the file python_reaperdaw-0.0.7-py3-none-any.whl.

File metadata

  • Download URL: python_reaperdaw-0.0.7-py3-none-any.whl
  • Upload date:
  • Size: 7.1 kB
  • Tags: Python 3
  • Uploaded using 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

File hashes

Hashes for python_reaperdaw-0.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 a783f1cd087c40e09abee42ff8ff5619326223dc14ee9047a8c8e15942979549
MD5 7db1709c361f9888691814b6f8602cb2
BLAKE2b-256 1293a5108446528fa8f1bca3dff6280d82da1a8572f6b986009cdb8b81042aa2

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page