Releases: kartik-venugopal/aural-player
Playlist UI enhancements
Many thanks to @skillt3ch for requesting these features!
#60 - Added scrollbar thumb / knob to playlist
The playlist views will now always display a scroll bar with a thumb / knob, to make browsing large playlists easier.
#61 - Keyboard Shortcut: '⌘+A' to select all playlist items
The user can now easily select all playlist items with the '⌘+A' keyboard shortcut.
Bug fixes
What's New in Version 3.19.0
#57 - M3U playlist track import order
Many thanks to @LesterJitsi for reporting this bug !
In versions v3.17.0 and v3.18.0, whenever an M3U playlist was imported into Aural, its tracks were inserted in random order. This bug has been fixed.
#37 - No more modal dialogs
Again, thanks to @LesterJitsi for reporting this bug !
In all previous versions, all accessory dialog windows (eg. Preferences, Search, Sort, etc) were displayed modally, making it inconvenient for the user to switch between apps while those dialogs were displayed. Now, all those dialog windows are non-modal, so that when the user switches to another app, the dialog will be hidden.
Ability to sort playlist by file "Last Modified" timestamp.
Fixed button focus issue, dropped Sierra support
Fixed button focus issue (M2 Pro / Ventura)
On an M2 Pro machine running macOS Ventura, I discovered that the close button ('X') would be in focus on app startup ... this had 2 undesirable consequences:
- The button looked ugly with a focus ring around it.
- When the Space key was pressed to initiate playback, a button press would be triggered, quitting the app.
This issue has been fixed.
Dropped support for macOS 10.12 Sierra
Xcode 14 does not support building for macOS Sierra.
Fixed issues #51 and #36
Fixed issue #51 - log bloating (I/O errors)
Many thanks to @LesterJitsi for reporting this issue !
When a non-native track (i.e. one that requires decoding by FFmpeg) located on an external drive is playing, and then the external drive is unplugged from the system while the track is still playing, previously, the FFmpeg decoding loop would continue endlessly trying to read the track, despite repeated I/O errors.
This had 2 undesirable consequences:
- The I/O errors would all get logged in Aural.log, leading to a very large log file 100s of MB in size.
- The player would continue displaying the track, as if it were still playing, even though there was no audio being produced.
Now, the FFmpeg decoding loop is smarter - if it sees 5 consecutive unsuccessful packet read attempts (indicated by packet read exceptions), it will interpret that as a fatal / unrecoverable error, and the loop will be terminated. The portion of the track that has been successfully read will continue playing, and playback will then move on to the next track in the playlist.
Fixed issue #36 - loss of app state during crashes (state.json)
When the app needs to be forcibly closed with "Force Quit", or during other unexpected crashes, the most recent app state (eg. playlist state, UI state, player controls state, etc) is lost.
In order to significantly mitigate this issue, the app will now periodically save its state to storage in the background, every minute, so that in the event of an unexpected crash, very little app state (from the last minute or so of use) will be lost.