Trouble launching Tidal in Atom

Followed the directions, everything works as described in the instructions until the Boot TidalCycles from Packages part. Then this pops up in the window that’s at the bottom of the screen. Any insight would be greatly appreciated. Thanks!

t>

: error:
Could not find module `Sound.Tidal.Context’
It is not a module in the current program, or in any known package.

Not in scope: `oLatency’

Not in scope: `oAddress’

Not in scope: `oPort’

Not in scope: `cFrameTimespan’

Variable not in scope: streamReplace :: t0 -> t

Variable not in scope: tidal

Variable not in scope: streamHush :: t0 -> t

Variable not in scope: tidal

* Variable not in scope: streamList :: t0 -> t
* Perhaps you meant `readList' (imported from Prelude)

Variable not in scope: tidal

Variable not in scope: streamMute :: t0 -> t

Variable not in scope: tidal

Variable not in scope: streamUnmute :: t0 -> t

Variable not in scope: tidal

Variable not in scope: streamSolo :: t0 -> t

Variable not in scope: tidal

Variable not in scope: streamUnsolo :: t0 -> t

Variable not in scope: tidal

Variable not in scope: streamOnce :: t0 -> t

Variable not in scope: tidal

Variable not in scope: once

Variable not in scope: streamNudgeAll :: t0 -> t

Variable not in scope: tidal

Variable not in scope: streamAll :: t0 -> t

Variable not in scope: tidal

Variable not in scope: streamResetCycles :: t0 -> t

Variable not in scope: tidal

Variable not in scope: asap :: b0 -> c

* Variable not in scope: cps :: a -> b0
* Perhaps you meant `cos' (imported from Prelude)


Not in scope: `Sound.Tidal.Transition.xfadeIn'
No module named `Sound.Tidal.Transition' is imported.


Not in scope: `Sound.Tidal.Transition.xfadeIn'
No module named `Sound.Tidal.Transition' is imported.


Not in scope: `Sound.Tidal.Transition.histpan'
No module named `Sound.Tidal.Transition' is imported.


Not in scope: `Sound.Tidal.Transition.wait'
No module named `Sound.Tidal.Transition' is imported.


Not in scope: `Sound.Tidal.Transition.waitT'
No module named `Sound.Tidal.Transition' is imported.


Not in scope: `Sound.Tidal.Transition.jump'
No module named `Sound.Tidal.Transition' is imported.


Not in scope: `Sound.Tidal.Transition.jumpIn'
No module named `Sound.Tidal.Transition' is imported.


Not in scope: Sound.Tidal.Transition.jumpIn'
No module named `Sound.Tidal.Transition' is imported.


Not in scope: `Sound.Tidal.Transition.jumpMod'
No module named `Sound.Tidal.Transition' is imported.


Not in scope: `Sound.Tidal.Transition.mortal'
No module named `Sound.Tidal.Transition' is imported.


Not in scope: `Sound.Tidal.Transition.interpolate'
No module named `Sound.Tidal.Transition' is imported.


Not in scope: `Sound.Tidal.Transition.interpolateIn'
No module named `Sound.Tidal.Transition' is imported.


Not in scope: `Sound.Tidal.Transition.clutch'
No module named `Sound.Tidal.Transition' is imported.


Not in scope: `Sound.Tidal.Transition.clutchIn'
No module named `Sound.Tidal.Transition' is imported.


Not in scope: `Sound.Tidal.Transition.anticipate'
No module named `Sound.Tidal.Transition' is imported.


Not in scope: `Sound.Tidal.Transition.anticipateIn'
No module named `Sound.Tidal.Transition' is imported.


Not in scope: `Sound.Tidal.Transition.mortalOverlay'
No module named `Sound.Tidal.Transition' is imported.


Variable not in scope: p :: Integer -> t


Variable not in scope: p :: Integer -> t


Variable not in scope: p :: Integer -> t


Variable not in scope: p :: Integer -> t


Variable not in scope: p :: Integer -> t


Variable not in scope: p :: Integer -> t


Variable not in scope: p :: Integer -> t


Variable not in scope: p :: Integer -> t


Variable not in scope: p :: Integer -> t


Variable not in scope: p :: Integer -> t


Variable not in scope: p :: Integer -> t


Variable not in scope: p :: Integer -> t


