Skip to main content

A REAPER project file (RPP) parser using WDL implementation

Project description

RPPXML

A Python library for parsing and manipulating REAPER project files (RPP) using WDL implementation.

Features

  • Parse RPP files into Python objects
  • Manipulate RPP content programmatically
  • Write modified content back to RPP files
  • Support .rpp, RTrackTemplate, RfxChain, and more
  • Type hints for better IDE support

Installation

pip install rppxml

Requirements

  • Python 3.10 or later
  • C++ compiler with C++14 support

Development Setup

  1. Clone the repository with submodules:
git clone --recursive https://github.com/IcEarthlight/rppxml.git
cd rppxml
  1. Install development dependencies:
pip install -r requirements.txt

Usage

import rppxml
from rppxml import RPPXML

# parse from file
project: RPPXML = rppxml.load("project.rpp")

# parse from string
content: str = """
<REAPER_PROJECT 0.1 "6.75/linux-x86_64" 1681651369
  <TRACK
    NAME "Track 1"
  >
>
"""
project: RPPXML = rppxml.loads(content)

# access data
print(project.params)  # [0.1, "6.75/linux-x86_64", 1681651369]
track: RPPXML = project.children[0]
print(track.name)      # "TRACK"
print(track.params)    # []
print(track.children)  # [['NAME', 'Track 1']]

# create new content
track: RPPXML = RPPXML("TRACK", params=[], children=[
    ["NAME", "New Track"]
])

# write to string
rpp_str: str = rppxml.dumps(track)

# write to file
rppxml.dump(track, "output.rpp")

Building from Source

Using setuptools:

python setup.py build

Testing Using VSCode

Copy .vscode/project-settings.json to .vscode/settings.json and go to the Testing view to run tests.

Contributing

  1. Fork the repository
  2. Create your feature branch
  3. Make your changes
  4. Run the tests
  5. Submit a pull request

Acknowledgments

  • Uses WDL (Cockos WDL) for RPP parsing
  • Built with pybind11 for Python bindings

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

rppxml-0.1.1-cp313-cp313-macosx_10_14_universal2.whl (256.1 kB view details)

Uploaded CPython 3.13macOS 10.14+ universal2 (ARM64, x86-64)

rppxml-0.1.1-cp312-cp312-macosx_10_14_universal2.whl (256.0 kB view details)

Uploaded CPython 3.12macOS 10.14+ universal2 (ARM64, x86-64)

rppxml-0.1.1-cp311-cp311-macosx_10_14_universal2.whl (257.8 kB view details)

Uploaded CPython 3.11macOS 10.14+ universal2 (ARM64, x86-64)

rppxml-0.1.1-cp310-cp310-macosx_10_14_universal2.whl (255.0 kB view details)

Uploaded CPython 3.10macOS 10.14+ universal2 (ARM64, x86-64)

File details

Details for the file rppxml-0.1.1-cp313-cp313-macosx_10_14_universal2.whl.

File metadata

File hashes

Hashes for rppxml-0.1.1-cp313-cp313-macosx_10_14_universal2.whl
Algorithm Hash digest
SHA256 fcbb4fc32c891436842a815ba6f615725e1fca29aeb08cccceabde2ea9c403d5
MD5 21c6b926b734cea990afb6b5481271da
BLAKE2b-256 dd4555b6686ce924f5b3cffa042ebdd71b017861207a3ee3099a7f39fb39f9c7

See more details on using hashes here.

File details

Details for the file rppxml-0.1.1-cp312-cp312-macosx_10_14_universal2.whl.

File metadata

File hashes

Hashes for rppxml-0.1.1-cp312-cp312-macosx_10_14_universal2.whl
Algorithm Hash digest
SHA256 9e7d63b2b61e8a810548afef699f17f89e8bafa0a800840600af15cfad800e8f
MD5 4af552631dbf57b75b33d4b6b5895ea5
BLAKE2b-256 c156aa63a668bd4f6f571c24830a13e14940da38b0c317d3416d0991355d7791

See more details on using hashes here.

File details

Details for the file rppxml-0.1.1-cp311-cp311-macosx_10_14_universal2.whl.

File metadata

File hashes

Hashes for rppxml-0.1.1-cp311-cp311-macosx_10_14_universal2.whl
Algorithm Hash digest
SHA256 0419582921d0b7eee26c52d968f45d570c2f8d504e1fdb2c4fc6effc55328852
MD5 84d39dac3e57f3f3ff6f0df0eb4c5f43
BLAKE2b-256 44bd89f128e077ed3618396405f69e69cfdcd48dd208f7073d0446a885eb232d

See more details on using hashes here.

File details

Details for the file rppxml-0.1.1-cp310-cp310-macosx_10_14_universal2.whl.

File metadata

File hashes

Hashes for rppxml-0.1.1-cp310-cp310-macosx_10_14_universal2.whl
Algorithm Hash digest
SHA256 c25d25ed0cc598fd8577ac8a61e9995de008760486b7f98d6b22c95297b4d272
MD5 608d785bdb01175e7265d56f1cd359ca
BLAKE2b-256 0c33bc281caa6c846c5e97271f182a283b99db18ffc70ce89e71f6d0d1b0f3b8

See more details on using hashes here.

Supported by

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