Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/madskjeldgaard/reaper-nvim
Reaper plugin for neovim. Remote control your daw with almost 4000 actions without leaving your favourite text editor.
https://github.com/madskjeldgaard/reaper-nvim
lua neovim neovim-plugin osc reaper reascript
Last synced: about 2 months ago
JSON representation
Reaper plugin for neovim. Remote control your daw with almost 4000 actions without leaving your favourite text editor.
- Host: GitHub
- URL: https://github.com/madskjeldgaard/reaper-nvim
- Owner: madskjeldgaard
- Created: 2020-11-29T16:34:20.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2021-01-29T09:14:22.000Z (almost 4 years ago)
- Last Synced: 2024-07-31T20:49:55.891Z (5 months ago)
- Topics: lua, neovim, neovim-plugin, osc, reaper, reascript
- Language: Lua
- Homepage:
- Size: 2.34 MB
- Stars: 58
- Watchers: 6
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-neovim - madskjeldgaard/reaper-nvim - Remote control Reaper DAW from Neovim. (Media / Cursorline)
README
# Reaper-nvim
![fuzzy reaper](/assets/fuzzy-reaper.gif)
A neovim plugin for controlling the Reaper DAW from neovim.
Among other things, it makes it possible to execute all of Reaper's +3700 main actions remotely from neovim via Open Sound Control (osc).
This is useful when writing music in neovim or scripting for reaper in neovim.
# Requirements
- nvim >= 0.5
- fzf/skim
- [osc-nvim](https://github.com/davidgranstrom/osc.nvim)## Install
To install using vim-plug
1. Add this to your init.vim / .vimrc:
```vim
" Reaper
Plug 'madskjeldgaard/reaper-nvim'" OSC
Plug 'davidgranstrom/osc.nvim'
```
2. Open Vim and run the command `:PlugInstall`# Usage
To activate this plugin for all file types:
```vimscript
" Reaper
autocmd filetype * lua require'reaper-nvim'.setup()
```To activate this plugin for some file types:
```vimscript
" Reaper
autocmd filetype supercollider,csound,lua lua require'reaper-nvim'.setup()
```## Commands
### Fuzzy action execution
`:ReaFuzz`
Fuzzily choose between almost 4000 different Reaper Actions to execute from nvim. Uses either fzf or skim
### Replay last action
![replay actions](/assets/replay-action.gif)
Everytime you execute and send an action to Reaper, it's id is saved in the global variable `vim.g.reaper_last_action`.
For convenience's sake, you can replay this latest action by executing:
`:ReaReplay`### Transport controls
`:ReaPlay``:ReaStop`
`:ReaRecord`
`:ReaGoToStart`
`:ReaGoToEnd`
### Editing
`:ReaUndo`### Repeating actions and scripts
These are useful when writing scripts for reaper.`:ReaRepeatLastAction`
`:ReaRepeatActionPriorToLast`
`:ReaRunLastScript`
### Fuzzy api search
`:ReaAPI`This will open an api link in the browser defined in `vim.g.reaper_browser_command` (firefox by default)
## Options
```lua
-- Which fuzzy finder to use with reaper-nvim: Can be either "fzf" or "skim"
vim.g.reaper_fuzzy_command = "fzf"-- Target port of the Reaper session receiving these osc messages
vim.g.reaper_target_port = 1234-- Target ip
vim.g.reaper_target_ip = "127.0.0.1"-- Browser command used for opening links
vim.g.reaper_browser_command = "firefox"
```