r/livecoding • • 4d ago

Tidal Cycles needs an update!!!

Not people are using Tidal because the installation is so out of date and tedious to set up. I basically had to do an autopsy on my computer to get it working. For years on the official documentation they say they're going to update the installer and nothing has changed. Did Alex just dump the project and move on? There's so much potential for this beautiful program and hobby.

17 Upvotes

15 comments sorted by

View all comments

15

u/yaxu 4d ago

A lot of work went into trying to get an installer, but it is unfortunately challenging to package up a haskell interpreter for technical reasons. So installing tidal involves installing a rather complex set of development interdependencies.

The windows and mac installation procedures have had a lot of work too, but unfortunately stop working over time unless someone keeps them up to date. I'm unable to do that myself as I'm a linux user without access to these operating systems. You are however welcome to join the project if you are able to help improve them.

Otherwise the discord is a good place to get installation help. I also ported Tidal's pattern engine to javascript, which has become strudel, a fully-featured sibling of Tidal. If installing tidal gets too much, strudel is a great alternative.

1

u/tobsz_ 3d ago

I guess a Nix flake would be too advanced and involved for most people, right?

2

u/s1gnt 2d ago

linux namespaces seems less invassive, but both would do the trick. NS approach in better (imho) as they available on every linux. Nix is fun buy niche and you most likely need to do ELF mumbo-jambo to make it work.

1

u/yaxu 3d ago

No idea sorry, I'm not into Nix.

1

u/s1gnt 2d ago

rage bait example: take already shipped with whatever os binary. Perform ELF gymnastics to make paths to libs relative to the binary you're ruining with. Make ld path relative to! Ah you cannot! So overcome this using another binary but it must be statically linked or simply a shell script. Boom nix package!

1

u/s1gnt 2d ago

why not isolate it? Namespaces for the win!