Tidal 1.7 install problems

Mine looks pretty much the same as that except with this custom osc target malarkey added on:

-- Send main OSC stream to Supercollder and Processing on PC
tidal <- startStream defaultConfig [(superdirtTarget {oAddress = "192.168.1.1", oPort = 57120, oLatency = 0.11}, [superdirtShape]), (superdirtTarget {oAddress = "192.168.1.1", oPort = 2020, oLatency = 0.1, oSchedule = Live}, [superdirtShape])]


let target = Target {oName = "visualiser", oAddress = "192.168.1.1", oPort = 2020, oLatency = 0.2, oSchedule = Live, oWindow = Nothing}
         
:{
let oscplay = OSC "/play" $ ArgList [("s", Nothing),
                                    ("vowel", Just $ VS "a"),
                                    ("pan", Just $ VF 0.5),
                                    ("volume", Just $ VF 1),
                                    ("cut", Just $ VI 1),
                                    ("intensity", Just $ VI 0),
                                    ("sec", Just $ VF 0),
                                    ("usec", Just $ VF 0),
                                    ("cps", Just $ VF 0),
                                    ("cycle", Just $ VF 0),
                                    ("delta", Just $ VF 0)]
:}

intensity = pF "intensity"


--multiple OSC mappings
let oscmap = [(target, [oscplay]), (superdirtTarget, [superdirtShape])]


stream <- startStream (defaultConfig {cCtrlListen = False}) oscmap

-- Additional OSC messages can be sent with x
:{
let x1 = streamReplace stream 1
    x2 = streamReplace stream 2
    x3 = streamReplace stream 3
    x4 = streamReplace stream 4
    x5 = streamReplace stream 5
    x6 = streamReplace stream 6
    x7 = streamReplace stream 7
    x8 = streamReplace stream 8
:}

I see, trying changing the target config to this:

I've updated this wiki page with the additional config items too:
https://tidalcycles.org/Custom_OSC#Complex_targets_with_multiple_message_formats

I am on macOS 10.13.6 and just updated SuperDirt & TidalCycles & Atom. At first I was getting sound to work in a recent .tidal project but then when rebooting SuperCollider the previously playing .tidal would keep running on startup.

So I tried updating the BootTidal.hs that you linked to above @yaxu and now when booting TidalCycles I get the following error:

t> /Users/magnautica/Documents/TidalCycles/BootTidal.hs:15:111: error: Not in scope: ‘cVerbose’ | 15 | tidal <- startTidal (superdirtTarget {oLatency = 0.1, oAddress = "127.0.0.1", oPort = 57120}) (defaultConfig {cVerbose = True, cFrameTimespan = 1/20})

Ah sorry @gavcloud, the version of BootTidal.hs in that link is too new and has an option not available in the released version of tidal.

I'll update the original post but the correct BootTidal.hs for the latest tidal is here:
https://github.com/tidalcycles/Tidal/blob/fb9a251f1524d0e76bde71d241b92fa863f783c3/BootTidal.hs

1 Like

@yaxu thanks very much that seems to have resolved my issue. However I do notice the SuperCollider log throwing these errors, but AFAIK it is not interfering with sound output of the currently running .tidal file ?

FAILURE IN SERVER /g_new too many nodes FAILURE IN SERVER /s_new Group 6206 not found FAILURE IN SERVER /s_new Group 6206 not found FAILURE IN SERVER /s_new Group 6206 not found FAILURE IN SERVER /g_new too many nodes FAILURE IN SERVER /s_new Group 6214 not found FAILURE IN SERVER /s_new Group 6214 not found FAILURE IN SERVER /s_new Group 6214 not found FAILURE IN SERVER /g_new too many nodes FAILURE IN SERVER /s_new Group 6215 not found FAILURE IN SERVER /s_new Group 6215 not found FAILURE IN SERVER /s_new Group 6215 not found

You can increase the maxNodes setting in SuperCollider, there's some towards the end of this video -> Technical tour of a tidal system

1 Like

Hi chiffonmyst, I confirmed that it worked, on manjaro too. My error message message slitghly different but your command fixed it. I still haven't figured out why these v1, v2 prefixes are here for, from a layman's perspective it does not make any sense ...
Thanks

