Merge branch 'master' into SID3
2
.github/workflows/build.yml
vendored
|
@ -11,7 +11,7 @@ defaults:
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|
||||||
env:
|
env:
|
||||||
BUILD_TYPE: Release
|
BUILD_TYPE: Debug
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
|
|
|
@ -552,6 +552,7 @@ src/engine/platform/sound/nes/fds.c
|
||||||
src/engine/platform/sound/nes/mmc5.c
|
src/engine/platform/sound/nes/mmc5.c
|
||||||
src/engine/platform/sound/vera_psg.c
|
src/engine/platform/sound/vera_psg.c
|
||||||
src/engine/platform/sound/vera_pcm.c
|
src/engine/platform/sound/vera_pcm.c
|
||||||
|
src/engine/platform/sound/ymf278b/ymf278.cpp
|
||||||
|
|
||||||
src/engine/platform/sound/atomicssg/ssg.c
|
src/engine/platform/sound/atomicssg/ssg.c
|
||||||
|
|
||||||
|
@ -644,6 +645,10 @@ src/engine/platform/sound/ga20/iremga20.cpp
|
||||||
|
|
||||||
src/engine/platform/sound/sm8521.c
|
src/engine/platform/sound/sm8521.c
|
||||||
|
|
||||||
|
src/engine/platform/sound/supervision.c
|
||||||
|
|
||||||
|
src/engine/platform/sound/upd1771c.c
|
||||||
|
|
||||||
src/engine/platform/sound/d65modified.c
|
src/engine/platform/sound/d65modified.c
|
||||||
|
|
||||||
src/engine/platform/sound/ted-sound.c
|
src/engine/platform/sound/ted-sound.c
|
||||||
|
@ -779,6 +784,8 @@ src/engine/platform/snes.cpp
|
||||||
src/engine/platform/k007232.cpp
|
src/engine/platform/k007232.cpp
|
||||||
src/engine/platform/ga20.cpp
|
src/engine/platform/ga20.cpp
|
||||||
src/engine/platform/sm8521.cpp
|
src/engine/platform/sm8521.cpp
|
||||||
|
src/engine/platform/supervision.cpp
|
||||||
|
src/engine/platform/upd1771c.cpp
|
||||||
src/engine/platform/pv1000.cpp
|
src/engine/platform/pv1000.cpp
|
||||||
src/engine/platform/k053260.cpp
|
src/engine/platform/k053260.cpp
|
||||||
src/engine/platform/ted.cpp
|
src/engine/platform/ted.cpp
|
||||||
|
|
|
@ -15,8 +15,8 @@ android {
|
||||||
}
|
}
|
||||||
minSdkVersion 21
|
minSdkVersion 21
|
||||||
targetSdkVersion 26
|
targetSdkVersion 26
|
||||||
versionCode 218
|
versionCode 219
|
||||||
versionName "0.6.6"
|
versionName "0.6.7"
|
||||||
externalNativeBuild {
|
externalNativeBuild {
|
||||||
cmake {
|
cmake {
|
||||||
arguments "-DANDROID_APP_PLATFORM=android-21", "-DANDROID_STL=c++_static", "-DWARNINGS_ARE_ERRORS=ON", "-DWITH_LOCALE=ON", "-DUSE_MOMO=ON"
|
arguments "-DANDROID_APP_PLATFORM=android-21", "-DANDROID_STL=c++_static", "-DWARNINGS_ARE_ERRORS=ON", "-DWITH_LOCALE=ON", "-DUSE_MOMO=ON"
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
package="org.tildearrow.furnace"
|
package="org.tildearrow.furnace"
|
||||||
android:versionCode="218"
|
android:versionCode="219"
|
||||||
android:versionName="0.6.6"
|
android:versionName="0.6.7"
|
||||||
android:installLocation="auto">
|
android:installLocation="auto">
|
||||||
|
|
||||||
<!-- OpenGL ES 2.0 -->
|
<!-- OpenGL ES 2.0 -->
|
||||||
|
|
Before Width: | Height: | Size: 29 KiB After Width: | Height: | Size: 57 KiB |
Before Width: | Height: | Size: 7.4 KiB After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 26 KiB |
Before Width: | Height: | Size: 9.6 KiB After Width: | Height: | Size: 19 KiB |
Before Width: | Height: | Size: 141 KiB After Width: | Height: | Size: 329 KiB |
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 64 KiB |
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 64 KiB |
Before Width: | Height: | Size: 3.7 KiB After Width: | Height: | Size: 8 KiB |
Before Width: | Height: | Size: 3 KiB After Width: | Height: | Size: 6.9 KiB |
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 7.3 KiB |
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 5.2 KiB |
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 7.1 KiB |
Before Width: | Height: | Size: 4.2 KiB After Width: | Height: | Size: 10 KiB |
Before Width: | Height: | Size: 3 KiB After Width: | Height: | Size: 7.6 KiB |
Before Width: | Height: | Size: 4.1 KiB After Width: | Height: | Size: 10 KiB |
Before Width: | Height: | Size: 7.7 KiB After Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 7.8 KiB After Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 6.3 KiB After Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 6.4 KiB |
Before Width: | Height: | Size: 7.8 KiB After Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 7.4 KiB |
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 35 KiB |
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 30 KiB |
Before Width: | Height: | Size: 7.1 KiB After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 380 KiB After Width: | Height: | Size: 532 KiB |
Before Width: | Height: | Size: 157 KiB After Width: | Height: | Size: 132 KiB |
Before Width: | Height: | Size: 434 KiB After Width: | Height: | Size: 544 KiB |
|
@ -2,6 +2,8 @@
|
||||||
|
|
||||||
everything on this list can be configured in the "Keyboard" tab of the Settings dialog.
|
everything on this list can be configured in the "Keyboard" tab of the Settings dialog.
|
||||||
|
|
||||||
|
additionally, everything on this list can be accessed with the "command palette" using the default key combo of `Ctrl-P`.
|
||||||
|
|
||||||
the keys in the "Global hotkeys" section can be used in any window, although not when a text field is activated.
|
the keys in the "Global hotkeys" section can be used in any window, although not when a text field is activated.
|
||||||
|
|
||||||
| action | default keybind |
|
| action | default keybind |
|
||||||
|
@ -78,7 +80,7 @@ the keys in the "Global hotkeys" section can be used in any window, although not
|
||||||
| Close current window | `Shift-Escape` |
|
| Close current window | `Shift-Escape` |
|
||||||
| Command Palette | `Ctrl-P` |
|
| Command Palette | `Ctrl-P` |
|
||||||
| Recent files (Palette) | — |
|
| Recent files (Palette) | — |
|
||||||
| Insstruments (Palette) | — |
|
| Instruments (Palette) | — |
|
||||||
| Samples (Palette) | — |
|
| Samples (Palette) | — |
|
||||||
| | |
|
| | |
|
||||||
| **Note input** | |
|
| **Note input** | |
|
||||||
|
@ -153,6 +155,8 @@ the keys in the "Global hotkeys" section can be used in any window, although not
|
||||||
| Set note input latch | — |
|
| Set note input latch | — |
|
||||||
| Clear note input latch | — |
|
| Clear note input latch | — |
|
||||||
| Absorb instrument/octave from status at cursor | — |
|
| Absorb instrument/octave from status at cursor | — |
|
||||||
|
| Return cursor to previous jump point | — |
|
||||||
|
| Reverse recent cursor undo | — |
|
||||||
| | |
|
| | |
|
||||||
| **Instrument list** | |
|
| **Instrument list** | |
|
||||||
| Add instrument | `Insert` |
|
| Add instrument | `Insert` |
|
||||||
|
|
|
@ -505,6 +505,7 @@ below all the binds, select a key from the dropdown list to add it. it will appe
|
||||||
- **Grid**
|
- **Grid**
|
||||||
- **Single (with list)**
|
- **Single (with list)**
|
||||||
- **Use classic macro editor vertical slider**
|
- **Use classic macro editor vertical slider**
|
||||||
|
- **Automatic macro step size/horizontal zoom**
|
||||||
|
|
||||||
### Wave Editor
|
### Wave Editor
|
||||||
|
|
||||||
|
@ -528,6 +529,8 @@ below all the binds, select a key from the dropdown list to add it. it will appe
|
||||||
- **Position of Sustain in FM editor:**
|
- **Position of Sustain in FM editor:**
|
||||||
- **Between Decay and Sustain Rate**
|
- **Between Decay and Sustain Rate**
|
||||||
- **After Release Rate**
|
- **After Release Rate**
|
||||||
|
- **After Release Rate, after spacing**
|
||||||
|
- **After TL**
|
||||||
- **Use separate colors for carriers/modulators in FM editor**
|
- **Use separate colors for carriers/modulators in FM editor**
|
||||||
- **Unsigned FM detune values**: uses the internal representation of detune values, such that detune amounts of -1, -2, and -3 are shown as 5, 6, and 7.
|
- **Unsigned FM detune values**: uses the internal representation of detune values, such that detune amounts of -1, -2, and -3 are shown as 5, 6, and 7.
|
||||||
|
|
||||||
|
|
Before Width: | Height: | Size: 53 KiB After Width: | Height: | Size: 70 KiB |
|
@ -15,16 +15,15 @@ however, effects are continuous (unless specified), which means you only need to
|
||||||
- `F8xx`: **Single tick volume up.** adds `x` to volume.
|
- `F8xx`: **Single tick volume up.** adds `x` to volume.
|
||||||
- `F9xx`: **Single tick volume down.** subtracts `x` from volume.
|
- `F9xx`: **Single tick volume down.** subtracts `x` from volume.
|
||||||
- ---
|
- ---
|
||||||
- `D3xx`: **Volume portamento.** slides volume toward the new value instead of jumping immediately. `x` is the speed of the slide.
|
- `D3xx`: **Volume portamento.** slides the volume to the one specified in the volume column. `x` is the slide speed.
|
||||||
- `D4xx`: **Volume portamento (fast).** same as `D3xx` but 256× faster.
|
- a volume _must_ be present with this effect for it to work.
|
||||||
|
- `D4xx`: **Volume portamento (fast).** like `D3xx` but 4× faster.
|
||||||
- ---
|
- ---
|
||||||
- `07xy`: **Tremolo.** changes volume to be "wavy" with a sine LFO. `x` is the speed. `y` is the depth.
|
- `07xy`: **Tremolo.** changes volume to be "wavy" with a sine LFO. `x` is the speed. `y` is the depth.
|
||||||
- tremolo is downward only.
|
- tremolo is downward only.
|
||||||
- maximum tremolo depth is -60 volume steps.
|
- maximum tremolo depth is -60 volume steps.
|
||||||
- ---
|
- ---
|
||||||
- `D3xx`: **Volume portamento.** slides the volume to the one specified in the volume column. `x` is the slide speed.
|
- `DCxx`: **Delayed mute.** sets channel volume to 0 after `xx` ticks.
|
||||||
- a volume _must_ be present with this effect for it to work.
|
|
||||||
- `D4xx`: **Volume portamento (fast).** like `D3xx` but four times faster.
|
|
||||||
|
|
||||||
## pitch
|
## pitch
|
||||||
|
|
||||||
|
@ -47,6 +46,7 @@ however, effects are continuous (unless specified), which means you only need to
|
||||||
- `E8xy`: **Quick legato up**. transposes note up by `y` semitones after `x` ticks.
|
- `E8xy`: **Quick legato up**. transposes note up by `y` semitones after `x` ticks.
|
||||||
- `E9xy`: **Quick legato down**. transposes note down by `y` semitones after `x` ticks.
|
- `E9xy`: **Quick legato down**. transposes note down by `y` semitones after `x` ticks.
|
||||||
- `00xy`: **Arpeggio.** this effect produces a rapid cycle between the current note, the note plus `x` semitones and the note plus `y` semitones.
|
- `00xy`: **Arpeggio.** this effect produces a rapid cycle between the current note, the note plus `x` semitones and the note plus `y` semitones.
|
||||||
|
- as an example, start with a chord of C-3, G-3, and D#4. the G-3 and D#4 are 7 and 15 semitones higher than the root note, so the corresponding effect is `007F`.
|
||||||
- `E0xx`: **Set arpeggio speed.** this sets the number of ticks between arpeggio values. default is 1.
|
- `E0xx`: **Set arpeggio speed.** this sets the number of ticks between arpeggio values. default is 1.
|
||||||
- ---
|
- ---
|
||||||
- `04xy`: **Vibrato.** makes the pitch oscillate. `x` is the speed, while `y` is the depth.
|
- `04xy`: **Vibrato.** makes the pitch oscillate. `x` is the speed, while `y` is the depth.
|
||||||
|
|
Before Width: | Height: | Size: 294 KiB After Width: | Height: | Size: 242 KiB |
|
@ -39,7 +39,7 @@ these apply to each operator:
|
||||||
- **Decay Rate 2 (D2R) / Sustain Rate (SR)**: determines the diminishing time for the sound. the higher the value, the shorter the decay. this is the long "tail" of the sound that continues as long as the key is depressed (0 to 31).
|
- **Decay Rate 2 (D2R) / Sustain Rate (SR)**: determines the diminishing time for the sound. the higher the value, the shorter the decay. this is the long "tail" of the sound that continues as long as the key is depressed (0 to 31).
|
||||||
- **Release Rate (RR)**: determines the rate at which the sound disappears after note off. the higher the value, the shorter the release (0 to 15).
|
- **Release Rate (RR)**: determines the rate at which the sound disappears after note off. the higher the value, the shorter the release (0 to 15).
|
||||||
- **Total Level (TL)**: represents the envelope’s highest amplitude, with 0 being the largest and 127 (decimal) the smallest. a change of one unit is about 0.75 dB.
|
- **Total Level (TL)**: represents the envelope’s highest amplitude, with 0 being the largest and 127 (decimal) the smallest. a change of one unit is about 0.75 dB.
|
||||||
- **Hardware Envelope Generator (SSG-EG)**: executes the built-in envelope, inherited from AY-3-8910 PSG. speed of execution is controlled via Decay Rate.
|
- **Hardware Envelope Generator (SSG-EG)**: executes the built-in envelope, inherited from AY-3-8910 PSG. speed of execution is controlled via envelope parameters.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
|
|
Before Width: | Height: | Size: 39 KiB After Width: | Height: | Size: 50 KiB |
Before Width: | Height: | Size: 84 KiB After Width: | Height: | Size: 80 KiB |
Before Width: | Height: | Size: 202 KiB After Width: | Height: | Size: 214 KiB |
|
@ -20,6 +20,7 @@ the console is powered by the Ricoh 2A03, a CPU with sound generator built-in. i
|
||||||
- may be `0` or `1` for the noise channel:
|
- may be `0` or `1` for the noise channel:
|
||||||
- `0`: long (15-bit LFSR, 32767-step)
|
- `0`: long (15-bit LFSR, 32767-step)
|
||||||
- `1`: short (9-bit LFSR, 93-step)
|
- `1`: short (9-bit LFSR, 93-step)
|
||||||
|
- short noise may sound very different depending on its initial LFSR state. more info can be found at [NESdev](https://forums.nesdev.org/viewtopic.php?t=11535).
|
||||||
- `13xy`: **setup sweep up.**
|
- `13xy`: **setup sweep up.**
|
||||||
- `x` is the time.
|
- `x` is the time.
|
||||||
- `y` is the shift.
|
- `y` is the shift.
|
||||||
|
@ -50,7 +51,7 @@ the console is powered by the Ricoh 2A03, a CPU with sound generator built-in. i
|
||||||
- `18xx`: **set PCM channel mode.**
|
- `18xx`: **set PCM channel mode.**
|
||||||
- `00`: PCM (software).
|
- `00`: PCM (software).
|
||||||
- `01`: DPCM (hardware).
|
- `01`: DPCM (hardware).
|
||||||
- when in DPCM mode, samples will sound muffled (due to its nature), availables pitches are limited, and loop point is ignored.
|
- when in DPCM mode, samples will sound muffled (due to its nature) and available pitches are limited. see "DPCM samples" below.
|
||||||
- `19xx`: **set triangle linear counter.**
|
- `19xx`: **set triangle linear counter.**
|
||||||
- `00` to `7F` set the counter.
|
- `00` to `7F` set the counter.
|
||||||
- `80` and higher halt it.
|
- `80` and higher halt it.
|
||||||
|
@ -58,7 +59,6 @@ the console is powered by the Ricoh 2A03, a CPU with sound generator built-in. i
|
||||||
- only works in DPCM mode.
|
- only works in DPCM mode.
|
||||||
- see table below for possible values.
|
- see table below for possible values.
|
||||||
|
|
||||||
|
|
||||||
## info
|
## info
|
||||||
|
|
||||||
this chip uses the [NES](../4-instrument/nes.md) instrument editor.
|
this chip uses the [NES](../4-instrument/nes.md) instrument editor.
|
||||||
|
@ -70,12 +70,14 @@ the following options are available in the Chip Manager window:
|
||||||
- **Clock rate**: sets the rate at which the chip will run.
|
- **Clock rate**: sets the rate at which the chip will run.
|
||||||
- **DPCM channel mode**: allows you to set which mode to use for the DPCM channel.
|
- **DPCM channel mode**: allows you to set which mode to use for the DPCM channel.
|
||||||
- DPCM: the default mode, playing 1-bit DPCM samples as supported by the hardware.
|
- DPCM: the default mode, playing 1-bit DPCM samples as supported by the hardware.
|
||||||
- PCM: this mode provides crispier samples by writing the delta counter directly. uses a lot of CPU time in console.
|
- PCM: this mode provides crisper 7-bit samples by writing to the delta counter directly. uses a lot of CPU time in console.
|
||||||
|
|
||||||
## DPCM sample loop
|
## DPCM samples
|
||||||
|
|
||||||
due to hardware limitations, a loop in a DPCM sample must start on a multiple of 512 samples (512, 1024, 1536...) and have a length that is a multiple of 128 plus 8 samples (136, 264, 392...)
|
due to hardware limitations, a loop in a DPCM sample must start on a multiple of 512 samples (512, 1024, 1536...) and have a length that is a multiple of 128 plus 8 samples (136, 264, 392...)
|
||||||
|
|
||||||
|
NES DPCM only has 16 preset sample rates, shown in a table below. for help adapting samples to work with this, see the [limited samples guide](../9-guides/limited-samples.md).
|
||||||
|
|
||||||
## short noise frequencies (NTSC)
|
## short noise frequencies (NTSC)
|
||||||
|
|
||||||
note | arpeggio | fundamental | MIDI note | pitch
|
note | arpeggio | fundamental | MIDI note | pitch
|
||||||
|
|
|
@ -107,15 +107,21 @@ several variants of this chip were released as well, with more features.
|
||||||
- if `x` is `1` to `4`, the effect targets that operator; `y` turns it off with a value of `0` and on with a value of `1`.
|
- if `x` is `1` to `4`, the effect targets that operator; `y` turns it off with a value of `0` and on with a value of `1`.
|
||||||
- for example, the effect `6031` enables OP3.
|
- for example, the effect `6031` enables OP3.
|
||||||
|
|
||||||
|
## info
|
||||||
|
|
||||||
|
this chip uses the [FM (OPN)](../4-instrument/fm-opn.md) and [AY-3-8910/SSG](../4-instrument/ay8910.md) instrument editor.
|
||||||
|
|
||||||
## extended channel 3
|
## extended channel 3
|
||||||
|
|
||||||
in ExtCh mode, channel 3 is split into one column for each of its four operators and feedback are shared. the frequency of each operator may be controlled independently with notes and effects. this can be used for more polyphony or more complex sounds.
|
in ExtCh mode, channel 3 is split into one column for each of its four operators and feedback are shared. the frequency of each operator may be controlled independently with notes and effects. this can be used for more polyphony or more complex sounds.
|
||||||
|
|
||||||
all four operators are still combined according to the algorithm in use. for example, algorithm 7 acts as four independent sine waves. algorithm 4 acts as two independent 2op sounds. even with algorithm 0, placing a note in any operator triggers that operator alone.
|
all four operators are still combined according to the algorithm in use. for example, algorithm 7 acts as four independent sine waves. algorithm 4 acts as two independent 2op sounds. even with algorithm 0, placing a note in any operator triggers that operator alone.
|
||||||
|
|
||||||
## info
|
## SSG-EG
|
||||||
|
|
||||||
this chip uses the [FM (OPN)](../4-instrument/fm-opn.md) and [AY-3-8910/SSG](../4-instrument/ay8910.md) instrument editor.
|
SSG-EG is short for "Software-controlled Sound Generator – Envelope Generator". it is the AY-3-8910/YM2149 envelope generator applied to each individual operator. it makes the operator's envelope play through attack, decay, sustain, and decay 2 until it reaches zero amplitude, at which time SSG triggers. according to the shape of the SSG envelope, the operator's envelope may then either loop or hold, and either of these can be set to invert the envelope (attack decreases and decay increases) when triggered.
|
||||||
|
|
||||||
|
a full guide to SSG-EG is beyond the scope of this documentation. for more information, see this [brief SSG-EG and CSM video tutorial](https://www.youtube.com/watch?v=IKOR0TUlnWU), this [detailed technical explanation](https://gendev.spritesmind.net/forum/viewtopic.php?t=386&start=106), and this [chart of tunings](https://docs.google.com/spreadsheets/d/1HGKQ08CnLGAjA1U0StJFldod3FkQ3uq86rYy1VBIuZc/).
|
||||||
|
|
||||||
## chip config
|
## chip config
|
||||||
|
|
||||||
|
|
|
@ -107,15 +107,21 @@ the YM2610 (OPNB) and YM2610B chips are very similar to this one, but the built-
|
||||||
- if `x` is `1` to `4`, the effect targets that operator; `y` turns it off with a value of `0` and on with a value of `1`.
|
- if `x` is `1` to `4`, the effect targets that operator; `y` turns it off with a value of `0` and on with a value of `1`.
|
||||||
- for example, the effect `6031` enables OP3.
|
- for example, the effect `6031` enables OP3.
|
||||||
|
|
||||||
|
## info
|
||||||
|
|
||||||
|
this chip uses the [FM (OPN)](../4-instrument/fm-opn.md), [AY-3-8910/SSG](../4-instrument/ay8910.md), [ADPCM-A](../4-instrument/adpcm-a.md) and [ADPCM-B](../4-instrument/adpcm-b.md) instrument editors.
|
||||||
|
|
||||||
## extended channel 3
|
## extended channel 3
|
||||||
|
|
||||||
in ExtCh mode, channel 3 is split into one column for each of its four operators. feedback and LFO levels are shared. the frequency of each operator may be controlled independently with notes and effects. this can be used for more polyphony or more complex sounds.
|
in ExtCh mode, channel 3 is split into one column for each of its four operators. feedback and LFO levels are shared. the frequency of each operator may be controlled independently with notes and effects. this can be used for more polyphony or more complex sounds.
|
||||||
|
|
||||||
all four operators are still combined according to the algorithm in use. for example, algorithm 7 acts as four independent sine waves. algorithm 4 acts as two independent 2op sounds. even with algorithm 0, placing a note in any operator triggers that operator alone.
|
all four operators are still combined according to the algorithm in use. for example, algorithm 7 acts as four independent sine waves. algorithm 4 acts as two independent 2op sounds. even with algorithm 0, placing a note in any operator triggers that operator alone.
|
||||||
|
|
||||||
## info
|
## SSG-EG
|
||||||
|
|
||||||
this chip uses the [FM (OPN)](../4-instrument/fm-opn.md), [AY-3-8910/SSG](../4-instrument/ay8910.md), [ADPCM-A](../4-instrument/adpcm-a.md) and [ADPCM-B](../4-instrument/adpcm-b.md) instrument editors.
|
SSG-EG is short for "Software-controlled Sound Generator – Envelope Generator". it is the AY-3-8910/YM2149 envelope generator applied to each individual operator. it makes the operator's envelope play through attack, decay, sustain, and decay 2 until it reaches zero amplitude, at which time SSG triggers. according to the shape of the SSG envelope, the operator's envelope may then either loop or hold, and either of these can be set to invert the envelope (attack decreases and decay increases) when triggered.
|
||||||
|
|
||||||
|
a full guide to SSG-EG is beyond the scope of this documentation. for more information, see this [brief SSG-EG and CSM video tutorial](https://www.youtube.com/watch?v=IKOR0TUlnWU), this [detailed technical explanation](https://gendev.spritesmind.net/forum/viewtopic.php?t=386&start=106), and this [chart of tunings](https://docs.google.com/spreadsheets/d/1HGKQ08CnLGAjA1U0StJFldod3FkQ3uq86rYy1VBIuZc/).
|
||||||
|
|
||||||
## chip config
|
## chip config
|
||||||
|
|
||||||
|
|
|
@ -105,15 +105,21 @@ its soundchip is a 4-in-1: 4ch 4-op FM, YM2149 (AY-3-8910 clone) and [2 differen
|
||||||
- if `x` is `1` to `4`, the effect targets that operator; `y` turns it off with a value of `0` and on with a value of `1`.
|
- if `x` is `1` to `4`, the effect targets that operator; `y` turns it off with a value of `0` and on with a value of `1`.
|
||||||
- for example, the effect `6031` enables OP3.
|
- for example, the effect `6031` enables OP3.
|
||||||
|
|
||||||
|
## info
|
||||||
|
|
||||||
|
this chip uses the [FM (OPN)](../4-instrument/fm-opn.md), [AY-3-8910/SSG](../4-instrument/ay8910.md), [ADPCM-A](../4-instrument/adpcm-a.md) and [ADPCM-B](../4-instrument/adpcm-b.md) instrument editors.
|
||||||
|
|
||||||
## extended channel 2
|
## extended channel 2
|
||||||
|
|
||||||
in ExtCh mode, channel 2 is split into one column for each of its four operators. feedback and LFO levels are shared. the frequency of each operator may be controlled independently with notes and effects. this can be used for more polyphony or more complex sounds.
|
in ExtCh mode, channel 2 is split into one column for each of its four operators. feedback and LFO levels are shared. the frequency of each operator may be controlled independently with notes and effects. this can be used for more polyphony or more complex sounds.
|
||||||
|
|
||||||
all four operators are still combined according to the algorithm in use. for example, algorithm 7 acts as four independent sine waves. algorithm 4 acts as two independent 2op sounds. even with algorithm 0, placing a note in any operator triggers that operator alone.
|
all four operators are still combined according to the algorithm in use. for example, algorithm 7 acts as four independent sine waves. algorithm 4 acts as two independent 2op sounds. even with algorithm 0, placing a note in any operator triggers that operator alone.
|
||||||
|
|
||||||
## info
|
## SSG-EG
|
||||||
|
|
||||||
this chip uses the [FM (OPN)](../4-instrument/fm-opn.md), [AY-3-8910/SSG](../4-instrument/ay8910.md), [ADPCM-A](../4-instrument/adpcm-a.md) and [ADPCM-B](../4-instrument/adpcm-b.md) instrument editors.
|
SSG-EG is short for "Software-controlled Sound Generator – Envelope Generator". it is the AY-3-8910/YM2149 envelope generator applied to each individual operator. it makes the operator's envelope play through attack, decay, sustain, and decay 2 until it reaches zero amplitude, at which time SSG triggers. according to the shape of the SSG envelope, the operator's envelope may then either loop or hold, and either of these can be set to invert the envelope (attack decreases and decay increases) when triggered.
|
||||||
|
|
||||||
|
a full guide to SSG-EG is beyond the scope of this documentation. for more information, see this [brief SSG-EG and CSM video tutorial](https://www.youtube.com/watch?v=IKOR0TUlnWU), this [detailed technical explanation](https://gendev.spritesmind.net/forum/viewtopic.php?t=386&start=106), and this [chart of tunings](https://docs.google.com/spreadsheets/d/1HGKQ08CnLGAjA1U0StJFldod3FkQ3uq86rYy1VBIuZc/).
|
||||||
|
|
||||||
## chip config
|
## chip config
|
||||||
|
|
||||||
|
|
|
@ -104,15 +104,21 @@ it is backward compatible with the original chip.
|
||||||
- if `x` is `1` to `4`, the effect targets that operator; `y` turns it off with a value of `0` and on with a value of `1`.
|
- if `x` is `1` to `4`, the effect targets that operator; `y` turns it off with a value of `0` and on with a value of `1`.
|
||||||
- for example, the effect `6031` enables OP3.
|
- for example, the effect `6031` enables OP3.
|
||||||
|
|
||||||
|
## info
|
||||||
|
|
||||||
|
this chip uses the [FM (OPN)](../4-instrument/fm-opn.md), [AY-3-8910/SSG](../4-instrument/ay8910.md), [ADPCM-A](../4-instrument/adpcm-a.md) and [ADPCM-B](../4-instrument/adpcm-b.md) instrument editors.
|
||||||
|
|
||||||
## extended channel 3
|
## extended channel 3
|
||||||
|
|
||||||
in ExtCh mode, channel 3 is split into one column for each of its four operators. feedback and LFO levels are shared. the frequency of each operator may be controlled independently with notes and effects. this can be used for more polyphony or more complex sounds.
|
in ExtCh mode, channel 3 is split into one column for each of its four operators. feedback and LFO levels are shared. the frequency of each operator may be controlled independently with notes and effects. this can be used for more polyphony or more complex sounds.
|
||||||
|
|
||||||
all four operators are still combined according to the algorithm in use. for example, algorithm 7 acts as four independent sine waves. algorithm 4 acts as two independent 2op sounds. even with algorithm 0, placing a note in any operator triggers that operator alone.
|
all four operators are still combined according to the algorithm in use. for example, algorithm 7 acts as four independent sine waves. algorithm 4 acts as two independent 2op sounds. even with algorithm 0, placing a note in any operator triggers that operator alone.
|
||||||
|
|
||||||
## info
|
## SSG-EG
|
||||||
|
|
||||||
this chip uses the [FM (OPN)](../4-instrument/fm-opn.md), [AY-3-8910/SSG](../4-instrument/ay8910.md), [ADPCM-A](../4-instrument/adpcm-a.md) and [ADPCM-B](../4-instrument/adpcm-b.md) instrument editors.
|
SSG-EG is short for "Software-controlled Sound Generator – Envelope Generator". it is the AY-3-8910/YM2149 envelope generator applied to each individual operator. it makes the operator's envelope play through attack, decay, sustain, and decay 2 until it reaches zero amplitude, at which time SSG triggers. according to the shape of the SSG envelope, the operator's envelope may then either loop or hold, and either of these can be set to invert the envelope (attack decreases and decay increases) when triggered.
|
||||||
|
|
||||||
|
a full guide to SSG-EG is beyond the scope of this documentation. for more information, see this [brief SSG-EG and CSM video tutorial](https://www.youtube.com/watch?v=IKOR0TUlnWU), this [detailed technical explanation](https://gendev.spritesmind.net/forum/viewtopic.php?t=386&start=106), and this [chart of tunings](https://docs.google.com/spreadsheets/d/1HGKQ08CnLGAjA1U0StJFldod3FkQ3uq86rYy1VBIuZc/).
|
||||||
|
|
||||||
## chip config
|
## chip config
|
||||||
|
|
||||||
|
|
|
@ -1,23 +1,8 @@
|
||||||
# Yamaha YM2612
|
# Yamaha YM2612
|
||||||
|
|
||||||
one of two chips that powered the Sega Genesis. it is a six-channel, four-operator FM synthesizer. channel #6 can be turned into 8-bit PCM player, that via software mixing, thanks to Z80 sound CPU, can play more than one channel of straight-shot samples at once.
|
one of two chips that powered the Sega Genesis. it is a six-channel, four-operator FM synthesizer. channel 6 can be turned into 8-bit PCM player, that via software mixing, thanks to Z80 sound CPU, can play more than one channel of straight-shot samples at once.
|
||||||
Furnace also offers DualPCM, a Z80 driver that splits channel 6 into two individual PCM channels with variable pitch. using the console's Z80 processor, these are mixed together in software and streamed to channel 6 in PCM mode with a mix rate of 13750 Hz. VGM export requires the "direct stream mode" option to be enabled, and resulting files will be very large.
|
Furnace also offers DualPCM, a Z80 driver that splits channel 6 into two individual PCM channels with variable pitch. using the console's Z80 processor, these are mixed together in software and streamed to channel 6 in PCM mode with a mix rate of 13750 Hz. VGM export requires the "direct stream mode" option to be enabled, and resulting files will be very large.
|
||||||
|
|
||||||
## extended channel 3
|
|
||||||
|
|
||||||
in ExtCh mode, channel 3 is split into one column for each of its four operators. feedback and LFO levels are shared. the frequency of each operator may be controlled independently with notes and effects. this can be used for more polyphony or more complex sounds.
|
|
||||||
|
|
||||||
all four operators are still combined according to the algorithm in use. for example, algorithm 7 acts as four independent sine waves. algorithm 4 acts as two independent 2op sounds. even with algorithm 0, placing a note in any operator triggers that operator alone.
|
|
||||||
|
|
||||||
## CSM
|
|
||||||
|
|
||||||
CSM is short for "Composite Sinusoidal Modeling". CSM works by sending key-on and key-off commands to channel 3 at a specific frequency, controlled by the added "CSM Timer" channel. this can be used to create vocal formants (speech synthesis!) or other complex effects.
|
|
||||||
|
|
||||||
CSM is beyond the scope of this documentation. for more information, see this [brief SSG-EG and CSM video tutorial](https://www.youtube.com/watch?v=IKOR0TUlnWU).
|
|
||||||
|
|
||||||
## DualPCM
|
|
||||||
|
|
||||||
thanks to the Z80 sound CPU, DualPCM can play two samples at once! this mode splits channel 6 into two individual PCM channels with variable pitch. these are mixed together in software and streamed to channel 6 with a mix rate of 13750 Hz. VGM export requires the "direct stream mode" option to be enabled, and resulting files will be very large.
|
|
||||||
## effects
|
## effects
|
||||||
|
|
||||||
- `10xy`: **set LFO parameters.**
|
- `10xy`: **set LFO parameters.**
|
||||||
|
@ -30,10 +15,10 @@ thanks to the Z80 sound CPU, DualPCM can play two samples at once! this mode spl
|
||||||
- `15xx`: **set operator 4 level.**
|
- `15xx`: **set operator 4 level.**
|
||||||
- `16xy`: **set multiplier of operator.**
|
- `16xy`: **set multiplier of operator.**
|
||||||
- `x` is the operator (1-4).
|
- `x` is the operator (1-4).
|
||||||
- `y` is the new MULT value..
|
- `y` is the new MULT value.
|
||||||
- `17xx`: **toggle LEGACY sample mode.**
|
- `17xx`: **toggle LEGACY sample mode.**
|
||||||
- this only works on channel 6.
|
- this only works on channel 6.
|
||||||
- **this effect exists only for compatibility reasons! its use is NOT recommented. use Sample type instruments instead.**
|
- **this effect exists only for compatibility reasons! its use is NOT recommended. use Sample type instruments instead.**
|
||||||
- `18xx`: **toggle extended channel 3 mode.**
|
- `18xx`: **toggle extended channel 3 mode.**
|
||||||
- 0 disables it and 1 enables it.
|
- 0 disables it and 1 enables it.
|
||||||
- only in extended channel 3 chip.
|
- only in extended channel 3 chip.
|
||||||
|
@ -94,6 +79,28 @@ thanks to the Z80 sound CPU, DualPCM can play two samples at once! this mode spl
|
||||||
|
|
||||||
this chip uses the [FM (OPN)](../4-instrument/fm-opn.md) and [Generic Sample](../4-instrument/sample.md) instrument editors.
|
this chip uses the [FM (OPN)](../4-instrument/fm-opn.md) and [Generic Sample](../4-instrument/sample.md) instrument editors.
|
||||||
|
|
||||||
|
## extended channel 3
|
||||||
|
|
||||||
|
in ExtCh mode, channel 3 is split into one column for each of its four operators. feedback and LFO levels are shared. the frequency of each operator may be controlled independently with notes and effects. this can be used for more polyphony or more complex sounds.
|
||||||
|
|
||||||
|
all four operators are still combined according to the algorithm in use. for example, algorithm 7 acts as four independent sine waves. algorithm 4 acts as two independent 2op sounds. even with algorithm 0, placing a note in any operator triggers that operator alone.
|
||||||
|
|
||||||
|
## CSM
|
||||||
|
|
||||||
|
CSM, or "Composite Sine Mode", involves a timer matching the frequency of the note in the "CSM Timer" channel. each time it triggers, it generates key-on and key-off commands to reset the phase of all operators on channel 3 and force their envelopes to restart at the release point. this can be used to create vocal formants (speech synthesis!) or other complex effects. outside this chip's specific implementation, the technique is known as "oscillator sync".
|
||||||
|
|
||||||
|
working with CSM is beyond the scope of this documentation. for more information, see this [brief SSG-EG and CSM video tutorial](https://www.youtube.com/watch?v=IKOR0TUlnWU).
|
||||||
|
|
||||||
|
## DualPCM
|
||||||
|
|
||||||
|
thanks to the Z80 sound CPU, DualPCM can play two samples at once! this mode splits channel 6 into two individual PCM channels with variable pitch. these are mixed together in software and streamed to channel 6 with a mix rate of 13750 Hz. VGM export requires the "direct stream mode" option to be enabled, and resulting files will be very large.
|
||||||
|
|
||||||
|
## SSG-EG
|
||||||
|
|
||||||
|
SSG-EG is short for "Software-controlled Sound Generator – Envelope Generator". it is the AY-3-8910/YM2149 envelope generator applied to each individual operator. it makes the operator's envelope play through attack, decay, sustain, and decay 2 until it reaches zero amplitude, at which time SSG triggers. according to the shape of the SSG envelope, the operator's envelope may then either loop or hold, and either of these can be set to invert the envelope (attack decreases and decay increases) when triggered.
|
||||||
|
|
||||||
|
a full guide to SSG-EG is beyond the scope of this documentation. for more information, see this [brief SSG-EG and CSM video tutorial](https://www.youtube.com/watch?v=IKOR0TUlnWU), this [detailed technical explanation](https://gendev.spritesmind.net/forum/viewtopic.php?t=386&start=106), and this [chart of tunings](https://docs.google.com/spreadsheets/d/1HGKQ08CnLGAjA1U0StJFldod3FkQ3uq86rYy1VBIuZc/).
|
||||||
|
|
||||||
## chip config
|
## chip config
|
||||||
|
|
||||||
the following options are available in the Chip Manager window:
|
the following options are available in the Chip Manager window:
|
||||||
|
|
Before Width: | Height: | Size: 44 KiB After Width: | Height: | Size: 42 KiB |
Before Width: | Height: | Size: 172 KiB After Width: | Height: | Size: 81 KiB |
Before Width: | Height: | Size: 134 KiB After Width: | Height: | Size: 89 KiB |
Before Width: | Height: | Size: 84 KiB After Width: | Height: | Size: 86 KiB |
Before Width: | Height: | Size: 79 KiB After Width: | Height: | Size: 67 KiB |
Before Width: | Height: | Size: 74 KiB After Width: | Height: | Size: 64 KiB |
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 21 KiB |
BIN
doc/8-advanced/memcompo.png
Normal file
After Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 108 KiB After Width: | Height: | Size: 117 KiB |
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 8.6 KiB |
|
@ -12,6 +12,7 @@ chip configuration is exactly as in the [chip manager](chip-manager.md) window.
|
||||||
|
|
||||||
the **Advanced** field stores additional settings that are set when a new song is started. these are listed in "option=value" format, one per line.
|
the **Advanced** field stores additional settings that are set when a new song is started. these are listed in "option=value" format, one per line.
|
||||||
- `tickRate`: sets tick rate.
|
- `tickRate`: sets tick rate.
|
||||||
|
- `chanMask`: sets which channels to hide. written as a comma-separated list of integers
|
||||||
|
|
||||||
**Save and Close**: as it says.
|
**Save and Close**: as it says.
|
||||||
|
|
||||||
|
|
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 78 KiB |
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
also called "vectorscope", this is similar to the normal oscilloscope in that it draws audio output as a waveform, but instead of being one-dimensional and going from left to right, it is plotted in two dimensions (usually X represents left output and Y represents right output).
|
also called "vectorscope", this is similar to the normal oscilloscope in that it draws audio output as a waveform, but instead of being one-dimensional and going from left to right, it is plotted in two dimensions (usually X represents left output and Y represents right output).
|
||||||
|
|
||||||
(TODO: image)
|

|
||||||
|
|
||||||
right-clicking the X-Y oscilloscope window displays settings:
|
right-clicking the X-Y oscilloscope window displays settings:
|
||||||
- **X Channel**: the output channel which will affect the X (horizontal) axis. default is 1 (left).
|
- **X Channel**: the output channel which will affect the X (horizontal) axis. default is 1 (left).
|
||||||
|
|
BIN
doc/8-advanced/xyosc.png
Normal file
After Width: | Height: | Size: 70 KiB |
BIN
instruments/OPL/2-op strings.fui
Normal file
BIN
instruments/OPL/asterix gb clarinet.fui
Normal file
BIN
instruments/OPL/clavinetmaybe.fui
Normal file
BIN
instruments/OPL/grand piano.fui
Normal file
BIN
instruments/OPL/kalimba or plain sine i cant tell.fui
Normal file
BIN
instruments/OPL/marimba.fui
Normal file
BIN
instruments/OPL/sax.fui
Normal file
BIN
instruments/OPL/tuba trumpet thing.fui
Normal file
|
@ -6,7 +6,7 @@ when copying pattern data from Furnace, it's stored in the clipboard as plain te
|
||||||
org.tildearrow.furnace - Pattern Data (144)
|
org.tildearrow.furnace - Pattern Data (144)
|
||||||
```
|
```
|
||||||
|
|
||||||
this top line of text is always the same except for the number in parentheses, which is the internal build number. for example, 0.6.6 is `218`.
|
this top line of text is always the same except for the number in parentheses, which is the internal build number. for example, 0.6.7 is `219`.
|
||||||
|
|
||||||
the second line is a number between 0 and 18 (decimal) which indicates which column the clip starts from.
|
the second line is a number between 0 and 18 (decimal) which indicates which column the clip starts from.
|
||||||
- `0`: note.
|
- `0`: note.
|
||||||
|
|
|
@ -32,6 +32,7 @@ these fields are 0 in format versions prior to 100 (0.6pre1).
|
||||||
|
|
||||||
the format versions are:
|
the format versions are:
|
||||||
|
|
||||||
|
- 219: Furnace 0.6.7
|
||||||
- 218: Furnace 0.6.6
|
- 218: Furnace 0.6.6
|
||||||
- 214: Furnace 0.6.5
|
- 214: Furnace 0.6.5
|
||||||
- 212: Furnace 0.6.4
|
- 212: Furnace 0.6.4
|
||||||
|
@ -190,7 +191,7 @@ size | description
|
||||||
| - 0x9c: Virtual Boy - 6 channels
|
| - 0x9c: Virtual Boy - 6 channels
|
||||||
| - 0x9d: VRC7 - 6 channels
|
| - 0x9d: VRC7 - 6 channels
|
||||||
| - 0x9e: YM2610B - 16 channels
|
| - 0x9e: YM2610B - 16 channels
|
||||||
| - 0x9f: ZX Spectrum (beeper, tildearrow engine) - 6 channels
|
| - 0x9f: ZX Spectrum (beeper, SFX-like tildearrow engine) - 6 channels
|
||||||
| - 0xa0: YM2612 extended - 9 channels
|
| - 0xa0: YM2612 extended - 9 channels
|
||||||
| - 0xa1: Konami SCC - 5 channels
|
| - 0xa1: Konami SCC - 5 channels
|
||||||
| - 0xa2: OPL drums (YM3526) - 11 channels
|
| - 0xa2: OPL drums (YM3526) - 11 channels
|
||||||
|
@ -205,8 +206,8 @@ size | description
|
||||||
| - 0xab: MSM6258 - 1 channel
|
| - 0xab: MSM6258 - 1 channel
|
||||||
| - 0xac: Commander X16 (VERA) - 17 channels
|
| - 0xac: Commander X16 (VERA) - 17 channels
|
||||||
| - 0xad: Bubble System WSG - 2 channels
|
| - 0xad: Bubble System WSG - 2 channels
|
||||||
| - 0xae: OPL4 (YMF278B) - 42 channels (UNAVAILABLE)
|
| - 0xae: OPL4 (YMF278B) - 42 channels
|
||||||
| - 0xaf: OPL4 drums (YMF278B) - 44 channels (UNAVAILABLE)
|
| - 0xaf: OPL4 drums (YMF278B) - 44 channels
|
||||||
| - 0xb0: Seta/Allumer X1-010 - 16 channels
|
| - 0xb0: Seta/Allumer X1-010 - 16 channels
|
||||||
| - 0xb1: Ensoniq ES5506 - 32 channels
|
| - 0xb1: Ensoniq ES5506 - 32 channels
|
||||||
| - 0xb2: Yamaha Y8950 - 10 channels
|
| - 0xb2: Yamaha Y8950 - 10 channels
|
||||||
|
@ -257,8 +258,8 @@ size | description
|
||||||
| - 0xe0: QSound - 19 channels
|
| - 0xe0: QSound - 19 channels
|
||||||
| - 0xe1: PS1 - 24 channels (UNAVAILABLE)
|
| - 0xe1: PS1 - 24 channels (UNAVAILABLE)
|
||||||
| - 0xe2: C64 (6581) with PCM - 4 channels (UNAVAILABLE)
|
| - 0xe2: C64 (6581) with PCM - 4 channels (UNAVAILABLE)
|
||||||
| - 0xe3: Watara Supervision - 4 channels (UNAVAILABLE)
|
| - 0xe3: Watara Supervision - 4 channels
|
||||||
| - 0xe4: µPD1771C - 1 channel (UNAVAILABLE)
|
| - 0xe4: µPD1771C - 1 channel
|
||||||
| - 0xf0: SID2 - 3 channels
|
| - 0xf0: SID2 - 3 channels
|
||||||
| - 0xf1: 5E01 - 5 channels
|
| - 0xf1: 5E01 - 5 channels
|
||||||
| - 0xf5: SID3 - 7 channels
|
| - 0xf5: SID3 - 7 channels
|
||||||
|
@ -390,7 +391,7 @@ size | description
|
||||||
1 | reset arp effect phase on new note (>=184)
|
1 | reset arp effect phase on new note (>=184)
|
||||||
1 | linear volume scaling rounds up (>=188)
|
1 | linear volume scaling rounds up (>=188)
|
||||||
1 | legacy "always set volume" behavior (>=191)
|
1 | legacy "always set volume" behavior (>=191)
|
||||||
1 | reserved
|
1 | legacy sample offset effect (>=200)
|
||||||
--- | **speed pattern of first song** (>=139)
|
--- | **speed pattern of first song** (>=139)
|
||||||
1 | length of speed pattern (fail if this is lower than 0 or higher than 16)
|
1 | length of speed pattern (fail if this is lower than 0 or higher than 16)
|
||||||
16 | speed pattern (this overrides speed 1 and speed 2 settings)
|
16 | speed pattern (this overrides speed 1 and speed 2 settings)
|
||||||
|
@ -589,6 +590,7 @@ size | description
|
||||||
| - 11: 8-bit μ-law PCM
|
| - 11: 8-bit μ-law PCM
|
||||||
| - 12: C219 PCM
|
| - 12: C219 PCM
|
||||||
| - 13: IMA ADPCM
|
| - 13: IMA ADPCM
|
||||||
|
| - 14: 12-bit PCM (MultiPCM)
|
||||||
| - 16: 16-bit PCM
|
| - 16: 16-bit PCM
|
||||||
1 | loop direction (>=123) or reserved
|
1 | loop direction (>=123) or reserved
|
||||||
| - 0: forward
|
| - 0: forward
|
||||||
|
|
|
@ -585,6 +585,11 @@ size | description
|
||||||
1 | LFO rate
|
1 | LFO rate
|
||||||
1 | vibrato depth
|
1 | vibrato depth
|
||||||
1 | AM depth
|
1 | AM depth
|
||||||
|
1 | flags (>=221)
|
||||||
|
| - bit 0: damp
|
||||||
|
| - bit 1: pseudo-reverb
|
||||||
|
| - bit 2: LFO reset
|
||||||
|
| - bit 3: level direct
|
||||||
```
|
```
|
||||||
|
|
||||||
# Sound Unit data (SU)
|
# Sound Unit data (SU)
|
||||||
|
|
2
po/de.po
|
@ -1,7 +1,7 @@
|
||||||
#
|
#
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: furnace 0.6.6\n"
|
"Project-Id-Version: furnace 0.6.7\n"
|
||||||
"Last-Translator: Automatically generated\n"
|
"Last-Translator: Automatically generated\n"
|
||||||
"Language-Team: none\n"
|
"Language-Team: none\n"
|
||||||
"Language: de\n"
|
"Language: de\n"
|
||||||
|
|
2
po/es.po
|
@ -1,7 +1,7 @@
|
||||||
#
|
#
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: furnace 0.6.6\n"
|
"Project-Id-Version: furnace 0.6.7\n"
|
||||||
"Last-Translator: Automatically generated\n"
|
"Last-Translator: Automatically generated\n"
|
||||||
"Language-Team: none\n"
|
"Language-Team: none\n"
|
||||||
"Language: es\n"
|
"Language: es\n"
|
||||||
|
|
2
po/fi.po
|
@ -1,7 +1,7 @@
|
||||||
#
|
#
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: furnace 0.6.6\n"
|
"Project-Id-Version: furnace 0.6.7\n"
|
||||||
"Last-Translator: Automatically generated\n"
|
"Last-Translator: Automatically generated\n"
|
||||||
"Language-Team: none\n"
|
"Language-Team: none\n"
|
||||||
"Language: fi\n"
|
"Language: fi\n"
|
||||||
|
|
2
po/fr.po
|
@ -1,7 +1,7 @@
|
||||||
#
|
#
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: furnace 0.6.6\n"
|
"Project-Id-Version: furnace 0.6.7\n"
|
||||||
"Last-Translator: Automatically generated\n"
|
"Last-Translator: Automatically generated\n"
|
||||||
"Language-Team: none\n"
|
"Language-Team: none\n"
|
||||||
"Language: fr\n"
|
"Language: fr\n"
|
||||||
|
|
2
po/hy.po
|
@ -1,7 +1,7 @@
|
||||||
#
|
#
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: furnace 0.6.6\n"
|
"Project-Id-Version: furnace 0.6.7\n"
|
||||||
"Last-Translator: Automatically generated\n"
|
"Last-Translator: Automatically generated\n"
|
||||||
"Language-Team: none\n"
|
"Language-Team: none\n"
|
||||||
"Language: hy\n"
|
"Language: hy\n"
|
||||||
|
|
2
po/id.po
|
@ -1,7 +1,7 @@
|
||||||
#
|
#
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: furnace 0.6.6\n"
|
"Project-Id-Version: furnace 0.6.7\n"
|
||||||
"Last-Translator: Automatically generated\n"
|
"Last-Translator: Automatically generated\n"
|
||||||
"Language-Team: none\n"
|
"Language-Team: none\n"
|
||||||
"Language: id\n"
|
"Language: id\n"
|
||||||
|
|
2
po/ja.po
|
@ -1,7 +1,7 @@
|
||||||
#
|
#
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: furnace 0.6.6\n"
|
"Project-Id-Version: furnace 0.6.7\n"
|
||||||
"Last-Translator: Automatically generated\n"
|
"Last-Translator: Automatically generated\n"
|
||||||
"Language-Team: none\n"
|
"Language-Team: none\n"
|
||||||
"Language: ja\n"
|
"Language: ja\n"
|
||||||
|
|
2
po/ko.po
|
@ -1,7 +1,7 @@
|
||||||
#
|
#
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: furnace 0.6.6\n"
|
"Project-Id-Version: furnace 0.6.7\n"
|
||||||
"Last-Translator: 희민Heemin\n"
|
"Last-Translator: 희민Heemin\n"
|
||||||
"Language-Team: none\n"
|
"Language-Team: none\n"
|
||||||
"Language: ko\n"
|
"Language: ko\n"
|
||||||
|
|
2
po/nl.po
|
@ -1,7 +1,7 @@
|
||||||
#
|
#
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: furnace 0.6.6\n"
|
"Project-Id-Version: furnace 0.6.7\n"
|
||||||
"POT-Creation-Date: \n"
|
"POT-Creation-Date: \n"
|
||||||
"PO-Revision-Date: \n"
|
"PO-Revision-Date: \n"
|
||||||
"Last-Translator: Lunathir\n"
|
"Last-Translator: Lunathir\n"
|
||||||
|
|