Open sfradkin opened 7 years ago
the checkboxes mark, needs docs for website?
in any case, regarding your question at the end:
grp
yes,
although this is one of the only functions usin raw params not synth function cutoff_p
not cutoff
make'
no
actually, since this is the general version of pF
, pI
and pS
for producing params/synths. I'd document only the latter three, since currently we only have Float
/Int
/String
as Value
types (and make'
would force us to explain what Value
is, which would be something that should not directly be explain for using tidal as a DSL)
In the past I've usually ignored functions that don't return Patterns/ParamPatterns - these are almost always "internal" things like arcCycles
that I can't imagine ever using live (though maybe I just don't have enough imagination).
There are boatloads of params related to MIDI stuff, but some of them also apply to SuperDirt and I've haphazardly repurposed a few more for particular synths. There's some docs of this within the SuperDirt source itself but it'd be good to make a web page summary.
As I look through I'm actually surprised to note that I think most of the stuff is documented somewhere on the website, but I could be misremembering things...
@lennart: Yes, let's check the functions that we need documentation for, then after we go through this list, we can close this issue and add the function names to @bgold-cosmos's existing issue for new documentation for 0.9. We just need some way to make it clear what functions should have documentation on the website vs just in code, and then a way to keep track of whether or not that documentation has actually been written.
This is a rough list of all of the various functions found in the TidalCycles source in the 0.9 branch. More changes were added after this list was generated.
This includes some notes about functions if I could figure out what they did.
It's a combination of functions that are part of the everyday DSL and also internal functions that wouldn't normally be used. We need to decide what should be documented on the website and what does not need to be documented on the website.
[ ] add in somewhere that ‘.’ is now an alias for ‘[]’ for grouping
[ ] show -> displays text representing event values in first cycle of pattern
[ ] showTime -> converts a ratio into a readable string
[ ] showArc -> converts a time arc into a readable string
[ ] showEvent -> converts an event into readable string
[ ] pure -> pure a -> returns a pattern with one event of value “a” with a duration of one cycle and repeats each cycle
[ ] mempty -> synonym for silence
[ ] mappend -> synonym for overlay
[ ] return -> synonym for pure
[ ] unwrap -> (need a definition)
[ ] atom -> synonym for pure
[ ] silence -> returns an empty pattern
[ ] withQueryArc -> applies a function to the arc values passed to the original pattern
[ ] withQueryTime -> applies a function to the start and end time of the arc passed to the original pattern
[ ] withResultArc -> applies a function to the arc values in the events returned from the original pattern
[ ] withResultTime -> applies a function to the start and end times of the arc values in the events from the original pattern
[ ] overlay -> combines two patterns, events are combined over time, same as operator ‘<>’
[ ] splitAtSam -> ?
[ ] listToPat -> turns a list of values into a Pattern
[ ] maybeListToPat -> same as listToPat, but allows optional values so that Nothing results in gaps in the pattern
[ ] scan -> creates a pattern with successive runs
[ ] densityGap -> similar to density, but maintains cyclic alignment so that the events are squashed into the beginning of the cycle
[ ] whenT -> ?
[ ] playWhen -> ?
[ ] playFor -> ?
[ ] sig -> ?
[ ] sinewave/sine -> pattern of continuous Double values from -1 to 1
[ ] sinerat/ratsine -> same as sine wave, but returns Rational values
[ ] sinewave1/sine1 -> same as sinewave but returns values from 0 to 1
[ ] sinerat1 -> save as sinewave1 but with Rational values
[ ] sineAmp1 -> returns values from sinewave1 but with an added offset
[ ] sawwave/saw -> same as sinewave, but a saw pattern
[ ] sawrat -> same as sawwave, but returns Rational values
[ ] sawwave1/saw1 -> same as sawwave but values from 0 to 1
[ ] sawrat1 -> same as sawwave1 but Rational values
[ ] triwave/tri -> same as sine wave, but a triangular wave pattern
[ ] trirat -> same as triwave but Rational values
[ ] triwave1/tri1 -> same as triwave but values from 0 to 1
[ ] trirat1 -> same as triwave1 but Rational values
[ ] squarewave/square -> same as sine wave but with a square wave pattern
[ ] squarewave1/square1 -> same as square wave but values from 0 to 1
[ ] envL -> returns a pattern that is a linear interpolation between 0 and 1 for one cycle, then stays at 1
[ ] envLR -> reverse of envL
[ ] envEq -> “equal power” pattern
[ ] envEqR -> envEq in reverse
[ ] transition? fadeOut -> fades out a pattern
[ ] transition? fadeOut’ -> fades out a pattern providing a time from which the fade starts
[ ] transition? fadeIn -> opposite of fadeOut
[ ] transition? fadeIn’ -> fades in over a period of cycles
[ ] filterValues -> ?
[ ] filterOnsets -> filters out events that have had their onsets cut off ??
[ ] filterStartInRange -> filters out events that have onsets within a given range ??
[ ] filterOnsetsInRange -> combination of filterOnsets and filterStartInRange ???
[ ] seqToRelOnsetDeltas -> samples some events from a pattern returning a list of onsets relative to the given arc, durations, and values ???
[ ] segment -> ?
[ ] segment’ -> ?
[ ] split -> ?
[ ] points -> ?
[ ] groupByTime -> ?
[ ] timeToRand -> ?
[ ] unDegradeBy -> opposite of degradeBy?
[ ] somecyclesBy -> cycle by cycle version of sometimesBy
[ ] somecycles -> synonym for: somecyclesBy 0.5
[ ] splitQueries -> ensures that queries don’t span arcs
[ ] compress -> ??
[ ] sliceArc -> ??
[ ] revArc -> ??
[ ] e -> bjorklund patterns
[ ] e’ -> ??
[ ] index -> ??
[ ] prrw -> ??
[ ] prr -> ??
[ ] preplace/prep -> need a good definition
[ ] preplace1 -> ??
[ ] preplaceWith/prw -> ??
[ ] preplaceWith1/prw1 -> ??
[ ] <~> -> operator ??
[ ] protate/prot -> rotates a pattern N beats to the left over M cycles
[ ] prot1 -> protate 1
[ ] <<~ -> operator rotates a pattern to the left by one retaining timing, so rests are retained
[ ] ~>> -> operator rotates to the right
[ ] discretize -> samples a pattern at the rate of N events per cycle.. turn a continuous pattern into a discrete pattern
[ ] permstep -> ??
[ ] struct -> ??
[ ] substruct -> ??
[ ] parseLMRule -> ??
[ ] parseLMRule’ -> ??
[ ] lindenmayer -> ??
[ ] unwrap’ -> ??
[ ] enclosingArc -> ??
[ ] stretch -> ??
[ ] runWith -> ??
[ ] runWith’ -> ??
[ ] inside -> ??
[ ] outside -> ??
[ ] loopFirst -> ??
[ ] timeLoop -> ??
[ ] seqPLoop -> ??
[ ] toScale’ -> takes a list of notes within a scale and turns them into note numbers
[ ] toScale -> scale of 12 notes per octave
[ ] swingBy -> divides a cycle into N slices and delays the notes in the second half of the slice by M fraction of a slice
[ ] swing -> swingBy (1%3)
[ ] stutter -> stutters a pattern
[ ] echo -> stutter 2
[ ] triple -> stutter 3
[ ] quad -> stutter 4
[ ] double -> echo
[ ] juxcut -> ??
[ ] samples -> ?? but is this really in use anymore?
[ ] samples’ -> ??
[ ] spread -> ??
[ ] sawwave4 -> multiplies sawwave1 by 4
[ ] sinewave4 -> multiples sinewave1 by 4
[ ] rand4 -> multiplies rand by 4
[ ] stackwith -> ?
[ ] chopArc -> ?
[ ] en -> ?
[ ] step -> ? (step sequencing??)
[ ] steps -> ??
[ ] step’ -> ??
[ ] off -> superimposes a time offset
[ ] offadd -> superimposes a time offset and adds to the pattern
[ ] ghost’ -> general ghost/echo sounding thing
[ ] ghost -> defaults an eighth second ghosting
[ ] ghost’’ -> extra ghosting
[ ] slice -> ??
[ ] randslice -> ??
[ ] loopAt -> makes a sample fit a given number of cycles
[ ] operators -> pending PR from bgold for an operator page
[ ] time functions
[ ] sam
[ ] nextSam
[ ] cyclePos
[ ] isIn
[ ] arcCycles
[ ] arcCycles’
[ ] subArc
[ ] mapArc
[ ] mapCycle
[ ] mirrorArc
[ ] eventStart
[ ] eventOnset
[ ] eventOffset
[ ] eventArc
[ ] midPoint
[ ] hasOnset
[ ] hasOffset
[ ] onsetIn
[ ] offsetIn
[ ] new ->
[ ] shuffle
[ ] scramble
[ ] cycleChoose
[ ] pick
[ ] metronome
compositions
conditional transformers
pattern transformers
sample transformers
synth params
tremolorate and tremolodepth
transitions
utility