1 Like

Ah yes, thank you! I should have thought of that myself really.

I added oBusPort and oHandshake to the other targets as well and now when i start up, there are no more error messages for a few seconds and then it spams "ghc.exe: Network.Socket.sendBufTo: failed (Network is unreachable (WSAENETUNREACH)"

As far as I can tell there has been no change of network addresses and there are no packets being sent according to wireshark. I saw that there might be problems with Quarks and updating SuperDirt so i manually copied the files from SuperDirt-dev from github into the folder but that didn't make a difference either.

To be extra clear about what my set-up was doing, I was sending the same OSC messages to SuperCollider and Processing on my PC via ethernet.

Here are the targets in my BootTidal.hs file now: (Sorry about formatting)

-- Send main OSC stream to Supercollder and Processing on PC
tidal <- startStream defaultConfig [(superdirtTarget {oAddress = "192.168.1.1", oPort = 57120, 
oLatency = 0.11 ,oSchedule = Live, oWindow = Nothing, oHandshake = False, oBusPort = Nothing}, 
[superdirtShape]), (superdirtTarget {oAddress = "192.168.1.1", oPort = 2020, oLatency = 0.1, 
oSchedule = Live, oWindow = Nothing, oHandshake = False, oBusPort = Nothing}, 
[superdirtShape])]


let target = Target {oName = "visualiser", oAddress = "192.168.1.1", oPort = 2020, oLatency = 0.2, 
oSchedule = Live, oWindow = Nothing, oHandshake = False, oBusPort = Nothing }

Hmm. So you can ping 192.168.1.1 ok? That's definitely not the address of your router?

Are you snooping the right device with wireshark (e.g. not loopback)?

Also try setting oHandshake to True for the supercollider target. The basics should work either way but this is not super well tested..

I changed the address to 10.0.1.1 and pinged/snooped successfully but I'm still getting the same Network.Socket.sendBufTo: failed (Network is unreachable (WSAENETUNREACH)) messages. I'm just using an ethernet cable to connect my laptop to my PC. It worked prior to 1.7.

I get the same errors if I change oHandshake to True on the SuperCollider target. If i change all of the targets to True then i get the error Can't handshake with SuperCollider without control port. but otherwise I just get the Variable not in scope: tidal :: Stream errors.

I tried wiping and reinstalling and i got this error when installing, which makes sense...

Failed to install network-3.1.2.1
Build log ( C:\Users\domha\AppData\Roaming\cabal\logs\ghc-8.6.5\network-3.1.2.1-G3hZQUol5tSGqrFeTcR4Zf.log ):
Configuring network-3.1.2.1...
cabal.exe: The package has a './configure' script. If you are on Windows, This
requires a Unix compatibility toolchain such as MinGW+MSYS or Cygwin. If you
are not on Windows, ensure that an 'sh' command is discoverable in your path.
cabal: Leaving directory 'C:\Users\domha\AppData\Local\Temp\cabal-tmp-10328\network-3.1.2.1'
{...}
cabal: Error: some packages failed to install:
hosc-0.18.1-6xZCfjPDfUOJowJlrgELHF depends on hosc-0.18.1 which failed to
install.
network-3.1.2.1-G3hZQUol5tSGqrFeTcR4Zf failed during the configure step. The
exception was:
ExitFailure 1
tidal-1.7.1-AsW1VSSX64975Bh2k3kote depends on tidal-1.7.1 which failed to
install.

I have minGW+MSYS installed but it's been a while since i've used it, what do i have to do? I forgot to mention my PC is running Ubuntu and Tidal is running on a Windows laptop.

How did you install haskell? Installing from choco should give you a working version.. Or else the by-hand install instructions suggest an older 'haskell platform' version which is known to work.

I'm truly at a loss, mate haha, feels like I'm losing my mind.

I wiped everything and reinstalled with choco, everything installed correctly however I'm still getting the same errors. The weirdest part is that it actually worked once, I set the NetAddr in SuperCollider on my PC to the address of my laptop instead of 0.0.0.0 and oHandshake to True on the SuperDirt target , but i've not been able to reproduce that, it doesn't like it at all if i try it again. It actually worked despite there being basically these same error messages showing (except for the "Network is unreachable" one IIRC):