Variable not in scope: p :: Integer -> t


Variable not in scope: p :: Integer -> t


Variable not in scope: p :: Integer -> t


Variable not in scope: p :: Integer -> t

t>

: error:
Could not find module `Sound.Tidal.Context’
It is not a module in the current program, or in any known package.

Not in scope: `oLatency’

Not in scope: `oAddress’

Not in scope: `oPort’

Not in scope: `cFrameTimespan’

Variable not in scope: streamReplace :: t0 -> t

Variable not in scope: tidal

Variable not in scope: streamHush :: t0 -> t

Variable not in scope: tidal

* Variable not in scope: streamList :: t0 -> t
* Perhaps you meant `readList' (imported from Prelude)

Variable not in scope: tidal

Variable not in scope: streamMute :: t0 -> t

Variable not in scope: tidal

Variable not in scope: streamUnmute :: t0 -> t

Variable not in scope: tidal

Variable not in scope: streamSolo :: t0 -> t

Variable not in scope: tidal

Variable not in scope: streamUnsolo :: t0 -> t

Variable not in scope: tidal

Variable not in scope: streamOnce :: t0 -> t

Variable not in scope: tidal

Variable not in scope: once

Variable not in scope: streamNudgeAll :: t0 -> t

Variable not in scope: tidal

Variable not in scope: streamAll :: t0 -> t

Variable not in scope: tidal

Variable not in scope: streamResetCycles :: t0 -> t

Variable not in scope: tidal

Variable not in scope: asap :: b0 -> c

* Variable not in scope: cps :: a -> b0
* Perhaps you meant `cos' (imported from Prelude)


Not in scope: `Sound.Tidal.Transition.xfadeIn'
No module named `Sound.Tidal.Transition' is imported.


Not in scope: `Sound.Tidal.Transition.xfadeIn'
No module named `Sound.Tidal.Transition' is imported.


Not in scope: `Sound.Tidal.Transition.histpan'
No module named `Sound.Tidal.Transition' is imported.


Not in scope: `Sound.Tidal.Transition.wait'
No module named `Sound.Tidal.Transition' is imported.


Not in scope: `Sound.Tidal.Transition.waitT'
No module named `Sound.Tidal.Transition' is imported.


Not in scope: `Sound.Tidal.Transition.jump'
No module named `Sound.Tidal.Transition' is imported.


Not in scope: `Sound.Tidal.Transition.jumpIn'
No module named `Sound.Tidal.Transition' is imported.


Not in scope: Sound.Tidal.Transition.jumpIn'
No module named `Sound.Tidal.Transition' is imported.


Not in scope: `Sound.Tidal.Transition.jumpMod'
No module named `Sound.Tidal.Transition' is imported.


Not in scope: `Sound.Tidal.Transition.mortal'
No module named `Sound.Tidal.Transition' is imported.


Not in scope: `Sound.Tidal.Transition.interpolate'
No module named `Sound.Tidal.Transition' is imported.


Not in scope: `Sound.Tidal.Transition.interpolateIn'
No module named `Sound.Tidal.Transition' is imported.


Not in scope: `Sound.Tidal.Transition.clutch'
No module named `Sound.Tidal.Transition' is imported.


Not in scope: `Sound.Tidal.Transition.clutchIn'
No module named `Sound.Tidal.Transition' is imported.


Not in scope: `Sound.Tidal.Transition.anticipate'
No module named `Sound.Tidal.Transition' is imported.


Not in scope: `Sound.Tidal.Transition.anticipateIn'
No module named `Sound.Tidal.Transition' is imported.


Not in scope: `Sound.Tidal.Transition.mortalOverlay'
No module named `Sound.Tidal.Transition' is imported.


Variable not in scope: p :: Integer -> t


Variable not in scope: p :: Integer -> t


Variable not in scope: p :: Integer -> t


Variable not in scope: p :: Integer -> t


Variable not in scope: p :: Integer -> t


Variable not in scope: p :: Integer -> t


Variable not in scope: p :: Integer -> t


Variable not in scope: p :: Integer -> t


Variable not in scope: p :: Integer -> t


Variable not in scope: p :: Integer -> t


Variable not in scope: p :: Integer -> t


Variable not in scope: p :: Integer -> t


Variable not in scope: p :: Integer -> t


Variable not in scope: p :: Integer -> t


