Linux Automatic Installer (ansible) thread

minor general update - I haven't done anything on this repo for over a month now, instead I've been getting used to using it for maintenance and updates.
I keep a custom vars/all.yml file with various different sample sets listed:

custom_sample_paths: [ "/home/bernie/Music/Samples/Holding_Hands",
                       "/home/bernie/Music/Samples/jamie-lidell-iso",
                       "/home/bernie/Music/Samples/Reverb",
                       "/home/bernie/Music/Samples/samples-extra",
                       "/home/bernie/Music/Samples/just_kiddink",
                       "/home/bernie/Music/Samples/pres_sample_pack"
                    ]

when I get a new one, I append to the list, and run the playbook again - this is actually the only thing I've needed to run it for the last little while and it was annoying having to run through the entire set of tasks each time, so I made an update:

I've added the use of ansible tags so I could bypass running all the other tasks and just update my config:

sudo ansible-playbook --connection=local -i localhost, \
  tidal_vscode.play.yml --tags "config"

I realise that many people probably customise their configs heavily too, so this also conveniently allows you to run through all the tasks except the config writing now using --skip-tags:

sudo ansible-playbook --connection=local -i localhost, \
  tidal_vscode.play.yml --skip-tags "config"

Hi! Did you try the instructions at NeoVim Terminal Target? Sorry if the documentation is a bit confusing. This feature was added by a contributor and I'm not really using the "terminal" mode right now, but I remember those steps used to work.

2 Likes

Thanks @munshkr! I guess the confusing part was trying to work out how to get the two communicating - I did follow the instructions as listed, but had not attempted to interpret a line of tidal code (which then brought up the tidal window).

It seems to be dependent on the .tidal extension being present on the filename too, is that correct?

PS I've just created a pull request with the information I was missing included in the README - thanks again for getting back to me :slight_smile:

Yes, the Tidal commands on Vim and the default bindings for evaluation are only available on buffers of filetype tidal. You can either open a file with a .tidal extension, or manually set the filetype with the :set filetype=tidal command on your open buffer.

Thanks! I've just merged it :slight_smile:

1 Like

@munshkr @igormpc I've begun the neovim ansible role, and I'm getting close - maybe you guys can help me with what I hope is the last hurdle - the keybindings:

I can currently send the tidal commands with <C-e> no probs, but the hush keybinding <C-h> does not work... I'm not familiar enough with vim plugins or keybinding management to understand why one works and not the other - do you know what's gone wrong?

1 Like

i managed to install neovim + plugins, but could try this neovim ansible role on another laptop here -- tell me when you have a

sudo ansible-playbook --connection=local -i localhost, tidal_neovim.play.yml

that i can try! :slight_smile:

maybe <C-e> is working because is the same keys for code execution on supercollider/scnvim? supercollider/scnvim doesnt use <C-h>

i have <C-h> here working, i am using on init.vim these lines for tidal-vim:

let g:tidal_target = "terminal"
filetype plugin on

maybe you need this last line? i am really learning vim/neovim, just got right copying a friends init.vim :smiley:

1 Like

Thanks for the pointers! I think it's done - <C-h> is now working (although not in insert mode, which I think is by design and may have been most of the problem I was experiencing tbh)
I had some weird stuff left from the vim role I copied (plugins going into .vim/ dirs and stuff) which I cleaned up while I was going too though -

Give it a go, keen to hear if anything is missing/not-working :slight_smile:

hi cleary

some tests here:
first i did

git pull --recurse-submodules

to update here and

sudo ansible-playbook --connection=local -i localhost, tidal_neovim.play.yml

after. got one error

TASK [roles/neovim : get vim-plug plugin manager] *********************************************************************************************************************************
fatal: [localhost]: FAILED! => {"changed": false, "dest": "/home/igor/.local/share/nvim/site/autoload/plug.vim", "elapsed": 19, "msg": "Request failed: ", "url": "https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim"}

so i downloaded the plug.vim file and put it on my autoload folder...
so i did nvim test.scd but got another error when was trying to start sc with :SCNvimStart ( not a editor command)...

