Tidal
Tidal copied to clipboard
Add missing SuperDirt parameters
fadeTime is missing https://github.com/tidalcycles/Tidal/issues/618
While we're about it, lets check to see if others are missing
here is a list for you, not complete, but there may some be missing. Feel free to tick!
here is the file to check: https://github.com/tidalcycles/Tidal/blob/main/src/Sound/Tidal/Params.hs
-
[x] cps = 1.0
-
[ ] offset = 0.0
-
[x] begin = 0.0
-
[x] end = 1.0
-
[x] speed = 1.0
-
[x] accelerate
-
[x] pan = 0.5
-
[x] gain = 1.0
-
[x] overgain = 0.0
-
[x] cut = 0.0
-
[x] unit = \r
-
[x] n = \none // sample number or note
-
[x] octave = 5
-
[x] note
-
[x] midinote = #{ note ? n + ( octave * 12) }
-
[x] freq = #{ midinote.value.midicps }
-
[x] delta = 1.0
-
[ ] latency = 0.0
-
[ ] lag = 0.0
-
[x] offset
-
[ ] length = 1.0
-
[x] loop = 1.0
-
[x] dry = 0.0
-
[x] lock = 0 // if set to 1, syncs delay times with cps
-
[x] amp = 0.4
-
[x] fadeTime = 0.001
-
[x] fadeInTime
-
[x] channel
-
[x] delaytime
-
[x] delayfeedback
-
[ ] delaySend
-
[ ] delayAmp
-
[x] lock
-
[x] size
-
[x] room
-
[x] dry
-
[x] leslie
-
[x] lrate
-
[x] lsize
-
[ ] rmsReplyRate
-
[ ] rmsPeakLag
-
[ ] plat
-
[ ] tilt
-
[ ] curve
-
[ ] through
-
[ ] psratio
-
[x] to
deltaisn't there but is calculated and sent automatically, so I tickedlatencyisn't there - what does it do? There is already anudgethat I think isn't sent but tidal adds to the timestamp. Wouldlatencyjust do the same but on the superdirt side? Then maybe we don't need bothoffsetagain seems a bit like a synonym forlatencyandnudge. It is inparamsanyway but I'm not sure what it doeslagis there but is an alias forlagogo. I have no idea what a lagogo is, maybe left over from tidal-midi. I can remove that alias anyway. But again, what doeslagdo?- The
delayfamily - would be convenient to have a group alias with a param for each - Same for the
lesliefamily
The unticked ones need adding. I don't know what most of them do though
You can delay by either lag (absolute, in seconds) or offset (relative to cps). I don't know off my head what nudge results in – there is none on the dirt side.
It would be good to have name families, yes. Like # leslie_rate instead of lrate? There could be still shortcuts on the tidal side, but it would be good to make the superdirt side more verbose and less crowded.
The convention could be <synthname><delimiter><parametername>. Maybe as delimiter using _
This will be a breaking change to those who use superdirt directly, but better soon than ending up in a mess.
I noticed we don't have a standard for case, e.g. delaySend vs delayfeedback. Perhaps we could make it case insensitive?
Doing this in supercollider costs electricity for all the rest, could it be done in tidal?
Yes potentially, but then there are people using superdirt directly. Maybe best to standardise in superdirt, deprecating the old versions for a while.
This relates to your thought about leslie_rate vs lrate.. Which is more usual for supercollider, leslierate, leslie_rate or leslieRate?
I guess overgain is in a different category, because over isn't an effect that gain is a parameter of, so could stay lowercase (although gainOver might make sense then, but doesn't feel right..).
Maybe best to standardise in superdirt, deprecating the old versions for a while.
yes, that is good.
This relates to your thought about
leslie_ratevslrate.. Which is more usual for supercollider,leslierate,leslie_rateorleslieRate?
Camelcase, leslieRate would be most idiomatic, both in SuperCollider and HasKell, right?
Only if we'd decided to add the synth name before it for keeping the namespace in order, we could use underscore. Like lfo_maxFreq or similar …