python-reaperdaw
Python wrapper for REAPER DAW REST interface.
Please refer to ReaTeam's web interface modding documentation for API insights.
Setup in Reaper
- Launch your Reaper DAW
- Hit
Ctrl + Por go to Options > Preferences - Navigate to "Control/OSC/web" menu and click "Add"
- From the "Control surface mode" dropdown menu choose "Web browser interface"
- Set the web interface port or leave default
8080 - Optionally set username:password
- Optionally set the default web interface
- Copy the Access URL and paste it in your browser - now your Reaper has a web interface.
- 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)
| File | Size | Uploaded | |
|---|---|---|---|
| python-reaperdaw-0.0.7.tar.gz | 6.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|