Beginner Trouble Installing TidalCycles Windows 10

Hi everyone! I am trying to get my feet wet with TidalCycles but I am unable to get it to run in atom. I have most recent updates for Haskall, Atom, Git, and SuperCollider. The TidalCycle package in atom is installed as well. SuperDirt is installed correctly too, but whenever I try to code in atom, it can’t recognize the language and throws up an error: “Uncaught Cannot call write after a stream was destroyed” Please help!

I also put cabal update into my command line, and it says “Resolving dependencies… Up to Date”

Welcome @ripLift, it is probably a bug in the windows Haskell install that makes it difficult to install the tidal library.

Probably the easiest workaroudn is installing Haskell using the ‘full’ version of the Haskell platform (I don’t use windows so don’t know if you can uninstall the old one first). The latest haskell doesn’t have this version, but you can get a slightly older installer here that should do the job fine:
https://www.haskell.org/platform/download/8.4.3/HaskellPlatform-8.4.3-full-x86_64-setup.exe

Once you’ve installed that, re-doing this in a terminal window:

cabal new-update
cabal new-install tidal --lib

should fix it.

Please let us know how you get on

Hi @yaxu !
I uninstalled the version of Haskell I had and used your link, but once that was finished I put cabal new-update into command prompt and it gave me this: No cabal.project file or cabal file matching the default glob ‘./*.cabal’ was found.
Please create a package description file .cabal or a cabal.project file referencing the packages you want to build.

Ah!
Try
cabal update
then
cabal install tidal

So this is interesting, that worked in my command prompt and downloaded tidal, and in atom I can run a line and it won’t give me any errors but there is no sound. I made sure the sound on my computer is working so it’s specific to atom or perhaps tidal?

It says 'listening for controls ’ and then my IP address

Great, getting closer… Do you have supercollider running with SuperDirt.start?

I ran that in supercollider and it gave this: WARNING: Dirt could not load some synths from default-synths.scd, because sc3plugins are necessary and missing.

Ok - sample playback e.g. d1 $ sound "bd sn" should still work fine without sc3plugins installed

I tried running that in atom and it gave me the same “Listening for controls on 127.0.0.1:6010” with no sound

@yaxu would installing the missing plugins fix the problem?

It might be worth a try, but normally sc3plugins is not required for playing samples and most of the effects.

You could try opening a graphical scope in supercollider, to see whether it is sending sound. The easiest way of doing this is clicking around the status bar in the bottom right, and selecting ‘Show scope’. You should see the scope move if there is sound playing. If so, the problem is between supercollider and your sound output.

If not, then the problem is probably between tidal and supercollider. One way of checking this is to try paying a sound that doesn’t exist, e.g. with d1 $ sound "asldfkjasdf". If the connection between tidal and sc is fine, you should see ‘instrument not found’ errors in supercollider. Let us know how it goes.

So, I opened up the scope in supercollider and tried to run a line and there was nothing moving. I copied your line and put it into atom and it doesn’t give me the instrument not found error, it still says listening for controls. I put hush underneath and tried to run it and it gave me this:

* Couldn't match expected type `IO () -> Pattern ControlMap'
              with actual type `Pattern ControlMap'
* The function `sound' is applied to two arguments,
  but its type `Pattern String -> Pattern ControlMap' has only one
  In the second argument of `($)', namely `sound "asldfkjasdf" hush'
  In the expression: d1 $ sound "asldfkjasdf" hush

I deleted the hush and then just tried to run the fake sound again, and it just gives me a t> each time with nothing in supercollider.