//
// SUNVOX
// 2.1.3
//

=================
TOOLBAR SHORTCUTS
=================

Now, in addition to the standard set of buttons, you can add any keyboard shortcuts to each toolbar.
Learn more about customizing toolbars: https://warmplace.ru/soft/sunvox/manual.php#toolbars
The general format for each button is: mod+key/name
mod - one or more modifiers: shift+, ctrl+, alt+, shift+ctrl+, etc.
key - the key symbol;
name - the displayed name of the button;
Examples:
  * ctrl+o/OPEN
  * shift+tab/PrevColumn
  * space/EditONOFF
Alternatively, instead of mod+key, you can directly specify the hotkey ID. For example:
  * main_undo/UNDO
  * main_new/NEW
A list of such IDs is provided below. It can also be found on the website: https://warmplace.ru/soft/sunvox/manual.php#kbd

General:

main_undo - Undo;
main_redo - Redo;
main_new - New;
main_left - Left;
main_right - Right;
main_up - Up;
main_down - Down;
main_pgup - Page up;
main_pgdown - Page down;
main_home - Go to start (home);
main_end - Go to end;
main_tab - Next column/track (tab);
main_select_begin - Selection begin;
main_select_end - Selection end;
main_select_all - Select/unselect all;
main_cut - Cut;
main_copy - Copy;
main_paste - Paste;
main_duplicate - Duplicate;
main_detach - Detach;
main_ins - Insert;
main_backspace - Backspace;
main_del - Delete;
main_lt_prev - Previous layout;
main_lt_next - Next layout;
main_lt_norm - Layout: normal;
main_lt_tline - Layout: timeline;
main_lt_pat - Layout: pattern editor;
main_lt_mods - Layout: module view + controllers;
main_lt_mods_c - Layout: controllers;
main_lt_mods_n - Layout: module view;

Application:

main_exit - Exit;

Project:

main_newprj - New project;
main_load - Load;
main_save - Save;
main_save_backup - Save BACKUP.sunvox;

Musical keyboard:

main_C0 - Note C-0;
main_c0 - Note C#0;
main_D0 - Note D-0;
main_d0 - Note D#0;
main_E0 - Note E-0;
main_F0 - Note F-0;
main_f0 - Note F#0;
main_G0 - Note G-0;
main_g0 - Note G#0;
main_A0 - Note A-0;
main_a0 - Note A#0;
main_B0 - Note B-0;
main_C1 - Note C-1;
main_c1 - Note C#1;
main_D1 - Note D-1;
main_d1 - Note D#1;
main_E1 - Note E-1;
main_F1 - Note F-1;
main_f1 - Note F#1;
main_G1 - Note G-1;
main_g1 - Note G#1;
main_A1 - Note A-1;
main_a1 - Note A#1;
main_B1 - Note B-1;
main_C2 - Note C-2;
main_c2 - Note C#2;
main_D2 - Note D-2;
main_d2 - Note D#2;
main_E2 - Note E-2;
main_F2 - Note F-2;
main_f2 - Note F#2;
main_G2 - Note G-2;
main_g2 - Note G#2;
main_A2 - Note A-2;
main_a2 - Note A#2;
main_B2 - Note B-2;
main_C3 - Note C-3;
main_c3 - Note C#3;
main_D3 - Note D-3;
main_d3 - Note D#3;
main_E3 - Note E-3;
main_F3 - Note F-3;
main_f3 - Note F#3;
main_G3 - Note G-3;
main_g3 - Note G#3;
main_A3 - Note A-3;
main_a3 - Note A#3;
main_B3 - Note B-3;
main_oct0 - Octave 0;
main_oct1 - Octave 1;
main_oct2 - Octave 2;
main_oct3 - Octave 3;
main_oct4 - Octave 4;
main_oct5 - Octave 5;
main_oct6 - Octave 6;
main_oct7 - Octave 7;
main_oct8 - Octave 8;
main_oct_inc - Octave +;
main_oct_dec - Octave -;

Brush:

main_playnote - Play current note and copy to brush;
main_playnote2 - Play current note and go to the next line;
main_playline - Play current line and copy to brush;
main_playline2 - Play current line and go to the next line;
main_playbrush - Play the 1st line of the brush;
main_copy2brush - Copy to brush;
main_pastebrush - Paste from brush;

Pattern editor:

main_edit - Pattern edit ON/OFF;
main_edit_step_inc - Increase pat. edit step;
main_edit_step_dec - Decrease pat. edit step;
main_note_off - Special cmd: Note OFF;
main_set_pitch - Special cmd: Set pitch;
main_prev_track - Special cmd: Previous track;
main_clean_mod - Special cmd: Stop the module;
main_paste_and_mix - Paste and mix;
main_select_track - Select track;
main_interp - Interpolate;
main_interp_val - Interpolate XXYY;
main_interp_vel - Interpolate VV;
main_transp - Transpose;
main_transp_up - Transpose +1;
main_transp_down - Transpose -1;
main_transp_up2 - Transpose +12;
main_transp_down2 - Transpose -12;
main_place_evenly - Place evenly;
main_cyclic_shift - Cyclic shift;
main_cyclic_shift1 - Cyclic shift up;
main_cyclic_shift2 - Cyclic shift down;
main_reverse - Reverse;
main_remap - Remap;
main_seteff - Set effect;
main_draw - Draw;
main_pat_clear - Clear pattern;
main_pat_shrink - Shrink pattern /2;
main_pat_expand - Expand pattern *2;
main_pat_slice - Slice by cursor;
main_pat_props - Pattern properties;
main_addcols - Show/hide CCEEXXYY columns;
main_patscale - Scale;
main_pat_csync - Sync the cursor with the timeline;

Modules (routing):

main_random - Randomize module controllers;
main_write_ctls - Write ctl values to pattern;
main_next_mod - Next module;
main_prev_mod - Previous module;
main_next_syn - Next synth;
main_prev_syn - Previous synth;
main_next_modx - Next module horizontally (to the right);
main_prev_modx - Prev. module horizontally (to the left);
main_next_mody - Next module vertically (below);
main_prev_mody - Prev. module vertically (above);
main_mute_mod - Toggle mute (module);
main_solo_mod - Toggle solo (module);
main_bypass_mod - Toggle bypass (module);
main_unmute_mods - Unmute all modules;
main_find_mod - Find a module;
main_make_metamod - Make MetaModule;
main_link_mod - Toggle LINK mode;

Timeline:

main_play - Play/Stop;
main_play2 - Play from beginning;
main_play3 - Play pattern;
main_stop - Stop;
main_rec - Record;
main_play4 - Play from pattern cursor;
main_gostart - Go to beginning (timeline);
main_tslice - Slice;
main_mute_pat - Toggle mute (pattern);
main_solo_pat - Toggle solo (pattern);
main_unmute_pats - Unmute all patterns;
main_set_rpos - Set restart position;
main_tstracks - Toggle supertracks;
main_torient - Change orientation;
main_tsnap - Snap to grid ON/OFF;
main_tcsync - Sync the cursor with the pat.editor;
main_next_patx - Next pattern horizontally (to the right);
main_prev_patx - Prev. pattern horizontally (to the left);
main_next_paty - Next pattern vertically (below);
main_prev_paty - Prev. pattern vertically (above);

//
// SUNVOX
// 2.1
//

=====================
PATTERN DRAWING TOOLS
=====================

Since v2.1, the pattern can be edited using the drawing tools.
To open the corresponding window, go to the pattern editor menu and select the "Draw" item.

The following tools are available:
  * draw with a brush in the specified columns";
  * draw Note OFF commands;
  * draw levels in the VV column; (after selecting this tool, the working column VV is set, but it can be changed to any other);
  * draw levels in the XXYY column; (after selecting this tool, the working column XXYY is set, but it can be changed to any other);
  * erase values in the specified columns;
  * erase values in all columns;
  * play and copy to brush (specified columns only).

All the tools described above work only when the pattern editing mode is active.

LEVELS are a graphical representation of the values in the selected column of the track.
Before v2.1 there was a menu item "XXYY levels drawing" in the pattern editor.
Since v2.1 this function has been moved to the pattern drawing tool window.

BRUSH is a piece of a pattern that can be used to draw on another pattern.
The currently active brush is stored in the on-screen musical keyboard.
In the simplest case, the brush is the last chord played on the keyboard. The notes of the first line of this brush will be highlighted in green on the keyboard.
To play/change/save/load the brush, increase the height of the keyboard and click the "+" button that appears on the left.

========
TOOLBARS
========

Toolbar 1 is the main horizontal divider with STOP and PLAY buttons.
Toolbar 2 is the second horizontal divider above the timeline.
Floating toolbar is the window that can be opened from the Main menu -> Toolbar.

Starting from v2.1 these panels can be customized (add/remove buttons).
To do this, go to the Main menu -> Preferences -> Toolbars.
Each toolbar is described by a string with the names of buttons and commands, separated by commas.
Commands < and > set the direction of adding buttons: from left to right or from right to left.
Available names:
  * < - switch the direction of adding buttons: from left to right (default);
  * > - switch the direction of adding buttons: from right to left;
  * play;
  * play2 - play from the beginning;
  * play3 - play pattern;
  * stop;
  * rec;
  * vol - volume;
  * svol - volume (short version);
  * lev - signal level indicator;
  * undo;
  * redo;
  * cut;
  * copy;
  * paste;
  * dup - duplicate;
  * bpm - BPM;
  * bpmtpl - BPM and TPL;
  * clock - current time;
  * cpu - CPU usage monitor;
  * cpu2 - CPU usage monitor (pressing will open a list of modules).

//
// SUNVOX
// 2.0
//

=======
CONTROL
=======

There are two modes in the main SunVox windows (pattern, modules, timeline): selection and navigation.
Left mouse button = selection or navigation (depending on the mode).
Middle mouse button = navigation.
The default on desktops is selection.
Navigation is the default on mobile devices.
If Main menu -> Preferences -> Interface -> Control type = "Fingers", then SunVox will work like on a mobile device.

What if you need navigation but there is no middle mouse button?
macOS:
  * CMD + left button;
  * or install some application to emulate the middle button, for example Middle.
All systems:
  * there is middle button emulation on some touchpads: using three-finger click or by simultaneously pressing the left and right buttons (see the system touchpad settings);
  * switch between editing modes using the button with a selection rectangle;
  * if there is no such button, uncomment one of the show_sel_btn options in sunvox_config.ini;

General rules for all devices:
  * pressing with the stylus or finger is equivalent to pressing the left mouse button;
  * double click in an empty area - create a new object (if possible);
  * double-clicking on an object opens its properties (if possible);
  * scroll wheel - zoom in or scroll up/down;
  * right mouse button = menu;
  * SHIFT + left button = connect modules or disable snapping to the timeline grid;
  * CTRL + left button = multiple selection mode (previous selection is not cleared);

===========
SUPERTRACKS
===========

Since SunVox 2.0 there are two timeline modes: classic (default) and supertrack mode.
In classic mode, all patterns are independent - each has its own tracks inside.
In supertrack mode, the patterns can complement each other (interact) if they are on the same supertrack. Each supertrack is a set of 32 tracks that can be used by multiple patterns at the same time.
In supertrack mode, you can enable the "don't turn off notes at the end of the pattern" option: one short pattern can turn notes on, and another (on the same supertrack) turn it off.

===============
MAKE METAMODULE
===============

The selected modules can be packed into one MetaModule (see the menu of the module editor).
But the modules must conform to the following topology: TT -> SEL( IN -> ... ) -> R
TT - signal sources (optional) outside the selection;
SEL() - selected modules to be packed;
IN - receiving module (optional) inside the selection; at most one;
... - any modules inside the selection;
R - receiver (optional) that receives signals from modules within the selection; at most one.

=======================
DIALOG WINDOW SHORTCUTS
=======================

Y or ENTER = first button on the left;
N = last button on the right;
ESC = cancel;
1...9 = buttons from left to right;