Variable not in scope: p :: Integer -> t


Variable not in scope: p :: Integer -> t

I think I may have found where the issue is. I ran the “cabal install tidal” line in the cmd again and the attached picture was the result.

Cabal%20Fail

Hi @Moblyn,
Yes the problem is with the installation of the tidal library itself. Ignore what it says about needing minGW+MSYS/Cygwin, you should have everything you need as part of the haskell platform download.

This is a long standing issue:

To fix it, find the location of the cabal config file, by running this command in a terminal window:
cabal user-config init

Edit this file (e.g. in notepad). It should be enough to paste these lines at the end, making sure that no whitespace gets added to the start of any lines etc:

extra-prog-path: C:\Program Files\Haskell Platform\8.6.5\msys\usr\bin
extra-lib-dirs: C:\Program Files\Haskell Platform\8.6.5\mingw\lib
extra-include-dirs: C:\Program Files\Haskell Platform\8.6.5\mingw\include

You might also need to remove the existing extra-prog-path line and the line after it. Then cabal install tidal should work. Let us know how you get on!

This was 100% the issue. Everything is up and running. Thank you very much!

1 Like

I have a similar problem but I am not sure what to remove and add?
Does it matter if I have duplicates of the same lines_

Pardon me, wondering if it’s a similar issue happened on me…
My environment is:

Mac OSX: 10.14.5
GHCi: 8.6.5
cabal-install: 2.1.0
tidal: 1.1.12
SuperCollider 3.10.2.
Atom 1.38.2
Tidalcycles apm 3.1.0

In Atom, I’m using a tidal-startup repo found on Github. The package provides a BootTidal.hs within which looks like this:

:set -XOverloadedStrings
:set prompt ""
:set prompt-cont ""

import Sound.Tidal.Context

-- total latency = oLatency + cFrameTimespan
tidal <- startTidal (superdirtTarget {oLatency = 0.2, oAddress = "127.0.0.1", oPort = 57120}) (defaultConfig {cFrameTimespan = 1/20})

let p = streamReplace tidal
let hush = streamHush tidal
let list = streamList tidal
let mute = streamMute tidal
let unmute = streamUnmute tidal
let solo = streamSolo tidal
let unsolo = streamUnsolo tidal
let once = streamOnce tidal False
let asap = streamOnce tidal True
let nudgeAll = streamNudgeAll tidal
let all = streamAll tidal
let resetCycles = streamResetCycles tidal
let setcps = asap . cps
let xfade i = transition tidal (Sound.Tidal.Transition.xfadeIn 4) i
let xfadeIn i t = transition tidal (Sound.Tidal.Transition.xfadeIn t) i
let histpan i t = transition tidal (Sound.Tidal.Transition.histpan t) i
let wait i t = transition tidal (Sound.Tidal.Transition.wait t) i
let waitT i f t = transition tidal (Sound.Tidal.Transition.waitT f t) i
let jump i = transition tidal (Sound.Tidal.Transition.jump) i
let jumpIn i t = transition tidal (Sound.Tidal.Transition.jumpIn t) i
let jumpIn' i t = transition tidal (Sound.Tidal.Transition.jumpIn' t) i
let jumpMod i t = transition tidal (Sound.Tidal.Transition.jumpMod t) i
let mortal i lifespan release = transition tidal (Sound.Tidal.Transition.mortal lifespan release) i
let interpolate i = transition tidal (Sound.Tidal.Transition.interpolate) i
let interpolateIn i t = transition tidal (Sound.Tidal.Transition.interpolateIn t) i
let clutch i = transition tidal (Sound.Tidal.Transition.clutch) i
let clutchIn i t = transition tidal (Sound.Tidal.Transition.clutchIn t) i
let anticipate i = transition tidal (Sound.Tidal.Transition.anticipate) i
let anticipateIn i t = transition tidal (Sound.Tidal.Transition.anticipateIn t) i
let d1 = p 1
let d2 = p 2
let d3 = p 3
let d4 = p 4
let d5 = p 5
let d6 = p 6
let d7 = p 7
let d8 = p 8
let d9 = p 9
let d10 = p 10
let d11 = p 11
let d12 = p 12
let d13 = p 13
let d14 = p 14
let d15 = p 15
let d16 = p 16

:set prompt "tidal> "

