Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mininotation ranges #715

Closed
yaxu opened this issue Oct 1, 2023 · 1 comment
Closed

Mininotation ranges #715

yaxu opened this issue Oct 1, 2023 · 1 comment

Comments

@yaxu
Copy link
Member

yaxu commented Oct 1, 2023

Tidal has [0 .. 3] as shorthand for 0 1 2 3. [0, 0.5 .. 2] might also be nice for 0 0.5 1 1.5 2 but tricky when , is already taken.
In tidal it has to be in its own subsequence, "0 .. 3" and "[0 .. 3] 4" are ok, "0 .. 3 4" and "[0 .. 3 4]" are syntax errors. <0 .. 4> works but (surprisingly) is the same as [0 .. 4]. These edge cases are probably bugs to fix though.

In tidal it works with notes too, e.g. "a .. e", and going backwards "10 .. 2"

Unfortunately javascript doesn't have a built-in range operator or type inference which makes some of this a bit hard to implement.

Contributes to #30

@yaxu
Copy link
Member Author

yaxu commented Oct 1, 2023

Note that "<0 .. 3>" still is the same as [0 .. 3] (well, <[0 .. 3]> in particular). The parser would probably need some work to fix that

yaxu added a commit that referenced this issue Nov 17, 2023
* checkbox + number slider

* match number.slider

* Add pink, white and brown oscillators

* Add noise parameter for base oscillators

* Fix noise parameter and FM parameters compatibility

* Cap noise amount to 1

* Add documentation about noise sources

* match slider as function

* use loc as slider id

* add slider function to scope

* Replacing old reverb by better convolution

* make sliders work!

* fix some odd number / string problems

* fix: import

* wip: use sample as an impulse response for the reverb

* Document reverb controls

* bugfixes for parameter passing

* improve mouse tracking

* use sample as an impulse response for the reverb

* cleanup

* simplify: use native events

* add back some margin

* use raw css instead of tailwind

* add extra sliderWithID function
+ add warning to slider function

* remove checkbox

* remove comment

* fix: comment

* fix: import

* hotfix: add missing dependency

* support mininotation '..' range operator, fixes #715 (#716)

* support mininotation .. range operator, fixes #715

* remove logs

* Connecting all parameters to convolution generator

* Connecting new reverb documentation

* codeformat

* fix: reverbs[orbit] is undefined

* eslint ignore reverbGen + snapshot

* Prepare to merge with PR #718

* feat: add step as slider param

* more logical naming + update docs

* snapshot

* codeformat

* add noise heading + hihat example

* refactor synth
- separate waveform / noise oscillators
- pull noise out of getOscillator
- put fm into getOscillator
- simplify overall value plumbing

* proper dry wet + pull out noise to extra file

* fix: imports

* cache noise

* rename zzfx noise to znoise

* snapshot

* fix: slider crash on some platforms

* update internal reverb param names

* simplify createReverb

* consistent naming + simplify

* remove unused reverb method

* Integrate with the new impulse generation functionality

* fix: reverbGen.mjs

* fix: formatting

* fix: reverb regenerate loophole

* consume n with scale

* snapshot

* fix: conflicts

* fix: conflicts

* add compressor + postgain

* fix: hashes in urls

* compressor docs

* format

* snapshot

* fix: roomsize not required

* fix: reverb sampleRate

* bump superdough to 0.9.10

* fix: pitched sample as ir

* vite-vanilla-repl readme fix

