Midinous cover
Midinous screenshot
Genre: -

Midinous

Hotfix 1.1.5.4

1.1.5.4 Changelog



  • Fixed travelers disappearing if more than 500 were created in a sequence. They will now start to recycle, but only 500 will be visible at a time due to performance reasons. This won't affect the current points that are playing, however.
  • Slight performance increase when lots of travelers are on screen. If you're still having performance problems, try disabling traveler effects in the options menu.
  • Fixed an issue on Linux where sequences would hang up. This was due to the audio stream time struct returning 0, so everything would sit as if no time was passing. Now, an alternative timer is used if the time struct gives the audio callback function a 0.

Note: Apologies but this update will cause a settings reset.

Hotfix 1.1.5.3


1.1.5.3 Changelog



  • Fixed additional race conditions and possible traveler overflow bugs, preventing memory leaks.

Note: Apologies but this update will cause a settings reset.

Hotfix: 1.1.5.2

1.1.5.2 Changelog



  • Fixed audio race conditions, hopefully preventing collection issues causing the program to crash

Note: Apologies but this update will cause a settings reset.

Hotfix 1.1.5.1

1.1.5.1 Changelog



  • Further performance improvements
  • Better audio callback logic, hopefully preventing some memory access violations on some Windows systems
  • Increased maximum traveler count to 4096 up from 2048 due to performance improvements

Note: Apologies but this update will cause a settings reset!

Midinous 1.1.5.0 - The Next Generation of Sequences

1.1.5.0 Changelog


New Major Features



  • Linux support!

    - Reports of the synth audio not working on some Pipewire systems is a known issue, but an audio device picker was added. Try different devices if your sequences hang.
  • Audio Output Device Picker in the options menu - choose from all available devices on your system. The device name and the sample rate are supplied.
  • Added a feedback button to the main menu. Click this, select the type of feedback (bug, suggestion, comment), add some general info and push "submit"! If the submission type is "bug", then your log files will automatically be sent with your message.
  • Extreme boost to audio engine performance. It is now actually usable! Customize the waveform of each MIDI channel in the options menu.
  • Extreme boost to CPU usage efficiency. No more 200% utilization or using Midinous as a space heater. This does come with some minor accuracy hits that should be imperceptible when recording.
  • Added CC Objects: They can be placed with the place tool by selecting the CC type in the toolbox. Enable Slew Mode to allow linear curves with CV. Otherwise, CC objects act like instant CC changes. Chain them up for stepped effects, or use them as triggers in your software!
  • Added Logic Objects: They can be placed with the place tool by selecting the Logic type in the toolbox. These objects' output determine whether an object is muted. Connect them with the LED Logic Object type to see visual output. They act like lights! Available gates: AND, OR, XOR, BUF, LED (each can be negated (except for LEDs)). LEDs receive color data from other Logic points and support color mixing. Time to boost your sequence visuals!
  • Regular points send logic output when playing. CC points (non-slew mode) send momentary logic triggers
  • Two customizable user scales have been added! Change these and then select them like you would other scales in the program. These are customizable in the options menu (see below)
  • The save format has been updated for saved documents and settings. Settings are now a single file (settings.json) and saves no longer have separate directories. Save files are now named like 'document_name.json'. Each save file (and settings) are also now headed by the version number of the program. You may have to remap your bindings after the update.
  • Note for Windows users:

    Saved data has moved to %LocalAppData%/Midinous! This includes settings and save files. Old save files should not be affected and should seamlessly be upgraded and created in the new directory.

New Options And Where To Configure Them



  • Left-handed mouse mode has been added -- enable this in the options menu.
  • Added some minor sound effects for that extra sprinkle of character. You can turn them off in the options menu.
  • Wave types can differ with channel. Customize which wave types trigger on which channels in the options menu.
  • Added little trails to the travelers to give them more personality and aid in visual tracking. You can turn them off in the options menu.
  • Indicators to let you know where a sequence will terminate blink at half brightness now. These indicators are now toggleable in the options menu.
  • Custom user scales can be configured. Select which notes on a 12-note octave you want in the scale. The root note is always selected.
  • Each MIDI channel can play a different wave type if the Internal Synth is enabled. Choose from sine, triangle, square, sawtooth, ramp, or noise waveforms.

Cosmetic Changes



  • Removed "Label" text beside the label property
  • Changed "Color Change" text to just say "Color"
  • Removed "Path Mode" label, since the path type chooser was intuitive enough
  • Changed the graphics for the Path Clear buttons, making them more intuitive and smaller
  • Changed "Travel Order" button to just say "Order". This is now clearer because it is in a grouping with path information
  • Moved signal type buttons near the path controls to improve readability. These buttons are grayed out in Logic mode.
  • Moved the Start/Mute/Pass buttons above the value setters for objects. These buttons are grayed out in Logic mode.
  • Changed "Show Notes" in the toolbox to "Primary Values" to show the primary value on objects, including CC objects.

