Versions
- 1.4.0
- 1.3.2
- 1.3.1
- 1.3.0
- 1.2.11
- 1.2.10
- 1.2.9
- 1.2.8
- 1.2.7
- 1.2.6
- 1.2.5
- 1.2.4
- 1.2.3
- 1.2.2
- 1.2.1
- 1.2.0
- 1.1.0
- 1.0.0
- 0.99.14
- 0.99.13
- 0.99.12
- 0.99.11
- 0.99.10
- 0.99.9
- 0.99.8
- 0.99.7
- 0.99.6
- 0.99.5
- 0.99.4
- 0.99.3
- 0.99.2
- 0.99.1
- 0.99.0
- 0.98.9
- 0.98.8
- 0.98.7
- 0.98.6
- 0.98.5
- 0.98.4
- 0.98.3
- 0.98.2
- 0.98.1
- 0.98.0
- 0.97.9
- 0.97.8
- 0.97.7
- 0.97.6
- 0.97.5
- 0.97.4
- 0.97.3
- 0.97.2
- 0.97.1
- 0.97.0
- 0.96.11
- 0.96.10
- 0.96.9
- 0.96.8
- 0.96.7
- 0.96.6
- 0.96.5
- 0.96.4
- 0.96.3
- 0.96.2
- 0.96.1
- 0.96.0
- 0.95.12
- 0.95.11
- 0.95.10
- 0.95.9
- 0.95.8
- 0.95.7
- 0.95.6
- 0.95.5
- 0.95.4
- 0.95.3
- 0.95.2
- 0.95.1
- 0.95.0
- 0.94.5
- 0.94.4
- 0.94.3
- 0.94.2
- 0.94.1
- 0.94.0
- 0.93.4
- 0.93.3
- 0.93.2
- 0.93.1
- 0.93.0
- 0.92.6
- 0.92.5
- 0.92.4
- 0.92.3
- 0.92.2
- 0.92.1
What's New
The full release history of PXR MIDI Player, newest first. Updates arrive often. You can check for updates any time from Settings → General → Check Now.
Rather follow along from your newsreader? This page has an RSS feed carrying the last fifteen releases and what changed in each, so new versions turn up alongside everything else you read.
Note
From 1.2.6 onwards, PXR MIDI Player is signed with an Apple Developer ID and notarised by Apple. macOS can see exactly where it came from and opens it without complaint, so the security warnings older downloads produced are gone. See Installing & First Launch.
[1.4.0] - 2026-09-02#
Yamaha XF karaoke files show their words now. Hundreds of XG files carry lyrics timed syllable by syllable that the app could not reach, in Japanese as well as English, and they bring the song's title, composer and performer with them. More improvements and fixes below.
Added#
- Lyrics from Yamaha XF karaoke files, timed syllable by syllable to the singing line
- Japanese lyrics read properly instead of coming out as unreadable characters
- Korean, Chinese, Russian and Vietnamese lyrics read properly as well
- Pronunciation guides in Japanese lyrics are tidied away rather than shown as brackets in the middle of the line
- The song's real title, composer, lyricist and performer, where the file names them
- The player and the playlist show the song and its artist instead of the filename
- The Lyrics window credits the song under the track name
- File Info lists the song's release date, country, genre and vocal type
- On a duet, each singer has their own colour, with a key at the top of the window saying which is which
- When no MIDI device is found, the prompt offers your last SoundFont by name as well as the built-in synth
Improved#
- A whole drum kit fits the XG Drum Kit window, so even the biggest PLG150-DR kits need no scrolling
- Drum rows close up or spread out to fill the window, so there is no empty space under a short kit
- The activity lights in the XG Drum Kit window stay perfectly round however you size the window
- Muting the melody now silences both singers on a duet, not just one
- The melody roll shows both singers' notes on a duet, each in that singer's own colour
- Labels such as INTRODUCTION no longer light up as though somebody were singing them
- A file's own name for a break, INTERLUDE or ENDING, now appears on the countdown instead of beside it
Fixed#
- A file that sets up a plug-in board without ever sending an XG reset is recognised as XG, so the XG windows work with it
- Short songs such as nursery rhymes show their lyrics instead of none
- The word highlight no longer steps backwards where one note runs into the next
- The highlight fills across a whole word instead of starting again on every letter
- Choosing the built-in Apple DLS synth no longer loads your previous SoundFont instead
- Words with no note written under them, such as a chanted "oh oh oh", light up on their own timing instead of waiting for a distant note
- A karaoke file that writes a backslash in its words shows it, instead of breaking the line there
[1.3.2] - 2026-08-31#
Drum kits on the PLG150-DR and PLG150-PC boards now come up by name, and every pad in them reads the instrument it actually plays rather than a general-purpose label. The Part Inspector can also tell you why a quiet-looking PLG150-PF part is eating your polyphony.
Added#
- Kit names for all 160 PLG150-DR and PLG150-PC drum and percussion kits
- The real instrument name behind every note in those kits, close to ten thousand of them
- The Part Inspector shows how many notes a PLG150-PF voice takes per key, so a part playing eight notes that costs thirty-two no longer looks like a mystery
Changed#
- The XG Drum Kit window resizes freely and goes full screen, like the Mixer. The sidebar keeps its place and the table scales to fill whatever room you give it
Fixed#
- A PLG150-DR or PLG150-PC kit no longer shows as "Standard Kit" in the Drum Kit window, and is found wherever the file puts it rather than only on channel 10
- Those kits now list their pads instead of leaving the table empty
- The part button for such a kit is there as soon as the track loads, rather than appearing a few seconds in once the music reaches it
- The window opens on the part that actually holds a kit, instead of sitting on an empty channel 10 until you click away and back
- XG drum kits list the sounds below note 27 that were being left out, the Surdo, Hi Q, Scratch and Click sounds among them
- Drum tables no longer list pads that have no name, which used to read as rows of "Note 88", "Note 89" and so on
[1.3.1] - 2026-08-29#
A new Support This Project item in the app menu takes you to the page where you can help fund the work, with more improvements below.
Added#
- Support This Project in the app menu, which opens the support page
Improved#
- Improvements to the SoundFont engine
[1.3.0] - 2026-08-28#
Some MIDI files set up connected hardware with long messages before the music starts. Those setups now arrive intact, so the file plays with the sounds its author intended.
Fixed#
- Hardware now receives long SysEx messages whole, even when the file splits them into parts
- Devices such as the MT-32 no longer reject the transfer, so their custom sounds load
[1.2.11] - 2026-08-22#
Broken MIDI files no longer take the app down with them, and the Q shortcut queues exactly the tracks you picked. The scrolling lyrics move more smoothly as well.
Improved#
- Smoother scrolling lyrics in the Lyrics window
- Scrolling lyrics stay smooth at faster and slower tempos
Fixed#
- Files with out-of-range instrument or note data no longer crash the app
- Those files now play on, with only the bad events skipped
- Q now queues only the tracks you selected
- Escape clears the playlist selection reliably
[1.2.10] - 2026-08-14#
Custom SoundFonts now play twice as many voices at once, so held notes and long reverb tails stop being cut short in busy passages. The General MIDI badge is the official logo now too.
Improved#
- Custom SoundFonts play twice as many voices at once
- Held notes and long tails keep ringing in busy passages
- The POLY meter reads against the higher voice count
Fixed#
- The General MIDI badge now matches the official logo
[1.2.9] - 2026-08-09#
Fixed#
- Switching between ports now updates the instrument names and channel details straight away
[1.2.8] - 2026-08-06#
The SoundFont Instruments window can now export its instrument list as a CSV file, alongside a few readability fixes to the window itself.
Added#
- SoundFont Instruments window can now export its instrument list to a CSV file
Improved#
- Bank labels in the SoundFont Instruments window no longer look like decimal numbers
- Program numbers in the SoundFont Instruments window now start at 1, matching the new CSV export
Fixed#
- Per-note voice count in the SoundFont Instruments window is now easy to read
- SoundFont Instruments window's file label no longer looks like a button
[1.2.7] - 2026-08-05#
The built-in SoundFont engine now passes every test in the SoundFont Spec Implementation Test. Filter sweeps written for Sound Blaster hardware play for the first time, reverb and chorus play at the strength a file actually asks for, low-quality samples sound cleaner, and the app starts quicker, with more improvements and fixes below.
Added#
- Files written for Sound Blaster hardware now play their filter sweeps
Improved#
- Faster to open, most noticeably the first launch after an update
- Keys in the Keyboards display now look pressed down while they sound
- Cleaner, less grainy sound from low-quality samples in SoundFonts
- SoundFont chorus is much wider
- Brightness and resonance controls in files now cover their full range
- SoundFont reverb has a shorter, more natural tail
- SoundFonts that set reverb per instrument now sound as their designer intended
- Presentation View progress bar now has shading, a lit playhead and a slow sheen
- Playlist import now suggests the right folder when it asks for access
- Folders you allow for a playlist are remembered, so PXR stops asking each launch
Fixed#
- Notes on SoundFonts no longer cut off instead of fading away
- Bounce Audio window now opens straight away
- Filter and pitch sweeps in SoundFonts now follow the right shape
- Reverb and chorus no longer play much stronger than a file asks for
- Notes no longer get quieter as resonance rises
- Green full-screen button now works in the mini player, so Presentation View can be reached from it
- Full-screen button no longer stays greyed out after leaving the mini player
- Mini player no longer covers Presentation View
- Importing a playlist no longer reports success when its tracks cannot be played
- Importing a second playlist no longer loses access to the first one's files
- Playlists that list no MIDI files, or files that are missing, now say why
- Playlists that use relative paths now find their tracks
- A skipped playlist entry no longer puts its title and length on the next track
Thanks to S. Christian Collins for all his testing and feedback, which is what got the SoundFont engine through every one of those tests.
[1.2.6] - 2026-07-28#
PXR is now signed and notarised by Apple, so it opens without security warnings. It also spots when your MIDI device stops responding and can reconnect it for you, with more improvements and fixes below.
Added#
- New Rescan MIDI Devices item in the MIDI menu, to reconnect a device after switching it off and on
- A notification when the output device you have chosen stops responding
Improved#
- No more security warnings on first launch, as the app is now signed and notarised by Apple
- Settings now marks output devices that are unavailable, and offers a Reconnect button when yours goes quiet
- SoundFont options sit higher up the MIDI Output settings, with the routing switches moved below
- The MIDI device notifications setting now mentions that it also covers a device that stops responding
Fixed#
- Karaoke files no longer skip the first sung word
- Switching a device off and on again now reconnects on its own where possible, instead of leaving playback silent
- Long comments in a file no longer stretch the File Info window
- File Info no longer reports lyrics for files that only carry credits
- The lyrics tick in File Info now sits beside its label
[1.2.5] - 2026-07-24#
Added#
- The green full-screen button on the player now opens the Presentation View across your whole screen
Improved#
- File Info now lists the markers in a file with their text, so titles, credits and web links stored there are visible
- File Info now shows the text comments embedded in a file, not just its lyrics
- Keyboard displays now flash each note as it is struck
- The Part Inspector's keyboard now keeps up with the main player
- Lit segments on the top bar now glow into the panel around them
- Segment corners on the top bar are softly rounded
- Idle segments are an even brightness across the top bar and the speaker meters
- The peak marker now stands out from the rest of the bar
- Speaker meter segments now catch the light in one smooth gradient
Fixed#
- Quickly repeated notes now show as separate presses on the keyboard displays instead of one held note
- The PXR badge on the top bar now sits dead centre
- Top bar segments now stop the same distance from both ends
- The segments beside the PXR badge now sit down in the panel like the rest
[1.2.4] - 2026-07-22#
Improved#
- File Info now keeps one window per file: asking for a file that is already open just brings its window to the front, while different files each get their own window
Fixed#
- In the Presentation view, unused channels now dim like they do on the main player
[1.2.3] - 2026-07-21#
Added#
- The Part Inspector's channel buttons now show a green or red light so you can see at a glance which parts are playing
- A new File menu item, File Info (Cmd+I), opens details for the track you are playing
- File Info now shows when a file was created and when it was last changed
- You can now set PXR as an app for opening .m3u playlists from Finder
Improved#
- Opening a MIDI file, or picking one from Recent Tracks, now adds it to your playlist and plays it instead of clearing the list
- The Recent Tracks, SoundFonts and Playlists menus now remember 15 items instead of 10
- Importing a playlist when you already have tracks now asks whether to add to them or replace them
- You can drop an .m3u playlist straight onto the player to import it
- No more access prompt when importing a playlist from a folder you have already added to your library
- Clearer wording on the Clear Playlist confirmation, so it is obvious your files are not deleted
- The EQ display on the main player is easier to read, with dots and straight lines over a clear centre line
Fixed#
- The Part Inspector now shows the correct filter, envelope and vibrato values on XG files that set them
- You can now select several tracks in the playlist and remove them all at once, not just one at a time
[1.2.2] - 2026-07-20#
Fixed#
- The app no longer crashes when you close the karaoke lyrics window
- Clearing the playlist now silences everything completely, just like pressing Stop, with no notes or reverb tail left ringing
Improved#
- The main player keeps its visualisation running while the karaoke lyrics window is open
[1.2.1] - 2026-07-19#
Added#
- A new Mod Wheel panel in the Part Inspector shows how a part's modulation wheel shapes the sound: its pull on pitch, filter and amplitude, and how much it drives the vibrato-style effect. Works on GS and XG files
- In the Part Inspector, portamento, sustain and mono or poly are now click-to-toggle buttons when you play to hardware
Improved#
- The Part Inspector is more compact: the port selector moved onto the title bar and pitch and mode details run down a tidy side column
- Files that set up their sound over SysEx now show those values in the Part Inspector and Mixer, including GS part levels, pan and effect sends, and full XG setups
- The SysEx console recognises and explains more messages
Fixed#
- In the GS EQ window, the extra rows for multi-port files are no longer dim, and switching one now changes that port instead of the first
[1.2.0] - 2026-07-18#
Added#
- Voice names for three more Yamaha plug-in boards: the PLG150-PF piano board, the PLG150-AN analog synth board, and the PLG150-DR/PC drums and percussion board. Their voices now show their real names in the Mixer, Part Inspector, main player and SysEx console
- Each of these boards now shows its own instrument icon (grand piano, synthesiser, drums) and lights the PLG logo beside the transport, matching the boards already supported
- The Part Inspector now draws the envelope, vibrato and a filter response curve for the selected channel, alongside the existing dials
Improved#
- The PLG-VL window now shows a voice's real breath, envelope, vibrato and filter values instead of a blank "Default", using the voice's documented settings, the board's own defaults, or live controller changes as they happen
- In the Part Inspector, the live notes panel now sits directly below the voice, so what is playing is easier to read at a glance
Fixed#
- Stop now silences the built-in synth completely on the first press. Previously a long-release or reverb-heavy sound could linger until you pressed Stop a second time
[1.1.0] - 2026-07-17#
Added#
- New Part Inspector window: pick any instrument and see everything shaping it, its voice, volume and effect levels, tone, tuning, transpose and the notes it is playing, live
- Open the Part Inspector from the Display menu, or just click an instrument's icon or name on the main player
- Hover tips on the main display show what is clickable and where it leads
Improved#
- The Compact Player's level display now stays in step with the main window
- Custom port presets now show the manufacturer beside each MIDI input
- Clearer brightness readout in Performance Mode, shown either side of its centre point
- Show in Finder in the playlist menu now opens Finder with the file highlighted
- The playlist right-click menu can now be translated
- Cleaner note highlights on the PLG mini keyboards
- The modulation ribbon on the live panels is now labelled in full
Fixed#
- Mute and solo on the main window now respond instantly, whether playing or paused
- The port buttons update as the track changes without needing a click
- Picking a channel's original instrument in the Mixer now restores its white name
- The hand cursor no longer vanishes or flickers over playlist controls while a track plays
- Playlist scroll arrows now point the right way and sit centred
- Key and chord readout tooltips now appear during playback
- The Mixer now shows the same port count as the main player
[1.0.0] - 2026-07-16#
PXR MIDI Player is out of beta. Version 1.0.0 marks the first stable release, with heartfelt thanks to everyone who tested, reported bugs, and shared ideas along the way.
Added#
- Donate via PayPal, as well as the existing Ko-fi option
Improved#
- One consistent accent blue across the visualiser and controls
- Empty channels now dim so the ones actually playing stand out
- Crisper, more recessed look for the main display
- Playlist drawer edge now catches the light like the rest of the app
- Shareable Listening Stats image now fits long totals neatly and shows a full year as weekly bars
- Listening Stats rhythm chart starts at your first play, with start and end dates and a peak marker
Fixed#
- Top bar meter: the red segments at the left end no longer merge into one
[0.99.14 beta] - 2026-07-15#
Added#
- Lyrics window: the word being sung now swells letter by letter, in time with the melody
Improved#
- Lyrics window redesigned: lines now scroll smoothly upwards as each is sung, with the next few lines shown ready below
- The karaoke highlight now crosses each word exactly as it is sung
- The karaoke highlight follows a held note through to the end of the word
- Long lyric lines now wrap onto a second row instead of shrinking
- Lyric text now carries a subtle outline for easier reading
- Smoother piano roll scrolling, whatever your display's refresh rate
Fixed#
- Piano roll stutter that could persist until the next track
- Note roll lyrics no longer overlap or join separate words with stray hyphens
- Note roll lyrics no longer look slightly stretched on wide windows
- Select All now works in the main window's playlist
[0.99.13 beta] - 2026-07-13#
Added#
- New XG A/D Part window showing how a file sets up the module's audio input (mic or line): a Part 1 / Part 2 switch, mixer and effect-send controls, routing, and receive switches. Open it from Display, Effect Windows, XG, A/D Part, or from the sidebar of any XG effect window.
- The Mixer now shows which channels have their own SoundFont, with a button to clear those per-channel SoundFonts while keeping the main one.
Improved#
- The Tempo Graph now zooms around the current playback position, and you can pinch to zoom on a trackpad.
- The SoundFont Instruments window is now resizable; make it larger to see more instruments at once.
- The Playlist and Queue now ask for confirmation before the Clear button empties the whole list.
- The Presentation View's right-pane options are now called Piano Roll and Meter Bars, matching the names used in the main window.
- The SysEx log now decodes Yamaha XG A/D Part and A/D System messages, showing the audio-input part number.
- The SysEx log now shows Yamaha XG Multi Part detune as a value in Hz instead of raw data.
Fixed#
- Switching to the built-in synth no longer forgets the SoundFont you had loaded. It stays listed so you can switch straight back to it.
- Presentation View: the polyphony bar now stays neatly inside its box.
[0.99.12 beta] - 2026-07-11#
Added#
- Tempo Graph now labels the bottom of the graph, switchable between elapsed time and bar numbers, so you can see when each tempo change happens.
- Tempo Graph: scroll to zoom in and read small tempo changes more clearly.
- Tempo Graph: click or drag anywhere on the graph to jump to that point in the song.
- Per-channel SoundFonts: right-click a channel in the mixer to give it its own SoundFont, so you can use a better guitar, drum, or voice sound while keeping a general SoundFont for the rest. Assignments stay set as you move between tracks.
- When a SoundFont is loaded, the mixer's voice picker now lists that SoundFont's own instruments and drum kits.
- Recent SoundFonts list in the File menu for quickly reloading a SoundFont you used before.
- Select All in the playlist right-click menu, which becomes Deselect All once everything is selected.
- Mixer: right-drag reverb, chorus, volume, transpose, expression, brightness, or variation to move every channel by the same amount at once.
- Option to hide the SysEx log in the Presentation View header, for a cleaner recording.
- New fill-screen button in the Presentation View, plus a close button that hides when idle.
- SoundFont Instruments now shows how many voices one note of each instrument uses.
Improved#
- Mixer: double-click the transpose value to reset it to zero.
- The Presentation View window has no title bar, so a window capture is a clean 16:9.
- The piano roll now fades in with the music when the next track starts.
Fixed#
- Mixer changes such as transpose no longer carry over to the next track.
- The Cancel button now works while bouncing audio, and bouncing runs more smoothly.
- Fixed a crash that could quit the app shortly after opening.
- Corrected several GM2 instrument names that appeared on the wrong sounds.
- The SysEx log now decodes a Roland GS reverb setting it previously showed as unknown.
- The SysEx log now recognises Roland SD-90 and SD-80 (Studio Canvas) messages that previously showed as unknown.
- The SysEx log now shows Roland GS patch names as text instead of raw data.
- Fixed a crash when hovering over instruments in the SoundFont Instruments window.
- Clicking the Dock icon after closing the window now reopens the player, not the Settings window.
- SoundFont tracks now sound the same every time you play them.
- Sound, effects, and instrument settings no longer carry over between tracks with a SoundFont.
- No more stray notes in the piano roll between tracks.
- The Presentation View window now sizes to exactly 16:9 for clean captures.
[0.99.11 beta] - 2026-07-07#
Improved#
- The SysEx log now recognises many more Roland GS messages, including full setup dumps.
- The SysEx log now shows readable values for grouped Roland GS settings like reverb and tuning, instead of raw numbers.
- The SysEx log reads Yamaha XG variation effect settings more accurately.
Fixed#
- The SysEx log now shows the correct part numbers for Roland GS.
- The SysEx log now reads Roland GS drum settings correctly.
- Presentation View: controller tips now sit at the top of the bar at maximum.
- Presentation View: the channel rows now fill the full height, removing the gap above the playback bar.
- Custom SoundFonts: fixed a channel getting stuck playing one note at a time after playing certain files.
[0.99.10 beta] - 2026-07-05#
Added#
- Custom SoundFonts now respond to note glide, mono mode, and more expression controls, for truer playback.
- The SysEx log now decodes Yamaha XG Multi Part messages, showing the part number.
- Presentation View: the sound format icon now appears next to the progress time.
Improved#
- Presentation View: the header now sits on a backlit LCD panel, coloured to match the current sound format.
- Presentation View: the header LCD now has a recessed bezel matching the main display.
- Custom SoundFonts can now play up to 256 notes at once.
Fixed#
- Presentation View: the display now scales evenly when switching between full screen and a window.
- The polyphony meter no longer freezes after switching from a SoundFont to MIDI hardware.
- The Compact Player's polyphony readout now matches the main player.
[0.99.9 beta] - 2026-07-04#
Added#
- SoundFont playback now runs on PXR's own audio engine.
- SysEx log now decodes Roland user drum kit and user tone messages instead of showing them as raw data.
- The SysEx log and XG drum kit window now show all four XG drum setups, not just the first two.
- Custom SoundFonts now play all of their instruments, including the variation banks beyond the standard General MIDI set, both during file playback and when playing live in the Performance window.
- Custom SoundFonts now play multi-port files in full, up to 64 channels, so large arrangements sound complete with no MIDI hardware needed.
- Performance window: when a SoundFont is loaded it appears first in the sound list with every instrument it contains, ready to play straight away.
- Custom SoundFonts now have their own per-channel reverb and chorus, set by the music file and adjustable with the Mixer and Performance dials.
- Presentation View: a playback progress bar now runs along the bottom of the channel rows.
Improved#
- The reverb controls in Settings now apply only to the built-in Apple DLS (GS Lite) sounds.
- Performance window dropdowns now use native macOS menus to match the rest of the app.
- Main visualisation: the volume control is now a rotary dial matching the pan dial, with a tidier header and dial layout.
- Presentation View: the background now matches the main visualiser's neutral grey.
- Main player channel rows now use the same groove dividers as the Presentation View.
- Lyrics scroll a little faster with less word overlap on dense lines.
- The piano roll no longer flashes notes from the start of the next track, and now fades notes out and back in across track changes.
Fixed#
- Custom port presets now reconnect on their own when the device is turned back on, instead of showing as disconnected until set up again.
- Volume and pan dials on the main visualiser now show a consistent position line, no longer a stray dot on some channels.
- Fixed a rare crash while drawing the playlist.
[0.99.8 beta] - 2026-06-21#
Improved#
- More Roland GS settings are recognised in the SysEx log.
- Sound Canvas screen text and graphics now appear in the SysEx log.
- Presentation View: cleaner panel colours, even row spacing, and sharper instrument icons.
- Presentation View: tidier header layout, a cleaner velocity meter, and steadier on-screen readouts.
- Presentation View: double-click the title bar to fill the screen.
Fixed#
- Roland GS part settings now show the correct names in the SysEx log.
- Fixed a crash when opening the Lyrics window while the Presentation View is open.
[0.99.7 beta] - 2026-06-20#
Added#
- Presentation View: a clean full-screen display for screen recording and streaming, showing the channel visualiser, now-playing details and a live SysEx readout.
- Track notifications show the format logo when a track has no cover art.
Improved#
- Mixer section titles now sit centred.
- Drum hits now show reliably on the keyboard visualiser.
- More Roland GS messages are recognised in the SysEx log.
Fixed#
- Fixed a rare crash showing the now-playing track details.
- Fixed a crash that could occur when closing the Presentation View.
[0.99.6 beta] - 2026-06-17#
Added#
- Compact Player: a zoom control to size it from 50% to 150%, independent of the main window.
- Compact Player: a transparency control so the desktop shows through behind it.
- Compact Player: a live voice count readout.
- Compact Player: the spec line now names the detected sound module, such as the Sound Canvas or XG variant.
- Keyboard shortcut for the Meter Bars visualiser mode.
Improved#
- Compact Player meter now reacts instantly to notes.
- Lower CPU use when only the Compact Player is showing.
- Compact Player remembers where you left it between launches.
- Compact Player can be dragged from anywhere, even when see-through.
[0.99.5 beta] - 2026-06-14#
Added#
- Compact Player: a small, square, always-on-top now-playing window with a glowing meter behind the controls. Open it with the keyboard or from the Display menu.
Improved#
- Format badges in the visualiser now use a cleaner rounded pill style.
- The app comes to the front when you drop files onto the playlist.
[0.99.4 beta] - 2026-06-13#
Added#
- A link to the new Wiki in Settings, the Help menu and the About window.
Changed#
- The old FAQ links have been replaced with links to the new Wiki.
[0.99.3 beta] - 2026-06-12#
Added#
- Optional notification when a MIDI device is connected or disconnected.
- Custom output presets can include a MIDI input that connects automatically.
- Effect window controls now explain why they are read-only on the built-in synth.
- PLG-SG monitor: live lyric tape showing each sung phoneme as it plays, with breaths and rests.
- PLG-SG monitor: now-singing panel with a mini keyboard, pitch bend, intensity and vibrato readouts.
- PLG-SG monitor: voice card, formant profile graph and vibrato panel.
- PLG-VL monitor: voice card, live now-playing panel, breath response curve, envelope and vibrato graphs, and a playing range keyboard.
- PLG-VL monitor: WX Lip reading and a voice controllers panel.
- PLG-DX monitor: exact envelope curves for User Bank and Preset 2 voices.
- PLG-DX monitor: live keyboard showing the notes the board is playing.
- The Bank Loader shows the six operator cards for whichever voice is selected.
Improved#
- Faster app launch.
- Lower CPU and battery use while the window is minimised or hidden.
- Lower memory use with large MIDI files.
- Smoother lyrics window on long songs.
- "Skip for now" on the folder access prompt now lasts the whole session.
- The Mixer window can be resized freely and used in full screen.
- The PLG-DX monitor follows custom banks you send, not just the factory voices.
- PLG-VL monitor now shows each voice's documented breath, vibrato, filter and envelope settings even before the file changes them.
- Speaker cabinets redesigned with mounting screws, deeper cone shading and a proper bass port.
- The speaker tweeter ring now matches the colour of the current MIDI format.
- The top light bar gains machined detail, scale marks and L and R labels.
- Peak hold dots on the speaker, top bar and Mixer level meters.
- Speaker LCD panels now sit on bolted brackets with corner screws.
Fixed#
- Opening the menu bar during playback no longer causes a brief stall.
- Pausing, stopping or seeking now silences notes held on a second port.
- Seeking during playback no longer risks the wrong instrument sounding afterwards.
- Files with extra Yamaha XF data now load instead of being rejected.
- The Lyrics window play button now updates when pausing.
- Sync settings update live while chasing timecode.
- Switching songs with Settings open now reloads that song's sync offset.
- Performance Mode input goes quiet when its window is closed.
- More reliable when MIDI devices are switched or unplugged mid-session.
- Timecode position messages from some DAWs are no longer missed.
- More stable over long sessions with many songs.
- Instrument icons no longer shrink at some zoom levels.
- FM algorithm diagrams no longer get cut off, and their boxes line up evenly.
- All drum channels in XG files are now highlighted.
- The PLG-DX window's voice name now always matches the main display.
[0.99.2 beta] - 2026-06-09#
Improved#
- Choosing a Sound Canvas model from the format badge now shows up in the SysEx Monitor, so you can confirm it was sent.
- GM, GS and XG resets, and the per-track GM reset option, now also appear in the SysEx Monitor.
- A chosen GS model now reaches both ports on a two-port Sound Canvas, not just the first.
- The GS model now holds correctly when a file resets the synth partway through its opening, instead of being silently reverted.
- Forcing a GS instrument map in Settings now also applies to channels a file leaves on the default map, so they play the intended voices.
- The SysEx Monitor now names the GS System Mode Set message instead of showing it as a generic Roland GS message.
Fixed#
- Mixer channels no longer stay dimmed after you unmute them or turn solo off.
[0.99.1 beta] - 2026-06-08#
Added#
- New PLG-DX Bank Loader window: open a DX7 .syx bank or the built-in DX7-II ROM 1 set, browse all 64 voices, and send the bank to your PLG-DX.
- The Bank Loader shows each voice's algorithm, operators, LFO and pitch envelope when you click it.
- For MIDI files that have an associated SoundFont, you can right click the midi file in the playlist to set a 'Uses Unique SoundFont. This instructs PXR MIDI Player to look for a SoundFont with the same name as the MIDI file in the same folder.
- Drag a .sf2 file straight onto the Settings Load SoundFont buttons, or any DX7 .syx onto the Bank Loader window.
- New Stats menu with a live snapshot of today, this week and all-time listening, your streak and top track, plus a link to the full window.
- Help menu now links to the PXR MIDI Player FAQ.
- Select all tracks in the playlist with Command-A.
Improved#
- The menu bar is rebuilt so menus and submenus no longer collapse while a track is playing.
- Menus are grouped under clear section headings, and Shuffle, Repeat and the Queue now show a tick when active.
- Recent files, recent playlists and the sleep timer are now usable while a track plays.
- Open the Mixer with Command-6 and Listening Stats with Command-7.
- Settings, MIDI Output now shows only the options that apply to the current output, instead of dimming the rest.
- When a track uses its own SoundFont, the mixer and visualiser show the SoundFont's own instrument names.
- Tracks set to use their own SoundFont show a blue SoundFont badge in the playlist, queue, Now Playing panel and File Info.
- A new SoundFont filter chip in the playlist shows just those tracks.
- The reverb tail sweep now clears only the played notes, leaving the rest of the piano roll display intact.
Fixed#
- Cancelling a SoundFont load at startup now properly reverts to the default sound, instead of leaving it stuck loading.
- The File menu now shows its full contents on the first click.
- The playlist buttons show the pointing-hand cursor again while a track is playing.
- Playlist buttons no longer increase gap between them on different zoom/scales
[0.99.0 beta] - 2026-06-06#
This is a MASSIVE release! The whole app runs a lot quicker due to a focus on performance as well as many new features! Your testing feedback is appreciated. Enjoy!!! :)
Added#
- Test your MIDI hardware from Settings, MIDI Output, with a one-tap pattern that plays without loading a track.
- MT-32 files now show a reverb mode readout in the playback strip, click it to open the MT-32 System window.
- The Mixer and Tempo Graph windows now have a format-aware sidebar with quick links to your file's effects.
- The lyrics window melody line now shows pitch bends, sloping up or down where a note bends.
- Click a mixer channel's instrument name to choose a different voice for it (user request).
- Every mixer channel has a Transpose dial, up to 2 octaves either way, with step buttons.
- Every mixer channel now has an Expression dial, the second volume songs use for swells and fades.
- Hover over any mixer control for a plain-language description of what it does (user request).
- Turn the dials in the GS Reverb, Chorus, Delay, EFX and EQ windows to change the sound on your real hardware live.
- The XG Reverb, Chorus, Variation, Insertion and Multi-EQ windows are fully interactive too.
- Drag a channel's send bar in any effect window to adjust that channel's reverb or chorus level.
- Drag the filter curves and EQ graphs directly, the hardware follows instantly.
- Effect window tweaks reset when the next track starts, ready for the song's own settings.
- New setting to force GS songs to a specific Sound Canvas model: SC-55, SC-88, SC-88 Pro or SC-8850.
- New option to let reverb and echo tails ring out between tracks, off by default.
- A glowing sweep wipes across the piano roll while a reverb tail rings out.
- MT-32 files show an MT-32 link in the Mixer and Tempo sidebars.
Improved#
- The main player window has been rebuilt from the ground up, it opens faster and runs far lighter during playback.
- Lower CPU while music plays: the visualiser, LCD and meters now skip frames where nothing visible changed.
- A vastly more efficient build: the effect monitors, Mixer, Tempo Graph, Queue, playlist, log and SysEx windows have all been rebuilt to open faster and use far less CPU.
- The whole app feels lighter and stays smooth even during busy songs, easing the load on your Mac and saving battery on laptops.
- Opening the Mixer no longer pauses the visualiser, speakers or LCD readouts, everything keeps running alongside it.
- Smoother, lighter visualiser, speakers and on-screen readouts throughout playback.
- Lower CPU during arranger playback between Fill-In sections, and when drum-kit windows are hidden.
- Smoother MT-32 status panel when nothing is sounding.
- Cleaner thin-border style for playlist badges, filter chips, the Now Playing panel and the visualiser format chips, easier to read on any colour.
- Mixer level meters now track each channel like the main visualiser, with finer detail and a smooth hold when you pause.
- The GS and XG Reverb windows are taller so the channel send bars have room to read clearly.
- Several effect and PLG board windows are taller so their panels and readouts no longer feel cramped.
- The SysEx Monitor now spells out every value in MT-32 setup messages instead of just the first.
- The Mixer and Tempo Graph title plates now match the size and weight of the GS and XG windows.
- Effect-window titles now translate when a non-English language is selected.
- The top light bar and speaker meters skip identical frames during steady passages.
- Speaker cones animate with far less overhead.
- Large files open faster, the heavy preparation now happens in the background.
- Skipping quickly through tracks no longer wastes time finishing loads you have passed.
- Multi-port files open faster.
- Faster app launch, listening stats now wake up in the background.
- Failed file opens now show in the PXR Log instead of silently doing nothing.
- The Compact visualiser mode has been retired, use the zoom feature instead - this is so I can focus on two modes instead (full and mini).
- Zoom levels 85% and 115% removed as they don't scale well, the remaining levels render pixel-sharp.
- XF Sections and Chords windows are faster and lighter.
- Effect windows show a consistent green or red status light for in use or idle.
- Every effect window now opens centred and remembers its position.
- Effect parameters now appear as dials, toggles or menus to match what each value really is.
- Mixer channels are now laid out like a hardware console, volume fader at the bottom above Mute and Solo.
- Mixer meters are slimmer and finer grained.
- The mixer has a new deeper, darker look.
- Redesigned mixer fader handle with a cleaner grip.
- The fader slot is now an even width from top to bottom.
- Mixer dials show a dash until the song sets them, instead of the word Default.
- The MASTER strip is labelled STEREO OUT.
- New softer meter colours shared by the visualiser, speakers, mixer and top bar.
- Speaker bars, mixer meters and the top bar now light in green, yellow and red zones like the main visualiser, instead of a gradient.
- Format badges redesigned as coloured capsules, the same look in the playlist, filters, Now Playing, File Info, visualiser and Listening Stats.
- Listening Stats lists now show the real format logos.
- Subtle shadows lift the format pills off the background.
- Playlist buttons now press down when clicked.
- The Now Playing panel shows the song's own title when it has one, without the file extension.
- The SoundFont Instruments window is faster and lighter.
- GS EFX controller readouts only show raw codes when they cannot be decoded.
- The mixer window is narrower, the master column no longer takes more room than it needs.
- Songs with an MT-32 setup file wait a moment after loading it so the synth finishes digesting before play.
- Mixer controls the built-in synth cannot use are dimmed, with a note explaining why.
- In MT-32 songs the mixer dims everything the MT-32 cannot do, leaving volume and pan live.
- GM and GM2 songs dim the mixer controls their format cannot use.
- MT-32 mixer channels are numbered by part, with the rhythm part labelled RHYTHM.
- Custom MT-32 voices uploaded by a song now show their names in the mixer.
- Mixer faders have a printed value scale beside the slider, like a real console.
- The master meters carry the same printed scale, with L and R labels.
- Every dial in the mixer and effect windows now has tick marks around its travel.
- Small icons sit beside the mixer's dial labels, matching the main player's strips.
- Mixer dials are ordered Expression, Reverb, Chorus, Variation, Brilliance.
- Divider lines separate the mixer's dials so each reads as its own control.
- Drum channels assigned by the song itself now show in pink on the mixer.
- The pan dials on the main player match the mixer's dial design.
- Improved GS/XG voice names (some were missing)
- Songs asking for instruments your SoundFont lacks now fall back to the closest matching voice instead of piano or silence.
- Picking a Sound Canvas model from the format badge now applies to that track only, the next track returns to normal.
Fixed#
- PXR now recovers on its own when the system MIDI service restarts or your device reconnects, even under a new name, no relaunch needed.
- Settings no longer hangs at launch when a trusted folder lives on an offline drive or network share, and offers Retry, Skip or Remove.
- Top-10 listening badges no longer crown a track after a single play in a new month, year or fresh history.
- Drum tracks with a stuck sustain pedal no longer inflate the POLY count.
- Clicking the Dock icon after sleep no longer shows only the playlist and speakers (hopefully!).
- The effect strip buttons respond to the first click.
- The lyrics melody line freezes when paused instead of drifting.
- The lyrics window toolbar no longer gets pushed off screen by long lyrics.
- The mini player toggle keeps the window anchored in place.
- Fixed a brief visual glitch when the app first opens.
- Next and previous track keys always change track, even in songs with bookmarks.
- The PLG-SG, PLG-DX and PLG-VL windows now show the settings songs actually send them.
- The MT-32 System window's PARTS table shows exactly what the song set, including zeroes.
- The polyphony meter counts custom MT-32 voices at their true cost.
- Stereo meters place left and right correctly for MT-32 songs.
- Transpose now works on the built-in synth (user feedback).
- Wide pitch bends play correctly on the built-in synth.
- The GM reset before each track now settles fully before the song starts, fixing garbled openings on some GS files.
- Dozens of GS EFX parameter names and ranges corrected against the SC-8850 manual.
- XG effect readouts now match the values real hardware displays.
[0.98.9 beta] - 2026-05-25#
Added#
- New per-channel Mixer with live volume, pan, sends, brightness, mute and solo for all 16 channels (or 64 on multi-port files).
- New XF Chords window showing the file's chord progression as colour-coded chips with a list view, click any chord to seek.
- Click the VOL / PAN cluster on a per-channel visualiser row to open the Mixer, with a pointing-hand hover cursor.
- Cover art is now clickable to open a full-size viewer, and a back-of-case image (back.jpg / back.png) shows next to it if present.
- XF Sections and XF Chords pills now appear in the XG / PLG window sidebars, with the Mixer link at the top of every sidebar.
- Authentic Roland MT-32 silkscreen wordmark now appears across every MT-32 surface in the app.
- MIDI Panic control silences any hanging notes, automatically on MTC dropout or manually from the Playback menu (⌘⇧.).
- GS Reverb, Chorus, Delay and EFX windows now show a one-line description of the active algorithm under the TYPE pill.
- New Settings option to remember each effect window's last position instead of re-centring every time.
Improved#
- Smoother tempo graph playhead.
- Drum hits stay clearly visible on the keyboard view, including fast rolls and light touches.
- XG Variation window shows accurate defaults for around 230 more algorithms, sourced from a Tyros 4 capture.
- XG Insertion window shows accurate defaults for around 230 more algorithms, sourced from a Tyros 4 capture.
- Visualiser and speakers pause when the Lyrics or Mixer window is on top, freeing CPU during playback.
- Numeric readouts under every dial now share the same recessed-pill style across Mixer and effect windows.
- MIDI Panic now sits at the top of the MIDI menu, with a divider below so the safety control stands out.
- Visualiser MT-32 chip now renders identically on every row instead of subtly varying in size.
- Unrecognised GS effect type codes now read as "Macro 64" instead of a raw hex byte.
- Less CPU and GPU use when synced to external MTC: visualiser, lyrics roll and speaker bars pause, freeing timing headroom.
- MT-32 status panel polish: larger wordmark up top, "MIDI MESSAGE" repositioned closer to the LCD.
- XG sidebar now shows a divider between core XG effects and PLG board windows so the grouping is obvious.
- Every XG / GS / PLG window header lines up to the same vertical position.
- Playlist drawer header now matches the playback-controls chassis colour for a continuous look.
- Listening Stats shareable image now uses the same format colours as the in-app list.
- Lower CPU during XG / GS playback: effect SysEx, chord tracking and the polyphony meter no longer redraw unrelated windows.
- Smoother scrolling on long playlists, plus arrow keys, Home, End, Page Up / Down and VoiceOver now work in the playlist.
- Lower visualiser GPU memory (around 3 MB saved) and no first-frame hitch when switching between dots, note-roll and keyboards modes.
- Faster main LCD rendering, around a third less GPU time per frame.
- Polyphony meter refresh dropped from 60 Hz to 30 Hz with no visible difference.
Fixed#
- Effect windows opened mid-playback now show the file's current settings instead of falling back to System-On defaults.
- BPM display rounds correctly: a tempo of 131.7 now shows as 132 instead of 131.
- Clicking the playlist slideout from another app now reliably brings PXR forward on macOS 26.x.
- Rewinding on the Pro Tools timeline no longer mutes PXR; locates in either direction now resync cleanly.
- LCD now switches to song-position when playback starts via external sync (was stuck on the startup logo).
- SMPTE offset boxes in Settings → Sync now behave from the first keystroke after loading a song.
- Return To Zero no longer kicks playback off when used while paused or stopped.
- The first sung lyrics in a song no longer land late at the playhead.
- XG and GS Drum Kit monitor windows now stop drawing after being closed.
- Per-channel instrument icons no longer show PLG-DX, VL or SG glyphs on non-XG files.
- GS EQ readout on the playback strip now clamps to the dial range, matching the GS EQ monitor window.
[0.98.8 beta] - 2026-05-22#
Improved#
- Refreshed format-badge styling across the player, with solid family colours and proper logo glyphs.
- Effect windows now have a sidebar on the left with family-coloured highlights, and tighter padding across the set.
- Slightly larger activity LEDs on each channel.
- Lower CPU during playback.
- Speakers no longer stutter or spike CPU during heavy multi-port playback.
- Refreshed chassis colour palette for a more coherent look.
- Playlist drawer keeps the same width when switching between compact and full visualiser modes.
Fixed#
- Mini player no longer reopens at the wrong size after quitting from mini.
- Compact visualiser mode now restores correctly on launch.
- First sung lyrics in a song no longer land late at the playhead.
- Dark Green LCD theme no longer flips other formats into the MT-32 layout.
- SMPTE offset boxes in Settings now behave from the first keystroke, and Tab wraps from Frames back to Hours.
[0.98.7 beta] - 2026-05-22#
Added#
- New Full / Half visualiser resolution picker in Settings, Half frees GPU on busy multi-port files (Retina only).
- New MIDI Time Code Sync tab lets PXR follow a DAW or video transport, with per-track SMPTE offset and live frame-rate readout (experimental).
Improved#
- Near-zero CPU when nothing is playing.
- Smoother note-roll scrolling.
- Smoother lyrics melody-roll scrolling.
- Lower GPU load on busy multi-port files.
- Faster MIDI file loading, especially when dragging folders.
- Visualiser appears in step with the rest of the player on launch.
- Smoother switch between mini and full player.
- Smoother scrolling on long playlists.
- Faster open and close of the playlist sidebar.
- Lower CPU during playback.
- PXR Queue moved next to the Sleep Timer in the Playback menu.
Fixed#
- Playlist scrollbar thumb now appears reliably on first open.
[0.98.6 beta] - 2026-05-21#
Added#
- New PLG-DX live monitor window with algorithm diagrams, operator dials and routing.
- New PLG-VL live monitor window with breath-controller and modulation readouts.
- New PLG-SG live monitor window with articulation cluster and a live phoneme counter.
- Smoother karaoke fill on the lyrics window, now drawn at the screen's native refresh rate.
- Effect windows now have a vertical sidebar on the left instead of a bottom row of pills.
- New MIDI menu item to reset the MT-32 to ROM defaults.
Improved#
- English (US) translation now mirrors English (UK) with American spellings, and the fallback chain is fixed (thanks Chris!).
Fixed#
- GS display animations on supported demo files now appear on both LCDs again.
- LCD time display no longer clips the last digit on tracks over 100 minutes.
- DEVICE label on the LCD no longer truncates when the device name is short.
- MT-32 files with no setup file now reset the synth on play after clearing the playlist.
- Two MT-32 files played back to back no longer inherit each other's state.
[0.98.5 beta] - 2026-05-19#
Added#
- New MT-32 status panel under the visualiser in MT-32 mode, with parts 1-8 plus rhythm.
- New chamfered bezel ring around the main LCD.
- Transport buttons added to the lyrics window toolbar.
- Right-click any track to rescan its folder for cover artwork.
- Cover art tiles for the current and next track now appear in the lyrics header.
- New beat-aligned countdown in the lyrics window before the first sung note.
- Same countdown also appears during long instrumental breaks.
- Active syllable now fills smoothly left-to-right as the note plays.
- Lyrics progress bar now has a draggable thumb for scrubbing.
- Lyrics window NEXT preview now follows the queue, shuffle and filter.
- SysEx Monitor now decodes every documented MT-32 parameter.
Changed#
- Larger cover art on the Now Playing panel, scales with window zoom.
- Now Playing panel no longer jumps when the track has no copyright line.
- Lyrics window no longer reopens on launch.
- Playlist filter chips now show the logo first, then the count.
Fixed#
- Attaching an MT-32 setup file mid-track now takes effect without reloading.
- MT-32 rhythm cell now just flashes on each drum hit, like real hardware.
- Smoother lyrics melody-roll, especially on a second monitor.
- Visualiser instrument icons keep their shape at every zoom level.
[0.98.4 beta] - 2026-05-18#
Added#
- New MIDI Library Folders option in Settings remembers where your files live across launches, so cover art and setup files load even on single-file drops.
Changed#
- Speakers and arc bar now skip redraws when nothing is changing, big CPU saving when paused.
- Lyrics window background runs lighter on CPU and pauses when hidden.
Fixed#
- Lower CPU across the app.
- Right speaker stays hidden when reopening the playlist with speakers off.
[0.98.3 beta] - 2026-05-17#
Added#
- New Roland MT-32 mode for MT-32 / CM-32L / CM-64 / LAPC-I files, with the era-correct LCD palette and channel map.
- MT-32 tracks can carry an optional setup file streamed to the synth before playback.
- Right-click an MT-32 track to resend its setup file without restarting playback.
- New MT-32 System monitor window with master tune, reverb, parts and Factory Defaults.
- Speaker LCDs now show the 8 parts plus rhythm in MT-32 mode.
- Auto Route By Format now includes MT-32.
- POLY meter caps at 32 in MT-32 mode and weights each note by its partial count.
- New now-playing panel in the playlist showing cover, format, filename and key metadata.
- Drop a cover image next to your MIDI file and it appears on the panel, File Info and macOS Now Playing.
- Copy icon next to the Content ID in File Info for grabbing the per-track hash.
- Top three tracks now show gold, silver and bronze chips on the leaderboard.
- Cancel button (or Esc) on the parsing-files popup.
Changed#
- Sharper LCD glyph set drawn from scratch.
- Crisper per-channel instrument icons at every zoom level.
- Visualiser icons in MT-32 mode now follow the patch/timbre state.
- CHANNELS total now reads /9 in MT-32 mode.
- Listening Stats and PXR Wrapped now show MT-32 as its own format.
- Listening Stats now counts a play after 50% of duration or 4 minutes, whichever is sooner.
- File Info window now stays on top of other windows.
- File Info cover tile matches the playlist's rounded style.
- Per-row format pill picks up MT-32 marking immediately.
Fixed#
- Fixed a rare crash when switching to mini player.
- Chrome no longer shimmers while dragging the window.
[0.98.2 beta] - 2026-05-15#
Changed#
- Listening Stats now shows the file's name on disk instead of the track-name meta event.
[0.98.1 beta] - 2026-05-15#
Added#
- New Listening Stats window showing what you've actually been playing, all stored locally on your Mac.
- New PXR Wrapped year-end recap, opens once a year from December 26.
- Share buttons under the stats posters for Mastodon, Bluesky, Facebook and Instagram.
Changed#
- LCD now shows the filename by default and flashes bookmark names for 3 seconds as they fire.
- Performance Mode moved from the MIDI menu to the Display menu.
[0.98.0 beta] - 2026-05-13#
Added#
- New Play Along mode in Performance Mode mutes the selected channel so you can play along.
- Yamaha arranger files now show intro, main A/B/C/D and ending indicators in the KEY/CHORD strip.
- Small per-channel instrument icons in the visualiser, with a dedicated drum-kit glyph.
- New XG Reverb monitor window with rotary dials, filter curve and per-channel sends.
- New XG Chorus monitor window.
- New XG Variation monitor window covering the full Yamaha algorithm catalogue.
- New XG Insertion monitor window with per-slot picker.
- New XG Multi-EQ monitor window with a smooth curve readout.
- New XG Drum Kit monitor window with file overrides shown in pink.
- New GS Reverb, Chorus, Delay, EFX and 2-band EQ monitor windows.
- New GS Drum Kit monitor window.
- Pill buttons at the bottom of each effect window link to its sibling windows.
- New cover art support for MIDI files.
- Speaker visualiser pauses while the lyrics window is in front.
- Corrected GS voice library against a real SC-8850.
- New ⌘L shortcut to show or focus the lyrics window.
- Speakers pause while Performance Mode is open.
- Built-in synth renamed to GS Lite.
- New SoundFont Instruments window listing every preset in the active bank.
- Performance Mode voice list now reflects the active backend's presets.
- New brightness (BRT) slider in Performance Mode.
- Drum bank on the built-in synth now plays drums on the right channel.
- REV and CHO labels capitalised in Performance Mode.
- Save Registration Bank dialog no longer doubles the .reg extension.
- Performance Mode no longer auto-reopens on launch.
- Main window now reliably returns from the Dock.
- Stop now clears the LCD time and all per-channel readouts together.
- Performance Mode honours the LCD theme override.
- New Black LCD theme with white glyphs.
- New Tempo Graph window with a step curve and live playhead.
- New Sleep Timer defaults in Settings.
- SysEx Console now labels effect parameter writes with their algorithm-specific names.
- SysEx Console now shows the drum note's actual name.
- SysEx Console now resolves the EFX type byte to its algorithm name.
- Pointing-hand cursor and tooltips on every clickable strip cell.
Changed#
- No more GM-blue LCD flash between same-format tracks.
- Loading indicator is now a compact pill that only appears after a second.
- Faster mini-player toggle.
- Effects strip now reads EFX on GS files.
- POLY meter bar now uses the same smoothed peak as the digit readout.
- Window Size setting no longer marked experimental.
- Stop button now blanks the entire visualiser row.
- End of track now resets the piano-roll and SysEx animations.
Fixed#
- Smoother visualiser scrolling on 120 Hz ProMotion displays.
[0.97.9 beta] - 2026-05-08#
Added#
- Drop overlay on the playlist drawer now matches the main window's drop target.
- Yamaha XF chord track support, the file's authored chords drive the CHORD readout.
- XF wordmark on the CHORD field when a chord track is active.
- File Info now lists XF chord-track count and a Style File flag for arranger files.
- File Info now shows the MidStamp watermark for licensed Yamaha XG files.
- GM files can now be routed to XG BASIC or NATIVE from the GM badge menu.
Changed#
- Window Size moved to the top of Settings, Display.
- Hardware Polyphony fields are now plain text inputs accepting any value up to 256+.
- POLY meter visual now matches the rest of the file-info strip.
Fixed#
- Window Size picker now honours every value up to 150%.
- Settings window stays in front when changing scale.
- Trash icon on the Clear button no longer disappears after a scale change.
- Clicking the playlist drawer now fully activates the app.
- Right speaker reappears cleanly when closing the playlist.
[0.97.8 beta] - 2026-05-07#
Added#
- New POLY meter on the file-info strip showing live note count, turns red over the synth's voice ceiling.
- New Hardware Polyphony setting in Settings, MIDI Output for the voice cap of your external gear.
- Each saved port preset now carries its own voice-cap value (experimental).
Changed#
- Bigger hit area on the seek bar drag handle.
- NOTES counter removed from the LCD, replaced by the POLY meter.
Fixed#
- GM files without a GM2 reset no longer mistakenly show the GM2 badge.
[0.97.7 beta] - 2026-05-07#
Added#
- New Language picker in Settings, with British English and American English (more coming, please get in touch to volunteer).
- Standard Kit 1 drum track now swaps between MU80 and MU100# depending on XG BASIC or NATIVE.
Changed#
- Effects strip and key/chord strip now line up vertically.
[0.97.6 beta] - 2026-05-06#
Added#
- New Brightness (BRT) bar per channel showing filter cutoff, draggable.
- Hover tooltips on every field of the two info strips.
Changed#
- Format badges no longer let the backdrop bleed through.
- CHORD field now lines up with the rest of the info row.
- Controller bar labels now look identical on every channel.
[0.97.5 beta] - 2026-05-05#
Added#
- New General tab in Settings gathering app-wide controls plus an Updates section.
- New Reset to Defaults button in Settings, Support.
- Lyrics window can now go full screen.
Changed#
- Plug XG logo now only appears when the file actually uses a PLG board.
- CHORD field catches quick chord stabs without flickering.
- CHORD field shows N.C. instead of None when nothing is playing.
- A / B / C / D port-page letters now look properly centred.
- Standard Kit 2 drum kit now shows the correct MU80 badge.
Fixed#
- Channel 10 melodic parts no longer stay stuck on a drum kit in XG files.
- Muting one channel no longer briefly silences every channel.
- Loading bar now stays visible while loading multiple folders.
- Single-port files no longer get wrongly routed to Port B.
- Files with stray lyric markers but no matching melody no longer show those lyrics.
- Clear button now silences hanging notes.
- Clearing the playlist now also clears the queue.
- XG variation voices now show the correct device label.
Improved#
- Lower CPU on the speaker visualiser, from around 25% down to 5-10%.
- Lower CPU on the main LCD.
- Lower CPU during playback overall.
- Lower CPU when using the mini player.
[0.97.4 beta] - 2026-05-03#
Added#
- SysEx Monitor now captures incoming MIDI from connected hardware, with a direction arrow on every row.
- New save button on the SysEx Monitor for writing the log to a file.
Changed#
- Many XG voices now show the correct device tier (MU80, MU90, MU100, MU128, MU1000) and proper bank names.
- Variation banks now use the MU80 voice list spellings and correct addresses.
- Visualiser now picks the right XG voice name for the active BASIC or NATIVE mode.
- Files using dedicated Insertion blocks now force XG NATIVE on play.
- XG MODERN badge text now uses a softer off-white.
Fixed#
- Effects and key/chord strips now correctly hide in compact mode.
- PLG-SG PhoneSEQ messages with chained record sets now decode every phoneme.
[0.97.3 beta] - 2026-05-03#
Added#
- Smarter CHORD recogniser, now spots power chord, 6th, m6, add9, maj9, 9, m9, 11 and 13 chords.
- SysEx Monitor now decodes PLG100/150-VL, PLG100-DX and PLG100-SG board messages.
- PLG-SG PhoneSEQ singing messages now show the per-phoneme list.
- Channels using a PLG board voice now show a MU100+ badge.
- Roland GS Channel Rx Port multi-port routing messages now decode block-by-block.
- Many more Roland GS parameters now decode to readable names in the SysEx Monitor.
Changed#
- Redesigned SysEx Monitor with category icons, headlines and a structured detail panel.
- Multi-byte signed SysEx parameters now show interpreted values like +12.4 cents.
- CHORD readout now reliably ignores drum channels even when they're not on channel 10.
- CHORD now reads None for single notes until a second pitch arrives.
- SIZE readout now reads e.g. 147KB without a decimal place.
Improved#
- Deeper 3D engraved look on the info-strip readout panels.
[0.97.2 beta] - 2026-05-02#
Added#
- New always-visible KEY and CHORD strip below the effects strip.
- Small icons on every label across the info strips.
- TRACKS and SMF FORMAT shown on the GM and GM2 composition row.
Changed#
- Info strip values now sit in recessed readout windows with column dividers.
- Larger fonts and taller rows on the info strips.
- XG insertion rotation now pairs VAR with one block at a time on a 3-second cadence.
- Info strips now stay blank until you press play.
- KEY readout and chord spellings follow the transpose setting.
Fixed#
- Delay default no longer shown for SC-55 and SC-88 files.
[0.97.1 beta] - 2026-05-02#
Added#
- New always-visible effects strip below the LCD.
- Effects strip marks values that fall back to the synth's default.
- New Terms and Conditions window under the app menu.
- PXR Log window now logs a one-shot snapshot of your system and MIDI setup.
Improved#
- Corrected XG reverb, chorus and variation type names against the Yamaha spec.
- GS Delay Macro and EFX Type now read from the correct addresses with the full catalogue.
- Rebuilt the Genos2 voice list from the official Yamaha data.
- Effect type names are no longer in all-caps.
- LCD bezel now matches the rest of the transport chassis.
Fixed#
- File Info Lyrics field now agrees with whether the Lyrics button is enabled.
[0.97.0 beta] - 2026-05-01#
Added#
- New Bounce Audio feature in the File menu for rendering the built-in synth to WAV (experimental).
- GM2 drum kit names now resolve correctly via Bank MSB 120.
- New Sleep Timer in the Playback menu, with a 1-minute warning sheet.
- New Open Recent submenu in the File menu.
- New Recent Playlists submenu in the File menu.
- New 50% and 150% zoom steps.
- Auto-zoom on small screens picks a sensible level instead of forcing mini player.
Changed#
- Sharper LCD text at every zoom level.
- Volume icon now reflects the slider position with wave segments.
- XG MODERN badge replaces GENOS2 to cover the whole modern XG family.
- XG meters on the speaker LCDs now line up visually with GS.
- GM2 logo used as the default idle LCD logo.
- Visualiser in Auto mode now caps at 60 FPS on ProMotion.
- GM2 voice display no longer stamps bank info on resolved voices.
Improved#
- Smoother note-roll scrolling during playback.
- Faster voice lookups for GM, GM2, GS, XG and PLG.
Fixed#
- Right speaker reappears automatically when the window has room.
- Playlist search field now accepts typing on the same click that opens it.
- Ch 1 override port now receives the file's full SysEx state.
- No more stuck notes when changing track.
- Per-channel keyboards now show the E/F and B/C separators correctly.
[0.96.11 beta] - 2026-04-29#
Added#
- New Genos2 voice library for XG files, recognises over 1,700 extra voices with a GENOS2 badge.
- SysEx Monitor now shows friendly effect preset names for reverb, chorus, variation and vocal harmony.
[0.96.10 beta] - 2026-04-28#
Added#
- Volume slider hidden when using hardware MIDI output, seek bar expands to fill the space.
Changed#
- Settings cog moved to the left of the playlist footer.
Improved#
- Lower CPU and memory use during playback.
Fixed#
- SoundFonts now play drums on the right channel for GS and XG files, and missing voices fall back to GM.
- Switching to hardware MIDI after loading a file now produces sound straight away.
- LCD now shows the new SoundFont name during loading, not the previous one.
- Window can no longer be sent fullscreen via the green button.
[0.96.9 beta] - 2026-04-26#
Fixed#
- LCD TEMPO now shows the speed you've actually set, not the raw file value.
- Note roll and seek bar now stay in sync at any tempo setting.
- Tempo and key now reset to defaults when moving to the next track.
[0.96.8 beta] - 2026-04-25#
Added#
- Waveform icon next to the playback progress bar.
- Click and drag the tempo or key value to scrub it continuously.
- Settings cog in the playlist footer for quick access.
Changed#
- Settings Master Volume slider now matches the transport slider.
Fixed#
- Built-in GM Synth no longer reloads a previous SoundFont when re-selected.
[0.96.7 beta] - 2026-04-25#
Added#
- New master volume slider in the transport strip with a one-click mute.
- New tempo rocker buttons in the transport strip, 50% to 200% in 5% steps.
- New pitch rocker buttons in the transport strip, up to 12 semitones either way.
Fixed#
- Window now reappears on screen after display sleep or screensaver.
- Tracks no longer sound as piano while a SoundFont is still loading.
- LCD reverts to the device name when a SoundFont load fails.
- Playback now stops cleanly while loading a new SoundFont.
- Visualiser and LCD stay sharp at every zoom level.
- Visualiser left and right padding now even.
[0.96.6 beta] - 2026-04-24#
Added#
- New SoundFont loading dialog with progress, elapsed timer and a Cancel button.
Fixed#
- Large SoundFonts now show a clear error instead of crashing the app.
- App no longer crashes on every launch after a previous SoundFont load failure.
- Correct instruments from the first note on cold launch.
- Clicking the SoundFont area no longer briefly reverts to Apple DLS.
- Play button no longer plays a ghost track after clearing the playlist.
[0.96.5 beta] - 2026-04-20#
Added#
- Settings now shows SoundFont voice and bank counts alongside file size.
Fixed#
- Tracks now start instantly on the built-in synth and SoundFonts, no more 50ms delay.
- Selected SoundFont now reliably persists across restarts.
- Correct instruments from the first note on SoundFont tracks.
- GS and XG variation voices now fall back to GM on SoundFont output instead of silence.
[0.96.4 beta] - 2026-04-19#
Added#
- New ⌘+ and ⌘- keyboard shortcuts for zoom.
Changed#
- Playlist, top bar, mini player and speakers now all resize with zoom.
- Filtered play button removed from the playlist, use the queue instead.
- Faster app startup.
Fixed#
- Playlist now overlaps the right speaker cleanly when open.
[0.96.3 beta] - 2026-04-05#
Fixed#
- SoundFont playback no longer goes silent after an XG file.
- Main window now opens correctly when launching by double-click from Finder.
- SoundFont loading spinner now sits next to its name in the LCD.
Changed#
- Fewer stars in the lyrics window background.
[0.96.2 beta] - 2026-04-04#
Added#
- Per-model GS routing in Auto-route by Format for SC-55, SC-88, SC-88 Pro, SC-8850 and Native.
- Animated starfield behind the lyrics.
- Port picker now grouped into Custom Port Presets, Ports and Other.
Fixed#
- No more spurious hyphens between words in karaoke lyrics.
[0.96.1 beta] - 2026-03-28#
Added#
- Hyphens now appear between syllables of the same word in the lyrics note roll.
Fixed#
- Port count now consistent across mini player, speakers and full-player buttons.
- Lyrics note roll now hides when the current track has no lyrics.
[0.96.0 beta] - 2026-03-22#
Fixed#
- MIDI menu no longer collapses while navigating it during playback.
- Speaker LCDs now respect the LCD Theme colour setting.
- Speaker LCD colour now persists across app re-open.
- Files opened from Finder no longer play twice at the end of the playlist.
- Dragging to reorder the playlist no longer adds a duplicate.
[0.95.12 beta] - 2026-03-21#
Fixed#
- Auto-routing no longer falls back to the built-in synth on repeated plays.
- Auto-routing now waits for the new device before sending notes.
Changed#
- Auto-route by Format marked experimental.
- Route Ch 1 to Separate Port is disabled while Auto-route by Format is on.
[0.95.11 beta] - 2026-03-21#
Fixed#
- Auto-routing no longer requires a manual play after a device switch, playback advances normally.
[0.95.10 beta] - 2026-03-21#
Added#
- New Auto-route by Format setting for sending each format to its own MIDI output.
Changed#
- Top LED bar now responds to left and right channels separately.
- LED bars now show a faint tint of each segment's colour when nothing is playing.
- Top arc bar now responds to quiet notes at the same threshold as the side bars.
Fixed#
- No more stuck notes when switching MIDI output.
- Side LED bars now appear immediately on launch.
[0.95.9 beta] - 2026-03-20#
Added#
- Double-click a .mid, .midi or .kar file in Finder to open it in PXR (see the FAQ for file associations).
Fixed#
- No more blank second window flashing when opening files from Finder.
- Lower CPU when idle, LCD throttles to 10fps when nothing is playing.
- Loading spinner and progress bar now match the app's blue colour scheme.
[0.95.8 beta] - 2026-03-18#
Added#
- New LCD panels below each speaker showing per-channel velocity meters in real time.
- Speaker LCDs split into two halves with a divider when a file uses more than two ports.
- Scrolling melody note roll appears below the lyrics text, with a piano keyboard strip on the left.
- Syllables now scroll under their matching notes on the melody roll.
- Space bar now reliably toggles playback.
- New Ctrl+B and Ctrl+N shortcuts for XG Basic and Native modes.
Changed#
- Bottom segment of every LCD velocity bar now stays lit, like real hardware.
- Playing track border now uses dark pink to stand out from the blue selection border.
- Playlist loading bar is now blue to match the app.
- Removed file-path tooltip on playlist rows, use File Info instead.
Fixed#
- Shuffle now plays every track before any repeats.
- Port count now picks up correctly when switching tracks.
- PXR logo and GS animation no longer play on the main LCD when speaker LCDs are active.
[0.95.7 beta] - 2026-03-13#
Added#
- New top arc LED bar above the player when the speaker visualiser is on.
- Metal brackets now connect the speakers and LED unit to the player body.
- Double-click a queued track to play it now.
Changed#
- Queue back navigation now replays the last consumed track and puts it back in the queue.
- ⌘A in the playlist now selects all visible tracks.
- Cleaner PXR logo design on Roland GS displays.
Fixed#
- Shift-click no longer includes tracks hidden by a search or format filter.
- Selected playing track now shows a blue border so the selection state is unambiguous.
- Right speaker now correctly hides when the playlist pushes it off-screen.
[0.95.6 beta] - 2026-03-12#
Added#
- New optional beat ring around the play button, lights up beat-by-beat through the bar.
- Mini player LCD now shows which MIDI ports are active.
Changed#
- Speaker LED bars now drawn by the GPU for lower CPU use.
- Main window no longer resizes horizontally in full mode.
Fixed#
- GS drum channels now show the detected Roland model rather than a generic GS badge.
- Speaker Visualiser menu item now updates to match its current state.
- Speaker visualiser panels now restore when reopening from the Dock.
[0.95.5 beta] - 2026-03-11#
Changed#
- Speaker LED meter is now its own unit beside the cabinet.
Fixed#
- ⌘Q now quits the app even when the playlist is focused.
[0.95.4 beta] - 2026-03-10#
Added#
- New speaker visualiser, two floating panels with animated cones and LED meters.
- New Show PXR Logo on External Hardware toggle, off by default so hardware screens stay clean.
- Refreshed PXR logo with a checkerboard border pattern.
- Files with no Program Changes now use MIDI track names for instrument labels.
Changed#
- PXR Queue toggle moved from Window to Display menu.
Fixed#
- Large bulk SysEx messages now deliver correctly to hardware.
- Drum channels with no notes no longer show a default instrument name or badge.
[0.95.3 beta] - 2026-03-09#
Added#
- New playback queue, right-click or press Q to queue tracks.
- Hold ⌘ or Shift to multi-select playlist tracks.
- Ctrl+Q now toggles the queue window.
- Queue button in the playlist now closes the window when reopened.
Changed#
- Compact mode now fixed at 800px wide with a 400px playlist drawer.
- Single clicks in the playlist now register instantly.
- Search icon now focuses the field straight away.
Fixed#
- Controller gestures no longer fire when piano roll or keyboards visualiser is showing.
[0.95.2 beta] - 2026-03-08#
Added#
- New 2x2 grid of port buttons (A/B/C/D) for multi-port files, with the active port glowing pink.
- New Prioritise Note Timing setting for playing notes before controllers on the same beat.
- New Support tab in Settings with FAQ, Ko-fi and social links.
Changed#
- PXR logo animation now waits 3 seconds after stop before starting.
- Clearing the playlist now also resets the search and format filter.
Fixed#
- GS and XG files no longer play as piano when Send GM Reset is on.
- File Info channel count now correct for multi-port files.
- Filtered play button no longer shows an inconsistent pink glow.
[0.95.1 beta] - 2026-03-07#
Added#
- PXR logo now sweeps onto the LCD and hardware when idle, and refreshes to prevent screen timeout.
Changed#
- Filtered play button now fades in smoothly and sits on the bottom toolbar.
- File Info now shows the folder, not the full file path.
- MIDI Input tab now scrollable.
Fixed#
- Clicking in the playlist now brings the main window to the front.
- PLG format now detected when activated entirely via SysEx.
- SysEx no longer routed to the wrong port in large files.
- SysEx now reaches the correct hardware port in multi-port files.
- Generic GS badge shown when no model has been detected, instead of SC-55.
- Seek bar drag no longer floods hardware with events.
[0.95.0 beta] - 2026-03-06#
Important Notice#
- Due to changes in the core settings system, any previously saved settings will be reset on this version.
Added#
- Tighter MIDI timing, worst-case error at playback start now under 0.2ms.
- Events now sent with host-clock timestamps for MTS-capable interfaces.
- Notes now always sent before controllers on the same tick.
- New play button on the playlist stats bar when a filter or search is active.
- New PXR Log window with runtime diagnostics, in the MIDI menu.
- Multi-port channels now labelled A01-A16, B01-B16 etc.
- SC-8850 layered parts now mirror note activity on Port B/C/D slots.
- Custom port presets in Settings can now be dragged to reorder.
- New global Channel 1 port override for VL-series hardware.
- Performance Mode now hidden by default, enable in Settings, Playback.
- About panel now labels the version as BETA.
- Pointer cursor on every interactive element.
Changed#
- Exporting a filtered playlist now asks whether to export filtered or full.
- Playlist search field now activates the moment you click the icon.
- Performance Mode pitch bend range capped at 2 semitones.
- Performance Mode dropdowns refreshed to macOS native style.
- Multicolour is now the default piano roll mode.
- Time Progress is now the default LCD right-side display.
Fixed#
- Progress bar no longer overruns on files with trailing silence.
- Drums on multi-port files now show drum kit names.
- Drum channel indicators now update during playback when SysEx switches them.
- Rapid-fire GS scroll frames now collapse to the final frame.
- Piano roll now stays on the right port for higher channel banks.
- Roland accompaniment files no longer wrongly detected as multi-port.
- Reopening a port preset now pre-fills all fields.
- Open and save dialogs no longer become non-interactive.
- Shuffle back navigation now retraces the actual history in filtered mode.
Thanks to JayB for all his help with feedback and testing on the new MIDI timing features.
[0.94.5 beta] - 2026-03-01#
Added#
- MIDI files can now be dropped on any part of the window to add them to the playlist.
- Drop overlay with plus icon appears when dragging files over the window.
- Yamaha hardware sequencers now correctly detect and route to multiple ports.
- Interfaces supporting MIDI Timestamping now show an MTS badge in Settings.
Fixed#
- Files with bank or program changes starting just before the first note now play with correct channel state.
[0.94.4 beta] - 2026-03-01#
Added#
- Official GM, GM2, GS, XG and Plug for XG logos now appear in format badges, playlist rows and File Info.
- Plug for XG logo now shown when PLG modules are detected.
- GS Display text now scrolls smoothly across the LCD as a ticker.
- Long filenames now scroll character-by-character on the LCD with a hold at each end.
- Retriggered notes now flash bright white on the keyboard.
Changed#
- Notes held only by the sustain pedal no longer show as pressed keys.
- Custom port preset names on the LCD no longer get overwritten by the device reply.
Fixed#
- SC-8850 files with hundreds of SysEx packed inside F7 escape now parse correctly.
- XG files without an explicit XG System On are now correctly identified.
- DAW-exported XG files using bulk dumps now show instrument names.
- End of Track markers far past the music no longer inflate the displayed duration.
- LCD NOTES counter now includes all 64 channels across 4 ports.
- Multi-port files with a partial final port now detected as multi-port.
- XG multi-port files using A01/B01/C01 track naming now route correctly.
- All 64 channel slots now visible regardless of track count.
- Sorting the playlist no longer restarts the playing track.
[0.94.3 beta] - 2026-02-28#
Added#
- New per-channel piano keyboard view for all 16 channels (⌘K).
- Performance Mode piano keyboard now Metal-rendered for instant response.
- MIDI input now receives and parses incoming SysEx from hardware (experimental).
- New sync button in Performance Mode to query hardware via XG dump request (experimental).
- Pitch bend and modulation wheels in Performance Mode now follow file playback.
- Volume bars, pan dials and controller bars now have a 3D bevelled look.
Changed#
- Opening the playlist now scrolls to the current track.
- Sharper Performance Mode piano key shading.
- Updated instrument libraries with the latest SC-8850 drum kits.
Fixed#
- Keyboard now clears active notes when playback stops.
- Channel names no longer overlap the velocity meter in keyboard mode.
- Bar number on the LCD no longer skips during playback.
- Smoother playlist scrolling with large playlists.
[0.94.2 beta] - 2026-02-27#
Added#
- New LCD right-side picker between a large time progress display and format-specific channel meters.
- GS bitmap animations (e.g. SC-55 startup logo) now render on the LCD, clearing after 3 seconds.
- GS channel meters now use a SC-55-style 16-row grid.
- LCD now shows a clean device-name display when idle.
- LCD now shows the full device name when idle.
Changed#
- Time progress is now the default LCD right-side display.
- First-launch prompt now offers Use Built-in GM Synth as the primary option.
- Smoother LCD meter decay.
- Wider gaps between GM and XG meter columns.
Fixed#
- LCD info row now updates even when the main visualiser is paused.
- Playlist search now persists when switching between full and mini player.
- GS Display Text scroll now calculates correctly in compact and mini player.
- Stop no longer resets the visualiser away from the note roll mode.
- Playlist scrollbar thumb now has a minimum height.
[0.94.1 beta] - 2026-02-25#
Added#
- New NOTES counter on the LCD showing active notes including sustained ones.
- New File Info window with format, PPQN, tempo, tracks, copyright and more.
- New SC-55 map mode for GM files on SC-88 hardware, with a live menu toggle.
- Settings now grouped into MIDI Output, Playback, Display and MIDI Input tabs.
- LCD meters now tint green for XG, blue for GM and orange for GS, with smooth crossfade.
- Dragging VOL, PAN, EXP, REV, CHO and VAR in the visualiser now sends MIDI CC live.
Changed#
- LCD now uses the real dot-matrix character set across all formats.
- Sharper, more consistent controller labels in the visualiser.
- Refined pan dial with smoother needle blending.
- Lighter VOL/PAN/BND/MOD/SUS/AFT vertical labels.
- Brighter GM and GS meter bars.
- GM mini-player meters now use continuous bars with floating peak tips.
- Dimmer TEMPO, SIG and BAR values for clearer hierarchy.
- SIG column now expands for wide time signatures like 11/12.
- Full screen disabled on every window.
- App now always opens in full or compact mode, never mini player.
Fixed#
- Playback no longer hangs at the end of a file in certain cases.
- No more burst of stuck notes when pausing.
- Lyrics and File Info windows no longer interfere with main window sizing.
- Right-click now works directly on playlist rows.
- Pink visualiser markers no longer disappear at zero or maximum.
- No more console warnings when switching visualiser modes.
- Build warnings cleared for Swift 6.
[0.94.0 beta] - 2026-02-23#
Added#
- New Performance Mode (experimental) with voice memory slots and MU100 Native mode.
- Optional macOS notifications when a new track begins.
- Piano roll notes now shift with pitch bend and wobble with modulation.
- Notes are now brighter as they cross the playhead, which itself glows white.
- XG part bank and program changes via SysEx now show up in the visualiser.
- XG drum channels now show the default kit when no program change is sent.
- Built-in synth can now load DLS sound banks, name shown on the LCD.
Changed#
- LCD now uses authentic dot-matrix bitmap fonts.
- Channel controller labels now Metal-rendered for instant mode switching.
- Subtle LCD backlight glow for a more authentic look.
- Dimmer LCD info values to reduce clutter against the title.
- Info row now uses small text labels above values for clearer reading.
- SysEx flame effect 50% narrower.
- Built-in synth now labelled GM.
- Performance Mode window title labelled experimental.
- LCD now shows the filename when a track has no embedded title.
- Accented characters now strip to their base letter in the LCD.
Fixed#
- Long sustained notes no longer disappear from the piano roll mid-playback.
- No more blank Metal areas when moving between monitors.
- Fixed a crash when sending very large SysEx messages.
- XMI-converted game files now load correctly.
- App now prevents multiple instances launching simultaneously.
- Visualiser pauses while Performance Mode is open.
- Code-wide optimisations.
[0.93.4 beta] - 2026-02-21#
Added#
- New rising flame effect on the piano roll for SysEx events, channel-specific or global.
- New hyperspace streak effect when loading a new track.
- Notes now glow as they cross the playhead.
- Now opens .kar karaoke files.
Changed#
- Smoother piano roll scrolling using high-precision interpolation.
- Playback time on the LCD now right-aligned to match the title.
- Added spacing after the slash between current time and duration.
- Extra padding between the velocity meter and piano roll.
- Removed the macOS View menu from the menu bar.
Fixed#
- Piano roll flicker eliminated by switching to double buffering.
- GS peak hold bars now show correctly in the mini player.
[0.93.3 beta] - 2026-02-20#
Added#
- App now checks for updates at launch and from the menu.
- Multi-port files (more than 16 channels) now detect and display correctly.
- Crash report detection offers to copy diagnostic info.
- Loading spinner now appears in the LCD while a track loads.
- Playlist stats bar now shows tappable GM, GS and XG format filter badges.
- Shuffle back now revisits previously played tracks.
- New multicolour mode for the piano roll, one colour per channel.
- Social media links added to the About window.
Changed#
- Track info panel now GPU-rendered with Metal for consistent performance.
- Replaced MTKView with direct Metal rendering for lower latency.
- Settings reorganised into four clearer sections.
- Visualiser now matches your display's native refresh rate.
- Higher-velocity notes now produce larger, more vivid shatter.
- Playhead line now drawn above notes and shatter particles.
- Menus reorganised to follow macOS conventions with corrected shortcuts.
- App now sends a GM Reset when quitting.
- Format filter and search now persist when switching views.
Fixed#
- Single-port files no longer split by multi-port detection.
- Multi-port files with unused channels in the final port now detected correctly.
- Piano roll now shows correct channels on higher port banks.
- Fixed a crash during dense passages caused by playlist mutation.
- Fixed a crash when the display link deallocated mid-frame.
- Playlist no longer loops back to the start indefinitely.
- Pink marker tips on the note roll no longer vanish at bar edges.
- Duplicate View and Window menu entries removed.
[0.93.2 beta] - 2026-02-18#
Added#
- New scrolling piano-roll view per channel, toggle in Settings.
- Notes now produce a particle shatter responding to modulation, pitch bend, aftertouch and velocity.
- Visualiser now auto-switches to compact when the window is too narrow.
- Unavailable SoundFonts now prompt for device selection instead of silent fallback.
Changed#
- Smoother visualiser playback, closer to 60fps on a dedicated render thread.
- Shatter effect builds with note duration.
Fixed#
- Visualiser now aligns correctly on Retina displays.
- Lower main-thread congestion during dense passages.
[0.93.1 beta] - 2026-02-17#
Added#
- New SoundFont (.sf2) support for the built-in synth, choice persists across launches.
- New master volume slider for the built-in synth.
- New master reverb level and preset (SoundFont only).
Changed#
- Smoother visualiser, 50-60fps during playback.
- Big CPU reduction in the visualiser, from around 100% down to 20-35%.
- Smoother fade-in on volume and activity bar segments.
- Activity bars now decay more quickly with shorter peak hold.
- Built-in synth now correctly labelled as GS-compatible.
Fixed#
- No more fallback to sine waves when switching synth or SoundFont.
- Pitch bends now sound correct on both Apple DLS and SoundFonts.
- Updated voice library, fixing some XG SFX voices.
[0.93.0 beta] - 2026-02-16#
Changed#
- Visualiser now GPU-rendered in a single Metal pass, far lower CPU use.
- Refreshed Performance Mode look inspired by a classic keyboard.
- Keyboard divider in Performance Mode now 3D raised.
- Refined lyrics window buttons and background panel.
Fixed#
- Fixed several issues that could cause wrong instruments after seeking and stuck notes on muted channels.
- Fixed an audio glitch on built-in synth shutdown and improved large SysEx handling.
- MIDI files now parsed once instead of twice, faster track loading.
- Lyrics now track playback position more precisely.
- Fixed a thread issue causing note-offs to be dropped on the built-in synth.
[0.92.6 beta] - 2026-02-15#
Changed#
- Lower CPU during dense passages.
- Off-screen channels no longer computed when viewing a single bank.
- Refreshed playlist toolbar buttons with a glossy plastic 3D look.
[0.92.5 beta] - 2026-02-15#
Fixed#
- Multi-port files where Port A has under 16 channels now route correctly to hardware.
- Replaced deprecated MIDI APIs with the modern equivalents for future macOS compatibility.
Changed#
- Compact view now follows your frame rate setting.
- Refreshed transport controls with a glossy 3D look.
- Tighter visualiser channel rows for better use of space.
- Playlist header now reads PXR MIDI PLAYER.
[0.92.4 beta] - 2026-02-15#
Changed#
- Lower CPU during playback, time updates no longer cause channel rows to redraw.
- Smoother LCD and visualiser timing via display-link rendering.
- Visualiser now pauses during silence to save CPU.
- Compact visualiser now capped at 30fps for lower CPU.
- Updated all instrument libraries to latest upstream.
Added#
- New custom multi-port selector and profile saving in Settings.
[0.92.3 beta] - 2026-02-14#
Fixed#
- Instrument names now appear on the correct row for files with more than 16 tracks.
- Melodic instruments on XG drum channels (e.g. Timpani on CH10) now show the correct name.
Changed#
- Updated XG voice library to latest upstream.
[0.92.2 beta] - 2026-02-13#
Added#
- Ko-fi donation link added to the About window.
Changed#
- Universal binary now fixes Intel Mac issues.
- Lower CPU across playback, visualiser and lyrics.
Fixed#
- Window no longer stretches taller than expected when restoring from the Dock.
Initial Release [0.92.1 beta] - 2026-02-11#
- Initial release of PXR MIDI Player in BETA status.