My SuperDirt and SuperCollider are working fine, listening on port 57120. I could still trigger sound, building patterns, hush,etc. But what’s annoying me is while booting tidalcycles in Atom’s package, it always returns some error messages as such:

• Couldn't match type ‘Bool’ with ‘Pattern ControlMap’
  Expected type: ControlPattern
    Actual type: Bool
• In the second argument of ‘streamOnce’, namely ‘False’
  In the expression: streamOnce tidal False
  In an equation for ‘once’: once = streamOnce tidal False


• Couldn't match type ‘Bool’ with ‘Pattern ControlMap’
  Expected type: ControlPattern
    Actual type: Bool
• In the second argument of ‘streamOnce’, namely ‘True’
  In the expression: streamOnce tidal True
  In an equation for ‘asap’: asap = streamOnce tidal True


Variable not in scope: asap :: ControlPattern -> c


• Couldn't match expected type ‘Bool’
              with actual type ‘Time -> [ControlPattern] -> ControlPattern’
• Probable cause: ‘xfadeIn’ is applied to too few arguments
  In the second argument of ‘transition’, namely ‘(xfadeIn 4)’
  In the expression: transition tidal (xfadeIn 4) i
  In an equation for ‘xfade’:
      xfade i = transition tidal (xfadeIn 4) i


• Couldn't match expected type ‘Bool’
              with actual type ‘Time -> [ControlPattern] -> ControlPattern’
• Probable cause: ‘xfadeIn’ is applied to too few arguments
  In the second argument of ‘transition’, namely ‘(xfadeIn t)’
  In the expression: transition tidal (xfadeIn t) i
  In an equation for ‘xfadeIn’:
      xfadeIn i t = transition tidal (xfadeIn t) i


• Couldn't match expected type ‘Bool’
              with actual type ‘Time -> [ControlPattern] -> ControlPattern’
• Probable cause: ‘histpan’ is applied to too few arguments
  In the second argument of ‘transition’, namely ‘(histpan t)’
  In the expression: transition tidal (histpan t) i
  In an equation for ‘histpan’:
      histpan i t = transition tidal (histpan t) i


• Couldn't match expected type ‘Bool’
              with actual type ‘Time -> [ControlPattern] -> ControlPattern’
• Probable cause: ‘wait’ is applied to too few arguments
  In the second argument of ‘transition’, namely ‘(wait t)’
  In the expression: transition tidal (wait t) i
  In an equation for ‘wait’: wait i t = transition tidal (wait t) i


• Couldn't match expected type ‘Bool’
              with actual type ‘Time -> [ControlPattern] -> ControlPattern’
• Probable cause: ‘waitT’ is applied to too few arguments
  In the second argument of ‘transition’, namely ‘(waitT f t)’
  In the expression: transition tidal (waitT f t) i
  In an equation for ‘waitT’:
      waitT i f t = transition tidal (waitT f t) i


• Couldn't match expected type ‘Bool’
              with actual type ‘Time -> [ControlPattern] -> ControlPattern’
• Probable cause: ‘jump’ is applied to too few arguments
  In the second argument of ‘transition’, namely ‘(jump)’
  In the expression: transition tidal (jump) i
  In an equation for ‘jump’: jump i = transition tidal (jump) i


• Couldn't match expected type ‘Bool’
              with actual type ‘Time -> [ControlPattern] -> ControlPattern’
• Probable cause: ‘jumpIn’ is applied to too few arguments
  In the second argument of ‘transition’, namely ‘(jumpIn t)’
  In the expression: transition tidal (jumpIn t) i
  In an equation for ‘jumpIn’:
      jumpIn i t = transition tidal (jumpIn t) i


• Couldn't match expected type ‘Bool’
              with actual type ‘Time -> [ControlPattern] -> ControlPattern’