Misc. Changes



  • Application icon now correctly reflects Midinous rather than the default MonoGame Icon. Finally!
  • Log files get refreshed (deleted/recreated) when bigger than 500kb now. No more endless giant log files!
  • Minimum resolution has been decreased to 1280 x 800 so it can run natively on the Steam Deck (yes it can, and it does function!). A note if running Midinous from Desktop mode, and this may be an issue on other Linux systems as well, the cursor does not reflect the current position of the mouse. Going to full-screen fixes this.
  • Upgraded Midinous to .NET 6 and removed the need for weird dependencies on startup. This leads to an increased download size, but now there are no major dependencies or weird install scripts to deal with.

General Updates



  • Midinous was 1 year old on the 28th of September 2022! Thank you all for the support, ideas, bug reporting, and improvement suggestions. It has been a really hard year for me healthwise, but that has not stopped me from working on the software. Since Midinous has released, I've started therapy, started medication, and discovered my gender identity. It has been quite the ride, but thank you for your continued interest. It has pushed me to improve the program to where it is today.
    Much love,
    Jae

Midinous Version 1.0.3 Released

1.0.3 Changelog



  • Externalized clock messages to a separate port (Midinous Clock Port). To use the clock, you must now use the Midinous Clock Port separately in host applications.
  • Fixed backup path saving strange directory names (oops!). If you want to remove these, delete all the directories that start with backup but have a save file appended to them. Just be sure to leave the folder named "backup" and keep all other folders.
  • Fixed path weight not carrying over on a copy/paste operation
  • Fixed document root note not saving to file. In order to enable this feature, open existing saves, change the root, and re-save.


Happy 2022, folks! I've begun work on a major overhaul of how the point objects on the canvas are placed. This means the object types can be extensible, which means:

  • CC Message Objects
  • Logic Gate Objects
  • Who knows what other fun stuff..

I don't have a timeline on these changes, as this will be a major update. I intend on including a different save format as well to further solidify the evolution of the program as it becomes more complex.

In the mean time, enjoy some small bug fixes and a new MIDI port for use (Midinous Clock Port). You'll have to select this specific MIDI port in your host application now if you want to use clock for syncing. However this should also lead to a more accurate clock as it won't be queued with other types of messages.

Happy creating!

Midinous for macOS Now Available

It's here!


Midinous for macOS has arrived


Thank you all for the support since late September when Midinous first released.
This is my first major programming project and so far the reception has been stellar. Many folks over on the Midinous Discord Server helped to beta test on Mac; couldn't have done it without them. Several folks over on the official Monogame servers helped immensely as well in getting Midinous into a notarized Apple app (Grak and prime, looking at you).

So, a few things to note about the macOS version of Midinous as it is in 1.0.2:

  • Maximizing will actually full-screen the app with no way to get out of it other than closing the program. However you can use Command+tab to switch back to the unoccupied screen.
  • Save files could not be contained within the application package, so you'll find them here now instead (only applies to the macOS version currently): <~/.local/share/Midinous/save> You can also find log files one level up from that if you need to bug report
  • There may still be some issues with the software, but I'm ready to triage, so if you find an issue, report via the Steam discussions, an email, or the official Discord server (linked above).


Five new presets (designed by me) have been added:



  • Ascension
  • Chaos Cluster
  • Crystalline
  • Drum Machine
  • Graph


Furthermore,

starting 12/20/2021 at roughly 13:00 ET, I'll be running a promotion for those of you who have been following but haven't yet purchased! Enjoy a deal even better than the launch discount; happy holidays. ːhappyelfːːclementineelfː

Some more roadmap-y stuff -- now is the time to start working on some new features as I await a contact for the Linux version. Midinous will require a massive refactoring as it comes to how save files are stored and how objects are placed on the canvas. This will by far be the biggest update for the software since its release so I would not expect it any time soon. However, once the holidays calm down and I can find some more time, I'll begin work on this. I will still release maintenance updates and bug fixes as needed.

Happy creating, and onward to 2022.

Midinous version 1.0.2 Released as Stable

Hey creators! Thank you all for a successful first few months of launch. The feedback from the community has helped gauge development and I'm excited to bring you update 1.0.2. I'm hard at work still on full documentation for Midinous in the form of a PDF -- I know it has been a long time coming, and very much needed, but in the mean time, I intend to release more guided tutorials in the form of streams so be on the lookout for those. It's a ton of work for one person and so far it seems everyone is understanding of this fact so I thank you for your continued support!
Review the change log below, explore the new features, and keep on creating.

1.0.2 Change Log


Important!



  • Some users may experience their keybindings change or have keybindings that overlap. I recommend looking at these on the first program run after the update.

