Fixed tab order for options form.
Fixed bug: Application icon not getting updated when tray icon was invisible.
Added option to enable or disable system tray icon.
Make title of timers editable by default.
Attached the pop-up menu with the system tray icon, as otherwise the tray icon is not displayed altogether.
Fixed bug: When audio not loaded, starting a timer throws exception.
Increased optimisation level to the maximum for release mode.
Audio settings are saved only if audio system is loaded.
Changed the label of the volume bar.
When the first timer is added, reporting is turned on by default.
Reverted to using bgrabitmappack.lpk.
Added release and debug target folders for the two build modes.
Removed unnecessary warnings.
Using bgrabitmappack4nogui.lpk instead of bgrabitmappac.lpk as we are not using any of the UI controls of the package.
Timer alert entry destruction made synchronous.
Fixed warning messages of type: /TAutoSizeCtrlData.FixControlProperties aligned sides can not be anchored fraTimer1:TfraTimer a=akTop old=pnlClocks:TPanel new=nil/
Fixed TODOs.
Made callback from alert frame entry to alert form asynchronous. Warning /TBitBtn.Destroy with LCLRefCount>0./ got rid of.
Reverted Lazarus version from 2.2.2 to 2.0.12 due to a possible but with TTrayIcon in the former.
Fixed bug: While starting from the alert window, pause and stop buttons were getting disabled.
Coding standards related updates.
Made addition of alert asynchronous.
Fixed bug: In the alert form, restart button had a ModalResult of mrRetry. This was causing ShwoModal to exit.
Fixed bug: Rare multi-threading issue when timers run simultaneously.
Default font size is now updated from a reference form, which is the main form.
Compact alignment for edit, timer alert forms as well as the timer frame.
Layout issues fixed for windows.
Partially fixed: layout issues - options form
Fixed bug: Font size is coming as negative in Windows while positive in Linux. Get Absolute value.
All buttons to use default cursor.
Fixed bug: Move up/down was reversed.
Dynamic layout of options form.
Changed anchoring, layout and padding in adhyst form, so that it works well with different font sizes.
Dynamic layout - edit form.
Changed anchoring, layout and padding in about form, so that it works well with different font sizes.
Fixed bug: When duplicate instance is started, exception was being thrown, silently.
Moved sequence to util.pas.
Fixed main form button panel and button alignment.
Fixed bug: Application does not start if application configuration directory does not exist (especially in the first run).
Main header control sections are resized on panel resize rather than scrollbox resize.
Removed reorder method in frmMain.
Renamed methods for readability.
Rewrote ordering and layout of timer frames. Now leverages anchors as much as possible.
Changed the timer frame to autosize
Removed ID field from timer rame, edit and adjust forms.
Moved pnlClocks inside the scrollbox.
Fixed bug: Button was being destoryed in its own callback. Worked fine in Linux, but throws exception in Windows.
Timer alert form changed to a set of frames, with buttons for restarting. (Incomplete).
Listview removed from timer alert form.
Alert form, completed header.
Fixed bug: When volume is zero, slider grows.
Fixed bug: In the timer list, header scrolls off the panel.
Fixed alignment of move up/down buttons.
Fixed bug: Alignment issues in Windows.
Fixed bug: After code cleanup, windows compilation was failing.
Fixed log messages.
Added script to check for duplicate constants.
Cleanup of commented dead code.
Cleaned up commented dead code.
Removed commented dead code.
Added script to check if all source files have copyright and license information.
Added FORCE_FAIL_PORTAUDIO to fail the load of PortAudio for testing.
If audio system is working and if volume is muted, an alert is shown.
Added script to check dynamic library dependencies in Linux.
Added info logs while the application is closed.
Fixed bug: Configuration setting to use default audio device was being incorrectly set.
Enabled static compilation with portaudio in Windows.
Windows: Default to output device Microsoft Sound Mapper, overriding PortAudio's pick.
Updated dlls from ucrt to mingw64.
Fixed bug: Range check error on application start. Tick count needs to be stored in QWord.
Fixed bug: Pause a running timer. Close the application. Exception on restart.
Additional logging for debugging open issues.
Fixed bug: At times, restarting from the last time of completion was not working properly.
Audio is now played with overridden latency if configured as such.
Settings for audio latency and overriding latency have been added. Saves and loads too...
Changed the default button in options form to use a stock glyph, that of retry.
Added a new unit to keep all constants.
Added audio latency related controls in options form.
Improvised on the singleton implementation for settings, logger, metronome and sound pool.
Implemented the functionality to restart from the current time or time of finish based on the check box in alert form.
Added checkbox to form alert. This is to control restarting, from last finish or from current time.
Added an icon to Restart button in alert form, by changing the Kind to bkRetry.
Fixed bug: SIGSEV when an invalid audio file was selected in edit form.
Removed the beats per minute option in metronome.
Timer alert form was maximisable. Removed minimise and maximise buttons.
Refined steps for installing packages in Lazarus
Controls in the timer frame are now programmatically vertically aligned.
Corrected hint messages if audio is not loaded.
Fixed bug: Message dialog mentioning about failure to restart timers was being shown indiscriminately.
Fixed string conversion warnings.
Added versions of libraries.
Added help.md
Implemented help in the main form.
Changed year to 2021.
If audio system was not loaded, show details as well as hints as to how it can be fixed.
If audio system is not loaded, not shows a message.
Ignored hints and warnings related to inlining. FGL library is spewing a lot of these.
Added newlines before tables.
Added list of Windows DLLs to developer handbook.
Added steps to install Lazarus packages to developer handbook.