I'm trying to using TidalCycles in Troop, but there's an error

GHCi, version 8.8.4: https://www.haskell.org/ghc/  :? for help
Loaded package environment from /Users/mac/.ghc/x86_64-darwin-8.8.4/environments/default
Prelude> Prelude| Prelude| IO error:  "BootTidal.hs" does not exist

It's okay when I use the SuperCollider in Troop
(and also no problem when I use the TidalCycles and Supercolider only),
but I keep getting that problem like above when I try to use the TidalCycles in Troop.
How can i solve this?
What is "BootTidal.hs"? sorry i'm newbie.:joy:

BootTidal.hs is a file that contains a bunch of information for starting Tidal ā€” if you can use Tidal otherwise, it probably exists. I'd say the problem is that it's located at another spot than the one Troop expects it to be, but since I don't know anything about Troop I can't tell you how to change where it's looking for it.
For the record, on my Debian system, it's located at ~/.cabal/share/x86_64-linux-ghc-8.8.3/tidal-1.6.1/BootTidal.hs, but ymmv obviously.

1 Like

I had the same error when running the server/client on Ubuntu 20.10. The solution I got from here worked:

python3 run-client.py -H -s tidalcycles -m $(which ghci) -a "-ghci-script $(ghc-pkg field -f $HOME/.cabal/store/ghc-$(ghc --numeric-version)/package.db tidal data-dir | awk '{print $2}')/BootTidal.hs"

I don't know if Troop's developer @Qirky is here on this forum so perhaps report your bug on the toplap chat or on github


As I've discovered recently, BootTidal.hs location is highly editor dependent.

tidal-vim provides/uses it's own
atom provides it's own but uses the tidal haskell package one by default
vscode hardcodes it, and you need to specify an external option to use a different one
feedforward also hardcodes it, I'm not sure if you can change that (yet)
emacs I haven't used, but since you do I'm going to assume it uses the tidal/haskell package one

@eyd what editor do you use when you use tidal+supercollider alone?

1 Like

iā€™m using atom in MacOs when i use tidal+SC. what should i do? thank you.

Well, when you boot tidal in atom, it conveniently gives you the path to the boottidal.hs it's using, eg on (one of) my system:

Ghci command: ghci
Ghc-pkg command: ghc-pkg
Load BootTidal.hs from /home/bernie/.atom/packages/tidalcycles/lib/BootTidal.hs

Then if you modify @hellocatfood 's suggestion, you could try running troop with the following command, including the path to the known working boottidal.hs:

python3 run-client.py -H <ip> -s tidalcycles -m $(which ghci) -a "-ghci-script <path-to-bootidal.hs-as-used-by-atom>"
1 Like

It's solved. Thank you so much for your kind explanation!:partying_face:

1 Like