From 8334582beddacacd483ae2ef951debada81f87c0 Mon Sep 17 00:00:00 2001 From: Electric Keet Date: Mon, 30 Oct 2023 15:51:41 -0700 Subject: [PATCH] Doc clipped and bitmask macro editors. "Clipped" meaning the arpeggio and pitch editors that can have values outside the viewed bounds. --- doc/2-interface/settings.md | 7 ++++++- doc/4-instrument/README.md | 21 +++++++++++++++++---- doc/4-instrument/macro-seq-bitmask.png | Bin 0 -> 20100 bytes doc/4-instrument/macro-seq-clip.png | Bin 0 -> 17370 bytes 4 files changed, 23 insertions(+), 5 deletions(-) create mode 100644 doc/4-instrument/macro-seq-bitmask.png create mode 100644 doc/4-instrument/macro-seq-clip.png diff --git a/doc/2-interface/settings.md b/doc/2-interface/settings.md index a4a1676a5..e80eeaecf 100644 --- a/doc/2-interface/settings.md +++ b/doc/2-interface/settings.md @@ -47,6 +47,7 @@ settings are saved when clicking the **OK** or **Apply** buttons at the bottom o - **When creating new song**: - **Display system preset selector** - **Start with initial system** + - **Default author name** ### Start-up @@ -92,7 +93,7 @@ settings are saved when clicking the **OK** or **Apply** buttons at the bottom o - setting this to a high value increases latency. - **Exclusive mode**: enables Exclusive Mode, which may offer latency improvements. - only available on WASAPI devices in the PortAudio backend! -- **Low-latency mode (experimental!)**: reduces latency by running the engine faster than the tick rate. useful for live playback/jam mode. +- **Low-latency mode**: reduces latency by running the engine faster than the tick rate. useful for live playback/jam mode. - only enable if your buffer size is small (10ms or less). - **Force mono audio**: use if you're unable to hear stereo audio (e.g. single speaker or hearing loss in one ear). - **want:** displays requested audio configuration. @@ -104,6 +105,7 @@ settings are saved when clicking the **OK** or **Apply** buttons at the bottom o - **Software clipping**: clips output to nominal range (-1.0 to 1.0) before passing it to the audio device. - this avoids activating Windows' built-in limiter. - this option shall be enabled when using PortAudio backend with a DirectSound device. +- **DC offset correction**: apply a filter to remove DC bias, where the output is overall above or below zero. default is on. ### Metronome @@ -299,6 +301,9 @@ below all the binds, select a key from the dropdown list to add it. it will appe - applies when playback is stopped. - **Don't scroll when moving cursor** - **Move cursor with scroll wheel** + - **No** + - **Yes** + - **Inverted** ## Appearance diff --git a/doc/4-instrument/README.md b/doc/4-instrument/README.md index a1681388b..f290287b5 100644 --- a/doc/4-instrument/README.md +++ b/doc/4-instrument/README.md @@ -96,24 +96,37 @@ every macro can be defined though one of three methods, selectable with the left - ![ADSR](macro-button-ADSR.png) **ADSR:** this is a traditional ADSR envelope, defined by the rate of increase and decrease of value over time. - ![LFO](macro-button-LFO.png) **LFO:** the Low Frequency Oscillator generates a repeating wave of values. -some macros are "bitmap" style. they represent a number of "bits" that can be toggled individually, and the values listed represent the sum of which bits are turned on. - ### sequence ![sequence macro editor](macro-seq.png) +![clipped sequence macro editor](macro-seq-clip.png) + +![bitmask sequence macro editor](macro-seq-bitmask.png) + the number between the macro type label and the macro type button is the macro length in steps. the `-` and `+` buttons change the length of the macro. start out by adding at least a few steps. the values of the macro can be drawn in the "bar graph" box. +- arpeggio and pitch macros may have values above or below the visible area; small chevrons will be shown until they are scrolled into view. +- bitmask-style macros show labels for each of their bits, and these are edited as toggles. -just beneath the box is a shorter bar that controls looping. +arpeggio macros have a short bar for setting whether to interpret the values as being "relative" or "fixed". +- by default, values are offsets **relative** to the note. +- if clicked on, a value becomes **fixed** and will be played at its corresponding note without regard to the note entered into the pattern. + - values are counted from `C-0`. for example, a fixed value of 48 produces a `C-4` note. + - fixed values are especially useful for noise instruments with preset periods. + +below this is a short bar that controls looping. - click to set the start point of a loop; the end point is the last value or release point. it appears as half-height bars. right-click to remove the loop. - shift-click to set the release point. when played, the macro will hold here until the note is released. it appears as a full-height bar. right-click to remove the release point. finally, the sequence of values can be directly edited in the text box at the bottom. - the loop start is entered as a `|`. - the release point is entered as a `/`. -- in arpeggio macros, a value starting with a `@` is an absolute note (instead of a relative shift). no matter the note entered in the pattern, `@` values will be played at that exact note. this is especially useful for noise instruments with preset periods. +- in arpeggio macros, a value starting with a `@` is a fixed value as described above. +- in bitmask-style macros, the values are added up in binary and converted to decimal. see [the hexadecimal guide](../1-intro/hex.md) for more info. + + ### ADSR diff --git a/doc/4-instrument/macro-seq-bitmask.png b/doc/4-instrument/macro-seq-bitmask.png new file mode 100644 index 0000000000000000000000000000000000000000..ce4c323f4b9b430778859e69f768e4dbdf745fab GIT binary patch literal 20100 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 literal 0 HcmV?d00001 diff --git a/doc/4-instrument/macro-seq-clip.png b/doc/4-instrument/macro-seq-clip.png new file mode 100644 index 0000000000000000000000000000000000000000..063e92faa0a9c3189f872c820094e0d229ca8e8e GIT binary patch literal 17370 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 literal 0 HcmV?d00001