* Add shabda shortcut (#406)

* Update samples/shabda documentation

* Prettier doc file

* fixed

* document function

* fixed example test failure

* add recipes

* add understand cycles

* move stuff around

* fix: loud example

* format

* Add test snapshots for shabda shortcut

* fix: trailing slash confusion

* fix: trailing slash confusion

* fix: try different trailing slash behavior

* completely revert config mess

* Fix krill build command in README

* Support international alphabets in mininotation

* Add a human-readable error message for invalid char in step

* Revert error message length limitation

* use new vite-pwa-astro version from file

* basic hydra integration

* add play function

* also return pat

* add docs + fix hydra for mini repl

* add H function to plug patterns into Hydra

* document H function

* ignore hydra.mjs in linter

* add px in zen mode to fix logo overlap

* fix: flip scope in y direction

* fix: additive synthesis

* fix: scale offset

* Document striate function

* Document adsr function

* replace strudel.tidalcycles.org with strudel.cc

* functions

* move to signal file with other choose functions

* use 0.1.4 @vite-pwa/astro

* use new flag

* snapshots

* add doc chapters

* integrated vscode bindings

* Fix chunk, add fastChunk and repeatCycles (#712)

* Match behaviour of chunk with tidal, add fastChunk for old strudel behaviour. Also adds repeatCycles. fixes #689

* documentation

* (hopefully) fixed broken lock file

* Update CONTRIBUTING.md

fix prettier instructions

* fixed style issues

* fix: share copy to clipboard + alert

* rename bindings key

* remove obsolete config

* update to astro 3

* no double !

* initial commit

* add xfade + docs

* snapshot

* fix: namespace mini-repl styles

* Implement optional hover tooltip with function documentation

* Add pianoroll function documentation

* Add label function documentation

* Add color function documentation

* Fix pianoroll documentation

* Add function params in reference tab

* Update pianoroll documentation

* tweaking to make it sound good

* fix: scope pos

* document scope functions

* snapshot

* samples loading shortcuts:
- use main branch by default in github shortcut
- add bubo shortcut

* don't use anchor links for reference

* change to bus effect experiment

* Update first-sounds.mdx

in eine sogenannte Funktion -> in einer sogenannten Funktion

* Update first-effects.mdx

grammatical amendments

* Update pattern-effects.mdx

grammatical amendments

* Update recap.mdx

Adds a few missing translations

* FIXES: table

* cleaning up

* cleaning up

* cleaning up

* turn off of depth is 0

* update doc

* create free running lfos for different orbits

* add more parameters

* fixed doc

* snapshots

* phaser shortcuts

* doc: phaser synonyms

* add params to superdough readme

* add to doc page

* dedupe / move supertdirt phaser controls

* format

* simplify

* refactor: move vibrato up + cleanup oscillator

* fix: sampler broke without vibrato

* support multiple named serial connections, change default baudrate to 115200 (#551)

* Document wordfall

* Document slider

* Document euclidLegatoRot

* Add snapshot for euclidLegatoRot

* remove unwanted cm6 outline for strudelTheme

* move fix to Repl.css

* fix codeformat

* add option to disable active line highlighting in Code Settings

* fix typo

* remove pseudo note variables

* p and q methods + all function

* + add hush
+ add the ability to evaluate without clearing

* fix tests

* add q1 .. q9 shortcuts

* add p1 .. p9 shortcuts as well

* bump superdough

* Mark optional slider params

---------

Co-authored-by: Felix Roos <flix91@gmail.com>
Co-authored-by: Raphael Forment <raphael.forment@gmail.com>
Co-authored-by: Vasilii Milovidov <vasily.milovidov@gmail.com>
Co-authored-by: Alexandre G.-Raymond <alex@ndre.gr>
Co-authored-by: Jade Rowland <jaderowlanddev@gmail.com>
Co-authored-by: Dsm0 <willrinkoff@gmail.com>
Co-authored-by: Will <45471522+Dsm0@users.noreply.github.com>
Co-authored-by: Bernhard Wagner <git.luolix.topNotification20120125@xmlizer.net>
Co-authored-by: Bernhard Wagner <gitcommit@nosuch.biz>
Co-authored-by: Kaspars <kasparsj@gmail.com>
Co-authored-by: Alexandre Gravel-Raymond <agravelraymond@deezer.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant