Vortex Tracker II v1.0 beta 10

12/19/2004:

1. New Vortex Tracker II v1.0 PT3 player for ZX Spectrum Release 6 is supported.

01/02/2005:

2. Max length of pattern is 100 lines now. It is compatible with all players
   (on ZX, PC and ST). Don't recompile such modules in original ZX Spectrum
   PT3 editors (there are 64 lines max).

01/03/2005:

3. Undesired area selection during autostep was removed.
4. Highligt step for tracks' lines can be adjusted now. If Auto is on, step is
   autoselected from 3,4 and 5 depending of pattern length (specially for
   Key-Jee).

01/04/2005:

5. Added checking of module size during saving (compiling) PT3 format. If size
   is greater than 65536, error message will appear. If it is, save module in
   text format and than try to solve the problem. Alone Coder proposes to split
   it to several small modules and then play it one by other. So, you can load
   module in several windows, remove some data and save them with different
   names.
6. Added checking of block size during export to ZX-formats.

Vortex Tracker II v1.0 beta 11

04/23/2005:

1. Added Amadeus (Fuxoft AY Language) modules import. Both FXM and ZXAYAMAD are
   supported. The most modules require manual editing, but sounds good and
   without it.

04/24/2005:

2. Memory for patterns/samples/ornaments are static now, i.e. you can decrease
   and increase its length without losting last lines previous values.
3. Fixed error: fault when trying to play empty (default) pattern by F7/F8.
4. Patterns/samples/ornaments length can be changed during playing now.

04/26/2005:

5. Maximal length of pattern is 256 lines now. To keep 2 columns line numeration
   it is hexadecimal now.

05/01/2005:

6. Undo/Redo functions are added. Try to test and send me bugreports or wishes.

05/04/2005:

7. Due HalfElf's request, added ability to load modules into editor from command
   line. Several files must be divided by spaces, and filenames with spaces must
   be placed to doublequotes.

Vortex Tracker II v1.0 beta 12

05/29/2005:

1. Fixed error in PT2 importer: memory before sample import was not clear.

06/14/2005:

2. Fixed horrible mistake: if you open save or some other dialogs during playing
   in "Loop among all opened modules" and next window start playing before you
   will finish, dialog will work with new active window. From this version
   all dialogs work with window, which was active during calling dialog.
   
09/16/2005:

3. Added import of PSC v1.00-1.03 modules.

09/30/2005:

4. Added import of compiled PSM (Pro Sound Maker by Denis Dratov) modules. They
   must be compiled by original (author's) compiler.

Vortex Tracker II v1.0 beta 13

10/02/2005:

1. Fixed error in PSM import: loop position always was zero.

03/14/2006:

2. In addition to 'Save As...' command added simple 'Save' (asks for file name
   only for new modules).
3. Added save requests before closing module windows or whole editor.

03/16/2006:

4. Added second sound chip emulation to play any two opened modules
   simultaneously. 'Play' and 'Play from start' start playing module of current
   window through the first chip and module selected in dropdown list of control
   panel through the second chip. So, you can edit two standard PT3-modules, and
   then play it simultaneously through some of known devices (Turbo-Sound or
   Turbo-AY) on real ZX (see example in ZX-magazine InfoGuide #8).

03/18/2006:

5. MC68000 PT3-player is updated (SNDH-export). Note and volume tables are
   packed now via Ivan Roshin methods (player size is 1 KB smaller now).
6. SNDH-export is improved: new SNDH v2 TAGs are supported and new file name
   extension (SNDH) is used now.

03/19/2006:

7. 'Options' dialog allows you to input any AY-frequency in range 1-3.5 MHz, and
   any player frequency in range 1-2000 Hz.
8. Added track colors selection in 'Options' dialog.

03/25/2006:

9. Fixed tracks editor's cursor moving errors (PageUp/PageDown reaction).

Vortex Tracker II v1.0 beta 14

10/01/2006:

1. Window for 2nd chip is autoselected during changing module window. No need to
   select it manually now (if you are editing only two modules in TS mode, of
   course).
2. During playing in TS mode tracks moving of both windows are sinchronized now.
3. During editing in TS mode tracks and cursors of both windows are sinchronized
   too.
4. In TS mode cursor moving to the maximum right or left position of tracks
   editor will activate window of 2nd chip in same position of tracks editor.
5. "Play from position" function (F5) works from current cursor position now.

10/03/2006:

6. Fixed bug: envelope period changed in AutoEnv mode was not added to the undo
   list (thanks to Karbofos for bug-report).

Vortex Tracker II v1.0 beta 15

03/04/2007:

1. Module window is redesigned for more comfortable editing in TS mode (thanks
   to Znahar for ideas and help).
2. No need to close Tracks Manager window now, it stays on top and works with
   current module, which name is duplicated in main window title (specially for
   (Znahar).

03/08/2007:

3. Selected track area can be transposed by calling pop-up menu or from keyboard
   (Num +, Num -, Ctrl+Num +, Ctrl+Num - (+-semiton/+-octave). New function
   works with notes and envelope track.
4. Fixed error: after using AutoStep current time was not updated.
5. AutoStep works after pasting from clipboard now (specially for TAD).
6. Fixed error: trying to start playing of just created (empty) module in TS
   mode rised error message (thanks to Znahar for bug-report).
7. AutoStep can be used with insert/delete/clear track/pattern line. Can be
   useful for increasing/decreasing pattern size twice (thanks to TAD for idea).
8. Fixed error: the most Undo/Redo operations not updated module duration info.
9. Fixed error: after insert/delete/clear track/pattern line module duration and
   current time info was not updated.

03/10/2007:

10. Some Znahar's ideas was added: Global Transposition window can be always
    opened; the most buttons of tools panel can be removed via pop-up menu; size
    and position of main window is saved during closing.
11. Fixed error: if envelopes in channel is disabled in Editor Controls, you can
    hear tone and noise if they enabled in sample now (thanks to TAD for bug-
    report and test module).
12. You can input -96 and +96 numbers in ornament editor (works like 95, but -96
    is used in many PT3-modules from ZX Spectrum). Thanks to TAD for info.

Vortex Tracker II v1.0 beta 16

04/30/2007:

1. New Release 7 of ZX player is used for exporting. New version allows right
   work of 1.xx and 2.xx special commands for PT 3.7 modules.
2. Added import of PT 3.7 modules are saved in TS-mode (module automatically
   converted to two single PT3-modules).

05/01/2007:

3. Fixed bug: during playing module VT didn't alow to change position value in
   other module windows.
4. Fixed loading modules bug: not used lines of pattern was not cleared, and
   after increasing pattern length random trash can be shown in last lines.
5. Some PT 3.6 structure analizer was added to prompt user about loading PT 3.6
   modules as Turbo Sound.
6. Added PT 3.7 editor mode, which allows to use special commands 1.xx and 2.xx
   to single change tone frequency by xx value down or up.
7. 3xxx interpretation type option changed to Features level selection:
   ProTracker 3.5, Vortex Tracker II (PT 3.6) and ProTracker 3.7. Each mode
   marked in module by own header.
8. Some redesign of pattern editor window (specially for ch41ns4w).
9. Highlight step can be 0 now (same as 256 and same as 'no highlight' option,
   specially for TAD).

Vortex Tracker II v1.0 beta 17

05/13/2007:

1. TS-mode is turning on after loading TS-module. If only two windows are opened
   they are tiling horizontally also.
2. Added new TS-format loader (used in Ay_Emul 2.9 beta 2).
3. Changed 2nd module pointing method for TS-mode. Now you can point one window
   two another individually.
4. Again redesign of pattern editor window (specially for Ch41ns4w).

05/18/2007:

5. During saving one of module in TS-mode, 2nd module is added to result file
   too. In text format modules fallow one for another, so you can merge two
   single modules without editor in command line:

     copy Module1.txt+Module2.txt Module.txt.

   During saving PT3 16 bytes identifer is added at the end of result file. More
   simplier to save it from editor, but you still do same in command line:

     copy/b Module1.pt3+Module2.pt3+ID Module.pt3

   where ID is next structure file:
    +0 Str4 'PT3!'
    +4 Word Module1.pt3 file size
    +6 Str4 'PT3!'
    +A Word Module2.pt3 file size
    +C Str4 '02TS'
6. AutoStep range is expanded to +-256.
7. Fixed error: in no loop mode more short module of TS-pair plays first tick of
   loop position before stopping.
8. Fixed error: color text on some buttons was set to black instead of system
   window text color (thanks to Roman Kuraev for bug-report)..

05/19/2007:

9. Added new TS-player for ZX exporting of TS-modules. Don't forget to load in
   DE register address of second module.
10.Max size of ornament is upped to 255 (old 64 lines limitations was only in
   ZX Spectrum editor, not in players). New size limit allows to import long 
   ornaments from ASC and PSC modules.
11.PSC-files import is improved (see guitar.psc by Mast).

Vortex Tracker II v1.0 beta 18

11/20/2008:

1. Tracks redrawing moved from additional to main thread via windows messages
   for more safe and stable work (but without measured moving warranty).
2. Specially for TAD new tool "Toggle samples" (Ctrl+M) was made (seek at Play
   menu or on tool panel). Tool allows to mute sound of any samples to hear/mute
   standalone parties of composition (drum, main theme, echo, etc).
3. Due many requests channel numbers in Track Manager are literal now (A, B and
   C). In type field can be input numbers from 0 to 2 as usually.

11/22/2008:

4. Specially for TAD added Shift+Backspace shortcut to do step backward if
   AutoStep is on.
5. Serious bug was found: if new typed value is equal to existing one, change
   is not added to Undo, but numbers of line and channel stored somewhere (if
   first change than can be access violation, if not first - in previous action,
   that's not good too). Fixed.

11/24/2008:

6. Especially for TAD after changing pattern number or activating module window
   its number is copied to Tracks Manager and Global Transposition windows.
7. In input pattern size field you can press PageUp and PageDown to increase/
   decrease pattern size with highlight step value (for TAD).
8. You can select position in OrderList of 2nd window during playing in Turbo
   Sound mode to restart playing from.
9. Pop-up menu or keys / and * on numpad allows to compress/expand pattern size
   by 2 times (specially for TAD). Just set new speed to keep tempo after
   operation if you need.

11/25/2008:

10.Due Roman Kuraev request added new function Merge (Ctrl+Alt+V or pop-up menu)
   to Paste from clipboard without erasing existing pattern data with empty
   values. Can be useful for making echo or inserting 2nd party between notes of
   main party.
11.Copy of Tracks Manager is added to Undo, but all previous Undo actions is
   cleared. Fixed.
12.Due TAD request, all operations of Tracks Manager can exceed patterns size up
   to maximum pattern length (256) if work lines number allows. This feature
   allows you to increase pattern size after operation.
13.Fixed old error in ZX player export: bad player relocation for some address
   (for example, B1DD for TS-player) due carry ignoring when low byte of address
   is bigger than some value.

11/26/2008:

14.For TAD editing 1st module in TS-mode makes available Save button (and query
   for saving before closing) after switching to 2nd module even if it is not
   edited yet.

Vortex Tracker II v1.0 beta 19

02/08/2009:

1. TAD has pointed, that initally unused or loaded samples can be muted (after
   appearing version with Toggle Samples tool). Fixed.

Vortex Tracker II v1.0 beta 20

06/16/2022:

1. Windows 9x is not supported now.
2. Bug fix: right length in hobeta header for non-TS module without player (was
   16 bytes bigger).
3. Digital sound engine changed to Ay_Emul 2.9 beta 31's.
4. More perfect AY emulation engine from Ay_Emul 2.9 beta 31.
5. Options are stored in VT.cfg now (like Ay_Emul in home folder of current
   user, or in VT executable folder, if you move it or create empty yourself).
6. STC loader can extract author' strings from 'KSA SOFTWARE COMPILATION OF '
   and 'SOUND TRACKER COMPILATION OF ', insterted in Ay_Emul methodic.
7. Added import of uncompiled Sound Tracker 1.xx (ST1 file extension).
8. Added import of compiled Sound Tracker 3 (ST3 file extension).
9. Added import of uncompiled Sound Tracker Pro (STF file extension).
10.Added import of compiled ASC Sound Master 0 (AS0 file extension).
11.TS-module's windows are aligned after opening even if other modules was
   loaded bedore.
12.In windows loop play mode added checking if TS-pair to skip replaying twice.
13.If TS-window playing starts, linked TS-window brings to foreground now.

06/17/2022:

14.Text module loader slightly extended to load Ivan Pirog's vt2, vtp, vts and vto.

Vortex Tracker II v1.0 beta 21

06/21/2022:

1. Fixed old error in FTC import: sample length could exceed maximum for PT3,
   but was no checking (see "Joe of DR\Binary Love 1.ftc" module).

06/22/2022:

2. Fixed old error in FTC import: musician could point noise in special command
   out of 5-bit range (00..1F), import takes low 5 bits now.

06/23/2022:

3. Atari ST (export to SNDH) player can play PT 3.7 modules with special
   commands 1.xx and 2.xx now.
4. Added Fast Tracker 1.07 and 1.08 modules import (can be one of two note
   tables (1 or 2) now, and also for 1.08+ Retrig special command is imported
   as R11R12R13 doublicates in corresponding channel.
5. FTC ornament set import is improved: all single ornaments are not prefixed
   by Envelope Off command now, excepting zero (empty) one.

06/24/2022:

6. Reverse loading order is removed if opening several modules at once.
7. Tn, Ns and En buttons in module window was renamed to T, N and E
   correspondingly.

07/02/2022:

8. Added .AY type ZXAYST11 (ST1 analog) import.
9. Delphi->Lazarus fix: in beta 20 tracks redrawer ignores highlight step
   changing in "Auto" mode.

Vortex Tracker II v1.0 beta 22

08/29/2022:

1. Delphi->Lazarus fix: starting from beta 20, when loading any module, the
   variable storing the number of the current pattern was always initialized
   with a zero value, and if the first position of the loaded module contained
   a non-zero pattern, then this led to an incorrect reaction to user actions
   before explicitly selecting a position with some non-zero pattern.

12/07/2022:

2. Fixed an error in the PSM pattern decoder for the F9 "GoSub" command (it was
   not implemented in the native compiler, so it did not lead to a crash).

03/29/2023:

3. The number of visible lines in the ornament editor is no longer fixed and
   varies depending on the height of the pattern editor defined in the options
   (by analogy with the sample editor).
4. The cursor in the sample or ornament editor can no longer be placed in a
   gray (i.e. not editable) area.
5. Improved cursor control in the sample and ornament editor (including the
   mouse wheel).
6. There is a pop-up menu has been added by right mouse button clicking in the
   sample and ornament editor, so changing signs and accumulation fields has
   been reassigned to the middle one. The amplitude drawing still by the right
   button (the popup menu in the amplitude drawing area is not called).
7. Using the cursor keys (when Shift is pressed) or the mouse, you can select
   an area in the sample and ornament editor (by analogy with the pattern
   editor).
8. Modified the change (when entering from the keyboard) of the number, loop
   point and length of the sample/ornament (added checks for out-of-range,
   replacing the entered garbage with the previous value, completing editing
   with the Enter key).

04/01/2023:

9. The AutoStep is now also turned on during editing or changing the auto step
   value.

04/02/2023:

10.Delphi->Lazarus fix: there was no corresponding event when deleting a
   position (drawing a new pattern and moving the selection when deleting the
   last position).
11.Delphi->Lazarus fix: the pattern/position number field in the Tracks Manager
   and Global Transposition windows was not updated when changing it in the
   pattern editor.
12.Delphi->Lazarus fix: the channel number did not change in the Tracks Manager
   window when entering its name or number in the text field.
13.The channel number in Location 2 could not change correctly in the Tracks
   Manager window when pressing Up or Down from the keyboard.
14.Delphi->Lazarus fix: due to the difference in the processing and occurrence
   of events during or after editing text and numeric controls, some changes
   were not always adequately applied or visualized, the code was revised and
   the corresponding event handlers of almost all TEdit, TUpDown, etc. elements
   were adapted to the behavior of Lazarus.
15.The selected area cleaning, copying and cutting it to the clipboard has been
   added into the ornaments and samples editing fields.
16.Undo/Redo has added the ability to practice the actions described in the
   previous paragraph, and by the way the code has been revised to improve the
   cursor displaying at the time of the corresponding change.

04/03/2023:

17.Added a frame around the selection for better visualization of the cursor
   position (because the cursor may not flash when working through mstsc).
18.Added the ability to insert a fragment of an ornament from the clipboard
   (previously copied there) in the ornament editing field (using standard hot
   keys or a command from the popup menu). The insertion is made starting from
   the cursor and may exceed the length of the edited ornament; if necessary,
   the length can be increased both before and after insertion, because the
   data inserted beyond the ornament border is not erased. If an area is
   selected in the ornament, then the inserted data is cut off along its
   borders.

04/04/2023:

19.The insertion of samples from the clipboard is implemented by analogy with
   ornaments. You can copy and paste various parts of the sample (i.e. those
   that hit into the selected area). For example, you can copy a part of a
   column with tone deviation signs, and paste it into any column where such
   signs are allowed (even into a column with noise/envelope deviation signs).
   The same liberties are allowed with masks (for example, a tone mask can be
   copied into a noise mask), and with numbers (for example, you can copy a
   column with zero tone deviations and paste it into a column with amplitudes
   to reset them).
20.Fixed the same type of transposition error when importing STP, STC, FTC and
   SQT (see in previous beta versions of Vortex Tracker II the end of pattern 2
   of channel A in Push\%nom-2a.stp and Push\%nom-2a.stc). Thanks to TAD for
   detecting the glitch.

04/06/2023:

21.The ability to work with the clipboard (selection, copying, pasting, etc.)
   has been added to the sample and ornament test lines. You can copy and paste
   data both from the test lines and from the pattern. You can open a popup
   menu by right mouse button clicking on the test line.

04/07/2023:

22.The volume control has been redesigned: it does not take away the keyboard
   focus from other controls now; you can either simply left mouse button
   click or move it with the already pressed one.

04/08/2023:

23.Fixed a bug: the title of the edited window was updated, but the main one
   was not after working Save As...

04/09/2023:

24.Bug fixed: the list of digital audio output devices was supplemented with
   the same lines every time the Options window was called.

Vortex Tracker II v1.0 beta 23

04/25/2023:

1. Delphi->Lazarus fix: tasks have been created in the Lazarus bug tracker
   regarding the incorrect operation of MDI windows, since have not yet been
   fixed, the corresponding problems have been masked (see the comments in the
   code).

04/26/2023:

2. Bug fixed: a zero uninitialized pattern is displayed in the newly created
   module, and this was not taken into account in the procedure for manually
   setting the highlight step, as a result, a failure occurred when trying to
   manually change it.
3. If only one TS pair is loaded and the "Loop all" mode is selected, the
   melody was repeated not from the loop position, but from the beginning
   (fixed).
4. An "S" button (solo) has been added to the sound control of each of the
   channels, which, when pushed on, silences all other channels, except for
   those with a similar button also pushed on (the idea is borrowed from Ivan
   Pirog's Vortex Tracker II v2.6 project).
5. The pattern tabsheet was redesigned in order to transfer the sound control
   buttons of each channel to the gap above the corresponding channel (as in VT
   II v2.6).
6. Only monospaced fonts are now displayed in the font selection dialog of the
   Options window, so the frightening red inscription about the need to select
   only monospaced fonts has been removed.

04/28/2023:

7. Added the ability to resize the editable modules windows by height, the
   number of rows in the editable pattern varies depending on the height of the
   window (as in VT II v2.6).
8. Now the windows of TS pairs are automatically attached to each other if the
   size of the workspace is wide enough for two windows. The window opened or
   created first is displayed on the left.
9. When changing the size or position of one of the windows in TS-pair, similar
   changes are made with the second window.
10.The sample string templates have been removed from the Samples tabsheet.
11.Statistics and "Copy To" fields have been removed from the Samples and
   Ornaments tabsheets.

04/29/2023:

12.The number of visible lines in the sample and ornament editors has now also
   become dynamic (depends on the size of the editable module window).
13.When closing the TS-pair window, the second one is now automatically closed
   (with the exception of the modules that have just been hooked and have not
   yet been saved as a TS-pair, i.e. with different file names).
14.When saving a TS pair, the module with the smallest window number is now
   saved first (that is, the one that was created or loaded earlier).

05/01/2023:

15.Now the font of tracks set in the Options window is applied not only to new
   windows, but also to already created ones.

05/02/2023:

16.Added font customization separately for samples, ornaments and their testing
   lines.
17.Added customization of the colors of the sample and ornaments editors, as
   well as their test lines.

05/03/2023:

18.The chip type was not saved on the exit starting from beta 20 (fixed).
19.The Options window has been redesigned, including the separate control of
   the visual and audio channel layout has been removed, they always switch
   synchronously now.
20.When entering an atypical chip or interrupts frequency, calling the Options
   window again led to a failure (SetFocus error, because the ability of the
   frequency input field to accept keyboard focus was incorrectly determined).

05/05/2023:

21.The reaction to the mouse wheel rotation in the position editor was removed
   (visually nothing happened, but in playback mode, playback was restarted
   from this position).
22.An attempt was made to the Lazarus grid property circumvent (a position
   editor was made from it): when the mouse moved with the pushed button, the
   position was selected (including reselected, which caused a frequent restart
   of its playback in playback mode). Perhaps in the future it will be better
   to make own position editor (on the same principle as for tracks, samples,
   etc.).

Vortex Tracker II v1.0 beta 24

05/10/2023:

1. Fixed another bug of manually selecting the highlight step on a newly
   created (i.e. empty and uninitialized) pattern: when trying to enter a zero
   step, a failure occurred.
2. The "Decimal numbering" and "Decimal noise" buttons have been added above
   the corresponding tracks to switch to the decimal numbering of track lines
   and display the noise period at any time (a similar idea is implemented in
   Ivan Pirog's Vortex Tracker v2.6).
3. Two parameters for new windows have been added to the options window for the
   same purpose: "Decimal noise period" and "Decimal line numbering".
4. Font styles are now ignored (except for bold).
5. The cursor width could be displayed incorrectly in the tracks during Undo
   (when alternating changes in notes and parameters). Fixed.

05/11/2023:

6. The "Envelope as note" button has been added above the envelope track. The
   option has been asked to be implemented for a long time (TAD asked me about
   it for the first time many years ago), but I put it on hold until I saw the
   implementation in Ivan Pirog's Vortex Tracker II v2.6 and wanted to do it a
   little differently: the envelope period is replaced by a note only if a
   cyclic envelope type is specified in one of the channels; the octave of a
   note depends not only on the envelope period, but also on its type; if the
   envelope type is specified in several channels, the type from the largest by
   channel number is taken (this is how all the players I know are arranged).

05/12/2023:

7. Octave 0 has been added to display the envelope periods up to FF and C-0,
   everything below is displayed traditionally in HEX.
8. Another parameter has been added to the Options window for new windows,
   "Envelope as note", which allows you to make the corresponding displaying
   the envelope period mode the default mode.
9. Editing of the envelope period track in the pattern has been modified for
   the "Envelope as note" mode: a wide cursor; input with note keys;
   calculation and substitution of a note in the appropriate channel (if
   AutoEnv is enabled); clearing the selection and cutting/copying it to the
   clipboard have been rewritten so that all four digits of the envelope period
   are captured, if in their place a note is displayed; switching the "Envelope
   as note" mode corrects the cursor position and selection boundaries in the
   area of the envelope period display. To enter notes from octave 0, turn on
   octave 1 and use the standard keyboard shortcut to enter a note an octave
   lower (Ctrl+Shift+NoteKey).

05/13/2023:

10.Now you can insert notes from any channel from the clipboard into the
   envelope period track. If the envelope type is specified in one of the
   channels when inserting the target pattern in the corresponding line, it
   will be taken into account when recalculating from the note number to the
   envelope period, otherwise the calculation is performed as for a type 8
   envelope (the same result as type C).
11.Bug fixed: when pasting from the clipboard into a newly created (i.e. empty
   and uninitialized) pattern, a crash occurred.
12.The envelope periods copied to the clipboard (in any display mode) can now
   be inserted into the note tracks of any of the channels. The conversion of
   the period to the note number is performed as for an envelope of type 8/C.
   If these periods were used with the A/E type, you will need to manually
   transpose the result an octave lower. If the periods are copied in the
   traditional display mode (HEX), you need to capture all four digits before
   copying, only in this case the insertion algorithm will group them as one
   whole if the insertion is made in a track with notes.

05/14/2023:

13.A table number selection for new modules has been added to the Options
   window.
14.Another idea from Ivan Pirog's Vortex Tracker II v2.6 has been implemented:
   when changing the note table in the module, the envelope periods can be
   recalculated. You can disable this feature in the Options window. A window
   appears with a request to confirm the operation before the recalculation,
   because it cannot be rollbacked via Undo.
15.Transposition in envelope period tracks is now done according to the
   envelope periods to notes conversion table, and not to the formula (the idea
   is taken from Vortex Tracker II v2.6). For this reason, those periods that
   are not recognized as notes (outside of the note range or indicating a
   non-cyclic envelope type) are no longer transposed.
16.Added tooltips for the selected tone table number, indicating which clock
   frequency of the music chip they are suitable for.
17.The Close All to close all windows and Find Module to search for a window by
   a fragment of the file name, title or author's name items have been added in
   the Windows menu (thanks to Alexander Boolba for the icon and code).

05/16/2023:

18.The standard Cascade Windows method has been replaced with the code provided
   by Alexander Boolba. When cascading, windows (including TS pairs) are
   positioned better now.
19.If one of the TS-pair windows becomes active, the second one is also brought
   to the foreground (thanks to Alexander Boolba for the code).
20.New windows positioning is now performed by Alexander Boolba's Cascade
   Windows algorithm.

05/17/2023:

21.The standard Tile Vertically and Tile Horizontally methods have been
   replaced with code provided by Alexander Boolba.

Vortex Tracker II v1.0 beta 25

07/28/2023:

1. A test line with the same properties as on the Samples and Ornaments
   tabsheets has been added to the Patterns tabsheet.
2. Added auto filling the Patterns tabsheet test line with the main parameters
   as the pattern is edited.
3. Added the ability to auto set parameters when entering a note. Using the
   corresponding buttons located above the test line, you can select which
   parameters should be added at the same time (sample, envelope type,
   ornament, volume and special command with parameters). The function is
   enabled and disabled by the Auto Parameters button. Parameter values are set
   in the Patterns tabsheet's test line.

07/29/2023:

4. Added the ability to group a number of sequential actions in Undo. At the
   moment, grouping of two types of changes is implemented: Auto Envelope and
   Auto Parameters. Thus, in one click Undo/Redo, you can return all the
   actions that were performed by these input automation commands.

08/01/2023:

5. The Tables tabsheet has been added to the editing window, where the note
   table number control has been moved, as well as its visualization (in the
   table or list form) has been added, while you can configure the display as
   both decimal or hexadecimal numbers.
6. The same principle is now applied as with normal saving when exporting TS
   pair to ZX Spectrum: the module with the smaller window number is written to
   the format selected for export first of the pair.
7. Bug fixed: when saving a TS-pair with a new file name via the active window
   with the largest number, the title of the inactive window was not updated.
8. Bug fixed: if changes were made to only one TS-pair window since the last
   save, and if the second not changed one became active, the Save command did
   not work. The tempoarary decision was the Save As command... or activating
   the first window.

08/05/2023:

9. Delphi->Lazarus fix: the main window position and size saved at the exit to
   the configuration file were ignored at the start of the application.

08/07/2023:

10.Bug fixed: the cursor coordinates at the change time were stored in the Undo
   list, however, since it became possible to change the size of windows with
   an editable module, this approach led to errors. Now the Undo list stores
   indexes instead of cursor coordinates, which do not depend on the size of
   the pattern, sample or ornament editing area, and the cursor position is
   calculated at time of Undo or Redo running.

Vortex Tracker II v1.0 beta 26

08/19/2023:

1. Added changes grouping in Undo when "drawing" the amplitude in the sample.

08/24/2023:

2. Keyboard shortcuts are no longer fixed in the program code, but are moved to
   a separate array, which is filled with default values when the application
   starts.

08/25/2023:

3. Added global keyboard shortcuts (Alt+digit) to set the octave number in all
   editors at the same time (both in tracks and in test lines). The old octave
   selection keys work the old way when the cursor is in the note position. The
   idea is taken from Vortex Tracker II v2.6.
4. Saving keyboard shortcuts to the configuration file at the output and
   loading them when the application is launched has been added at the
   long-standing request of Nik-O. Now you can override almost all hotkeys by
   editing the VT.cfg file, or even set them for those actions for which they
   were not defined by default.
5. The array of key codes mapping to notes is now also saved/loaded from the
   configuration file. Almost any key on the keyboard can be set to any note or
   octave number selection, but do not forget that some keys or their
   combinations with Shift or Ctrl+Shift can be used for other hotkeys.

08/29/2023:

6. The Keys tabsheet has been added to the Options window to configure hotkeys.
   With its help, you can achieve the same result as when editing the
   configuration file, but the bonus is automatic conflict checking immediately
   after capturing a new keys combination, as well as the ability to restore
   default values or press Cancel to return old ones at any time.

08/30/2023:

7. Bug fixed: when AutoEnv was enabled, automatic changes to the envelope
   period when entering data in the test line were added in the Undo list.
8. Editable sample, ornament, pattern, as well as test lines are no longer
   forcibly redrawn with any change, but are marked as invalid so that
   rendering is performed only as needed. This eliminates multiple redrawing
   when undoing grouped operations.

Vortex Tracker II v1.0 beta 27

09/10/2023:

1. Now the possibility of packing the result using the PACK-ICE method has been
   added when exporting to SNDH, which is how the bulk of SNDH files on the
   network are packed. The packing algorithm is restored from the source
   'unice68_pack.c' by Benjamin Gerard, where the original PACKICE v2.35 source
   code for the MC68000 assembler was converted to C by the method of this
   Motorola processor operation pseudo-simulation (that is, without a deep
   analysis of the algorithm itself). Now, after cleaning the code from
   assembler commands, replacing register numbers with variables with
   meaningful names, as well as detailed comments, it has become easier to
   understand the idea that the packer implements (see the ice.pas file).

09/11/2023:

2. Fixed an error that occurs when using multiple monitors: if the coordinates
   of the main window on the second monitor were saved at the exit, which was
   subsequently disconnected, then when the application is launched later, its
   window is not visible on the remaining monitor (a ready-made procedure from
   the Ay_Emul project was applied to fix it).
3. Now the coordinates and size of the main window are restored and saved
   to/from the configuration file even if the window is maximized to full
   screen (to use them when this mode will be turned off). If the window is
   maximized, its coordinates and size before maximization are saved.
4. Volume can be contoled by the mouse wheel (it works if the mouse cursor is
   hovered over the menu or panels of the main window, or on a child window).

09/12/2023:

5. A few improvements that are useful when using multiple monitors: the forms
   shown before export are centered in front of the main window, floating
   windows with tools are displayed next to the corresponding toolbar button on
   the first call.

09/15/2023:

6. Export to PSG is implemented. PSG files for ordinary modules are the same as
   when converting to Ay_Emul, and 2 PSG files are saved for TS modules
   (Ay_Emul can't doing this yet). The idea is taken from VT II v2.6. Search in
   the menu File-> Exports->Convert to PSG... Unlike Ay_Emul, playback does not
   stop when converting to PSG. The T/N/E mute buttons and the Toggle samples
   checkboxes are also ignored.

09/17/2023:

7. Bug fixed: if the module is being played, then in other windows the position
   selection did not lead to the display of the corresponding pattern.
8. Bug fixed: if the module is being played, then clicking on the Mute/Solo
   buttons in other windows led to a short pause in playback.
9. Added keyboard shortcuts for volume control. They are configured in the
   Options window. Not set by default.
10.Correction: when pressing Up/Down (including with Shifts) in the positions
   list, the playback of the current position was restarted.

09/18/2023:

11.Improvement: after stopping playback, the current parameters in the pattern
   editor (sample/ornament numbers , volume, etc.) now correspond exactly to
   the stop line (before that they can be from one of the following lines
   corresponding to the end of the sound buffer). If the total buffer size was
   small enough, then this discrepancy could not be encountered (or
   encountered, but rarely). Now there will be no discrepancy even with a large
   buffer.

09/21/2023:

12.Added export to WAV. The file is generated with the parameters set in the
   Options window for emulation and digital audio. The conversion process can
   be stopped by pressing Esc or the cancel button next to the progress bar
   that appears. The current playback does not stop during the conversion, and
   the functionality of the application is partially preserved (visualization,
   hints, volume control with the mouse wheel, switching to the next window
   playback, etc.).
13.The AY emulation and playback code using was completely rewritten while
   writing converters to PSG and WAV in order to eliminate playback and
   conversion conflicts, as a result of which it became possible to run these
   processes in parallel.

09/22/2023:

14.Bug fixed: when working with a TS pair and if some other module is being
   played in the background, clicking on the positions list did not lead to
   synchronous selection of a position in the associated TS window.
15.Improvement: in the case of working with a TS pair and clicking on the first
   empty cell of the positions list, information about the current time was
   updated only in the active window of the TS pair.

Vortex Tracker II v1.0 beta 28

10/20/2023:

1. MIDI keyboard control buttons have been added to the toolbar. You can going
   over the connected keyboards with the MIDI button. The first one offered by
   the system is connected automatically by default. You can disable both the
   already connected keyboard and the connection standby mode at all (the idea
   of using standby mode was seen in VT v2.6) with this button. Information
   about which keyboard is connected, as well as whether standby mode is
   enabled, is displayed in the status bar at the main window bottom when you
   hover the cursor over this button. The V button is designed to control
   inputting of volume from the MIDI keyboard: if it is pushed, the pressing
   key velocity will be converted to values from 1 to F in the volume column of
   the track or test line. The current MIDI configuration (including the device
   name) is saved to the configuration file when the application is closed. The
   Windows operating system provides the ability to work with MIDI devices by
   standard means, so no third-party libraries were used to support MIDI
   keyboards.

10/21/2023:

2. Added input from the MIDI keyboard. If tracks are active, then the notes and
   volumes input occurs in them, if the samples' or ornaments' tab is active,
   then the input occurs in the corresponding test lines, otherwise this data
   is entered into the test line of the patterns' tab. Volume input is disabled
   by default (only notes are entered). The cursor does not have to be in the
   note input field, it is enough that it is located somewhere inside the
   desired channel or the envelope period track. If the module window is
   minimized, input from the MIDI keyboard continues, but only switched to one
   of the test lines (to exclude accidental editing of the pattern).
3. A shortcuts setting has been added to select the MIDI keyboard (Ctrl+Alt+M
   by default) and to enable the note volume inputting from the MIDI keyboard
   (not set by default) to the Options dialog.
4. An option has been added to the Other tab of Options dialog for the ability
   to work with a MIDI keyboard in the background (that is, when the
   application is not active or minimized on the taskbar, in the latter case,
   the input from the pattern editor switches to the test line). This option
   will be useful when using virtual MIDI keyboards that take up focus.
   However, at the same time, several Vortex Tracker II applications running
   simultaneously will also simultaneously process the same MIDI keyboard
   messages. This option is disabled by default.
5. Delphi->Lazarus fix: after switching an edited module tab, the keyboard
   focus could remain on some element of the just hidden tab.

10/22/2023:

6. At the request of Dmitry Bystrov, an Unroll button has been added to the
   Samples tab to unroll the accumulations in the sample. A new sample will be
   generated after pushing, the length of which may differ from the original
   one, and if all the lines sound the same inside the last unrolled loop, then
   it is reduced to one line (usually after the amplitude accumulations are
   unrolled, silence is in it). The algorithm can finish work early if the new
   sample has reached the maximum length allowed in PT3. The functionality is
   similar to one of the Unloop modes implemented in VT v2.6, but there the
   length of the new sample is not seeked automatically, but is defined by the
   user in the dialog. Unfortunately, when unrolling the envelope slides, the
   algorithm quickly runs into the limitations of the PT3 format (from -16 to
   +15), while the tone and noise slides unroll completely.

10/23/2023:

7. Improved function on systems without a sound device (for example, working
   with a remote desktop via RDP, in which the sound is turned off). Prior to
   that, any editing caused an error dialog and the user had to press one of
   its buttons each time to continue (while the adjacent button closed the
   application). Now, while editing tracks and working with the test lines,
   audio initialization errors are ignored automatically and unnoticed by the
   user. If you explicitly try to start playback (for example, by pressing the
   Play button), the information about the occurred error is appeared, but only
   one OK button wiil be in the dialog.

10/24/2023:

8. The envelope periods recalculation when changing the note table number is
   now adding in the Undo list, so the corresponding warning dialog has been
   removed. All changes caused by changing the table number are grouped for the
   ability to undo in one click.
9. When Undo/Redo a group of changes, all calculations related to redrawing
   (including calculating the cursor position and the need for focus) are now
   performed only for the first change in the group. As a result, after Undo or
   Redo, the user sees the cursor in the place where the first change occurred,
   that is, where it is intuitively expected.
