Changelog - v0.9.0
- if note was sharp/flat, during note pitch incrementation/decrementation if the target note was valid to be sharp/flat, it was losing it
- exception after pressing Clear button
- choosing octave up or down was moving more than one note if it was copied or cloned
- now after entering the bpm box first number-button press clears the bpm instead of need for pressing the CLR button
- SplashWindow and MainMenuWindow are combined
- NameInputWindow has been deleted - there is Glide keyboard instead
- in GUI.cs five methods (DisableButton, EnableButton, DisableImage, EnableImage, Toggle) are combined into one: ToggleElement(string elementName, Window window, bool enabled)
- USB.cs added; it contains of USB related methods and events
- added Cursor methods: Reset, BringToStart, IncrementPosition, DecrementPosition
- disabled background image on every window except MainMenuWindow
- StaffDrawer.cs has been changed a little, i.eg. GUI field is removed
- comments written in Polish have been removed
... and some other small code changes, cleanups, and new comments
Useful notes for the future:
1. Total GUI initialization time with help of GHI staff dropped down (from ~14200ms) to ~6930ms!
One of the improvement examples: in NoteInputWindow.cs when doing:
for (var i = 0; i < 21; i++)
var noteImg = (Image)ThisWindow.GetChildByName("Note" + i);
noteImg.TapEvent += PitchTapEvent;
The window was getting loaded within ~1890ms.
When the subscription was moved directly to DrawPitches() it dropped down to ~1550ms.
2. Using Paste or Clone in previous version was not creating new Note and thus it was doubling exactly the same object. Then it turned out that invoking octave up or down event was moving many notes.