Python wrapper for REAPER DAW REST API
Project description
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"]
}
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ed896c189cc70701c7b3b0e43eb4cc502213e7c5c12b09dce1d1549ea8ae7d06
|
|
| MD5 |
3a6c06ac079636a6d461cc8d7312f20b
|
|
| BLAKE2b-256 |
bc7be382678f9cdc54d00e137579e9162e76d49c7bdfb516e1be18e2dbd4dafc
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a783f1cd087c40e09abee42ff8ff5619326223dc14ee9047a8c8e15942979549
|
|
| MD5 |
7db1709c361f9888691814b6f8602cb2
|
|
| BLAKE2b-256 |
1293a5108446528fa8f1bca3dff6280d82da1a8572f6b986009cdb8b81042aa2
|