Thanks, I'll release 1.0.9 with that fix in now.
You can also use the standalone function `nudgeAll` to nudge all the
local patterns
If you can make an issue for the problem with cps that'd be great
cheers
On Sat, 16 Mar 2019 at 08:59, <konstantinos.vasilakos(a)gmail.com> wrote:
I can confirm it works. I can now change the tempo using setcps using two computers
connected via Ethernet and running ptpd.
I am not sure however why I can only change it from one which was assigned to get master
clock from the other that is strange but I will investigate further.
Some questions about the latency issue I can calibrate it using # nudge but does this
mean that it has to be recalibrated within every connection running? Seems like this atm.
Thanks for helping to fix this.
—
K
> On 16 Mar 2019, at 00:00, Alex McLean <alex(a)slab.org> wrote:
>
> Any successes with this?
>
>> On Fri, 15 Mar 2019 at 16:44, Alex McLean <alex(a)slab.org> wrote:
>>
>> Hi Konstantinos,
>>
>> Thanks for trying that.
>>
>> I managed to reproduce and fix the problem in tidal. If you could try this out
I'd appreciate it:
>> cabal install
https://hackage.haskell.org/package/tidal-1.0.9/candidate/tidal-1.0.9.tar.gz
>>
>> Under linux I run ptpd like this:
>>
>> sudo ptpd -m -C -i wlp2s0
>>
>> -m means 'masterslave', i.e. the master will be nominated automatically
>> -C means stay in foreground, handy so you can see log messages
>> -i wlp2s0 is for setting the interface, wlp2s0 is the name of my wifi network
interface in this case. Under linux I find it with the ifconfig command
>>
>> Don't bother setting TIDAL_TEMPO_IP, that is indeed ignored now.
>>
>> Please update the wiki page to improve the instructions if anything there is
unclear,
>>
>> cheers
>> alex
>>
>>> On Fri, 15 Mar 2019 at 10:06, <konstantinos.vasilakos(a)gmail.com>
wrote:
>>>
>>> I tried again with fixing all as noted unclothe bug workaround but no luck.
I have two questions, is this supposed to work without ptpd using native syncing clocks or
assumes ptpd necessary? If yes, must I expect a notification from ptpd in my terminal, for
example is there a msg that would state which one is master and slave as noted in the
paper of the ptpd? The other question is, even if I put the remote IP address in the
startTidal of the slave computer do I need to start atom with Tidal_Tempo_id “remote ip”
command or this is deprecated on Tidal currently?
>>>
>>>
>>>
>>> —
>>> K
>>>
>>>> On 14 Mar 2019, at 22:53, Alex McLean <alex(a)slab.org> wrote:
>>>>
>>>> Hi all,
>>>>
>>>> Konstantinos - you seem to be running startTidal twice, you only need
>>>> to run that once. Take out the first instance but make sure the
>>>> `oLatency` config value is the same on both computers. (You might
>>>> adjust this value later to account for one computer having lower audio
>>>> latency than the other)
>>>>
>>>> "Can't assign requested address" seems to be a mac os x
bug:
>>>>
https://askubuntu.com/questions/636409/error-cant-assign-requested-addres...
>>>>
>>>> Alp thanks for the clear details, it looks like you have tried the
>>>> troubleshooting I'd suggest. I'll try to reproduce it here, but
I
>>>> don't have access to macs, only linux.
>>>>
>>>> cheers
>>>>
>>>>> On Thu, 14 Mar 2019 at 14:56, alp tuğan <alptugan(a)gmail.com>
wrote:
>>>>>
>>>>> Hi Matt,
>>>>> Yes, the exception message is the same one at Konstantinos’s
message
>>>>>
>>>>> Alp TUĞAN
>>>>> personal:
alptugan.com
>>>>> music: rawlivecoding
>>>>> business:
filikatasarim.com
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> On 14 Mar 2019, at 13:45, Matt Spendlove
<matt.spendlove(a)gmail.com> wrote:
>>>>>
>>>>> Hey Alp
>>>>>
>>>>> I don't run a multi computer setup so not sure if I can be much
help but I'm curious, are you seeing the same exception messages as Konstantinos or
something else?
>>>>>
>>>>> Cheers
>>>>>
>>>>>> On Thu, 14 Mar 2019 at 11:12, alp tuğan
<alptugan(a)gmail.com> wrote:
>>>>>>
>>>>>> Hey there,
>>>>>>
>>>>>> Is there any duo/group/band performing with multi computers in
the community? We could play with two computers in sync before the TidalCycles v 1.0.0
update. Now, we get Exception messages whenever we try to run BootTidal.hs with the
following line on the slave computer as stated in the documentation;
>>>>>> tidal <- startTidal (superdirtTarget {oLatency = 0.02})
(defaultConfig {cFrameTimespan = 1/20, cTempoAddr = "192.168.0.10"})
>>>>>>
>>>>>> Our setup;
>>>>>> - 2 identical Macbook 13 inch
>>>>>> - OS is High Sierra
>>>>>> - Both computers have ethernet cable inputs
>>>>>> - Both computers have the latest Haskell release
>>>>>> - Both computers have the latest TidalCycles release
>>>>>> - Both computers have the latest SuperCollider release
>>>>>>
>>>>>> What we can do:
>>>>>> - Clock Sync via ptpd (source:
https://github.com/ptpd/ptpd)
>>>>>> Works smoothly on both Master and Slave computers which are
connected to a basic ADSL modem via network cables. Whenever I change the time/date on the
master computer, slave computer syncs to master computer’s time instantly. So, I can say
that no problem with clock sync.
>>>>>> - Local IP of the computers are static. We can ping them and
getting responses.
>>>>>> - We can connect through samba server to both computers and
access files
>>>>>>
>>>>>> What we tried to fix the problem;
>>>>>> - Run the same BootTidal.hs file on different code editors (VS
Code and Atom). But, no luck.
>>>>>> - Disable the static IPs
>>>>>> - Give access to port(9160) on both UDP/TCP of the ADSL modem.
No luck.
>>>>>> - Connect two computers with just a network cable without any
ADSL modem. No luck.
>>>>>> - Dig into source code to find any clues about the debug
messages. But no luck.
>>>>>>
>>>>>>
>>>>>> So, we are just stuck and hope to find a solution till our next
performance :)
>>>>>>
>>>>>>
>>>>>> Any comments/suggestions would be highly appreciated.
>>>>>>
>>>>>>
>>>>>>
>>>>>> Alp TUĞAN
>>>>>> personal:
alptugan.com
>>>>>> music: rawlivecoding
>>>>>> business:
filikatasarim.com
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> On 7 Mar 2019, at 18:12, selcuk artut
<selcukartut(a)gmail.com> wrote:
>>>>>>
>>>>>> hi all,
>>>>>> same on here. Although I have managed to run the ptpd and clock
sync two mac's, I am getting the same error. No luck with synchronization for two
computers.
>>>>>> Looking forward to deliver any comments
>>>>>>
>>>>>> Selcuk ARTUT
>>>>>>
>>>>>>
selcukartut.com
>>>>>>
facebook.com/selcuk.artut
>>>>>> Instagram: selcukartut
>>>>>>
>>>>>> music:
rawlivecoding.com //
replikas.com
>>>>>> arts:
zilbermangallery.com
>>>>>> academics:
sabanciuniv.academia.edu/SelcukArtut //
researchgate.net/profile/Selcuk_Artut
>>>>>> design :
filikatasarim.com
>>>>>>
>>>>>>
>>>>>>> On Tue, Mar 5, 2019 at 1:46 PM Konstantinos Vasilakos
<konstantinos.vasilakos(a)gmail.com> wrote:
>>>>>>>
>>>>>>> Hi all,
>>>>>>>
>>>>>>> Trying to set up two computers on the same network to sync
and change the setcps for both for example, so I am looking on this
https://tidalcycles.org/index.php/Multi-user_Tidal
>>>>>>>
>>>>>>> I changed the ip address and boot file accordingly to the
second computer but when I reboot tidal it says "Exception: Network.Socket.sendTo:
unsupported operation (Can't assign requested address)"
>>>>>>>
>>>>>>> We haven't yet tried with pdpt as I understood it can
also work with the native network clock, unless I have misunderstood something.
>>>>>>>
>>>>>>> Boot file on second computer looks like this (network set up
line is on the beginning):
>>>>>>>
>>>>>>> :set -XOverloadedStrings
>>>>>>> :set prompt ""
>>>>>>> :set prompt-cont ""
>>>>>>>
>>>>>>> import Sound.Tidal.Context
>>>>>>>
>>>>>>> -- total latency = oLatency + cFrameTimespan
>>>>>>> tidal <- startTidal (superdirtTarget {oLatency = 0.1,
oAddress = "127.0.0.1", oPort = 57120}) (defaultConfig {cFrameTimespan = 1/20})
>>>>>>> tidal <- startTidal (superdirtTarget {oLatency = 0.02})
(defaultConfig {cFrameTimespan = 1/20, cTempoAddr = "192.168.43.116"})
>>>>>>>
>>>>>>>
>>>>>>> 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> "
>>>>>>>
>>>>>>>
>>>>>>> Save our in-boxes!
http://emailcharter.org
>>>>>>> _______________________________________________
>>>>>>> TidalCycles mailing list -- tidal(a)we.lurk.org
>>>>>>> To unsubscribe send an email to tidal-leave(a)we.lurk.org
>>>>>>
>>>>>> _______________________________________________
>>>>>> TidalCycles mailing list -- tidal(a)we.lurk.org
>>>>>> To unsubscribe send an email to tidal-leave(a)we.lurk.org
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> TidalCycles mailing list -- tidal(a)we.lurk.org
>>>>>> To unsubscribe send an email to tidal-leave(a)we.lurk.org
>>>>>
>>>>> _______________________________________________
>>>>> TidalCycles mailing list -- tidal(a)we.lurk.org
>>>>> To unsubscribe send an email to tidal-leave(a)we.lurk.org
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> TidalCycles mailing list -- tidal(a)we.lurk.org
>>>>> To unsubscribe send an email to tidal-leave(a)we.lurk.org
>>>>
>>>>
>>>>
>>>> --
>>>> blog:
http://slab.org/
>>>> _______________________________________________
>>>> TidalCycles mailing list -- tidal(a)we.lurk.org
>>>> To unsubscribe send an email to tidal-leave(a)we.lurk.org
>>> _______________________________________________
>>> TidalCycles mailing list -- tidal(a)we.lurk.org
>>> To unsubscribe send an email to tidal-leave(a)we.lurk.org
>>
>>
>>
>> --
>> blog:
http://slab.org/
>>
>
>
> --
> blog:
http://slab.org/
> _______________________________________________
> TidalCycles mailing list -- tidal(a)we.lurk.org
> To unsubscribe send an email to tidal-leave(a)we.lurk.org
_______________________________________________
TidalCycles mailing list -- tidal(a)we.lurk.org
To unsubscribe send an email to tidal-leave(a)we.lurk.org