Compare commits
2 Commits
bf4c813380
...
4bca3123f0
Author | SHA1 | Date |
---|---|---|
Leonora Tindall | 4bca3123f0 | |
Leonora Tindall | 5a67abf17d |
|
@ -0,0 +1,2 @@
|
|||
target/
|
||||
sunny/Cargo.lock
|
|
@ -0,0 +1,10 @@
|
|||
# This file is automatically @generated by Cargo.
|
||||
# It is not intended for manual editing.
|
||||
[[package]]
|
||||
name = "sunny"
|
||||
version = "0.1.0"
|
||||
|
||||
[[package]]
|
||||
name = "sunny-asm"
|
||||
version = "0.1.0"
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
[workspace]
|
||||
members = [
|
||||
"sunny",
|
||||
"sunny-asm"
|
||||
]
|
18
README.md
18
README.md
|
@ -22,20 +22,24 @@ octave 2
|
|||
play c
|
||||
play d
|
||||
play e
|
||||
off
|
||||
channel 1 { set nF5; trigger }
|
||||
off; wait beat
|
||||
|
||||
play c
|
||||
play d
|
||||
play e
|
||||
off
|
||||
channel 1 { set nG5; trigger }
|
||||
off; wait beat
|
||||
|
||||
play c
|
||||
play d
|
||||
channel 1 { set nF5; trigger }
|
||||
play e
|
||||
off
|
||||
channel 1 { set nG5; trigger }
|
||||
off; wait beat
|
||||
|
||||
play b
|
||||
off
|
||||
off; wait beat
|
||||
```
|
||||
|
||||
### Values
|
||||
|
@ -47,7 +51,7 @@ or **absolute** like like `C2`, `Ab4`, or `F#0`.
|
|||
Where a note value is needed, a voltage value (as below) can be substituted, prefixed with a `v`, like `v12c`.
|
||||
|
||||
- Voltage values, which can be expressed in volts (like `2v`), millivolts
|
||||
(like `2330mv`), cents (like `220c`), semitones (like `4c`), or octaves (like `1o`), and which can be **absolute** or **relative** (like `+2c`).
|
||||
(like `2330mv`), cents (like `220c`), semitones (like `4s`), or octaves (like `1o`), and which can be **absolute** or **relative** (like `+2c`).
|
||||
Where a voltage value is needed, a note value (as above) can be substituted, prefixed with an `n`, like `n2C#`.
|
||||
|
||||
- Conf(iguration) values, which are used to set up channel parameters,
|
||||
|
@ -79,9 +83,9 @@ very short time, then turns it off.
|
|||
|
||||
### Channel Control
|
||||
|
||||
- `channel <int>` sets the channel currently being controlled.
|
||||
- `channel <int> [{ <commands> }]` (abbr. `c`) sets the channel currently being controlled, or executes the given commands on the given channel.
|
||||
|
||||
- `octave <int>` sets the octave, between 0 and 8, to which simple and relative note values will be played.
|
||||
- `octave <int>` (abbr. `v`) sets the octave, between 0 and 8, to which simple and relative note values will be played.
|
||||
|
||||
- `bpm <natural>` sets the tempo of the channel. This is the time used by the time value `beat` and by the `play` instruction.
|
||||
|
||||
|
|
|
@ -0,0 +1,9 @@
|
|||
[package]
|
||||
name = "sunny-asm"
|
||||
version = "0.1.0"
|
||||
authors = ["Leonora Tindall <nora@nora.codes>"]
|
||||
edition = "2018"
|
||||
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
|
||||
[dependencies]
|
|
@ -0,0 +1,3 @@
|
|||
fn main() {
|
||||
println!("Hello, world!");
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
[package]
|
||||
name = "sunny"
|
||||
version = "0.1.0"
|
||||
authors = ["Leonora Tindall <nora@nora.codes>"]
|
||||
edition = "2018"
|
||||
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
|
||||
[dependencies]
|
|
@ -0,0 +1,9 @@
|
|||
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
#[test]
|
||||
fn it_works() {
|
||||
assert_eq!(2 + 2, 4);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue