Skip to content
This repository was archived by the owner on Jun 19, 2025. It is now read-only.
This repository was archived by the owner on Jun 19, 2025. It is now read-only.

implement mainline tidal functions #31

@felixroos

Description

@felixroos

There are many functions from tidal that have not landed yet.

Basics

Needs longer term work/thought

  • naming patterns? block based evaluation? block based evaluation #34
  • once
  • panic
  • lindenmeyer
  • select, selectF, pickF (?) (need to decide on names)

Low priority or won't implement

  • wedge
  • flatpat
  • <> operator (overlay/stack)
  • steps
  • stripe, slowstripe
  • step / step'
  • spread / spreadf / fastspread

Concatenation

https://tidalcycles.org/docs/patternlib/tour/concatenation

  • cat: is synonym to fastcat in strudel, while in tidal, cat is slowcat
  • fastcat
  • timeCat: why is this camel case?
  • randcat
  • append: not implemented, as made redundant by cat append is redundant #89
  • fastAppend: ditto with fastcat
  • slowAppend: ditto with slowcat
  • brak

Accumulation

  • overlay => removed, as it's the same as stack see append is redundant #89
  • stack
  • superimpose
  • layer
  • iter
  • iter' = iterBack

Alteration

  • range, rangex
  • quantise
  • ply
  • stutter = echo
  • palindrome = every(2, rev)
  • trunc
  • linger
  • chunk, chunk'
  • shuffle
  • scramble
  • rot
  • spreadChoose / spreadr

conditions

  • every
  • every' - what's this?
  • whenmod - strange, but people do use it.. whenmod #618
  • sometimes, sometimesBy, someCycles, someCyclesBy
  • choose, chooseby, wchoose, wchooseby - wchooseBy named wchooseWith in strudel
  • struct
  • mask
  • sew - functionality covered by pickOut
  • stitch - functionality covered by pick
  • squeeze
  • euclid, euclidLegato
  • euclidInv, euclidFull
  • ifp - what's this?

Time

Harmony & Melody

Think these are just implemented differently in strudel?

  • scale
  • scaleList
  • getScale
  • toScale
  • chordList
  • arpeggiate
  • arp

Transitions

these need block-based eval

  • anticipate / anticipateIn
  • clutch / clutchIn
  • histpan
  • interpolate / interpolateIn
  • jump / jumpIn / jumpIn' / jumpMod
  • wait / waitT
  • wash / washIn
  • xfade / xfadeIn

Sampling

  • chop
  • striate
  • striateBy
  • loopAt
  • segment
  • discretise - old name for segment.. lets just stick with the new one
  • slice
  • splice
  • bite
  • chew

Randomness

  • rand / irand
  • perlin / perlinWith
  • perlin2 / perlin2With

Composition

  • ur
  • seqP
  • seqPLoop

Metadata

Metadata

Assignees

No one assigned

    Labels

    compatibilityMainline Tidal Compatibility

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions