Code Monkey home page Code Monkey logo

tidal-doc's People

Contributors

asmatzaile avatar bubobubobubobubo avatar cleary avatar crcdng avatar dowdiness avatar felixroos avatar geikha avatar ghalestrilo avatar highharmonics2 avatar ijc8 avatar jqueraltmo avatar lwlsn avatar mashaal avatar mindofmatthew avatar munshkr avatar ndr-brt avatar panmona avatar paulchannelstrip avatar polymorphicengine avatar razzeee avatar ribon3000 avatar rlafuente avatar sandpills avatar tado avatar thgrund avatar tiagohermano avatar trespaul avatar tylermclaughlin avatar yaxu avatar zalastax avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

tidal-doc's Issues

chords: mention chordTable

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

Choclately install command doesn't copy correctly

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

[Documentation] update/install commands

Issue

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 :

  • Either "I should use the same command version for install as I did for update"
  • Or "The instruction guide might be deprecated (it uses an obsolete command) - I should use v2-install".

Suggestion

In the installation documentation:

  1. changing the update-v1 command to update
  2. Adding a note emphasizing using v1-install, so users don't think the documentation is merely out of date.
  3. PR opened for Windows guide - possibly change in other places if relevant?

Note: I'm new to this entire stack, so if my assumptions are wrong please correct me :)

Background

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?

Test Build warning: postcss.plugin was deprecated

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

Rocket Chat link broken

On the community section, the rocket chat link is broken.

Is there really a rocket chat active? Or should we simply remove this?

Missing operators

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:

<~, ~>

Pages to be added

Let's make a list of pages that could be added to the documentation:

  • collaborative live coding etiquette (how to play with others)
  • preservation and archival of Tidal performances
  • style-oriented tutorials (how to play piano, how to make drum and bass, etc)
  • DAW integration tutorials
  • How to make a SuperDirt synth

List of undocumented functions

Let's make a list of undocumented functions to work

  • all: only placeholder.
  • chopArc
  • mergePlayRange
  • contrastRange
  • cut
  • distrib
  • enclosingArc
  • fadeIn
  • fadeInFrom
  • inhabit
  • index
  • jux4
  • juxcut
  • juxcut'
  • offadd
  • once: only placeholder
  • permstep
  • randArcs
  • revArc
  • samples
  • samples'
  • setCycle
  • spaceOut
  • substruct
  • substruct'
  • tabby
  • timeLoop

Single/low page "cheat sheet"

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?

mini notation reference table should mention chooseBy for random choice

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?

Pulsar Installation Docs

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.

Search does not return any results

When using the documentation search on tidalcycles.org, I am not seeing any results. This seems to be an issue with the algolia API - see developer console when searching.

image

P.S. thanks a bunch for all the hard work on the new documentation! It is all super clear and helpful.

Uninstall instructions

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.

repo cannot be cloned on windows due to files containing question marks

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

document how to send NRPN

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 (==':')


BootTidal.hs should automatically update/display the contents of the upstream BootTidal.hs contents

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.

Pop-up Window Example "ERROR: Non Boolean in test."

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

add page on using Haskell expressions

A beginners guide to customization with Haskell.
Explanations + demo code samples:

  • show how to set and reference variables
  • use of "do" and "let"
  • writing and using custom functions
  • how to reference Haskell data values - both fixed and constants

Nice to have: explanation of why adding this type of code is helpful - what does it open up musically

"Tour" and "Reference" will diverge

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".

Is the website getting slow?

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.

mini_notation page is duplicated

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?)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.