Major Changes



  • Greatly improved drawing performance by switching to texture atlases from static individual textures. This will also result in a slight decrease in Midinous' footprint on hard drives and lowers the program memory consumption.
  • Greatly reduced idle CPU usage by limiting calculation speed on all but the most critical functions
  • Externalized the MIDI and audio control to a separate thread so that drawing won't slow down, stop, or otherwise cause inaccurate MIDI data to be sent. This means you can resize the window or move it without it stopping your sequence and then playing catch-up. This also means that the internal synth performs much more admirably as well.

Minor Changes



  • Camera movement is finally smoother. I recalculated the timing based on the new rendering methods mentioned above. Still not perfect, but certainly better.
  • Various other performance improvements
  • Changed middle C to 3C from 4C. This aligns with most DAWs and is easier to understand between programs that way.
  • In an attempt to make path creation less laborious, path creation is now faster and clearer. Create paths by holding down the left mouse button and dragging. Hold shift to keep the path creator active. While holding shift, you can now draw a selection box around points to create paths to those points. When not using the selection box, paths are instantly created when dragging over them instead of only on release. You can undo/redo your most recent changes from the path tool as long as your mouse is not pressed down.
  • Hover over a point in path mode to see a preview of its targets -- they will flash with the Next Path color, which is configurable. The hovered over source point will flash with the normal path color.
  • Instead of selecting a note in properties from a giant dropdown list, the giant list is now two less-giant lists.
  • Point placement stencil now draws on top of all placed objects for better visibility
  • Decreased minimum resolution to accomodate screens of size 1366x768. As a result, the relative changes area has had some minor cosmetic changes and a scroll bar added (scroll bar is only visible on small resolutions)
  • Changed the color change button from a label and a button to just a button that says "Color Change". This was more intuitive
  • Removed the 'Behavior' label and added the 'Force Scale' button instead. More below in 'New Features'.
  • Changed the 'Path Properties' button to just 'Paths', as actual path properties are only when a path is selected. This also made room for the 'Force Scale' button
  • Changed the 'Repeat' mode graphic for points to borrow the 'Path To' color instead of a plain light green.

Bug fixes



  • Fixed a graphical glitch where if the program was running slow, the selection box or the move stencils would flash for one frame in the wrong locations
  • Fixed an exploit allowing users to set interface colors to transparent by not fully filling out a color hex field. This would set the color's alpha value at 0, making the element transparent
  • Fixed an issue with path color settings repeatedly making the path color transparent on multiple clicks to the path color change buttons
  • Fixed an issue where text color was not changing for color picker hex text boxes dynamically with the background color of the text boxes
  • Fixed an issue where autopanning in certain scenarios wasn't cancellable. You can now stop movement with a right click.
  • Fixed a minor annoyance with value input for property values. It is much more intuitive to use now
  • Fixed a crash when using Quantize. Would work when snapping was on, but would crash when snapping was off if near lots of other points
  • Fixed a crash when cycling point mode for a group of selected points. Recursion check was not being done, leading to an overflow crash
  • Fixed a crash related to differing durations of points and overflowing audio signal buffer
  • Fixed a crash related to pasting points from the context menu

New Features



  • Connect all selected points to each other (this is a two-way connection) using the context menu (right/alternate click on the canvas) or F2. This key is remappable. This should allow for much faster sequence creation and interesting patterns/designs on-the-fly. Careful with this though! The number of paths can blow up fast and really hurt performance or even cause the program to hang. Interconnecting 100 points immediately gives you 9,900 paths! Follow the formula n_points*(n_points-1) = number of created paths.
  • Hide and unhide the UI with F3 (remappable). You can still view and navigate the Main Menu when the UI is hidden. This is useful for streaming or videos!
  • Copying points with path relationships now copies those relationships to the new points when placed, excluding relationships to points that aren't selected at the time of copying. Use undo to remove the new path relationships if they are not needed. Two undo/redo states are created now with this action: one to add the new points, and one to create the new paths.
  • Control Groups have been added. Use Ctrl/Cmd 1-0 and hold for about a second to set a control group. Recall the groups by tapping 1-0. Tap twice to auto-pan to the group's center point. You can also use the control group buttons underneath the Toolbox. The group button key commands are remappable.
  • Relative value passthrough is now available. Set a relative value passthrough to allow individual relative data (like Channel) to pass without resetting or taking data from the parent point from one point to the next.
  • Added the 'Force Scale' option to force a point to use the global scale instead of having to use relative values to achieve this. The default is off, to allow things like drum sequences to play normally even if a global scale is selected. Force scale mode shows a "constrained" graphic in every corner of the Point object when this option is used.
  • Paint with the place tool instead of placing one point at a time

New Presets



  • Added preset "Nornec - Prism"

Changed Presets



  • The tutorial has changed to match the new features and changing keybindings. The tutorial displays the default keybindings for some actions