Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/john-kurkowski/music
Tasks for publishing my music.
https://github.com/john-kurkowski/music
daw music reaper
Last synced: 2 months ago
JSON representation
Tasks for publishing my music.
- Host: GitHub
- URL: https://github.com/john-kurkowski/music
- Owner: john-kurkowski
- Created: 2022-08-27T18:54:42.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2024-10-24T22:14:07.000Z (2 months ago)
- Last Synced: 2024-10-26T10:15:32.752Z (2 months ago)
- Topics: daw, music, reaper
- Language: Python
- Homepage:
- Size: 247 KB
- Stars: 2
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# music
Tasks for publishing my music.
The code is idiosyncratic with my music project conventions and therefore
applicable mainly to me. However, the code may be a useful example for using
[Reaper](https://reaper.fm)'s Python API.## Prerequisites
1. A Python install _with framework_. For example, with
[pyenv](https://github.com/pyenv/pyenv):
```zsh
PYTHON_CONFIGURE_OPTS="--enable-framework" pyenv install
```
1. [SWS Extension](https://www.sws-extension.org/)## Install
1. ```zsh
pip install .
```
1. Open Reaper
1. Configure Reaper for Python (per
[reapy's README](https://github.com/RomeoDespres/reapy/blob/0.10.0/README.md#installation))
```zsh
python -c "import reapy; reapy.configure_reaper()"
```
1. Restart Reaper## Usage
```zsh
music --help
```For example:
```zsh
music render
```Which renders the current project in Reaper, with terminal output like the
following.[![asciicast](https://asciinema.org/a/630914.svg)](https://asciinema.org/a/630914)
## Contribute
Install for local development:
```sh
pip install --editable '.[testing]'
pre-commit install
```### Tests
```sh
pytest
```Besides tests, checks are run on commit, after installing the pre-commit hook
above, and on push. You can also run them manually.```sh
pre-commit run --all-files
```### Debug
When using `breakpoint()`, you'll probably want to disable
[rich](https://github.com/Textualize/rich) output, via the `TERM=dumb`
environment variable. That will make the Python interactive debugger easier to
see.