Introducing CycSeq: a cycle sequencer for tidal

Thanks @yaxu & @mrreason,

BTW, CycSeq and Atom can work in parallel independently, i.e. SC generates synths from messages from both CycSeq and Atom. So, you can have 2 tracks d1 running in parallel.
I cannot see a goal to do that, but just a simple remark.

@mrreason, CycSeq works great, and I have several comments / questions:

  1. When I call localhost:8000 in my browser, I've got no Link (Link showed).
    I've tried sock <- carabiner tidal 4 (0) in the terminal in order to synchronize Tidal & CycSeq, but 1 Link is not showed in the upper left ?
    I've got 1 Link only when I evaluate l = LinkClock(1).latency_(Server.default.latency); in SC, which is intended for the synchronization with SC also.
    But, how to get 1 Link when I call localhost:8000 in the browser directly ?
    Shouldn't I see 2 Link in CycSeq when Tidal, CycSeq and SC are all synchronized ?

  2. What is the use for the box 4,8, right to 1/4 ?

  3. What is the use for the arrows, right to the slider ?

  4. When I load a custom json.file, the textbook at the right is not updated with the corresponding filename in my case.

  5. The figures for each parameter / box of the editor could be showed, at the left, above or below the play arrow of each box. It would be practical to know which box to trigger e.g. via SC or midi.
    If so, The figures should be obviously updated if you add or delete a box.

  6. Concerning OSC messages to Cycseq and MIDI support through SC, thanks a lot for that.
    By changing the parameter of the editor via SC, I've noticed several late messages in SC. I don't know why yet ?

  7. I find your sequencer of code great. But it would be my dream sequencer if it could be a little bit more modular in the same way as the session view in Ableton Live.
    There could be an option where each track (d1, d2...) could be in different tabs. And that's already possible by opening several tabs in the browser. But in that case, the different editors should be identified differently in OSC in order to control a different parameter for each editor, e.g.:
    ~cycseqOSC.sendMsg("/cycseq/editor1", 1);
    ~cycseqOSC.sendMsg("/cycseq/editor2", 2);
    If this OSC identification could be implemented, it would be great.

  8. There could be also a different kind of visualisation, showing different tabs in the same page, like the 1st image in this post:
    https://club.tidalcycles.org/t/live-workflow-and-mixing-eq-options/2026
    But, it requires in-depth reflection, a lot more work to develop and I am not sure it is better, practical...

Many Thanks for all,

Christophe