• Probable cause: ‘jumpIn'’ is applied to too few arguments
  In the second argument of ‘transition’, namely ‘(jumpIn' t)’
  In the expression: transition tidal (jumpIn' t) i
  In an equation for ‘jumpIn'’:
      jumpIn' i t = transition tidal (jumpIn' t) i


• Couldn't match expected type ‘Bool’
              with actual type ‘Time -> [ControlPattern] -> ControlPattern’
• Probable cause: ‘jumpMod’ is applied to too few arguments
  In the second argument of ‘transition’, namely ‘(jumpMod t)’
  In the expression: transition tidal (jumpMod t) i
  In an equation for ‘jumpMod’:
      jumpMod i t = transition tidal (jumpMod t) i


• Couldn't match expected type ‘Bool’
              with actual type ‘Time -> [ControlPattern] -> ControlPattern’
• Probable cause: ‘mortal’ is applied to too few arguments
  In the second argument of ‘transition’, namely
    ‘(mortal lifespan release)’
  In the expression: transition tidal (mortal lifespan release) i
  In an equation for ‘mortal’:
      mortal i lifespan release
        = transition tidal (mortal lifespan release) i


• Couldn't match expected type ‘Bool’
              with actual type ‘Time -> [ControlPattern] -> ControlPattern’
• Probable cause: ‘interpolate’ is applied to too few arguments
  In the second argument of ‘transition’, namely ‘(interpolate)’
  In the expression: transition tidal (interpolate) i
  In an equation for ‘interpolate’:
      interpolate i = transition tidal (interpolate) i


• Couldn't match expected type ‘Bool’
              with actual type ‘Time -> [ControlPattern] -> ControlPattern’
• Probable cause: ‘interpolateIn’ is applied to too few arguments
  In the second argument of ‘transition’, namely ‘(interpolateIn t)’
  In the expression: transition tidal (interpolateIn t) i
  In an equation for ‘interpolateIn’:
      interpolateIn i t = transition tidal (interpolateIn t) i


• Couldn't match expected type ‘Bool’
              with actual type ‘Time -> [Pattern a0] -> Pattern a0’
• Probable cause: ‘clutch’ is applied to too few arguments
  In the second argument of ‘transition’, namely ‘(clutch)’
  In the expression: transition tidal (clutch) i
  In an equation for ‘clutch’: clutch i = transition tidal (clutch) i


• Couldn't match expected type ‘Bool’
              with actual type ‘Time -> [Pattern a0] -> Pattern a0’
• Probable cause: ‘clutchIn’ is applied to too few arguments
  In the second argument of ‘transition’, namely ‘(clutchIn t)’
  In the expression: transition tidal (clutchIn t) i
  In an equation for ‘clutchIn’:
      clutchIn i t = transition tidal (clutchIn t) i


• Couldn't match expected type ‘Bool’
              with actual type ‘Time -> [ControlPattern] -> ControlPattern’
• Probable cause: ‘anticipate’ is applied to too few arguments
  In the second argument of ‘transition’, namely ‘(anticipate)’
  In the expression: transition tidal (anticipate) i
  In an equation for ‘anticipate’:
      anticipate i = transition tidal (anticipate) i


• Couldn't match expected type ‘Bool’
              with actual type ‘Time -> [ControlPattern] -> ControlPattern’
• Probable cause: ‘anticipateIn’ is applied to too few arguments
  In the second argument of ‘transition’, namely ‘(anticipateIn t)’
  In the expression: transition tidal (anticipateIn t) i
  In an equation for ‘anticipateIn’:
      anticipateIn i t = transition tidal (anticipateIn t) i

So then I tried to check my cabal config file as replies, but since my OS is not windows, it marks

-- extra-lib-dirs:
-- extra-framework-dirs:
extra-prog-path: /Users/$USERNAME/.cabal/bin

I’m not sure if there’s anything I should change here. Could someone please help?

I think that’s just down to using an out-of-date BootTidal.hs. Why not use the default one?

Thank you Yaxu. I replaced it with the latest https://github.com/tidalcycles/Tidal/edit/master/BootTidal.hs now. The error messages disappear but in my tidal files only d1 is working, d2, d3 , d4 etc… don’t trigger sound anymore, even if I remove the BootTidal.hs and restart tidal…
I tried on both VScode and Atom, they both work the same way, and in supercollider’s post window nothing appears… Thanks for the help!

Hmm @MaxxeW my guess is that something is wrong with your superdirt startup - how are you starting that?

Also make sure everything is upgraded: https://tidalcycles.org/index.php/Upgrading

Yes, you are right, the problem was gone after changing my superdirt-startup.scd from

~dirt.start(57120, [0, 2, 4, 6, 8, 10]);

to

~dirt.start(57120, 0 ! 12);  

Thanks a lot!

1 Like