Musewave Changelog
==================

Version 1.3.0 - 2022-12-17
[*] Rewrote audio backend.
[#]  This fixes audio playback in Windows 98/Me and adds proper support for running the program through Mono.
[*] Rewrote exporting backend.
[#]  You can now specify additional parameters for the exported file as well as metadata tags.
[#]  If you don't care for these extra steps, you can hold SHIFT while clicking Export to use your last settings and skip metadata.
[+] Added an unhandled error window with the ability to report the error and rewrote the logging system.
[#]  Reporting requires manual action and thus won't happen without user consent.
[*] Replaced Frequency slider with a Speed slider.
[*] Minimum and maximum playback frequency are now properly detected on Win9x platforms.
[+] Persist Volume, Speed, Reverb/Chorus and Repeat state in the configuration.
[+] Added drag 'n drop support for opening files.
[+] Made playing music "wind down" on close, the player window will also gradually fade out during this.
[+] Added support for non-lowercase file extensions (Windows normally ignores casing).
[+] Added support for the SFZ format.
[+] Added support for the ".midi", ".rmi" and ".kar" midi extensions.
[+] Added output device switching.
[+] Added support for running Musewave under .NET Core on Windows.
[+] Soundfonts from soundfonts directory will now be automatically loaded if it has the same path as the midi.
[+] Player window will now remember its position between sessions.
[*] Play/Pause button now remains visually pressed while playing.
[*] Repeat and Reverb/Chorus checkboxes are now buttons.
[*] Fixed system locale affecting numeric values in the configuration.
[*] Expanded support for arm64 on Windows.
[*] Fixed stray pixel on icon.
[*] Fixed various concurrent operations that were causing issues.
[*] Rewrote build date system, no longer embedded in the version number.
[*] About window text is no longer embedded in the image.
[*] Native libraries are now loaded from platform specific subdirectories.
[*] Only show "Open in Explorer" on Windows NT derived platforms due to limitations on others.
[*] Attempt to restart to resolve libraries on Linux.
[*] Fixed filename ordering in the sidebars.
[*] Put error logs and old log files in subdirectories rather than flooding the root.
[*] On Windows, Musewave will now use Windows Notepad as a debug log rather than its own window.
[*] Fixed right clicking on sliders to reset their values not properly updating their positions.
[*] Command line arguments are now case-insensitive.
[-] Removed settings window.

Version 1.2.7550.32028 - 2020-09-02
[*] Fixed export progress bar.

Version 1.2.7262.8755 - 2019-11-19
[*] Fixed null reference.

Version 1.2.7262.30 - 2019-11-19
[*] Changed name from Midi Player to Musewave!
[+] Added settings window.
[+] Added forum link to the about window.
[+] Added app.manifest for better compatibility for Windows Vista and up.
[+] Added signature checking to the updater.
[+] Added option to disable automatic update check on startup.
[+] Added check to prevent running with KernelEx on Windows 98 and Me.
[*] Backported changelog and about window from v2 project.
[*] Backported improved export infrastructure from v2 project.
[*] Fixed some compatibility issues.
[*] Changed changelog window behaviour.
[*] Rewrote configuration handler.
[*] Renamed MidiPlayer config section to Musewave.
[*] Fixed slow net code.
[*] Fixed threading issues with the export process.

Version 1.1.7249.3707 - 2019-11-06
[+] Made the program single instance and added IPC.
[+] You can now specify a file as an argument.
[*] Updated URLs (https://flash.moe/musewave/ -> https://musewave.flash.moe/).
[*] Attempted to fix update checker getting stuck.
[*] Fixed crash when setting a soundfont while no MIDI file is loaded.

Version 1.1.7073.28578 - 2019-05-14
[+] Backported exception logging code.
[+] Display build date in about window.
[*] Fixed anchoring of the Repeat checkbox.
[*] Updated about window.
[*] Backported new initialisation code, startups should be somewhat faster now.
[*] Backported export selection window.

Version 1.1.7050.39377 - 2019-04-21
[+] Added simple update check without any built in downloading.
[*] Moved manual update button from the main UI to the about window.
[*] Fixed crash upon start with blank config.
[-] Removed auto updater.

Version 1.0.x - 2018-06-16
[+] Added repeat button.
[+] Added new resource loader.
[*] Made sure all windows get the correct icon.
[*] Fixed typo on about window.
[*] Rewrote Changelog and Export selection windows to be designerless.
[-] Removed some more leftovers from the old file tree code.

Version 1.0.x - 2018-06-15
[*] Rewrote the file browser panels entire.
[#]  They now support a number of new actions, like pressing CTRL+C while a file is selected will give you its full path.
[#]  Folders are loaded on demand which will reduce load times and they can be reloaded individually.
[#]  On top of that there's also a new button which will open an Explorer window with the file or folder selected.
[+] Added processor architecture detection code (adding proper BASS libs soon, will also come with a new updater).
[+] Added position and duration text displays to the interface.
[+] Added checks to see if we're running on Windows before doing WinAPI calls.
[*] Use magic delegates everywhere.
[*] Rewrite Position and Length to use TimeSpan rather than position and length in bytes.
[*] Fixed small issue where labels in the file trees were editable.

Version 1.0.x - 2018-04-22
[*] Retarget to .NET Framework 2.0 from 4.0.
[+] Added native MP3 and OGG exporting support (requires external binaries, the program will tell you what to do).
[+] Added Reverb/Chorus toggle.
[*] Fixed two instances opening on startup update.
[*] Fixed updating on Windows XP.
[*] Make sure we're in the working directory of the Midi Player exe directory on startup.
[*] Fixed the UI thread being blocked by export operations (you can now also play a different midi while the export is going).
[*] Fixed anchoring of the Reverb/Chorus toggle.
[*] Exporting MIDIs is now instantaneous!

Version 1.0.x - 2018-03-17
[+] Added a button to manually show the changelog window in the about dialog.
[+] Changelog now shows up in a window, rather than notepad (or whatever is set to open .txt files).
[*] Changed update server domain.
[*] Thread safe text updating!
[-] Removed NewPlayer elements (cancelled main interface rework).
[-] Removed Index library dependency.

Version 1.0.x - 2017-10-22
[*] Fix typo.

Version 1.0.x - 2017-10-17
[+] You can now SHIFT+CLICK the refresh buttons to display the full path to either the midi or soundfont.
[*] Made the panel no longer hide selection after losing focus.

Version 1.0.x - 2017-10-08
[+] Handle Player related UI updates through event handlers.
[*] Fixed the last midi not being stored properly (and also an ObjectDisposed exception?).
[*] Reordered Info menu in new player ui.
[*] Bound play button events in new player ui.
[*] Moved update loop to Player class.
[*] Made MidiPlayer.NewPlayer always visible in the config.
[*] Restructured configuration file.
[-] Removed comment from Export window.

Version 1.0.x - 2017-10-07
[+] Completely rewrote audio backend.
[+] Show changelog after updates.
[+] New About window.
[*] Cleaned up some internals.
[-] Removed unused debug utils.

Version 1.0.x - 2017-10-03
[+] Created Changelog.
[*] Use SetMidi and SetSoundfont rather than manually assigning the variables.
[*] Fixed export only working while already playing a midi.
[*] Fixed the Export button still requesting a path when not Midi or Soundfont is selected and just doing nothing afterwards.
[-] Remove the dropped TXT file informing users about the bug.

Version 1.0.x - 2017-09-21
[+] Project started.
