alert!!! site for the old dublang version 0.5.x, see the latest version here
home - plugins - tutorials - history - manual - design
tutorial on how to install dublang on Debian 12 (Bookworm) with SuperCollider and Tidal Cycles
first, install the Debian packages below
sudo apt update
sudo apt install -y \
\
cabal-install \
curl \
g++ \
gettext-base \
ghc \
git \
jackd2 \
lua5.1 \
lua-luv \
luarocks \
neovim \
sc3-plugins supercollider
install dublang
sudo luarocks install dublang --deps-mode=none --lua-version=5.1
install Tidal
cabal update
cabal install tidal --lib
install SuperDirt
echo 'Quarks.install("SuperDirt", "v1.7.2"); 0.exit;' > superdirt.scd
sclang superdirt.scd
install vim-plug
curl -fLo "${XDG_DATA_HOME:-$HOME/.local/share}"/nvim/site/autoload/plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
create the file $HOME/.config/nvim/init.vim
call plug#begin()
Plug 'https://codeberg.org/joenio/dublang-nvim.git', { 'branch': 'main' }
" rcarriga/nvim-notify provides a fancy way to display user messages
Plug 'rcarriga/nvim-notify'
" supercollider/scvim is needed for syntax highlight
Plug 'supercollider/scvim'
call plug#end()
open nvim
and run :PlugInstall
to install
dublang-nvim
start the supercollider
and tidalcycles
services
dublang install supercollider tidalcycles
dublang start supercollider tidalcycles
you can check the services status and logs
dublang status supercollider tidalcycles
dublang logs supercollider tidalcycles
now that all the requirements are installed let's use the dublang
nvim hello-world.dub
let's try a sine wave on SuperCollider, type into
hello-world.dub
#!supercollider
{ SinOsc.ar(220, 330) }.play;
hit "CTRL + e"
, you migh listen some sound
inside the same file hello-world.dub
include the
following Tidal Cycles code
#!tidalcycles
d1 $ sound "cp"
hit "CTRL + e"
, now you might listen the clap and the
sine wave together
the complete file hello-world.dub
should looks like
#!supercollider
{ SinOsc.ar(220, 330) }.play;
#!tidalcycles
d1 $ sound "cp"
the video below demonstrates the expected results