Skip to content
This repository has been archived by the owner on Jun 20, 2023. It is now read-only.

Releases: EmK530/SharpMIDI

v4.0.0 Beta 5.1

17 Mar 08:06
02f8f45
Compare
Choose a tag to compare
v4.0.0 Beta 5.1 Pre-release
Pre-release

Attempts to fix a bug with tempo events being delayed by other tempo events for midis where they are split up between multiple tracks.
Thanks Piano Arts 2007 for reporting this.

v4.0.0 Beta 5

16 Mar 22:57
02f8f45
Compare
Choose a tag to compare
v4.0.0 Beta 5 Pre-release
Pre-release

Found some major memory optimizations and more while talking to ChatGPT, put them to good use.
SynthEvent lists are now trimmed when completely filled, leading to a random large memory reduction.
SynthEvent values now use a custom Int24 struct, leading to a reduction of 12.5% memory usage.
Buffer size is now customizable.
Changed playback SynthEvent iterating, does not seem to impact performance.
In-app shows a drop from 10.4GB usage to 6.4GB when loading TN3 but this doesn't match task manager.

v4.0.0 Beta 4

27 Feb 13:52
02f8f45
Compare
Choose a tag to compare
v4.0.0 Beta 4 Pre-release
Pre-release

Enabled optimize flag and changed playback code, performance is no longer worse than the previous major version
Velocity threshold for loading is now controllable
Throttle on lag is now toggleable
Fixed broken "FPS" counter
FPS renamed to UPS to not confuse users
UPS limit is now controllable

Trimmed zip is experimental, do not report issues using it!

v4.0.0 Beta 3

09 Feb 19:07
02f8f45
Compare
Choose a tag to compare
v4.0.0 Beta 3 Pre-release
Pre-release

New optional FPS limiter to lower CPU usage during playback.
New speed slider.
New translation code, SharpMIDI now has a Swedish language.
Console removed.

Fixed being unable to unload synth after stopping MIDI playback.
Fixed crash when cancelling file selection when opening MIDI.
Fixed lack of window VSync for some users causing high CPU.
Removed some bad code in the MIDI playback loop.

Trimmed zip is experimental, do not report issues using it!

v4.0.0 Beta 2

25 Jan 19:49
02f8f45
Compare
Choose a tag to compare
v4.0.0 Beta 2 Pre-release
Pre-release

Performance improvements and optimized build is published in beta 2
Slight bug fixes
Disabled BPM console print to prevent lag from huge chunks of tempo events
Maybe fixed the randomly incorrect MIDI stats
Other changes I did not remember
Major features still missing for now
Trimmed zip is experimental and may crash!

v4.0.0 Beta 1

22 Jan 17:07
02f8f45
Compare
Choose a tag to compare
v4.0.0 Beta 1 Pre-release
Pre-release

Prerelease of the upcoming v4.0.0
(This is a debug build and therefore loses performance)
Download net6.0-windows.zip to get only the software files, Packages.zip if you need the DLLs or the SharpMIDI one if you want both zip files combined.

Changes so far:
Upgraded to ImGui
Remade code to be cleaner
Fixed error when loading .mid format with a track above ~2 billion bytes
Removed conversion from 0 velocity note on to note off
Improved threshold behavior

Missing features:
Archive loading
MIDI unloading
Threshold picking (defaulted to 10)
Track limit

v3.1.3 Tiny Update

29 Nov 23:50
2163804
Compare
Choose a tag to compare

Fixed some file reading streams never closing, leading to an opened MIDI file constantly being "in use" by SharpMIDI.
Slight optimization in the sound manager.

Source code copy mislabeled as v3.1.2

v3.1.2

25 Nov 19:01
e18dc19
Compare
Choose a tag to compare

If you want the RTR DLLs that I keep getting in my builds, download from v3.1.1

New MIDI unloading feature.
Changed FPS display from frame time to real FPS, also made clear that the FPS is estimate.
Fixed MIDI clock not resetting causing huge skips when starting playback with throttling disabled.
Fixed MIDI clock not throttling properly and skipping back to the real time position causing missed parts of MIDIs.
Visualized track indexing process on the "Loaded tracks" counter.
Fixed "Select a synth first!" showing up when it's not meant to.
Expanded text width of played events.
Played events counter now resets when you start playback again.
Played events counter now shows total events alongside it.
Removed unused duration text.
Added some fun extra stats to playback:
Tick, shows what tick the MIDI clock is on.
TPS (Ticks per second), directly correlated with PPQ and BPM, shows calculation of how many ticks pass every second.
BPM (Beats per minute), real obvious.

v3.1.1

10 Nov 21:31
3f6ea11
Compare
Choose a tag to compare

Some boredom code editing lead to doubled playback performance

Download the RTR (ReadyToRun) builds if you do not have the .NET 6.0 SDK
RTR is also recommended if you don't want the XZ Utils console to pop up
If there are problems with RTR you can try downloading the DLLs for your specific OS arch that keep coming with my Single File builds for some reason...

v3.1.0

31 Oct 10:54
bdd1d34
Compare
Choose a tag to compare

Possibly the final major release for SharpMIDI either indefinitely or for a long time.
New MIDI clock created allowing for complete removal of FPS limiter!
Removed track size ignore due to it breaking parsing.
New option to disable lag throttling.