mirror of
https://github.com/eliasstepanik/strudel-docker.git
synced 2026-01-27 21:48:27 +00:00
metadata: improve doc
This commit is contained in:
parent
bd7f4dd73f
commit
96ac054392
@ -68,7 +68,7 @@ Try uncommenting this line by deleting `//` and refreshing the pattern.
|
|||||||
You can also use the keyboard shortcut `cmd-/` to toggle comments on and off.
|
You can also use the keyboard shortcut `cmd-/` to toggle comments on and off.
|
||||||
|
|
||||||
You might noticed that some comments in the REPL samples include some words starting with a "@", like `@title` or `@license`.
|
You might noticed that some comments in the REPL samples include some words starting with a "@", like `@title` or `@license`.
|
||||||
Those are just a convention to define some information about the music. We will talk about it in the _metadata_ section.
|
Those are just a convention to define some information about the music. We will talk about it in the [Music metadata](/learn/metadata) section.
|
||||||
|
|
||||||
# Strings
|
# Strings
|
||||||
|
|
||||||
|
|||||||
@ -8,24 +8,81 @@ import { JsDoc } from '../../docs/JsDoc';
|
|||||||
|
|
||||||
# Music metadata
|
# Music metadata
|
||||||
|
|
||||||
You can optionally add some music metadata in your Strudel code, by using tags in code comments like this:
|
You can optionally add some music metadata in your Strudel code, by using tags in code comments:
|
||||||
|
|
||||||
```
|
```js
|
||||||
// @license: CC BY-NC-SA 4.0 https://creativecommons.org/licenses/by-nc-sa/4.0/
|
// @title Hey Hoo
|
||||||
// @author: Felix Roos
|
// @by Sam Tagada
|
||||||
// @details: Inspired by Friendship - Let's not talk about it (1979) :)
|
// @license CC BY-NC-SA
|
||||||
```
|
```
|
||||||
|
|
||||||
Like other comments, those are ignored by Strudel, but it can be used by other tools to retrieve some information about the music.
|
Like other comments, those are ignored by Strudel, but it can be used by other tools to retrieve some information about the music.
|
||||||
|
|
||||||
It is for instance used by the [swatch tool](https://github.com/tidalcycles/strudel/tree/main/my-patterns) to display pattern titles in the [examples page](https://strudel.tidalcycles.org/examples/).
|
It is for instance used by the [swatch tool](https://github.com/tidalcycles/strudel/tree/main/my-patterns) to display pattern titles in the [examples page](https://strudel.tidalcycles.org/examples/).
|
||||||
|
|
||||||
|
## Alternative syntax
|
||||||
|
|
||||||
|
You can also use comment blocks:
|
||||||
|
|
||||||
|
```js
|
||||||
|
/*
|
||||||
|
@title Hey Hoo
|
||||||
|
@by Sam Tagada
|
||||||
|
@license CC BY-NC-SA
|
||||||
|
*/
|
||||||
|
```
|
||||||
|
|
||||||
|
Or define multiple tags in one line:
|
||||||
|
|
||||||
|
```js
|
||||||
|
// @title Hey Hoo @by Sam Tagada @license CC BY-NC-SA
|
||||||
|
```
|
||||||
|
|
||||||
|
## Tags list
|
||||||
|
|
||||||
Available tags are:
|
Available tags are:
|
||||||
|
|
||||||
- `@title`: music title
|
- `@title`: music title
|
||||||
- `@by`: music author(s), separated with comma, eventually followed with a link in `<>` (ex: `@author john doe <https://example.com>`)
|
- `@by`: music author(s), separated by comma, eventually followed with a link in `<>` (ex: `@by John Doe <https://example.com>`)
|
||||||
- `@license`: music license
|
- `@license`: music license(s)
|
||||||
- `@details`: some additional information about the music
|
- `@details`: some additional information about the music
|
||||||
- `@url`: web page related to the music (git repo, soundcloud link, etc.)
|
- `@url`: web page(s) related to the music (git repo, soundcloud link, etc.)
|
||||||
- `@genre`: music genre (pop, jazz, etc)
|
- `@genre`: music genre(s) (pop, jazz, etc)
|
||||||
- `@album`: music album name
|
- `@album`: music album name
|
||||||
|
|
||||||
|
## Multiple values
|
||||||
|
|
||||||
|
Some of them accepts several values, using the comma or new line separator, or duplicating the tag:
|
||||||
|
|
||||||
|
```js
|
||||||
|
/*
|
||||||
|
@by Sam Tagada
|
||||||
|
Jimmy
|
||||||
|
@genre pop, jazz
|
||||||
|
@url https://example.com
|
||||||
|
@url https://example.org
|
||||||
|
*/
|
||||||
|
```
|
||||||
|
|
||||||
|
You can also add optinal prefixes and use tags where you want:
|
||||||
|
|
||||||
|
```js
|
||||||
|
/*
|
||||||
|
song @by Sam Tagada
|
||||||
|
samples @by Jimmy
|
||||||
|
*/
|
||||||
|
...
|
||||||
|
note("a3 c#4 e4 a4") // @by Sandy
|
||||||
|
```
|
||||||
|
|
||||||
|
## Multiline
|
||||||
|
|
||||||
|
If a tag doesn't accept a list, it can take multi-line values:
|
||||||
|
|
||||||
|
```js
|
||||||
|
/*
|
||||||
|
@details I wrote this song in February 19th, 2023.
|
||||||
|
It was around midnight and I was lying on
|
||||||
|
the sofa in the living room.
|
||||||
|
*/
|
||||||
|
```
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user