add diagram to teach architecture
This commit is contained in:
@ -1,5 +1,6 @@
|
|||||||
import { key_shortcut, makeExampleFactory } from "../Documentation";
|
import { key_shortcut, makeExampleFactory } from "../Documentation";
|
||||||
import { type Editor } from "../main";
|
import { type Editor } from "../main";
|
||||||
|
import topos_arch from './topos_arch.svg';
|
||||||
|
|
||||||
export const software_interface = (application: Editor): string => {
|
export const software_interface = (application: Editor): string => {
|
||||||
const makeExample = makeExampleFactory(application);
|
const makeExample = makeExampleFactory(application);
|
||||||
@ -8,6 +9,9 @@ export const software_interface = (application: Editor): string => {
|
|||||||
|
|
||||||
The Topos interface is entirely dedicated to highlight the core concepts at play: _scripts_ and _universes_. By understanding the interface, you will already understand quite a lot about Topos and how to play music with it. Make sure to learn the dedicated keybindings as well and you will fly!
|
The Topos interface is entirely dedicated to highlight the core concepts at play: _scripts_ and _universes_. By understanding the interface, you will already understand quite a lot about Topos and how to play music with it. Make sure to learn the dedicated keybindings as well and you will fly!
|
||||||
|
|
||||||
|
<object type="image/svg+xml" data=${topos_arch} style="width: 100%; height: auto; background-color: transparent"></object>
|
||||||
|
|
||||||
|
|
||||||
## Scripts
|
## Scripts
|
||||||
|
|
||||||
Every Topos session is composed of several small scripts. A set of scripts is called a _universe_. Every script is written using the JavaScript programming language and describes a musical or algorithmic process that takes place over time.
|
Every Topos session is composed of several small scripts. A set of scripts is called a _universe_. Every script is written using the JavaScript programming language and describes a musical or algorithmic process that takes place over time.
|
||||||
@ -33,22 +37,22 @@ Every Topos session is composed of several small scripts. A set of scripts is ca
|
|||||||
|
|
||||||
|
|
||||||
${makeExample(
|
${makeExample(
|
||||||
"To take the most out of Topos...",
|
"To take the most out of Topos...",
|
||||||
`// Write your code in multiple scripts. Use all the code buffers!
|
`// Write your code in multiple scripts. Use all the code buffers!
|
||||||
beat(1) :: script(1)
|
beat(1) :: script(1)
|
||||||
flip(4) :: beat(.5) :: script(2)
|
flip(4) :: beat(.5) :: script(2)
|
||||||
`,
|
`,
|
||||||
true
|
true
|
||||||
)}
|
)}
|
||||||
|
|
||||||
${makeExample(
|
${makeExample(
|
||||||
"Script execution can become musical too!",
|
"Script execution can become musical too!",
|
||||||
`// You can play your scripts... algorithmically.
|
`// You can play your scripts... algorithmically.
|
||||||
beat(1) :: script([1,3,5].pick())
|
beat(1) :: script([1,3,5].pick())
|
||||||
flip(4) :: beat([.5, .25].beat(16)) :: script([5,6,7,8].loop($(2)))
|
flip(4) :: beat([.5, .25].beat(16)) :: script([5,6,7,8].loop($(2)))
|
||||||
`,
|
`,
|
||||||
false
|
false
|
||||||
)}
|
)}
|
||||||
|
|
||||||
|
|
||||||
There are some useful functions to help you manage your scripts:
|
There are some useful functions to help you manage your scripts:
|
||||||
|
|||||||
@ -51,12 +51,12 @@ beat(.25) :: sound('sid').note(
|
|||||||
false
|
false
|
||||||
)}
|
)}
|
||||||
|
|
||||||
Topos is deeply inspired by the [Monome Teletype](https://monome.org/). The Teletype is/was an open source hardware module for Eurorack synthesizers. While the Teletype was initially born as an hardware module, Topos aims to be a web-browser based software sequencer from the same family! It is a sequencer, a scriptable interface, a companion for algorithmic music-making. Topos wishes to fullfill the same goal than the Teletype, keeping the same spirit alive on the web. It is free, open-source, and made to be shared and used by everyone.
|
Topos is deeply inspired by the [Monome Teletype](https://monome.org/). The Teletype is/was an open source hardware module for Eurorack synthesizers. While the Teletype was initially born as an hardware module, Topos aims to be a web-browser based software sequencer from the same family! It is a sequencer, a scriptable interface, a companion for algorithmic music-making. Topos wishes to fullfill the same goal as the Teletype, keeping the same spirit alive on the web. It is free, open-source, and made to be shared and used by everyone.
|
||||||
|
|
||||||
## Demo Songs
|
## Demo Songs
|
||||||
|
|
||||||
Reloading the application will get you one random song example to study every time. Press ${key_shortcut(
|
Reloading the application will get you one random song example to study every time. Press ${key_shortcut(
|
||||||
"F5"
|
"F5"
|
||||||
)} and listen to them all!
|
)} and listen to them all! The demo songs are also used a bit everywhere in the documentation to illustrate some of the working principles :).
|
||||||
`;
|
`;
|
||||||
};
|
};
|
||||||
|
|||||||
4
src/documentation/topos_arch.svg
Normal file
4
src/documentation/topos_arch.svg
Normal file
File diff suppressed because one or more lines are too long
|
After Width: | Height: | Size: 17 KiB |
Reference in New Issue
Block a user