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
- Clone the repository with submodules:
git clone --recursive https://github.com/IcEarthlight/rppxml.git
cd rppxml
- 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
- Fork the repository
- Create your feature branch
- Make your changes
- Run the tests
- 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 Distribution
rppxml-0.1.2.tar.gz
(16.1 kB
view details)
File details
Details for the file rppxml-0.1.2.tar.gz.
File metadata
- Download URL: rppxml-0.1.2.tar.gz
- Upload date:
- Size: 16.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ced6ff5541e40a63bb4dbd01100ad76ea1d175ad68e455505de1695941740807
|
|
| MD5 |
44b3849a61208aae1c84d59acb314ef7
|
|
| BLAKE2b-256 |
b77a1eaa02742f282eb9f5ed5098fb7d4b2cfdf5d1bf13e765ed0ac50b3f7fae
|