tidalcycles / tidal-doc Goto Github PK
View Code? Open in Web Editor NEWHome Page: https://tidalcycles.org
License: GNU General Public License v3.0
Home Page: https://tidalcycles.org
License: GNU General Public License v3.0
http://tidalcycles.org/docs/reference/harmony_melody#chords mentions chordList
but that only gives chords' names. To find out the meaning, chordTable
is useful, and could be mentioned
tidal> [("major",[0,4,7]),("maj",[0,4,7]),("aug",[0,4,8]),("plus",[0,4,8]),("sharp5",[0,4,8]),("six",[0,4,7,9]),("6",[0,4,7,9]),("sixNine",[0,4,7,9,14]),("six9",[0,4,7,9,14]) ...
E.g., I was wondering about the name for [0,4,7,10]
. Lilypond (and real book, etc.) would write c:7
but here it's c'dom7
.
cf. scales, and scaleTable
The Windows Choclately install instructions includes this command as the second instruction https://tidalcycles.org/docs/getting-started/windows_install
Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))```
Pasting this command in powershell produces the following error:
Invoke-Expression : A positional parameter cannot be found that accepts argument '``'. At line:1 char:52
+ ... ess -Force; iex ((New-Object System.Net.WebClient).DownloadString('ht ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [Invoke-Expression], ParameterBindingException
+ FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell.Commands.InvokeExpressionCommand
It appears that the extra ``` at the end is causing the issue.
In the source code for that page that code should appear as
> ```shell
> Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))```
It appears that the first ```shell part of the command is being omitted
There is a main blog section that is nearly empty (only a post by @Bubobubobubobubo).
Should we remove the whole section?
I relatively frequently finding myself attempting to provide a non-OS specific link to the tidalcycles installation instructions, it's not possible (afaik) to do so , because there is no summary page to link to.
It would be nice to turn the top-level menu reference into a page with sub pages, rather than just have it as a menu item only
some examples and explanation are in
I will collect some more snippets (here) and then propose a wording.
At what location should it go? Probably http://tidalcycles.org/docs/reference/controls - that's the place for explaining the general mechanism (not synthesizers or audio effects)
was looking for delay
doc today, did not find it on the page I expected ;)
I haven't got time at the moment to resolve, so putting it here as a reminder :)
See: tidalcycles/Tidal#945 (comment)
A PR on the linux install page from an Arch person would be welcome!
the start tidal
page should be updated with details on this feature on atom plugin, I took a look but seems that the structure of the page should change to be as clear as possible.
reference: tidalcycles/pulsar-tidalcycles#159
documentation about: https://github.com/tidalcycles/atom-tidalcycles#superdirt
If I understand correctly - the cabal v2-install tidal
command will not work, and requires v1
.
The instructions do say to use v1-install
, but since v1-update cabal
seems to be obsoleted, it can be easy to assume v2
is the correct command by thinking :
install
as I did for update
"v2-install
".In the installation documentation:
update-v1
command to update
v1-install
, so users don't think the documentation is merely out of date.Note: I'm new to this entire stack, so if my assumptions are wrong please correct me :)
While following the windows install guide, after following all instructions, I got an error in atom Could not find module
Sound.Tidal.Context'`.
Googling I found this tidal-chocolatey issue.
Tried cabal install Cabal
(don't really understand it, but was proposed in that thread).
After that didn't work I tried cabal install-v1 tidal
which solved my issue :)
In retrospect, I tried running cabal v1-update
as the guide suggested, but the command was not found (obsoleted?)
So I ran cabal v2-update
, and after that cabal v2-install
I assume the issue is that cabal v2-update
is not supported?
postcss-import: postcss.plugin was deprecated. Migration guide:
https://evilmartians.com/chronicles/postcss-8-plugin-migration
tailwindcss: postcss.plugin was deprecated. Migration guide:
https://evilmartians.com/chronicles/postcss-8-plugin-migration
postcss-nested: postcss.plugin was deprecated. Migration guide:
https://evilmartians.com/chronicles/postcss-8-plugin-migration
I'm not sure if this should be logged as a bug here, or in tidal itself - whatever the case, this is non-functional:
https://tidalcycles.org/docs/reference/audio_effects/#midi
On the community section, the rocket chat link is broken.
Is there really a rocket chat active? Or should we simply remove this?
tidalcycles/Tidal#1007 makes the boot file much cleaner. It would be neat to have it reflected in the documentation.
There are a bunch of operators from Sound.Tidal.Core
that AFAIK are missing in the docs:
Pattern algebra:
||+, |++| and family, ||/, ||*, ||-, ||%, |**| and family
Manipulating time:
<~, ~>
Let's make a list of pages that could be added to the documentation:
Let's make a list of undocumented functions to work
This is an idea I'd be interested in fully designing once I feel I have a more conclusive mastery of tidal, and it seems somewhat explanatory? all the essentials organized (perhaps by ⇢ Patterns | Samples | Effects | SuperDirt | Mini-Notation) on a single-page PDF one can glance at while they're plonking along. Thoughts, esp on the categories I just laid out?
It's been months now that the search engine keeps giving the same results. With a lot of recent changes to the documentation structure, this leads to a lot of "Page not found errors".
Seems related to:
https://stackoverflow.com/questions/72838375/algolia-docsearch-in-docusaurus-doesnt-bring-any-results
facebook/docusaurus#6693 (comment)
facebook/docusaurus#7647
the table in https://tidalcycles.org/docs/reference/mini_notation
does not give an equivalent source-level function for "random choice" ([ .. | .. ]
).
The implementation uses chooseBy
https://github.com/tidalcycles/Tidal/blob/main/src/Sound/Tidal/ParseBP.hs#L120 , so it could be mentioned in the table. Cf. "randomly remove (?
)" and `degradeBy.
I can make a PR, but want to ask for comments first. Perhaps it was a deliberate omission?
Emacs install at least should be restructured so common settings are spelled out only once.
Related: #245
Would it be possible to have a page for each function? This approach is used for languages such as Processing https://processing.org/reference which has the benefit of having a single url where information about a function can be.
I wanted to note, within your downloading Pulsar section of docs you note how to use the Frontend Download Endpoint, which awesome to see that being used by more than just us!
But I wanted to add, if you wanted to you could add a link to the Pulsar Cirrus CI Binaries Downloads Section which now uses direct links to our most recent binary. That one is actually using the same download endpoint. So could replace that section of docs to make your users lives easier, otherwise of course it's still accurate just lets users avoid having to use the download link table themselves.
I'd love to have a (static) index for all of the documentation, and an easy way to mark words to be indexed - as you'd get with indexentry
/makeindex
from a LaTeX document, or haddock https://hackage.haskell.org/package/tidal-1.7.8/docs/doc-index.html
Does the doc framework provide this? I don't see it. That's by design? algolia benefits from bad local navigation because they want the search traffic.
Now that Link has been integrated into Tidal and will be releaseed in 1.9 ( tidalcycles/Tidal#660 ) the usage instructions for using Link should be updated to reflect the new changes e.g no longer requiring Carabiner https://tidalcycles.org/docs/configuration/multiuser-tidal/#link-protocol-synchronization
Steps to reproduce:
A page with the title:
Search results for "{query}"
and the message
No results were found
appears.
The url of that page is https://doc.tidalcycles.org/search?q=superimpose
Assuming that a user has installed TidalCycles and its dependencies using the automated installs I think it would be very useful to have thorough instructions on how to completely uninstall Tidal and its dependencies, essentially reverting a system back to a "pre-tidal" state.
trying to clone tidal-doc to have an offline copy for an extended period without internet access, encountering this error:
Cloning into 'tidal-doc'...
remote: Enumerating objects: 133659, done.
remote: Counting objects: 100% (34958/34958), done.
remote: Compressing objects: 100% (3417/3417), done.
remote: Total 133659 (delta 26344), reused 33828 (delta 25335), pack-reused 98701
Receiving objects: 100% (133659/133659), 122.67 MiB | 5.35 MiB/s, done.
Resolving deltas: 100% (67329/67329), done.
error: invalid path 'wiki-export-alternate/Translations_What_is_a_pattern?_10_en.md'
fatal: unable to checkout working tree
warning: Clone succeeded, but checkout failed.
You can inspect what was checked out with 'git status'
and retry with 'git restore --source=HEAD :/'
question marks are illegal in windows file paths, somehow they show up in the wiki export files though.
a workaround is to download as .zip and extract, which is fine for my use case (as an offline reference) but i suppose this will prevent windows users from participating via pull requests etc
"In mininotation, % denotes a ratio (/ manipulates time)" https://club.tidalcycles.org/t/fractions-variables-etc-in-mininotation/3419/2
% only appears in the mininotation page when dealing with polymetric sequences. It should be added as a symbol in its own.
NRPN is a standard for sending data via MIDI (cf. http://www.philrees.co.uk/nrpnq.htm) and it's needed for accessing some paramters of some gear (e.g., Novation Circuit).
Superdirt/Tidal can handle this (musikinformatik/SuperDirt#154 , https://github.com/tidalcycles/tidal-doc/blob/48242269ee002530d7a7d79eef770b367711b163/docs/patternlib/tutorials/course2.mdx#lesson-3-controlling-midi-devices )
So it should be mentioned here: http://tidalcycles.org/docs/configuration/MIDIOSC/midi/
Is this (from musikinformatik/SuperDirt#154 (comment)) officially working?
nrpn "44*16" # val sine # s "midi"
these names do exist:
tidal> nrpn :: Pattern String -> ControlPattern
-- Defined in ‘Sound.Tidal.Params’
tidal> val :: Pattern Double -> ControlPattern
-- Defined in ‘Sound.Tidal.Params’
Why is the first arg of nrpn
of type string? - I think: because of grouping, vis.
108 nrpn :: Pattern String -> ControlPattern
109 nrpn = grp [mI "nrpn", mI "val"]
110
111 nrpnn :: Pattern Int -> ControlPattern
112 nrpnn = pI "nrpn"
113
114 nrpnv :: Pattern Int -> ControlPattern
115 nrpnv = pI "val"
34 -- | group multiple params into one
35 grp :: [String -> ValueMap] -> Pattern String -> ControlPattern
36 grp [] _ = empty
37 grp fs p = splitby <$> p
38 where splitby name = Map.unions $ map (\(v, f) -> f v) $ zip (split name) fs
39 split :: String -> [String]
40 split = wordsBy (==':')
Reported by @ijc8
I wonder if there's a good way to make BootTidal.hs the source of truth for the version embedded in the docs. It's already linked on the page, but the embedded snippet gets out-of-sync with the file it's referencing.
Client-side (runtime) options:
Use JS and fetch().
Use an <iframe>.
Both options ensure that BootTidal will appear up-to-date, but complicate syntax highlighting and make the docs less self-contained.Server-side (build time) options:
Do something custom to fetch BootTidal.hs at build time and inject it into boottidal.md.
Use snipsync, which has docusaurus integration.
Or perhaps these are all overkill and the occasional PR works well enough.
I noticed some of the type definitions described in "What is a pattern?" don't match up with the source code anymore. I'm not familiar with Haskell but it seems types changed significantly around tidalcycles/Tidal@44adf93.
http://tidalcycles.org/docs/configuration/MIDIOSC/midi
could include some info from this thread:
https://club.tidalcycles.org/t/sending-midi-program-change/1769/20
e.g., I did not know that amp
sets velocity.
When running the "Pop-up Window" example code here https://tidalcycles.org/docs/reference/cycles, for me all that happens is these warnings spam the post window and only the clockText shows up as the GUI.
ERROR: Non Boolean in test.
RECEIVER:
nil
PROTECTED CALL STACK:
Meta_MethodError:new 0x55e81db3a640
arg this = MustBeBooleanError
arg what = nil
arg receiver = nil
Object:mustBeBoolean 0x55e81d5dd9c0
arg this = nil
DirtSoundLibrary:getEvent 0x55e81e5cefc0
arg this = a DirtSoundLibrary
arg name = tick
arg index = none
var allEvents = nil
var event = ( 'instrument': tick, 'hash': 1325211871 )
DirtEvent:mergeSoundEvent 0x55e81daef800
arg this = a DirtEvent
var soundEvent = nil
a FunctionDef 0x55e81daeed00
sourceCode = ""
a FunctionDef 0x55e81e9e5000
sourceCode = ""
Function:prTry 0x55e81ddc5440
arg this = a Function
var result = nil
var thread = a Thread
var next = nil
var wasInProtectedFunc = false
CALL STACK:
MethodError:reportError
arg this =
Nil:handleError
arg this = nil
arg error =
Thread:handleError
arg this =
arg error =
Object:throw
arg this =
Function:protect
arg this =
arg handler =
var result =
Environment:use
arg this =
arg function =
var result = nil
var saveEnvir =
DirtEvent:play
arg this =
OSCFuncRecvPortMessageMatcher:value
arg this =
arg msg = [*9]
arg time = 2174.32897954
arg addr =
arg testRecvPort = 57120
OSCMessageDispatcher:value
arg this =
arg msg = [*9]
arg time = 2174.32897954
arg addr =
arg recvPort = 57120
Main:recvOSCmessage
arg this =
arg time = 2174.32897954
arg replyAddr =
arg recvPort = 57120
arg msg = [*9]
^^ The preceding error dump is for ERROR: Non Boolean in test.
RECEIVER: nil
A beginners guide to customization with Haskell.
Explanations + demo code samples:
Nice to have: explanation of why adding this type of code is helpful - what does it open up musically
Some pages are currently duplicated: most of the "patternlib" section is duplicated to make the "reference" section. When you update one of these files, changes will not be reported to the other copy.
As a temporary fix, it is important, every once in while, to copy and replace the "patternlib" files with the more complete version in "reference".
Ratio shorthands like w, h, q, e...
are not documented yet
pulu and mindofmatthew from the Discord chat have been complaining about an issue worth investigating. Apparently, if you keep the website open for long enough, it will gradually start to get really slow.
They are both using Firefox, pulu using macOS 10.14.
Remove references to ko-fi.com/yaxulive and replace with link to https://opencollective.com/tidalcycles . Consider adding this to the front page and site page footer.
I was about to add the variable bind operator to the mini_notation.md
, but I noticed that there are 2 of them, pratically the same, one in the reference
folder and one in the patternlib/tutorials
. My advice is to keep just one of them (which?)
https://club.tidalcycles.org/t/week-1-lesson-5-mini-notation-part-3/449/23
Also would be great to have links to the forum throughout, as there's a lot of additional info there.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.