mirror of
https://github.com/tildearrow/furnace.git
synced 2024-11-01 10:32:40 +00:00
General docs updates.
New menu items, new options, a whole new user systems feature...
This commit is contained in:
parent
fca3ce02a7
commit
6037adab51
16 changed files with 311 additions and 234 deletions
|
@ -18,30 +18,31 @@ the default layout of Furnace is depicted below.
|
||||||
- [play/edit controls](play-edit-controls.md)
|
- [play/edit controls](play-edit-controls.md)
|
||||||
- [instrument/wavetable/sample list](asset-list.md)
|
- [instrument/wavetable/sample list](asset-list.md)
|
||||||
- [song information](song-info.md)
|
- [song information](song-info.md)
|
||||||
- [effect list window](effect-list-window.md)
|
|
||||||
- [pattern view](../3-pattern/README.md)
|
- [pattern view](../3-pattern/README.md)
|
||||||
|
- [effect list window](effect-list-window.md)
|
||||||
- [instrument editor](../4-instrument/README.md)
|
- [instrument editor](../4-instrument/README.md)
|
||||||
- [wavetable editor](../5-wave/README.md)
|
- [wavetable editor](../5-wave/README.md)
|
||||||
- [sample editor](../6-sample/README.md)
|
- [sample editor](../6-sample/README.md)
|
||||||
|
|
||||||
## advanced topics
|
## advanced topics
|
||||||
|
|
||||||
- [mixer](../8-advanced/mixer.md)
|
|
||||||
- [grooves](../8-advanced/grooves.md)
|
|
||||||
- [channels](../8-advanced/channels.md)
|
|
||||||
- [pattern manager](../8-advanced/pat-manager.md)
|
|
||||||
- [chip manager](../8-advanced/chip-manager.md)
|
|
||||||
- [compatibility flags](../8-advanced/compat-flags.md)
|
|
||||||
- [song comments](../8-advanced/comments.md)
|
- [song comments](../8-advanced/comments.md)
|
||||||
- [piano/input pad](../8-advanced/piano.md)
|
- [channels](../8-advanced/channels.md)
|
||||||
|
- [chip manager](../8-advanced/chip-manager.md)
|
||||||
|
- [pattern manager](../8-advanced/pat-manager.md)
|
||||||
|
- [mixer](../8-advanced/mixer.md)
|
||||||
|
- [compatibility flags](../8-advanced/compat-flags.md)
|
||||||
- [oscilloscope](../8-advanced/osc.md)
|
- [oscilloscope](../8-advanced/osc.md)
|
||||||
- [oscilloscope (per channel)](../8-advanced/chanosc.md)
|
- [oscilloscope (per channel)](../8-advanced/chanosc.md)
|
||||||
|
- [oscilloscope (X-Y)](../8-advanced/xyosc.md)
|
||||||
- [clock](../8-advanced/clock.md)
|
- [clock](../8-advanced/clock.md)
|
||||||
- [register view](../8-advanced/regview.md)
|
- [grooves](../8-advanced/grooves.md)
|
||||||
- [log viewer](../8-advanced/log-viewer.md)
|
- [log viewer](../8-advanced/log-viewer.md)
|
||||||
|
- [register view](../8-advanced/regview.md)
|
||||||
- [statistics](../8-advanced/stats.md)
|
- [statistics](../8-advanced/stats.md)
|
||||||
|
- [memory composition](../8-advanced/memory-composition.md)
|
||||||
|
|
||||||
## other topics
|
## other topics
|
||||||
|
|
||||||
- [basic mode](basic-mode.md)
|
- [piano/input pad](../8-advanced/piano.md)
|
||||||
- [settings](settings.md)
|
- [settings](settings.md)
|
||||||
|
|
|
@ -1,26 +1,27 @@
|
||||||
# export
|
# export
|
||||||
|
|
||||||
Furnace allows you to export your song in several formats. this section deals with describing the available export options.
|
Furnace allows you to export your song in several formats. this section deals with describing the available export options within each tab of the export window.
|
||||||
|
|
||||||
## export audio
|
## Audio
|
||||||
|
|
||||||
this option allows you to export your song in .wav format. I know I know, no .mp3 or .ogg export yet, but you can use a converter.
|
this option allows you to export your song in .wav format. I know I know, no .mp3 or .ogg export yet, but you can use a converter.
|
||||||
|
|
||||||
there are two parameters:
|
- **Export type**:
|
||||||
|
- **one file**: exports your song to one .wav file.
|
||||||
|
- **multiple files (one per chip)**: exports the output of each chip to .wav files.
|
||||||
|
- **multiple files (one per channel)**: exports the output of each channel to .wav files.
|
||||||
|
- useful for usage with a channel visualizer such as corrscope.
|
||||||
|
- **Bit depth**:
|
||||||
|
- **16-bit integer**: the most common type of .wav file, perfect for music playback.
|
||||||
|
- **32-bit float**: used for advanced audio manipulation. don't select this unless you know what you need it for.
|
||||||
|
- **Sample rate**: the default is 44100, the most common .wav sample rate.
|
||||||
|
- **Channels in file**: default is 2 (stereo). Set to 1 for mono.
|
||||||
- **Loops**: sets the number of times the song will loop.
|
- **Loops**: sets the number of times the song will loop.
|
||||||
- does not have effect if the song ends with `FFxx` effect.
|
- does not have effect if the song ends with `FFxx` effect.
|
||||||
- **Fade out (seconds)**: sets the fade out time when the song is over.
|
- **Fade out (seconds)**: sets the fade out time when the song is over.
|
||||||
- does not have effect if the song ends with `FFxx` effect.
|
- does not have effect if the song ends with `FFxx` effect.
|
||||||
|
|
||||||
and three export choices:
|
## VGM
|
||||||
|
|
||||||
- **one file**: exports your song to one .wav file.
|
|
||||||
- **multiple files (one per chip)**: exports the output of each chip to .wav files.
|
|
||||||
- **multiple files (one per channel)**: exports the output of each channel to .wav files.
|
|
||||||
- useful for usage with a channel visualizer such as corrscope.
|
|
||||||
|
|
||||||
## export VGM
|
|
||||||
|
|
||||||
this option allows exporting to a VGM (Video Game Music) file. these can be played back with VGMPlay (for example).
|
this option allows exporting to a VGM (Video Game Music) file. these can be played back with VGMPlay (for example).
|
||||||
|
|
||||||
|
@ -40,9 +41,6 @@ the following settings exist:
|
||||||
- **custom**: allows you to specify how many ticks to add.
|
- **custom**: allows you to specify how many ticks to add.
|
||||||
- `0` is effectively none, disabling loop trail completely.
|
- `0` is effectively none, disabling loop trail completely.
|
||||||
- this option will not appear if the loop modality isn't set to None as there wouldn't be a need to.
|
- this option will not appear if the loop modality isn't set to None as there wouldn't be a need to.
|
||||||
- **chips to export**: select which chips are going to be exported.
|
|
||||||
- due to VGM format limitations, you can only select up to two of each chip type.
|
|
||||||
- some chips will not be available, either because VGM doesn't support these yet, or because you selected an old format version.
|
|
||||||
- **add pattern change hints**: this option adds a "hint" when a pattern change occurs. only useful if you're a developer.
|
- **add pattern change hints**: this option adds a "hint" when a pattern change occurs. only useful if you're a developer.
|
||||||
- the format of the "hint" data block that gets written is: `67 66 FE ll ll ll ll 01 oo rr pp pp pp ...`
|
- the format of the "hint" data block that gets written is: `67 66 FE ll ll ll ll 01 oo rr pp pp pp ...`
|
||||||
- `ll`: length, a 32-bit little-endian number
|
- `ll`: length, a 32-bit little-endian number
|
||||||
|
@ -51,12 +49,9 @@ the following settings exist:
|
||||||
- `pp`: pattern index (one per channel)
|
- `pp`: pattern index (one per channel)
|
||||||
- **direct stream mode**: this option allows DualPCM to work. don't use this for other chips.
|
- **direct stream mode**: this option allows DualPCM to work. don't use this for other chips.
|
||||||
- may or may not play well with hardware VGM players.
|
- may or may not play well with hardware VGM players.
|
||||||
|
- **chips to export**: select which chips are going to be exported.
|
||||||
click on **click to export** to begin exporting.
|
- due to VGM format limitations, you can only select up to two of each chip type.
|
||||||
|
- some chips will not be available, either because VGM doesn't support these yet, or because you selected an old format version.
|
||||||
## export text
|
|
||||||
|
|
||||||
this option allows you to export your song as a text file.
|
|
||||||
|
|
||||||
## export ZSM
|
## export ZSM
|
||||||
|
|
||||||
|
@ -72,21 +67,21 @@ the following settings are available:
|
||||||
- **loop**: enables loop. if disabled, the song won't loop.
|
- **loop**: enables loop. if disabled, the song won't loop.
|
||||||
- **optimize size**: removes unnecessary commands to reduce size.
|
- **optimize size**: removes unnecessary commands to reduce size.
|
||||||
|
|
||||||
click on **Begin Export** to... you know.
|
## export text
|
||||||
|
|
||||||
|
this option allows you to export your song as a text file.
|
||||||
|
|
||||||
## export command stream
|
## export command stream
|
||||||
|
|
||||||
this option exports a binary file which contains a dump of the internal command stream produced when playing the song.
|
this option exports a binary file in Furnace's own command stream format (FCS) which contains a dump of the internal command stream produced when playing the song.
|
||||||
|
|
||||||
it's not really useful, unless you're a developer and want to use a command stream dump for some reason (e.g. writing a hardware sound driver).
|
it's not really useful, unless you're a developer and want to use a command stream dump for some reason (e.g. writing a hardware sound driver). see `export-tech.md` in `papers/` for details.
|
||||||
|
|
||||||
- **export**: exports in Furnace's own command stream format (FCS). see `export-tech.md` in `papers/` for details.
|
|
||||||
|
|
||||||
## export DMF
|
## export DMF
|
||||||
|
|
||||||
this option allows you to save your song as a .dmf which can be opened in DefleMask.
|
this option allows you to save your song as a .dmf which can be opened in DefleMask.
|
||||||
|
|
||||||
the following systems are supported when saving as 1.0/legacy:
|
the following systems are supported when saving as 1.0/legacy (0.12):
|
||||||
- Sega Genesis/Mega Drive (YM2612 + SN76489)
|
- Sega Genesis/Mega Drive (YM2612 + SN76489)
|
||||||
- Sega Genesis/Mega Drive (YM2612 + SN76489, extended channel 3)
|
- Sega Genesis/Mega Drive (YM2612 + SN76489, extended channel 3)
|
||||||
- Sega Master System
|
- Sega Master System
|
||||||
|
@ -97,7 +92,7 @@ the following systems are supported when saving as 1.0/legacy:
|
||||||
- Arcade (YM2151 + SegaPCM 5-channel compatibility)
|
- Arcade (YM2151 + SegaPCM 5-channel compatibility)
|
||||||
- Neo Geo CD (DefleMask 1.0+)
|
- Neo Geo CD (DefleMask 1.0+)
|
||||||
|
|
||||||
the following systems are supported when saving as 1.1.3+:
|
the following systems are also supported when saving as 1.1.3+:
|
||||||
- Sega Master System (with FM expansion)
|
- Sega Master System (with FM expansion)
|
||||||
- NES + Konami VRC7
|
- NES + Konami VRC7
|
||||||
- Famicom Disk System
|
- Famicom Disk System
|
||||||
|
|
|
@ -39,7 +39,7 @@ the keys in the "Global hotkeys" section can be used in any window, although not
|
||||||
| Panic | `F12` |
|
| Panic | `F12` |
|
||||||
| | |
|
| | |
|
||||||
| **Window activation** | |
|
| **Window activation** | |
|
||||||
| Find/Replace | Ctrl-F |
|
| Find/Replace | `Ctrl-F` |
|
||||||
| Settings | — |
|
| Settings | — |
|
||||||
| Song Information | — |
|
| Song Information | — |
|
||||||
| Subsongs | — |
|
| Subsongs | — |
|
||||||
|
@ -63,16 +63,23 @@ the keys in the "Global hotkeys" section can be used in any window, although not
|
||||||
| Piano | — |
|
| Piano | — |
|
||||||
| Oscilloscope (master) | — |
|
| Oscilloscope (master) | — |
|
||||||
| Oscilloscope (per-channel) | — |
|
| Oscilloscope (per-channel) | — |
|
||||||
|
| Oscilloscope (X-Y) | — |
|
||||||
| Volume Meter | — |
|
| Volume Meter | — |
|
||||||
| Clock | — |
|
| Clock | — |
|
||||||
| Register View | — |
|
| Register View | — |
|
||||||
| Log Viewer | — |
|
| Log Viewer | — |
|
||||||
| Statistics | — |
|
| Statistics | — |
|
||||||
|
| Memory Composition | — |
|
||||||
| Effect List | — |
|
| Effect List | — |
|
||||||
| Debug Menu | `Ctrl-Shift-D` |
|
| Debug Menu | `Ctrl-Shift-D` |
|
||||||
|
| Command Stream Player | — |
|
||||||
| About | — |
|
| About | — |
|
||||||
| Collapse/expand current window | — |
|
| Collapse/expand current window | — |
|
||||||
| Close current window | `Shift-Escape` |
|
| Close current window | `Shift-Escape` |
|
||||||
|
| Command Palette | `Ctrl-P` |
|
||||||
|
| Recent files (Palette) | — |
|
||||||
|
| Insstruments (Palette) | — |
|
||||||
|
| Samples (Palette) | — |
|
||||||
| | |
|
| | |
|
||||||
| **Note input** | |
|
| **Note input** | |
|
||||||
| _see "note input" section after table_ | |
|
| _see "note input" section after table_ | |
|
||||||
|
@ -102,8 +109,8 @@ the keys in the "Global hotkeys" section can be used in any window, although not
|
||||||
| Move cursor down by one (override Edit Step) | `Shift-End` |
|
| Move cursor down by one (override Edit Step) | `Shift-End` |
|
||||||
| Move cursor to previous channel | — |
|
| Move cursor to previous channel | — |
|
||||||
| Move cursor to next channel | — |
|
| Move cursor to next channel | — |
|
||||||
| Move cursor to next channel (overflow) | — |
|
|
||||||
| Move cursor to previous channel (overflow) | — |
|
| Move cursor to previous channel (overflow) | — |
|
||||||
|
| Move cursor to next channel (overflow) | — |
|
||||||
| Move cursor to beginning of pattern | `Home` |
|
| Move cursor to beginning of pattern | `Home` |
|
||||||
| Move cursor to end of pattern | `End` |
|
| Move cursor to end of pattern | `End` |
|
||||||
| Move cursor up (coarse) | `PageUp` |
|
| Move cursor up (coarse) | `PageUp` |
|
||||||
|
@ -118,6 +125,10 @@ the keys in the "Global hotkeys" section can be used in any window, although not
|
||||||
| Expand selection to end of pattern | — |
|
| Expand selection to end of pattern | — |
|
||||||
| Expand selection upwards (coarse) | `Shift-PageUp` |
|
| Expand selection upwards (coarse) | `Shift-PageUp` |
|
||||||
| Expand selection downwards (coarse) | `Shift-PageDown` |
|
| Expand selection downwards (coarse) | `Shift-PageDown` |
|
||||||
|
| Move selection up by one | `Alt-Up` |
|
||||||
|
| Move selection down by one | `Alt-Down` |
|
||||||
|
| Move selection to previous channel | `Alt-Left` |
|
||||||
|
| Move selection to next channel | `Alt-Right` |
|
||||||
| Delete | `Delete` |
|
| Delete | `Delete` |
|
||||||
| Pull delete | `Backspace` |
|
| Pull delete | `Backspace` |
|
||||||
| Insert | `Insert` |
|
| Insert | `Insert` |
|
||||||
|
@ -143,102 +154,103 @@ the keys in the "Global hotkeys" section can be used in any window, although not
|
||||||
| Clear note input latch | — |
|
| Clear note input latch | — |
|
||||||
| | |
|
| | |
|
||||||
| **Instrument list** | |
|
| **Instrument list** | |
|
||||||
| Add | `Insert` |
|
| Add instrument | `Insert` |
|
||||||
| Duplicate | `Ctrl-D` |
|
| Duplicate instrument | `Ctrl-D` |
|
||||||
| Open | — |
|
| Open instrument | — |
|
||||||
| Open (replace current) | — |
|
| Open instrument (replace current) | — |
|
||||||
| Save | — |
|
| Save instrument | — |
|
||||||
| Save (.dmp) | — |
|
| Save instrument (.dmp) | — |
|
||||||
| Move up | `Shift-Up` |
|
| Move instrument up in list | `Shift-Up` |
|
||||||
| Move down | `Shift-Down` |
|
| Move instrument down in list | `Shift-Down` |
|
||||||
| Delete | — |
|
| Delete instrument | — |
|
||||||
| Edit | `Shift-Return` |
|
| Edit instrument | `Shift-Return` |
|
||||||
| Cursor up | `Up` |
|
| Instrument cursor up | `Up` |
|
||||||
| Cursor down | `Down` |
|
| Instrument cursor down | `Down` |
|
||||||
| Toggle folders/standard view | `Ctrl-V` |
|
| Instruments: toggle folders/standard view | `Ctrl-V` |
|
||||||
| | |
|
| | |
|
||||||
| **Wavetable list** | |
|
| **Wavetable list** | |
|
||||||
| Add | `Insert` |
|
| Add wavetable | `Insert` |
|
||||||
| Duplicate | `Ctrl-D` |
|
| Duplicate wavetable | `Ctrl-D` |
|
||||||
| Open | — |
|
| Open wavetable | — |
|
||||||
| Open (replace current) | — |
|
| Open wavetable (replace current) | — |
|
||||||
| Save | — |
|
| Save wavetable | — |
|
||||||
| Save (.dmw) | — |
|
| Save wavetable (.dmw) | — |
|
||||||
| Save (raw) | — |
|
| Save wavetable (raw) | — |
|
||||||
| Move up | `Shift-Up` |
|
| Move wavetable up in list | `Shift-Up` |
|
||||||
| Move down | `Shift-Down` |
|
| Move wavetable down in list | `Shift-Down` |
|
||||||
| Delete | — |
|
| Delete wavetable | — |
|
||||||
| Edit | `Shift-Return` |
|
| Edit wavetable | `Shift-Return` |
|
||||||
| Cursor up | `Up` |
|
| Wavetable cursor up | `Up` |
|
||||||
| Cursor down | `Down` |
|
| Wavetable cursor down | `Down` |
|
||||||
| Toggle folders/standard view | `Ctrl-V` |
|
| Wavetables: toggle folders/standard view | `Ctrl-V` |
|
||||||
| | |
|
| | |
|
||||||
| **Sample list** | |
|
| **Sample list** | |
|
||||||
| Add | `Insert` |
|
| Add sample | `Insert` |
|
||||||
| Duplicate | `Ctrl-D` |
|
| Duplicate sample | `Ctrl-D` |
|
||||||
| Create wavetable from selection | `Ctrl-W` |
|
| Sample Editor: Create wavetable from selection | `Ctrl-W` |
|
||||||
| Open | — |
|
| Open sample | — |
|
||||||
| Open (replace current) | — |
|
| Open sample (replace current) | — |
|
||||||
| Import raw data | — |
|
| Import raw sample data | — |
|
||||||
| Import raw data (replace current) | — |
|
| Import raw sample data (replace current) | — |
|
||||||
| Save | — |
|
| Save sample | — |
|
||||||
| Save (raw) | — |
|
| Save sample (raw) | — |
|
||||||
| Move up | `Shift-Up` |
|
| Move sample up in list | `Shift-Up` |
|
||||||
| Move down | `Shift-Down` |
|
| Move sample down in list | `Shift-Down` |
|
||||||
| Delete | — |
|
| Delete sample | — |
|
||||||
| Edit | `Shift-Return` |
|
| Edit sample | `Shift-Return` |
|
||||||
| Cursor up | `Up` |
|
| Sample cursor up | `Up` |
|
||||||
| Cursor down | `Down` |
|
| Sample cursor down | `Down` |
|
||||||
| Preview | — |
|
| Sample Preview | — |
|
||||||
| Stop preview | — |
|
| Stop sample preview | — |
|
||||||
| Toggle folders/standard view | `Ctrl-V` |
|
| Samples: Toggle folders/standard view | `Ctrl-V` |
|
||||||
|
| Samples: Make me a drum kit | — |
|
||||||
| | |
|
| | |
|
||||||
| **Orders** | |
|
| **Orders** | |
|
||||||
| Previous order | `Up` |
|
| Previous order | `Up` |
|
||||||
| Next order | `Down` |
|
| Next order | `Down` |
|
||||||
| Cursor left | `Left` |
|
| Order cursor left | `Left` |
|
||||||
| Cursor right | `Right` |
|
| Order cursor right | `Right` |
|
||||||
| Increase value | — |
|
| Increase order value | — |
|
||||||
| Decrease value | — |
|
| Decrease order value | — |
|
||||||
| Switch edit mode | — |
|
| Switch order edit mode | — |
|
||||||
| Toggle alter entire row | `Ctrl-L` |
|
| Order: Toggle alter entire row | `Ctrl-L` |
|
||||||
| Add | `Insert` |
|
| Add order | `Insert` |
|
||||||
| Duplicate | `Ctrl-D` |
|
| Duplicate order | `Ctrl-D` |
|
||||||
| Deep clone | `Ctrl-Shift-D` |
|
| Deep clone order | `Ctrl-Shift-D` |
|
||||||
| Duplicate to end of song | `Ctrl-E` |
|
| Copy current order to end of song | `Ctrl-E` |
|
||||||
| Deep clone to end of song | `Ctrl-Shift-E` |
|
| Deep clone current order to end of song | `Ctrl-Shift-E` |
|
||||||
| Remove | `Delete` |
|
| Remove order | `Delete` |
|
||||||
| Move up | `Shift-Up` |
|
| Move order up | `Shift-Up` |
|
||||||
| Move down | `Shift-Down` |
|
| Move order down | `Shift-Down` |
|
||||||
| Replay | — |
|
| Replay order | — |
|
||||||
| | |
|
| | |
|
||||||
| **Sample editor** | |
|
| **Sample editor** | |
|
||||||
| Edit mode: Select | `Shift-I` |
|
| Sample editor mode: Select | `Shift-I` |
|
||||||
| Edit mode: Draw | `Shift-D` |
|
| Sample editor mode: Draw | `Shift-D` |
|
||||||
| Cut | `Ctrl-X` |
|
| Sample editor: Cut | `Ctrl-X` |
|
||||||
| Copy | `Ctrl-C` |
|
| Sample editor: Copy | `Ctrl-C` |
|
||||||
| Paste | `Ctrl-V` |
|
| Sample editor: Paste | `Ctrl-V` |
|
||||||
| Paste replace | `Ctrl-Shift-V` |
|
| Sample editor: Paste replace | `Ctrl-Shift-V` |
|
||||||
| Paste mix | `Ctrl-Alt-V` |
|
| Sample editor: Paste mix | `Ctrl-Alt-V` |
|
||||||
| Select all | `Ctrl-A` |
|
| Sample editor: Select all | `Ctrl-A` |
|
||||||
| Resize | `Ctrl-R` |
|
| Sample editor: Resize | `Ctrl-R` |
|
||||||
| Resample | `Ctrl-E` |
|
| Sample editor: Resample | `Ctrl-E` |
|
||||||
| Amplify | `Ctrl-B` |
|
| Sample editor: Amplify | `Ctrl-B` |
|
||||||
| Normalize | `Ctrl-N` |
|
| Sample editor: Normalize | `Ctrl-N` |
|
||||||
| Fade in | `Ctrl-I` |
|
| Sample editor: Fade in | `Ctrl-I` |
|
||||||
| Fade out | `Ctrl-O` |
|
| Sample editor: Fade out | `Ctrl-O` |
|
||||||
| Insert silence | `Insert` |
|
| Sample editor: Insert silence | `Insert` |
|
||||||
| Apply silence | `Shift-Delete` |
|
| Sample editor: Apply silence | `Shift-Delete` |
|
||||||
| Delete | `Delete` |
|
| Sample editor: Delete | `Delete` |
|
||||||
| Trim | `Ctrl-Delete` |
|
| Sample editor: Trim | `Ctrl-Delete` |
|
||||||
| Reverse | `Ctrl-T` |
|
| Sample editor: Reverse | `Ctrl-T` |
|
||||||
| Invert | `Ctrl-Shift-T` |
|
| Sample editor: Invert | `Ctrl-Shift-T` |
|
||||||
| Signed/unsigned exchange | `Ctrl-U` |
|
| Sample editor: Signed/unsigned exchange | `Ctrl-U` |
|
||||||
| Apply filter | `Ctrl-F` |
|
| Sample editor: Apply filter | `Ctrl-F` |
|
||||||
| Preview sample | — |
|
| Sample editor: Preview sample | — |
|
||||||
| Stop sample preview | — |
|
| Sample editor: Stop sample preview | — |
|
||||||
| Zoom in | `Ctrl-=` |
|
| Sample editor: Zoom in | `Ctrl-=` |
|
||||||
| Zoom out | `Ctrl--` |
|
| Sample editor: Zoom out | `Ctrl--` |
|
||||||
| Toggle auto-zoom | `Ctrl-0` |
|
| Sample editor: Toggle auto-zoom | `Ctrl-0` |
|
||||||
| Create instrument from sample | — |
|
| Sample editor: Create instrument from sample | — |
|
||||||
| Set loop to selection | `Ctrl-L` |
|
| Sample editor: Set loop to selection | `Ctrl-L` |
|
||||||
|
|
|
@ -2,24 +2,20 @@
|
||||||
|
|
||||||
the menu bar allows you to select from five menus: file, edit, settings, window and help.
|
the menu bar allows you to select from five menus: file, edit, settings, window and help.
|
||||||
|
|
||||||
items in _italic_ don't appear in basic mode and are only available in advanced mode.
|
|
||||||
|
|
||||||
## file
|
## file
|
||||||
|
|
||||||
- **new...**: creates a new song.
|
- **new...**: opens the new song dialog to choose a system.
|
||||||
|
- click a system name to create a new song with it.
|
||||||
|
- some systems have several variants and are grouped, indicated by with a triangle to the left of the name. the first click on a group opens it. clicking again on the group name will create a new song with it.
|
||||||
- **open...**: opens the file picker, allowing you to select a song to open.
|
- **open...**: opens the file picker, allowing you to select a song to open.
|
||||||
- see [file formats](formats.md) for a list of formats Furnace is able to open.
|
- see [file formats](formats.md) for a list of formats Furnace is able to open.
|
||||||
- **open recent**: contains a list of the songs you've opened before.
|
- **open recent**: contains a list of the songs you've opened before.
|
||||||
- **clear history**: erases the file history.
|
- **clear history**: erases the file history.
|
||||||
|
|
||||||
- **save**: saves the current song.
|
- **save**: saves the current song.
|
||||||
- opens the file picker if this is a new song, or a backup.
|
- opens the file picker if this is a new song, or a backup.
|
||||||
- **save as...**: opens the file picker, allowing you to save the song under a different name.
|
- **save as...**: opens the file picker, allowing you to save the song under a different name.
|
||||||
|
- **export...**: allows you to export your song into other formats, such as audio files, VGM and more. see the [export](export.md) page for more information.
|
||||||
- **export**: allows you to export your song into other formats, such as audio files, VGM and more. see the [export](export.md) page for more information.
|
|
||||||
|
|
||||||
- **manage chips**: opens the [Chip Manager](../8-advanced/chip-manager.md) dialog.
|
- **manage chips**: opens the [Chip Manager](../8-advanced/chip-manager.md) dialog.
|
||||||
|
|
||||||
- **restore backup**: restores a previously saved backup.
|
- **restore backup**: restores a previously saved backup.
|
||||||
- Furnace keeps up to 5 backups of a song.
|
- Furnace keeps up to 5 backups of a song.
|
||||||
- the backup directory is located in:
|
- the backup directory is located in:
|
||||||
|
@ -28,21 +24,18 @@ items in _italic_ don't appear in basic mode and are only available in advanced
|
||||||
- Linux/other: `~/.config/furnace/backups`
|
- Linux/other: `~/.config/furnace/backups`
|
||||||
- this directory grows in size as you use Furnace. remember to delete old backups periodically to save space.
|
- this directory grows in size as you use Furnace. remember to delete old backups periodically to save space.
|
||||||
- **do NOT rely on the backup system as auto-save!** you should save a restored backup because Furnace will not save backups of backups.
|
- **do NOT rely on the backup system as auto-save!** you should save a restored backup because Furnace will not save backups of backups.
|
||||||
|
|
||||||
- **exit**: closes Furnace.
|
- **exit**: closes Furnace.
|
||||||
|
|
||||||
## edit
|
## edit
|
||||||
|
|
||||||
- **...**: does nothing except prevent accidental clicks on later menu items if the menu is too tall to fit on the program window.
|
- **...**: does nothing except prevent accidental clicks on later menu items if the menu is too tall to fit on the program window.
|
||||||
|
|
||||||
- **undo**: reverts the last action.
|
- **undo**: reverts the last action.
|
||||||
- **redo**: repeats what you undid previously.
|
- **redo**: repeats what you undid previously.
|
||||||
|
|
||||||
- **cut**: moves the current selection in the pattern view to clipboard.
|
- **cut**: moves the current selection in the pattern view to clipboard.
|
||||||
- **copy**: copies the current selection in the pattern view to clipboard.
|
- **copy**: copies the current selection in the pattern view to clipboard.
|
||||||
- **paste**: inserts the clipboard's contents in the cursor position.
|
- **paste**: inserts the clipboard's contents in the cursor position.
|
||||||
- you may be able to paste from OpenMPT as well.
|
- you may be able to paste from OpenMPT as well.
|
||||||
- _**paste special...**:_ variants of the paste feature.
|
- **paste special...**: variants of the paste feature.
|
||||||
- **paste mix**: inserts the clipboard's contents in the cursor position, but does not erase the occupied region.
|
- **paste mix**: inserts the clipboard's contents in the cursor position, but does not erase the occupied region.
|
||||||
- **paste mix (background)**: does the same thing as paste mix, but doesn't alter content which is already there.
|
- **paste mix (background)**: does the same thing as paste mix, but doesn't alter content which is already there.
|
||||||
- **paste with ins (foreground)**: same thing as paste mix, but changes the instrument.
|
- **paste with ins (foreground)**: same thing as paste mix, but changes the instrument.
|
||||||
|
@ -55,81 +48,84 @@ items in _italic_ don't appear in basic mode and are only available in advanced
|
||||||
- if the selection is tall, it will select the entire column.
|
- if the selection is tall, it will select the entire column.
|
||||||
- if a column is already selected, it will select the entire channel.
|
- if a column is already selected, it will select the entire channel.
|
||||||
- if a channel is already selected, it will select the entire pattern.
|
- if a channel is already selected, it will select the entire pattern.
|
||||||
|
- **operation mask**: toggles which columns will be affected by the listed operations. [more information here.](../8-advanced/opmask.md)
|
||||||
- _**operation mask**:_ toggles which columns will be affected by the listed operations. [more information here.](../8-advanced/opmask.md)
|
- **input latch**: determines which data are placed along with a note. [more information here.](../8-advanced/inputlatch.md)
|
||||||
- _**input latch**:_ determines which data are placed along with a note. [more information here.](../8-advanced/inputlatch.md)
|
|
||||||
|
|
||||||
- **note/octave up/down**: transposes notes in the current selection.
|
- **note/octave up/down**: transposes notes in the current selection.
|
||||||
|
|
||||||
- **values up/down**: changes values in the current selection by ±1 or ±16.
|
- **values up/down**: changes values in the current selection by ±1 or ±16.
|
||||||
|
|
||||||
- **transpose**: transpose notes or change values by a specific amount.
|
- **transpose**: transpose notes or change values by a specific amount.
|
||||||
|
|
||||||
- **interpolate**: fills in gaps in the selection by interpolation between values.
|
- **interpolate**: fills in gaps in the selection by interpolation between values.
|
||||||
- **change instrument**: changes the instrument number in a selection.
|
- **change instrument...**: changes the instrument number in a selection.
|
||||||
- **gradient/fade**: replace the selection with a "gradient" that goes from the beginning of the selection to the end.
|
- **gradient/fade...**: replace the selection with a "gradient" that goes from the beginning of the selection to the end.
|
||||||
- does not affect the note column.
|
- does not affect the note column.
|
||||||
- **Nibble mode**: when enabled, the fade will be per-nibble (0 to F) rather than per-value (00 to FF).
|
- **Nibble mode**: when enabled, the fade will be per-nibble (0 to F) rather than per-value (00 to FF).
|
||||||
- use for effects like `04xy` (vibrato).
|
- use for effects like `04xy` (vibrato).
|
||||||
- **scale**: scales values in the selection by a specific amount.
|
- **scale...**: scales values in the selection by a specific amount.
|
||||||
- use to change volume in a selection for example.
|
- use to change volume in a selection for example.
|
||||||
- **randomize**: replaces the selection with random values.
|
- **randomize**: replaces the selection with random values.
|
||||||
- does not affect the note column.
|
- does not affect the note column.
|
||||||
|
- **Nibble mode**: when enabled, the randomization will be per-nibble (0 to F) rather than per-value (00 to FF).
|
||||||
- **invert values**: `00` becomes `FF`, `01` becomes `FE`, `02` becomes `FD` and so on.
|
- **invert values**: `00` becomes `FF`, `01` becomes `FE`, `02` becomes `FD` and so on.
|
||||||
|
|
||||||
- **flip selection**: flips the selection so it is backwards.
|
- **flip selection**: flips the selection so it is backwards.
|
||||||
- **collapse/expand amount**: allows you to specify how much to collapse/expand in the next two menu items.
|
- **collapse/expand amount**: allows you to specify how much to collapse/expand in the next two menu items.
|
||||||
- **collapse**: shrinks the selected contents.
|
- **collapse**: shrinks the selected contents.
|
||||||
- **expand**: expands the selected contents.
|
- **expand**: expands the selected contents.
|
||||||
|
|
||||||
- **collapse pattern**: same as collapse, but affects the entire pattern.
|
- **collapse pattern**: same as collapse, but affects the entire pattern.
|
||||||
- **expand pattern**: same as expand, but affects the entire pattern.
|
- **expand pattern**: same as expand, but affects the entire pattern.
|
||||||
|
|
||||||
- **collapse song**: same as collapse, but affects the entire song.
|
- **collapse song**: same as collapse, but affects the entire song.
|
||||||
- it also changes speeds and pattern length to compensate.
|
- it also changes speeds and pattern length to compensate.
|
||||||
- **expand song**: same as expand, but affects the entire song.
|
- **expand song**: same as expand, but affects the entire song.
|
||||||
- it also changes speeds and pattern length to compensate.
|
- it also changes speeds and pattern length to compensate.
|
||||||
|
- **find/replace**: shows [the Find/Replace window](../8-advanced/find-replace.md).
|
||||||
- _**find/replace**:_ shows [the Find/Replace window](../8-advanced/find-replace.md).
|
- **clear...**: opens a window that allows you to mass-delete things like songs, unused instruments, and the like.
|
||||||
|
|
||||||
- **clear**: opens a window that allows you to mass-delete things like songs, unused instruments, and the like.
|
|
||||||
|
|
||||||
## settings
|
## settings
|
||||||
|
|
||||||
- **full screen**: expands the Furnace window so it covers your screen.
|
- **full screen**: expands the Furnace window so it covers your screen.
|
||||||
- **lock layout**: prevents you from dragging/resizing docked windows, or docking more.
|
- **lock layout**: prevents you from dragging/resizing docked windows, or docking more.
|
||||||
- **basic mode**: toggles [Basic Mode](basic-mode.md).
|
- **pattern visualizer**: toggles pattern view particle effects when the song plays.
|
||||||
- **visualizer**: toggles pattern view particle effects when the song plays.
|
|
||||||
- **reset layout**: resets the workspace to its defaults.
|
- **reset layout**: resets the workspace to its defaults.
|
||||||
- **settings...**: shows the Settings window. these are detailed in [settings.md].
|
- **user systems...**: shows the User Systems window. this is detailed in [the User Systems documentation](../8-advanced/user-systems.md).
|
||||||
|
- **settings...**: shows the Settings window. these are detailed in [the Settings documentation](settings.md).
|
||||||
|
|
||||||
## window
|
## window
|
||||||
|
|
||||||
all these menu items show or hide their associated windows.
|
all these menu items show or hide their associated windows.
|
||||||
|
|
||||||
- [song information](song-info.md)
|
- song
|
||||||
- [subsongs](song-info.md)
|
- **[song comments](../8-advanced/comments.md)**
|
||||||
- [speed](song-info.md)
|
- **[song information](song-info.md)**
|
||||||
- [instruments](../4-instrument/README.md)
|
- **[subsongs](song-info.md)**
|
||||||
- [wavetables](../5-wave/README.md)
|
- **[channels](../8-advanced/channels.md)**
|
||||||
- [samples](../6-sample/README.md)
|
- **[chip manager](../8-advanced/chip-manager.md)**
|
||||||
- [orders](order-list.md)
|
- **[orders](order-list.md)**
|
||||||
- [pattern](../3-pattern/README.md)
|
- **[pattern](../3-pattern/README.md)**
|
||||||
- _[mixer](../8-advanced/mixer.md)_
|
- **[pattern manager](../8-advanced/pat-manager.md)**
|
||||||
- _[grooves](../8-advanced/grooves.md)_
|
- **[mixer](../8-advanced/mixer.md)**
|
||||||
- _[channels](../8-advanced/channels.md)_
|
- **[compatibility flags](../8-advanced/compat-flags.md)**
|
||||||
- _[pattern manager](../8-advanced/pat-manager.md)_
|
- assets
|
||||||
- _[chip manager](../8-advanced/chip-manager.md)_
|
- **[instruments](../4-instrument/README.md)**
|
||||||
- _[compatibility flags](../8-advanced/compat-flags.md)_
|
- **[samples](../6-sample/README.md)**
|
||||||
- [song comments](../8-advanced/comments.md)
|
- **[wavetables](../5-wave/README.md)**
|
||||||
|
- **[instrument editor](../4-instrument/README.md)**
|
||||||
- [piano](../8-advanced/piano.md)
|
- **[sample editor](../6-sample/README.md)**
|
||||||
- [oscilloscope](../8-advanced/osc.md)
|
- **[wavetable editor](../5-wave/README.md)**
|
||||||
- [oscilloscopes (per-channel)](../8-advanced/chanosc.md)
|
- visualizers
|
||||||
- [clock](../8-advanced/clock.md)
|
- **[oscilloscope](../8-advanced/osc.md)**
|
||||||
- [register view](../8-advanced/regview.md)
|
- **[oscilloscope (per-channel)](../8-advanced/chanosc.md)**
|
||||||
- [log viewer](../8-advanced/log-viewer.md)
|
- **[oscilloscope (X-Y)](../8-advanced/xyosc.md)**
|
||||||
- [stats](../8-advanced/stats.md)
|
- volume meter
|
||||||
|
- tempo
|
||||||
|
- **[clock](../8-advanced/clock.md)**
|
||||||
|
- **[grooves](../8-advanced/grooves.md)**
|
||||||
|
- **[speed](song-info.md)**
|
||||||
|
- debug
|
||||||
|
- **[log viewer](../8-advanced/log-viewer.md)**
|
||||||
|
- **[register view](../8-advanced/regview.md)**
|
||||||
|
- **[statistics](../8-advanced/stats.md)**
|
||||||
|
- **[memory composition](../8-advanced/memory-composition.md)**
|
||||||
|
- **[effect list](../3-pattern/effects.md)**
|
||||||
|
- **[play/edit controls](play-edit-controls.md)**
|
||||||
|
- **[piano/input pad](../8-advanced/piano.md)**
|
||||||
|
|
||||||
## help
|
## help
|
||||||
|
|
||||||
|
|
|
@ -13,6 +13,7 @@ the "Play/Edit Controls" are used to control playback and change parameters of t
|
||||||
- **Poly**: turns on polyphony for previewing notes. toggles to **Mono** for monophony (one note at a time only).
|
- **Poly**: turns on polyphony for previewing notes. toggles to **Mono** for monophony (one note at a time only).
|
||||||
- **Octave**: sets current input octave.
|
- **Octave**: sets current input octave.
|
||||||
- **Step**: sets edit step. if this is 1, entering a note or effect will move to the next row. if this is a larger number, rows will be skipped. if this is 0, the cursor will stay in place.
|
- **Step**: sets edit step. if this is 1, entering a note or effect will move to the next row. if this is a larger number, rows will be skipped. if this is 0, the cursor will stay in place.
|
||||||
|
- if clicked, Step becomes **Coarse**, which sets the number of rows moved with `PgUp`, `PgDn`, and related movement shortcuts. clicking again will revert it to Step.
|
||||||
- **Follow orders**: if on, the selected order in the orders window will follow the song during playback.
|
- **Follow orders**: if on, the selected order in the orders window will follow the song during playback.
|
||||||
- **Follow pattern**: if on, the cursor will follow playback and the song will scroll by as it plays.
|
- **Follow pattern**: if on, the cursor will follow playback and the song will scroll by as it plays.
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
# settings
|
# settings
|
||||||
|
|
||||||
the Settings window allows you to change Furnace setting.
|
the Settings window allows you to change Furnace settings.
|
||||||
|
|
||||||
settings are saved when clicking the **OK** or **Apply** buttons at the bottom of the window.
|
settings are saved when clicking the **OK** or **Apply** buttons at the bottom of the window.
|
||||||
|
|
||||||
|
@ -8,18 +8,23 @@ settings are saved when clicking the **OK** or **Apply** buttons at the bottom o
|
||||||
|
|
||||||
### Program
|
### Program
|
||||||
|
|
||||||
|
- **Language**: select the language used for the interface. some languages are incomplete, and are listed with their approximate completion percentage.
|
||||||
- **Render backend**: changing this may help with performace or compatibility issues. the available render backends are:
|
- **Render backend**: changing this may help with performace or compatibility issues. the available render backends are:
|
||||||
|
- SDL Renderer: this was the only available render backend prior to the addition of dedicated OpenGL/DirectX backends in 0.6. default on macOS.
|
||||||
|
- DirectX 11: works with the majority of graphics chips/cards and is optimized specifically for Windows.
|
||||||
|
- it is slower than the other backends.
|
||||||
|
- DirectX 9: use if your hardware is incompatible with DirectX 11.
|
||||||
- OpenGL 3.0: works with the majority of graphics chips/cards (from 2010 onwards). default on Linux.
|
- OpenGL 3.0: works with the majority of graphics chips/cards (from 2010 onwards). default on Linux.
|
||||||
- OpenGL 2.0: use if you have a card without OpenGL 3.0 support.
|
- OpenGL 2.0: use if you have a card without OpenGL 3.0 support.
|
||||||
- OpenGL 1.1: use if your card doesn't even support OpenGL 2.0.
|
- OpenGL 1.1: use if your card doesn't even support OpenGL 2.0.
|
||||||
- DirectX 11: works with the majority of graphics chips/cards and is optimized specifically for Windows.
|
|
||||||
- SDL Renderer: this was the only available render backend prior to the addition of dedicated OpenGL/DirectX backends in 0.6. default on macOS.
|
|
||||||
- it is slower than the other backends.
|
|
||||||
- Software: this is a last resort backend which renders the interface in software. very slow!
|
- Software: this is a last resort backend which renders the interface in software. very slow!
|
||||||
- **Render driver**: this setting appears when using the SDL Renderer backend. it allows you to select an SDL render driver.
|
- **Advanced render backend settings**: only applicable with some render backends.
|
||||||
|
- **Render driver**: this setting only appears when using the SDL Renderer backend. it allows you to select an SDL render driver.
|
||||||
|
- OpenGL settings: these only appear when using an OpenGL backend, and should only be adjusted if the display is incorrect.
|
||||||
- **VSync**: synchronizes rendering to VBlank and eliminates tearing.
|
- **VSync**: synchronizes rendering to VBlank and eliminates tearing.
|
||||||
- **Frame rate limit**: allows you to set a frame rate limit (in frames per second).
|
- **Frame rate limit**: allows you to set a frame rate limit (in frames per second).
|
||||||
- only has effect when VSync is off or not available (e.g. software rendering or force-disabled on driver settings).
|
- only has effect when VSync is off or not available (e.g. software rendering or force-disabled on driver settings).
|
||||||
|
- **Display render time**: displays frame rate and frame render time at the right side of the menu bar.
|
||||||
- **Late render clear**: this option is only useful when using old versions of Mesa drivers. it force-waits for VBlank by clearing after present, reducing latency.
|
- **Late render clear**: this option is only useful when using old versions of Mesa drivers. it force-waits for VBlank by clearing after present, reducing latency.
|
||||||
- **Power-saving mode**: saves power by lowering the frame rate to 2fps when idle.
|
- **Power-saving mode**: saves power by lowering the frame rate to 2fps when idle.
|
||||||
- may cause issues under Mesa drivers!
|
- may cause issues under Mesa drivers!
|
||||||
|
@ -49,6 +54,7 @@ settings are saved when clicking the **OK** or **Apply** buttons at the bottom o
|
||||||
- **Remember last values**
|
- **Remember last values**
|
||||||
- **Store instrument name in .fui**: when enabled, saving an instrument will store its name. this may increase file size.
|
- **Store instrument name in .fui**: when enabled, saving an instrument will store its name. this may increase file size.
|
||||||
- **Load instrument name from .fui**: when enabled, loading an instrument will use the stored name (if present). otherwise, it will use the file name.
|
- **Load instrument name from .fui**: when enabled, loading an instrument will use the stored name (if present). otherwise, it will use the file name.
|
||||||
|
- **Auto-fill file name when saving**: pre-fill the file name field with an appropriate name when saving or exporting.
|
||||||
|
|
||||||
### New Song
|
### New Song
|
||||||
|
|
||||||
|
@ -79,6 +85,11 @@ settings are saved when clicking the **OK** or **Apply** buttons at the bottom o
|
||||||
|
|
||||||
- **New instruments are blank**: when enabled, adding FM instruments will make them blank (rather than loading the default one).
|
- **New instruments are blank**: when enabled, adding FM instruments will make them blank (rather than loading the default one).
|
||||||
|
|
||||||
|
### Configuration
|
||||||
|
- **Import**: select an exported `.ini` config file to overwrite current settings.
|
||||||
|
- **Export**: select an `.ini` file to save current settings.
|
||||||
|
- **Factory Reset**: resets all settings to default.
|
||||||
|
|
||||||
## Audio
|
## Audio
|
||||||
|
|
||||||
### Output
|
### Output
|
||||||
|
@ -100,9 +111,7 @@ settings are saved when clicking the **OK** or **Apply** buttons at the bottom o
|
||||||
- **Sample rate**: audio output rate.
|
- **Sample rate**: audio output rate.
|
||||||
- a lower rate decreases quality and isn't really beneficial.
|
- a lower rate decreases quality and isn't really beneficial.
|
||||||
- if using PortAudio backend, be careful about this value.
|
- if using PortAudio backend, be careful about this value.
|
||||||
- **Outputs**: number of audio outputs created, up to 16.
|
- **Outputs**: number of audio outputs created, up to 16. default is 2 (stereo).
|
||||||
- only appears when Backend is JACK.
|
|
||||||
- **Channels**: mono, stereo or something.
|
|
||||||
- **Buffer size**: size of buffer in both samples and milliseconds.
|
- **Buffer size**: size of buffer in both samples and milliseconds.
|
||||||
- setting this to a low value may cause stuttering/glitches in playback (known as "underruns" or "xruns").
|
- setting this to a low value may cause stuttering/glitches in playback (known as "underruns" or "xruns").
|
||||||
- setting this to a high value increases latency.
|
- setting this to a high value increases latency.
|
||||||
|
@ -135,6 +144,7 @@ settings are saved when clicking the **OK** or **Apply** buttons at the bottom o
|
||||||
### MIDI input
|
### MIDI input
|
||||||
|
|
||||||
- **MIDI input**: input device.
|
- **MIDI input**: input device.
|
||||||
|
- **Rescan MIDI devices**: repopulates list with all currently connected MIDI devices. useful if a device is connected while Furnace is running.
|
||||||
- **Note input**: enables note input. disable if you intend to use this device only for binding actions.
|
- **Note input**: enables note input. disable if you intend to use this device only for binding actions.
|
||||||
- **Velocity input**: enables velocity input when entering notes in the pattern.
|
- **Velocity input**: enables velocity input when entering notes in the pattern.
|
||||||
- **Map MIDI channels to direct channels**: when enabled, notes from MIDI channels will be mapped to channels rather than the cursor position.
|
- **Map MIDI channels to direct channels**: when enabled, notes from MIDI channels will be mapped to channels rather than the cursor position.
|
||||||
|
@ -291,6 +301,7 @@ below all the binds, select a key from the dropdown list to add it. it will appe
|
||||||
- **Push value when overwriting instead of clearing it**: in the order list and pattern editors, typing into an already-filled value will shift digits instead of starting fresh. for example:
|
- **Push value when overwriting instead of clearing it**: in the order list and pattern editors, typing into an already-filled value will shift digits instead of starting fresh. for example:
|
||||||
- if off: moving the cursor onto the value `A5` and typing a "B" results in `0B`.
|
- if off: moving the cursor onto the value `A5` and typing a "B" results in `0B`.
|
||||||
- if on: moving the cursor onto the value `A5` and typing a "B" results in `5B`.
|
- if on: moving the cursor onto the value `A5` and typing a "B" results in `5B`.
|
||||||
|
- **Keyboard note/value input repeat (hold key to input continuously)**
|
||||||
- **Effect input behavior:**
|
- **Effect input behavior:**
|
||||||
- **Move down**: after entering an effect (or effect value), the cursor moves down.
|
- **Move down**: after entering an effect (or effect value), the cursor moves down.
|
||||||
- **Move to effect value (otherwise move down)**: after entering an effect, the cursor moves to its value. if entering a value, the cursor moves down.
|
- **Move to effect value (otherwise move down)**: after entering an effect, the cursor moves to its value. if entering a value, the cursor moves down.
|
||||||
|
@ -359,11 +370,7 @@ below all the binds, select a key from the dropdown list to add it. it will appe
|
||||||
- **Pattern font** font for the pattern view, the order list, and related.
|
- **Pattern font** font for the pattern view, the order list, and related.
|
||||||
- if "Custom...", a file path selector will appear.
|
- if "Custom...", a file path selector will appear.
|
||||||
- **Size**: font size.
|
- **Size**: font size.
|
||||||
- **Display Japanese characters**, **Display Chinese (Simplified) characters**, **Display Chinese (Traditional) characters** and **Display Korean characters**: only toggle these options if you have enough graphics memory.
|
|
||||||
- these are a temporary solution until dynamic font atlas is implemented in Dear ImGui.
|
|
||||||
|
|
||||||
#### FreeType-specific settings
|
#### FreeType-specific settings
|
||||||
|
|
||||||
- **Anti-aliased fonts**: when enabled, fonts will be rendered smooth.
|
- **Anti-aliased fonts**: when enabled, fonts will be rendered smooth.
|
||||||
- **Support bitmap fonts**: this option allows you to enable the loading of bitmap fonts.
|
- **Support bitmap fonts**: this option allows you to enable the loading of bitmap fonts.
|
||||||
- be noted that this may force non-bitmap fonts to undesired sizes!
|
- be noted that this may force non-bitmap fonts to undesired sizes!
|
||||||
|
@ -376,6 +383,13 @@ below all the binds, select a key from the dropdown list to add it. it will appe
|
||||||
- **Disable**: only rely upon font hinting data.
|
- **Disable**: only rely upon font hinting data.
|
||||||
- **Enable**: prefer font hinting data if present.
|
- **Enable**: prefer font hinting data if present.
|
||||||
- **Force**: ignore font hinting data.
|
- **Force**: ignore font hinting data.
|
||||||
|
#### non-specific settings
|
||||||
|
- **Oversample**: renders the font internally at higher resolution for visual quality.
|
||||||
|
- higher settings use more video memory.
|
||||||
|
- for pixel or bitmap fonts, set this to **1x**.
|
||||||
|
- **Load fallback font**: load an extra font that contains nearly all characters that can be used, in case the selected fonts lack them. uses much video memory
|
||||||
|
- **Display Japanese characters**, **Display Chinese (Simplified) characters**, **Display Chinese (Traditional) characters** and **Display Korean characters**: only toggle these options if you have enough graphics memory.
|
||||||
|
- these are a temporary solution until dynamic font atlas is implemented in Dear ImGui.
|
||||||
|
|
||||||
### Program
|
### Program
|
||||||
|
|
||||||
|
@ -386,15 +400,16 @@ below all the binds, select a key from the dropdown list to add it. it will appe
|
||||||
- **/path/to/file.fur - Furnace**
|
- **/path/to/file.fur - Furnace**
|
||||||
- **Display system name on title bar**
|
- **Display system name on title bar**
|
||||||
- **Display chip names instead of "multi-system" in title bar**
|
- **Display chip names instead of "multi-system" in title bar**
|
||||||
- **Export options layout:**
|
|
||||||
- **Sub-menus in File menu**: export options appear in the File menu as sub-menus.
|
|
||||||
- **Modal window with tabs**: a single "export..." option that opens a dialog with export options. this is the default.
|
|
||||||
- **Modal windows with options in File menu**: like Sub-menus in File menu, but instead of being sub-menus, selecting one opens a dialog with export settings.
|
|
||||||
- **Status bar:**
|
- **Status bar:**
|
||||||
- **Cursor details**
|
- **Cursor details**
|
||||||
- **File path**
|
- **File path**
|
||||||
- **Cursor details or file path**
|
- **Cursor details or file path**
|
||||||
- **Nothing**
|
- **Nothing**
|
||||||
|
- **Display playback status when playing**: display playback time and current location in the menu bar.
|
||||||
|
- **Export options layout:**
|
||||||
|
- **Sub-menus in File menu**: export options appear in the File menu as sub-menus.
|
||||||
|
- **Modal window with tabs**: a single "export..." option that opens a dialog with export options. this is the default.
|
||||||
|
- **Modal windows with options in File menu**: like Sub-menus in File menu, but instead of being sub-menus, selecting one opens a dialog with export settings.
|
||||||
- **Capitalize menu bar**
|
- **Capitalize menu bar**
|
||||||
- **Display add/configure/change/remove chip menus in File menu**: if enabled, the "manage chips" item in the file menu is split into the four listed items for quick access.
|
- **Display add/configure/change/remove chip menus in File menu**: if enabled, the "manage chips" item in the file menu is split into the four listed items for quick access.
|
||||||
|
|
||||||
|
@ -532,10 +547,10 @@ below all the binds, select a key from the dropdown list to add it. it will appe
|
||||||
- **Rounded window corners**
|
- **Rounded window corners**
|
||||||
- **Rounded buttons**
|
- **Rounded buttons**
|
||||||
- **Rounded menu corners**
|
- **Rounded menu corners**
|
||||||
|
- **Rounded tabs**
|
||||||
|
- **Rounded scrollbars**
|
||||||
- **Borders around widgets**: draws borders on buttons, checkboxes, text widgets, and the like.
|
- **Borders around widgets**: draws borders on buttons, checkboxes, text widgets, and the like.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## Color
|
## Color
|
||||||
|
|
||||||
### Color scheme
|
### Color scheme
|
||||||
|
@ -544,9 +559,28 @@ below all the binds, select a key from the dropdown list to add it. it will appe
|
||||||
- **Export**
|
- **Export**
|
||||||
- **Reset defaults**
|
- **Reset defaults**
|
||||||
- **Guru mode**: exposes all color options (instead of accent colors).
|
- **Guru mode**: exposes all color options (instead of accent colors).
|
||||||
- **General**
|
- **Interface**
|
||||||
|
- **Frame shading**: applies a gradient effect to buttons and input boxes.
|
||||||
- **Color scheme type:**
|
- **Color scheme type:**
|
||||||
- **Dark**
|
- **Dark**
|
||||||
- **Light**
|
- **Light**
|
||||||
- **Frame shading**: applies a gradient effect to buttons and input boxes.
|
- **Accent colors**: select main interface colors.
|
||||||
|
- **Primary**
|
||||||
|
- **Secondary**
|
||||||
- several more categories...
|
- several more categories...
|
||||||
|
|
||||||
|
## Backup
|
||||||
|
|
||||||
|
### Configuration
|
||||||
|
|
||||||
|
- **Enable backup system**: turn on automatic backups of the current open file.
|
||||||
|
- **Interval (in seconds)**: time between automatic backups.
|
||||||
|
- **Backups per file**: maximum number of backups to store for each file.
|
||||||
|
|
||||||
|
### Backup Management
|
||||||
|
|
||||||
|
- **Purge before**:
|
||||||
|
- **Go**: purge backups whose filenames precede the selected date.
|
||||||
|
- total space used by all backups:
|
||||||
|
- **Refresh**: recalculate space.
|
||||||
|
- **Delete All**: purge all backups.
|
||||||
|
|
|
@ -3,11 +3,11 @@
|
||||||
- **Name**: the track's title.
|
- **Name**: the track's title.
|
||||||
- **Author**: the author(s) of this track.
|
- **Author**: the author(s) of this track.
|
||||||
- **Album**: the associated album name (or the name of the game the song is from).
|
- **Album**: the associated album name (or the name of the game the song is from).
|
||||||
- **System**: the game console or computer the track is designed for. this is automatically set when creating a new tune, but in advanced mode, it can be changed to anything one wants. the **Auto** button will provide a guess based on the chips in use.
|
- **System**: the game console or computer the track is designed for. this is automatically set when creating a new tune, but can be changed to anything. the **Auto** button will provide a guess based on the chips in use.
|
||||||
|
|
||||||
all of this metadata will be included in a VGM export. this isn't the case for an audio export, however.
|
all of this metadata will be included in a VGM export. this isn't the case for an audio export, however.
|
||||||
|
|
||||||
- _**Tuning (A-4)**_: set tuning based on the note A-4, which should be 440 in most cases. opening an Amiga MOD will set it to 436 for hardware compatibility. available only in advanced mode.
|
- **Tuning (A-4)**: set tuning based on the note A-4, which should be 440 in most cases. opening an Amiga MOD will set it to 436 for hardware compatibility.
|
||||||
|
|
||||||
## subsongs
|
## subsongs
|
||||||
|
|
||||||
|
@ -23,16 +23,17 @@ this window allows one to create **subsongs** - multiple individual songs within
|
||||||
|
|
||||||
there are multiple ways to set the tempo of a song.
|
there are multiple ways to set the tempo of a song.
|
||||||
|
|
||||||
items in _italic_ don't appear in basic mode and are only available in advanced mode.
|
**Base Tempo**: tempo in beats per minute (BPM). this is affected by the Highlight settings below.
|
||||||
|
- clicking the Base Tempo button switches to the more technical Tick Rate.
|
||||||
|
|
||||||
**Tick Rate**: the frequency of ticks per second, thus the rate at which notes and effects are processed.
|
**Tick Rate**: the frequency of ticks per second, thus the rate at which notes and effects are processed.
|
||||||
- all values are allowed for all chips, though most chips have hardware limitations that mean they should stay at either 60 (approximately NTSC) or 50 (exactly PAL).
|
- all values are allowed for all chips, though most chips have hardware limitations that mean they should stay at either 60 (approximately NTSC) or 50 (exactly PAL).
|
||||||
- clicking the Tick Rate button switches to a more traditional **Base Tempo** BPM setting.
|
- clicking the Tick Rate button switches to the more traditional Base Tempo BPM setting.
|
||||||
|
|
||||||
**Speed**: the number of ticks per row.
|
**Speed**: the number of ticks per row.
|
||||||
- clicking the "Speed" button changes to more complex modes covered in the [grooves](../8-advanced/grooves.md) page.
|
- clicking the "Speed" button changes to more complex modes covered in the [grooves](../8-advanced/grooves.md) page.
|
||||||
|
|
||||||
_**Virtual Tempo**:_ Simulates any arbitrary tempo without altering the tick rate. it does this by adding or skipping ticks to approximate the tempo. the two numbers represent a ratio applied to the actual tick rate. example:
|
**Virtual Tempo**: simulates any arbitrary tempo without altering the tick rate. it does this by adding or skipping ticks to approximate the tempo. the two numbers represent a ratio applied to the actual tick rate. example:
|
||||||
- set tick rate to 150 BPM (60 Hz) and speed to 6.
|
- set tick rate to 150 BPM (60 Hz) and speed to 6.
|
||||||
- set the first virtual tempo number (numerator) to 200.
|
- set the first virtual tempo number (numerator) to 200.
|
||||||
- set the second virtual tempo number (denominator) to 150.
|
- set the second virtual tempo number (denominator) to 150.
|
||||||
|
@ -40,7 +41,8 @@ _**Virtual Tempo**:_ Simulates any arbitrary tempo without altering the tick rat
|
||||||
- the ratio doesn't have to match BPM numbers. set the numerator to 4 and the denominator to 5, and the virtual BPM becomes 150 × 4/5 = 120.
|
- the ratio doesn't have to match BPM numbers. set the numerator to 4 and the denominator to 5, and the virtual BPM becomes 150 × 4/5 = 120.
|
||||||
- another way to accomplish this with more control over the results is to use grooves. see the page on [grooves](../8-advanced/grooves.md) for details.
|
- another way to accomplish this with more control over the results is to use grooves. see the page on [grooves](../8-advanced/grooves.md) for details.
|
||||||
|
|
||||||
_**Divider**:_ Changes the effective tick rate. a tick rate of 60Hz and a divisor of 6 will result in ticks lasting a tenth of a second each!
|
**Divider**: changes the effective tick rate. a tick rate of 60Hz and a divisor of 6 will result in ticks lasting a tenth of a second each!
|
||||||
|
- to the right, the effective BPM is listed, taking all settings into account.
|
||||||
|
|
||||||
**Highlight**: sets the pattern row highlights:
|
**Highlight**: sets the pattern row highlights:
|
||||||
- the first value represents the number of rows per beat.
|
- the first value represents the number of rows per beat.
|
||||||
|
@ -50,4 +52,4 @@ _**Divider**:_ Changes the effective tick rate. a tick rate of 60Hz and a diviso
|
||||||
|
|
||||||
**Pattern Length**: the length of each pattern in rows. this affects all patterns in the song, and every pattern must be the same length. (Individual patterns can be cut short by `0Bxx`, `0Dxx`, and `FFxx` commands.)
|
**Pattern Length**: the length of each pattern in rows. this affects all patterns in the song, and every pattern must be the same length. (Individual patterns can be cut short by `0Bxx`, `0Dxx`, and `FFxx` commands.)
|
||||||
|
|
||||||
_**Song Length**:_ how many orders are in the order list. decreasing it will hide the orders at the bottom. increasing it will restore those orders; increasing it further will add new orders of all `00` patterns.
|
**Song Length**: how many orders are in the order list. decreasing it will hide the orders at the bottom. increasing it will restore those orders; increasing it further will add new orders of all `00` patterns.
|
||||||
|
|
|
@ -119,6 +119,10 @@ Shift-Up | expand selection upwards
|
||||||
Shift-Down | expand selection downwards
|
Shift-Down | expand selection downwards
|
||||||
Shift-Left | expand selection to the left
|
Shift-Left | expand selection to the left
|
||||||
Shift-Right | expand selection to the right
|
Shift-Right | expand selection to the right
|
||||||
|
Alt-Up | move selection up by one
|
||||||
|
Alt-Down | move selection down by one
|
||||||
|
Alt-Left | move selection to previous channel
|
||||||
|
Alt-Right | move selection to next channel
|
||||||
Backspace | delete note at cursor and/or pull pattern upwards (configurable)
|
Backspace | delete note at cursor and/or pull pattern upwards (configurable)
|
||||||
Delete | delete selection
|
Delete | delete selection
|
||||||
Insert | create blank row at cursor position and push pattern
|
Insert | create blank row at cursor position and push pattern
|
||||||
|
|
|
@ -89,6 +89,7 @@ in there, you can modify certain data pertaining to your sample, such as the:
|
||||||
- **Open**: replaces current sample.
|
- **Open**: replaces current sample.
|
||||||
- right-clicking brings up a menu:
|
- right-clicking brings up a menu:
|
||||||
- **import raw...**: brings up a file selector, then presents a dialog to choose the format of the selected file.
|
- **import raw...**: brings up a file selector, then presents a dialog to choose the format of the selected file.
|
||||||
|
- **import raw (replace)...**: same as above, but instead of adding it to the sample list, it replaces the currently selected sample.
|
||||||
- **Save**: saves current sample to disk.
|
- **Save**: saves current sample to disk.
|
||||||
- right-clicking brings up a menu:
|
- right-clicking brings up a menu:
|
||||||
- **save raw...**: brings up a file selector, then saves the sample as raw data.
|
- **save raw...**: brings up a file selector, then saves the sample as raw data.
|
||||||
|
|
|
@ -15,11 +15,11 @@ it features echo and up to 16 voices.
|
||||||
|
|
||||||
- `10xx`: **change wave.**
|
- `10xx`: **change wave.**
|
||||||
- `11xy`: **configure echo.**
|
- `11xy`: **configure echo.**
|
||||||
- this effect is kinda odd. this is how it works:
|
- this effect is kinda odd. here's how to use it:
|
||||||
|
- create an empty instrument and put a very high note of it in channel 1.
|
||||||
> How do you echo on GBA
|
- put `110x` in the effect column.
|
||||||
>
|
- set volume column to set feedback.
|
||||||
> Create an empty instrment and put a very high note of it in channel 1 then do 110x in effect column and set volume column to set feedback and do nothing else on it
|
- don't use the channel for anything else.
|
||||||
|
|
||||||
- `12xy`: **toggle invert.**
|
- `12xy`: **toggle invert.**
|
||||||
- `x` left channel.
|
- `x` left channel.
|
||||||
|
|
|
@ -8,22 +8,27 @@ as listed in the "Edit" menu:
|
||||||
|
|
||||||
as listed in the "Window" menu:
|
as listed in the "Window" menu:
|
||||||
|
|
||||||
- [mixer](mixer.md)
|
- song
|
||||||
- [grooves](grooves.md)
|
- [song comments](../8-advanced/comments.md)
|
||||||
- [channel manager](channels.md)
|
- [channels](../8-advanced/channels.md)
|
||||||
- [pattern manager](pat-manager.md)
|
- [chip manager](../8-advanced/chip-manager.md)
|
||||||
- [chip manager](chip-manager.md)
|
- [pattern manager](../8-advanced/pat-manager.md)
|
||||||
- [compatibility flags](compat-flags.md)
|
- [mixer](../8-advanced/mixer.md)
|
||||||
- [song comments](comments.md)
|
- [compatibility flags](../8-advanced/compat-flags.md)
|
||||||
|
- visualizers
|
||||||
- [piano](piano.md)
|
- [oscilloscope](../8-advanced/osc.md)
|
||||||
- [oscilloscope](osc.md)
|
- [oscilloscope (per-channel)](../8-advanced/chanosc.md)
|
||||||
- [oscilloscope (X-Y)](xyosc.md)
|
- [oscilloscope (X-Y)](../8-advanced/xyosc.md)
|
||||||
- [oscilloscopes (per-channel)](chanosc.md)
|
- volume meter
|
||||||
- [clock](clock.md)
|
- tempo
|
||||||
- [register view](regview.md)
|
- [clock](../8-advanced/clock.md)
|
||||||
- [log viewer](log-viewer.md)
|
- [grooves](../8-advanced/grooves.md)
|
||||||
- [stats](stats.md)
|
- debug
|
||||||
|
- [log viewer](../8-advanced/log-viewer.md)
|
||||||
|
- [register view](../8-advanced/regview.md)
|
||||||
|
- [statistics](../8-advanced/stats.md)
|
||||||
|
- [memory composition](../8-advanced/memory-composition.md)
|
||||||
|
- [piano/input pad](../8-advanced/piano.md)
|
||||||
|
|
||||||
other:
|
other:
|
||||||
|
|
||||||
|
|
|
@ -5,8 +5,9 @@ the "Channels" dialog allows manipulation of the song's channels.
|
||||||
![channels dialog](channels.png)
|
![channels dialog](channels.png)
|
||||||
|
|
||||||
each channel has the following options:
|
each channel has the following options:
|
||||||
- **Visible**: uncheck the box to hide the channel from the pattern view. pattern data will be kept.
|
- **Pat**: uncheck the box to hide the channel from the pattern view. pattern data will be kept.
|
||||||
- crossed-arrows button: click and drag to rearrange pattern data throughout the song.
|
- **Osc**: uncheck the box to hide the channel from the per-channel oscilloscope view.
|
||||||
|
- **Swap**: click and drag to rearrange pattern data throughout the song.
|
||||||
- note: this does **not** move channels around! it only moves the channel's pattern data.
|
- note: this does **not** move channels around! it only moves the channel's pattern data.
|
||||||
- **Name**: the name displayed at the top of each channel in the pattern view.
|
- **Name**: the name displayed at the top of each channel in the pattern view.
|
||||||
- the next setting is "short name", which is displayed in the orders view and/or when a channel is collapsed.
|
- the next setting is "short name", which is displayed in the orders view and/or when a channel is collapsed.
|
||||||
|
|
|
@ -14,6 +14,7 @@ right-clicking the view will display the configuration view shown above:
|
||||||
- **Mode 2**: bias slightly toward more columns.
|
- **Mode 2**: bias slightly toward more columns.
|
||||||
- **Mode 3**: always more columns than rows.
|
- **Mode 3**: always more columns than rows.
|
||||||
- **Amplitude**: scales amplitude for all oscilloscope views.
|
- **Amplitude**: scales amplitude for all oscilloscope views.
|
||||||
|
- **Line size**: controls line thickness.
|
||||||
- **Gradient**: this allows you to use a gradient for determining the waveforms' colors instead of a single color. see the gradient section for more information.
|
- **Gradient**: this allows you to use a gradient for determining the waveforms' colors instead of a single color. see the gradient section for more information.
|
||||||
- if this option is off, a color selector will be displayed. right-click on it for some options:
|
- if this option is off, a color selector will be displayed. right-click on it for some options:
|
||||||
- select between the square selector and the color wheel selector.
|
- select between the square selector and the color wheel selector.
|
||||||
|
|
|
@ -8,6 +8,8 @@ the **chip manager** window allows you to manage chips, including adding, changi
|
||||||
|
|
||||||
**Clone channel data**: when cloning chips, also copy patterns, pattern names, channel names and other parameters to the clone.
|
**Clone channel data**: when cloning chips, also copy patterns, pattern names, channel names and other parameters to the clone.
|
||||||
|
|
||||||
|
**Clone at end**: instead of inserting the clone directly after the cloned chip, add it to the end.
|
||||||
|
|
||||||
to move a chip around, click and drag the ![crossed-arrows](chip-manager-move.png) button to the left.
|
to move a chip around, click and drag the ![crossed-arrows](chip-manager-move.png) button to the left.
|
||||||
|
|
||||||
to duplicate a chip, click the **Clone** button.
|
to duplicate a chip, click the **Clone** button.
|
||||||
|
|
22
doc/8-advanced/user-systems.md
Normal file
22
doc/8-advanced/user-systems.md
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
# user systems
|
||||||
|
|
||||||
|
combinations of chips and chip configurations can be stored as **user systems** – presets that are easily accessed when starting a new song.
|
||||||
|
|
||||||
|
![user systems window](user-systems.png)
|
||||||
|
|
||||||
|
the `+` button at the top of the **Systems** list will add a new system.
|
||||||
|
|
||||||
|
next to the **Name** field, the **Remove** button removes the current system from the list.
|
||||||
|
|
||||||
|
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.
|
||||||
|
- `tickRate`: sets tick rate.
|
||||||
|
|
||||||
|
**Save and Close**: as it says.
|
||||||
|
|
||||||
|
**Import**: opens a dialog to select a `.cfgu` file, then adds its systems to the list.
|
||||||
|
|
||||||
|
**Import (replace)**: opens a similar dialog, then clears the existing systems list and replaces it with the imported one.
|
||||||
|
|
||||||
|
**Export**: stores the current list of systems in a selected `.cfgu` file.
|
BIN
doc/8-advanced/user-systems.png
Normal file
BIN
doc/8-advanced/user-systems.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 34 KiB |
Loading…
Reference in a new issue