Midinous 1.2! - Better Performance, Better Logic, Better Code

Midinous

Midinous is a grid-based non-linear MIDI sequencer usable with any Digital Audio Workstation or hardware that accepts MIDI messages. Midinous can also generate its own simple sounds either for reference, or for normal use.

[h3]1.2.0.0 Changelog[/h3] [h4]General[/h4] [list] [*] Manual has been updated to 1.2.0.0 - If you can't access the manual in the program, you can reach it here, or on Discord: https://github.com/Nornec/Midinous-Issues [*] As of this update and future updates (not retroactive), the Steam DRM has been removed and the demo version is now a different program. You should now be able to launch Midinous without having Steam open. However, if you want to keep receiving automatic updates, I recommend opening Steam occasionally to keep the program up to date. [*] [b]Windows:[/b] Changed the way Midinous behaves if BMIDI is not available (BMIDI is the MIDI backend required to run Midinous). BMIDI will automatically try to install, or reinstall, when the program starts if there is an issue detecting or starting BMIDI on the system. On some systems, there may be a small delay as the system waits for BMIDI to become available or reinstall. This is normal. [*] The demo is now a separate download from the main software meaning there is no reason to check whether the product is owned once it's purchased. [*] Due to the settings changes, the settings file must be recreated. Apologies for the inconvenience! The code has gone through such a massive revision that it's effectively a new code base. [/list] [h4]Fixes[/h4] [list] [*] Fixed Logic timing so that logic evaluates before any MIDI events are sent or points are triggered (more info below) [*] Fixed an issue with relative values and portal points. Portal points should behave like sequential points with regards to relative values. [*] The easter egg switch was off and I forgot to add the option to turn it on/off in the options menu :facepalm: Well, at least people weren't stuck with it on -- ok, NOW email me when you think you found them all :) Enable easter eggs in the options menu [*] Fixed a bug where changing the travel order in the list during play shuffled all of the order positions -- the travel order menu will show the current next path (highlighted in the next path color) but the default order until changed (if you decide to change it during a sequence, it will show the order as it will be when the sequence stops) [*] Fixed a bug where point placement and snapping was behaving oddly if points were not in a quadrant where x or y coordinates weren't positive. [*] Fixed a bug where choosing the sine waveform wasn't actually a sine wave. The sine wave calculation was wrong and it ended up looking like a ramp wave and being louder even at quieter volumes [*] Fixed a bug where path directionality and signal mode indicators in the property pane weren't updating properly when changing them using quick actions [*] Fixed a bug where some options settings weren't properly displaying their correct value [*] Fixed performance issues with drawing traveler trails [*] Fixed performance for sequences with lots of straight paths off screen [*] Made grid snapping and quantization more accurate [*] Fixed texture bleed at certain camera positions/zoom levels [*] Performance improvements to the traveler code [*] Performance improvements to the path drawing code [*] Performance improvements to the selection box drawing code (fixed some graphical glitches in doing so) [/list] [h4]Major Changes and New Stuff[/h4] [list] [*] Logic Overhaul! [list] [*] Logic signals from non-logic points are all now momentary, but are represented with a small flash along the logic path when a trigger travels along them. This will invariably change the way current sequences behave, so [b]please read over the logic changes here carefully[/b], and refer to the manual, to make sure any of your patches will work the same way in 1.2.0.0. [*] To support new and future logic changes, an indicator is on a point now, if connected to a logic path, to show its [i]input[/i] state (high or low) [*] Logic paths can now be hidden via a toggle button in the toolbox, but hovering over a point will always show its logic connections. [/list] [*] Camera changes! [list] [*] Zoom now allows you to place points more granularly. Zoom in more and you have access to an even more precise grid! Zoom out more and the grid becomes less fine. Currently, you can zoom in 8X and zoom out to 1/8X. Grid points will appear or disappear depending on your zoom level [*] Zoom now has an indicator above the zoom slider to help you determine what zoom level you're at. If the grid lines are off, it would have been very hard to tell at what zoom level you're placing points. [*] Global magnification has been added since zooming no longer affects the size of points. This can be changed in the options menu. Global magnification only affects the size of objects on the grid and does not affect sequence speed or how it behaves. It is purely an aesthetic and accessibility feature. [*] Zooming now acts linearly, so zooming in and out is the same speed in either direction. [*] Zoom to cursor: If you've played some RTS games such as Supreme Commander, when you zoom in and out, it's relative to your cursor. Midinous now has this behavior! You can toggle this on or off in the options menu [/list] [/list] [h4]Minor New Stuff[/h4] [list] [*] Added a center point to help with orientation on the main canvas. This was added to help prevent disorientation for folks with vision issues. It's just a little bigger than all other grid points. [*] Added an option to allow points to snap to the nearest visible grid point first instead of moving relatively. This has no effect if more than one point is selected. Toggle this in the options menu. [*] Added a button to flip the start and end values of a CC point when slew mode is enabled [*] You can now nudge selected points around with the arrow keys! Because nudging uses the arrow keys, the default camera controls default to no bind. You can set these back if you wish. I did not find many users were using the arrows to move the camera, so I thought this was a good redirect. But the controls for camera movement haven't disappeared. [*] Changes in tempo now apply in real-time to the playing sequence to every traveler in play. Use your mousewheel when over the tempo spin button to see travelers move forward or back on their path. No more screwing up sequences when changing the tempo of a project! [*] Tooltips: Proper tooltips now appear for controls and for points after a short delay. This data is no longer in the status pane. Configure tooltip delay timing, opacity percentage (with 0 being invisible/off and 100 being opaque), or whether the tooltips show up at all, in the options menu. Each type of tooltip can be enabled/disabled (for Points as well as UI elements) [*] Changed the way paths snap to points (visual change only) when the path mode is set to "Straight". Paths will no longer snap directly to the corners of points and will only snap to the 12 visible "snap points" around a canvas object. This was an aesthetic choice based on the graphical representation of a point and does not affect the way a sequence behaves. [/list] My, oh my! The first major update of 2024, setting the foundations for a better code base and an easier-to-extend product has come as my first update since leaving my job in late February to work on Midinous full time. I can finally show you what my passion looks like by dedicating myself to the product 100%. This is a massive update that looks small on the surface but has a ton of implications for future updates. I completely refactored and documented the code base, removed DRM, and am preparing Midinous for the future, effectively. C# is a fantastic language and I think I really took advantage of what it has to offer with my changes. I'll be working on my next video on my YouTube channel and I'll continue to work on Midinous, but I've been busting myself these past couple months to catch up with Midinous, so other than fixing bugs, I'm going to take a small hiatus to recuperate and work on videos! If you've already purchased Midinous and you want to support me further, subscribe to my YouTube channel, buy my music, and/or subscribe to my Patreon! [url=https:/nornec.bandcamp.com]My Music[/url] [url=https://www.patreon.com/nornec]My Patreon[/url] [url=https://youtube.com/nornec]My YouTube[/url] Thank you so much for supporting Midinous and thank you for your continued support. Please, if you do nothing else, keep creating! - Jae ♥