A modern lua plugin for TidalCycles for neovim.
This plugin aims to reach a state where it supplies the same functionality as vim-tidal or the plugin for the Pulsar Text Editor.
-- lazy.nvim
{
'smokejohn/tidalcycles.nvim',
}This will load the plugin with its default configuration.
require('tidalcycles').setup{
boot = {
tidal = {
file = vim.api.nvim_get_runtime_file("BootTidal.hs", false)[1],
args = {},
},
sclang = {
file = vim.api.nvim_get_runtime_file("BootSuperDirt.scd", false)[1],
enabled = false,
},
split = 'v',
},
keymaps = {
send_line = "<C-E>",
send_visual = "<C-E>",
hush = "<C-M>"
}
}To use this plugin a few dependencies have to be installed on the system:
- Haskell
- SuperCollider
- SuperDirt
- TidalCycles
The plugin assumes you can access ghci and sclang on the commandline.
Opening the Glasgow Haskell Compiler (ghci) on the commandline and typing import Sound.Tidal.Context should work and report no errors.
Start or stop a TidalCycles session by using either the :TidalStart or :TidalStop commmand.
tidalcycles.nvim provides the following default keymaps inside .tidal files:
Ctrl + E in normal mode to evaluate the current line
Ctrl + E in visual selection mode to evaluate the selected lines
Ctrl + M to stop playback via hush command
This plugin builds upon the work of Robbie Lyman's now archived tidal.nvim