Installed in C:\Users\domha\AppData\Roaming\cabal\x86_64-windows-ghc-8.10.4\tidal-1.7.1

Listening for external controls on 127.0.0.1:6010

Prelude Sound.Tidal.Context System.IO MV Tempo O| Prelude Sound.Tidal.Context System.IO MV Tempo O| Prelude Sound.Tidal.Context System.IO MV Tempo O| Prelude Sound.Tidal.Context System.IO MV Tempo O| Prelude Sound.Tidal.Context System.IO MV Tempo O| Prelude Sound.Tidal.Context System.IO MV Tempo O| Prelude Sound.Tidal.Context System.IO MV Tempo O| Prelude Sound.Tidal.Context System.IO MV Tempo O| Prelude Sound.Tidal.Context System.IO MV Tempo O| Prelude Sound.Tidal.Context System.IO MV Tempo O| Prelude Sound.Tidal.Context System.IO MV Tempo O| Prelude Sound.Tidal.Context System.IO MV Tempo O| [TidalCycles version 1.7.1]

Installed in C:\Users\domha\AppData\Roaming\cabal\x86_64-windows-ghc-8.10.4\tidal-1.7.1

Listening for external controls on 127.0.0.1:6010

Warning: GHCi | Can't handshake with SuperCollider without control port.

Prelude Sound.Tidal.Context System.IO MV Tempo O| 

(This part repeats over and over)

And then

tidal> tidal> tidal>

Then nothing happens for a few seconds until

Warning: GHCi | ghc.exe: Network.Socket.sendBufTo: failed (Network is unreachable (WSAENETUNREACH))

This repeats over and over until i hush with the shortcut.

I'll try messing around with it again tomorrow but it feels like I'm going in circles.

Ok thanks for checking all this. I'm beginning to see how this could be a problem with tidal - I think it might be trying send out from a port on the wrong network interface.. Although it is strange that it worked that once!

I'll have a proper look later but in the meantime you could downgrade with:

ghc-pkg unregister tidal-1.7.1
cabal v1-install tidal-1.6.1

No problem. It seemed like it couldn't find the PC based on the stuff i was seeing in Wireshark, yeah, except for that once.

Ok I think I have worked it out. I think the solution is to set the config setting cCtrlAddr = "0.0.0.0"

e.g.:

tidal <- startStream (defaultConfig {cCtrlAddr = "0.0.0.0"}) [(superdirtTarget {oAddress = "192.168.1.1", oPort = 57120, oLatency = 0.11 ,oSchedule = Live, oWindow = Nothing, oHandshake = False, oBusPort = Nothing},  [superdirtShape]), (superdirtTarget {oAddress = "192.168.1.1", oPort = 2020, oLatency = 0.1,  oSchedule = Live, oWindow = Nothing, oHandshake = False, oBusPort = Nothing}, [superdirtShape])]

I created an issue with some technical details here: https://github.com/tidalcycles/Tidal/issues/793

Sorry this took a while but thanks for reporting it!

That works! Thanks for sorting it so quickly.

1 Like

I think the problem i'm having might have something to do with this. i've tried pasting this into my Boottidal.hs file but still no difference.

The only thing that worked was reverting to the old version of Tidal but kinda defeats the point. :frowning_face:

You'd only hit this particular problem if you're running superdirt on a different computer to the one running tidal.

hello! i'm having a bit of trouble with the 1.7.2 install on macOS Catalina. i am currently running Tidal 1.6.1.

the terminal commands

cabal v1-update
cabal v1-install tidal

do not work for me so i used the normal method

cabal update
cabal install tidal

which appeared to successfully install 1.7.2.

when i run tidal_version in Atom i get "tidal 1.6.1"

@yaxu mentions in the main release post that Under linux/mac os can do this by removing the ~/.ghc and ~/.cabal folders.

i would like to do this but don't know the exact commands to type in terminal. can someone help?

ghc-pkg unregister tidal-1.6.1 doesn't do anything (error is: ghc-pkg: cannot find package tidal-1.6.1).

1 Like