Custom MidiEditor based on jingkaimori's fork of ProMidEdit, built on top of MidiEditor with the following changes;
List of all new features & changes
- Modernized github workflow to fix automatic building. (xmake + qmake)
- Modernized installer wizard, supporting windows dark mode & better version upgrading.
- Migrated core dependencies to Qt 6.10.1 and updated submodule to newer rtmidi.
- Added Qt6 application styles, toolbar icon size resizing, and minor UI improvements.
- Windows dark mode compatibility for application styles windows11, windows, & fusion.
- Channel/Track colors will automatically update to a darker shade if no custom colors are saved.
- Fully customizable toolbar header with support for compact single row and expanded double row.
- Option to unlock widget minimum resizing before snapping closed.
- System options to ignore default Qt6 scaling with windows & changing scaling behavior.
- Performance improvements for rendering, batch selecting events, batch deleting events, & initial hardware acceleration for widgets.
- Additional tweaks for visuals & performance available in settings.
- Clarified strip style option names & fixed between octaves highlight on C notes.
- Implemented an option to show C3/C6 range lines.
- Implemented Drag & Drop track reordering.
- Implemented the ability to set custom keybinds.
- Implemented the ability to set custom control change names outside MIDI spec.
- Implemented the ability to set custom instrument definitions via .ins files & manually renaming.
- Disabled piano roll feature by default.
- Move events to track keybind changed to
shift+#. - Quantize selection keybind changed to
ctrl+q. - Quick transpose octaves with
shift+up/down. - Extend selected note duration with
ctrl+drag left/right edge. - Glue Tool: merge notes of the same pitch & track together.
ctrl+g(same channel)ctrl+shift+g(all channels)
- Scissors Tool: cut notes into separate events from cursor position with
ctrl+x - Delete Overlap Tool: remove overlapping notes with
ctrl+d- modes: delete overlaps (mono), delete overlaps (poly), delete doubles
- options: respect track boundaries, respect channel boundaries
- Convert Pitch Bends Tool: convert pitch bend events on selected notes into separate notes to the nearest semitone with
ctrl+b- options: ±2 semitones (general MIDI default), ±12 semitones (guitar/bass VSTs), ±24 semitones (extreme pitch modulation), custom (±1-96 semitones)
- Explode Chords to Tracks Tool: separate chords into individual tracks with
ctrl+e
Focus a track to operate across the entire track or highlight chords after track selection to minimize scope.- chord detection modes: same start tick, same start tick & note length
- grouping modes: group equal parts (voices) into tracks, each chord into separate track, all chords into single track
- options: minimum simultaneous notes, insert new tracks at end of track list, keep original notes on source track
- Strummer Tool: strum / arpeggiate selected chord notes with
ctrl+alt+s- adjustable modes: start (timing), end (timing), velocity
- options: preserve end, alternate direction, relative strength (per note), strum across tracks
- Shared Clipboard: now able to copy & paste events across multiple MidiEditor instances. Cross-instance pasting at cursor location & selected track.
- Expanded raster & quantization options for triplets and other musical coverage.
- Inverted matrix background colors to fix light blue on white keys and dark blue on black keys.
- Removed auto-update, remote, outdated locale, and donate features / pop-up windows after so many starts.
- Simple update checker on application start to verify latest version by github releases tag.
- Fixed overlapping / invalid keybinds & updated default binds for ergonomics.
- Large Increase/Decrease tweak now requires all 3 modifier keys (being the 3rd step of small, medium, large).
- Zoom in actions no longer require holding shift (+ -> =) when it didn't for zoom out actions (-).
- Vertical out/in updated to
shift+-/=to match Qt vertical mouse scrolling on shift. - Scroll multiplier with
ctrl+shift+mousewheel. Default zoom now only scrolls 1 line at a time. - Full reset view with
ctrl+shift+backspaceand updated zoom reset toctrl+backspace. - Measure Tool, Time Signature Tool, & Tempo Tool changed to
ctrl+F1,ctrl+F2, &ctrl+F3.
- Memory leak improvements towards midi loading & bulk event deletion.
- Crash fixes & forced loading improvements for certain midi conditions.
- Numerous fixes such as sustain notes disappearing if the start & end times were outside the view, sustains partially outside the view visually clipping the note length when dragged back into view, dead scrolls when zoomed in too far, cancelling color selection setting color black instead of properly cancelling, opacity not applying to custom colors set after opacity adjustment, displaying control change numbers in misc widget & hiding "undefined" names for easier navigation, and much more.
- Includes improvements from trotlinebeercan's fork such as preventing MidiEditor holding ownership of every file opened, fixed UTF8 parsing of TextEvent, & force 64bit.
- Includes all changes from PR markusschwenk#109 (Fixes for performance and memory allocation problems)
>> Changelog - 4.3.1
** Installer: a Qt offline windows installer version of MidiEditor with all dependencies, maintenance tools, and more.
** Portable: a portable version of MidiEditor based on the installer version with only the necessary dependencies.
** Stripped: a minimal lightweight version of MidiEditor with unnecessary folders, files, and dlls removed for the smallest possible size. Metronome & Update Check are intentionally broken for minimal dependencies.
Portable zip is generally recommended over setup installer.