i checked my init.vim and noticed that it hasnt this line:

Plug 'davidgranstrom/scnvim', { 'do': {-> scnvim#install() } }

so i put it, run :PlugInstall and worked ok! :smiley:
running nvim test.tidal worked ok also, <C-h> not working on insert mode as you mentioned...

a question: do you use snippets on vscode or vim?

thx!!! :space_invader:

Hey thanks for testing - I'm not familiar with the scnvim plugin, but I'm guessing it might make a sensible default to add -

Re the failed Request for plug.vim, that may have just been an intermittent network issue (since you were able to download it afterwards anyway)?

What I'm unsure about is, should it be working? Is <C-h> in insert mode expected to hush?

I'm afraid I don't know what snippets are :slight_smile:

i just learned these days, is something like this:

i think that this kind of helper can improve my learning of tidal
(already helping with sc :slight_smile: )

Interesting, does anyone do tidalcycles snippets that you know of?

small update:

the atom plugin now includes a soundbrowser feature, I've added support for populating the sample dirs for this feature from a list provided in `vars/all.yml' (ie same source list as supercollider and vscode use)

2 Likes

today's updates add support for tidal/superdirt 1.7 - and improve the superdirt upgrade process.

I can't work out how to interrogate sc for the version of an installed quark, and I had issues with some upgrades going through but not producing any sound, so I've tried to make it a little more robust/clean by doing a quark uninstall and reinstall. It's not ideal, but it seems robust and I've tested it in a variety of upgrade/clean install scenarios.

If you're nervous about breaking your install, back it up as per

cd ~; tar zcvf tidal_backup.tar.gz .cabal/ .local/share/SuperCollider .ghc/

to restore:

cd ~; rm -rf .cabal/ .local/share/SuperCollider .ghc/
tar zxvf tidal_backup.tar.gz

I'm planning to build some back up/env cleanup options in at some point, but for now it will require manual processes

I got a couple of extra stars on the repo after the tidal meetup, so I gave this some more love today -

I really enjoyed c_robo/Will Rinkhoff's presentation and visibility into his DAW usage, and it's integration/connection in the tidal environment.
Key thing being splitting the orbits in superdirt across separate outputs in supercollider so they can be routed as separate stereo channels into a DAW -
To this end, I've added the ability to specify the number of outputs from supercollider in the vars/all.yml config file.

This usually requires two changes to your startup.scd, one to specify the outputs, and a second to modify the dirt.start arguments - I managed to wrangle the jinja2 templating to automatically provide the latter config based on just the number of outputs, so all we need is a number :slight_smile:

PS the format of the output from the jinja2 range function is actually exactly what I want - if anyone knows a way to take output directly from the function, I'd love to know how ... it will simplify that whole bit immensely
[edit]: Turns out there is:

1 Like

Update for this morning:
midi client handling added, just add your midi clients to the vars/all.yml

I've added an option to vars/all.yml to supply a list of git repositories containing samples (and included a commented set of repos as example) which will be downloaded and made available to your sc/soundbrowsers

I've also moved the vars/all.yml to vars/all.yml.ex so you can run your own vars/all.yml now without fear of it being overwritten on update

Update for this week:

Thanks to some assistance (and prodding) from @TimPuk I've committed the very early stages of Archlinux (inc. Manjaro) support.

Currently, the following playbooks are supported:

# for tidalcycles standalone
sudo ansible-playbook --connection=local -i localhost, tidal.play.yml

# for tidalcycles + neovim
sudo ansible-playbook --connection=local -i localhost, tidal_neovim.play.yml

I'm hoping to have more roles added shortly and feature parity with debian based systems in the coming weeks, all things going well.

At this stage, consider it testing only - I recommend creating a test user account on your system and running from there.

Please give it a test and let me know how you go!

3 Likes

:smiley: nice news!!! ill try on my 2nd machine here -- maybe feedfoward suport on archlinux?!? <3

1 Like

I thought that someone might be interested in that - I will look at it this morning :slight_smile:

Hi! Just installed this on Ubuntu 20.04 with great results! Just wanted to say thank you for making this :heart_eyes:

1 Like