Releases: savannstm/revolutionary-audio-player
Releases · savannstm/revolutionary-audio-player
Release list
RAP v0.12.0
Changes
- Implemented auto-updater (Windows uses bundled 7-Zip DLL; Linux uses system
tar). - Resources (translations, icons) are now embedded in the executable; only icons for system associations are shipped.
- Reworked shuffle: playlists are pre-shuffled, preserve forward/back order, and reshuffle after completion or on new playlist.
- Fixed panic when repeat is off and the next playlist is empty (now skips to next non-empty pklaylist or stops).
- Fixed loud white noise at the end of WAV files.
- When switching playlists mid-playback, the previously played track is now visually marked as paused.
- Added new track properties that's rarely seen but are in ID3/Vorbis specs, such as Subtitle, Rating, Lyricist, Lyrics, Publisher, Remixer, Total Discs, Label, ISRC etc.
- Major refactor of playlist logic (fewer bugs with tab moves/closes, improved shuffle & column moving, removed “Play” column).
- Old settings are incompatible, because of refactored logic. Since we're not at v1.0.0 yet, we don't want to introduce some kind of backward compatibility with bad decisions.
- Multi-row reordering in the track table.
- Progress label is now clickable and toggles between
remaining/durationandelapsed/durationdisplay (saved in settings). - Added status bar: track count, total duration, current row, and repeat/end messages.
- Fixed tooltip and table header retranslation bugs.
- Fixed KDE context menu permissions issue.
- Added GNOME directory context menu entry via
nautilus-python. It has been vibe-coded and is experimental. - Fixed duplicate/incorrect Linux MIME associations.
- Linux associations now updated via directly editing
mimeapps.listand callingupdate-desktop-databaseonce instead of callingxdg-mimein a loop. - Fixed updating all associations on startup, instead of touching only those entries that contain paths to the application executable and icon (in case binary was moved somewhere).
- Association bitflags layout changed, old values are now mapped to new associations.
- Fixed PulseAudio monitor cleanup panic, which occurred when closing settings window.
- Fixed crash when opening folders via shell context menu.
- Fixed window sometimes not popping up when tray icon is clicked.
- Fixed incorrect association display in settings window after restart on Linux.
- Switched seconds and row counters from 16-bit to 32-bit (supports >65,536 seconds/rows).
- Refactored visualizer to run in a thread instead of shipping and opening a sidecar.
- Refactored audio worker along with audio streamer classes. Audio worker now uses a dedicated thread, so the main thread doesn't interrupt its work. Audio streamer was refactored from using a messy buffering structure to a fast, cache-friendly SPSC ring buffer with optimal size.
- Made audio format display not as the played file's extension, but as an actual codec used in the file, e.g. VORBIS for OGG Vorbis.
- Player now supports up to 255 audio channels and any sample rate.
- Made spectrum visualizer and projectM visualizer consistent by downsampling audio which sample rate is higher than 48 kHz.
- Removed automatic playback start when changing the progress slider position.
- Player will not notify the user if the played file is incompatible. This includes more than 255 channels, for example.
- Windows: Updated to Qt 6.10.2.
- Windows: Changed the way Qt is built, and every library in the player is now linked using link-time optimizations.
Coming Next
- Possible integration with last.fm API for music data scraping.
- Convenience features that are introduced in other mainstream audio players, like Audacious and fb2k.
- More customization for all parts of the interface.
- It's not likely that I'll further develop/test Windows-specific features, since I'm now full-time Linux.
- Further audio playback performance finetuning.
RAP v0.11.1
Changes
- Fixed not saving the state of the spectrum visualizer if it has been hidden.
- Re-added the close button to the spectrum visualizer, if it's detached, and fixed it disappearing until the next restart if it was closed.
- Fixed setting incorrect FPS in visualizer if it wasn't set explicitly earlier.
- Added some separators to menus for better readability.
- Added support for
oga,ogvandogxformats that are containers for Vorbis audio. - Fixed incorrect playlist track index after moving tracks or sorting the view by column.
- Repeat range menu was renamed to Track repeat menu.
- When using track repeat mode, fixed tracks looping over too soon or skipping some end/start seconds.
- Changed equalizer preset format to text-based instead of binary-based.
- Fixed track search input not repositioning itself if dock widget was resized.
- Added possibility to copy text from metadata tree in dock widget.
- Fixed resizing play indicator column in playlist trees when retranslating.
- Fixed not retranslating columns except title, artist and track number in playlist trees when retranslating.
- Windows: Updated to Qt 6.10.1.
- Updated to FFmpeg 8.0.1.
- Published the first version of the documentation.
Broken
- Devices hot-reload in settings window on Windows.
- Sliders in tray icon menu don't display on KDE (possibly other DEs).
- Shell context menu entries in different Linux DEs (WIP).
- Multiple tree items reordering.
Coming in v0.12.0
- Possible integration with last.fm API for music data scraping.
- Linux desktop environments shell integration polishing.
- Auto-updater.
- Devices hot-reload fixes on Windows.
- Multiple tree items reordering.
rap v0.11.0
Changes
Spectrum Visualizer
- Spectrum visualizer now can be detached from the main window, and will behave as a separate top-level window.
- Removed missing preset number from the preset list.
- Implemented waveform mode for spectrum visualizer.
- Implemented "Equal" mode for spectrum visualizer, which calculates dBFS peaks like in dBFS mode, but boosts peaks if they're too weak.
- Implemented setting custom padding between peaks.
- Implemented setting custom gain factor, which boosts the peaks for the given number of decibels.
Playlist Appearance
- When setting playlist tab color, text color in the tab now will be changed accordingly.
- Implemented changing playlist background opacity.
- Fixed setting wrong color to the playlist background when opacity is changed.
Other
- Fixed not showing visualizer dialog window on Windows.
- Fixed replacing any non-ASCII text to question marks in visualizer window on Windows.
- Implemented preset import/export for equalizer.
Broken
- Devices hot-reload in settings window on Windows.
- Sliders in tray icon menu don't display on KDE (possibly other DEs).
- Shell context menu entries in different Linux DEs (WIP).
Coming in v0.12.0
- Possible integration with last.fm API for music data scraping.
- Linux desktop environments shell integration polishing.
- MkDocs-based documentation.
- Auto-updater.
- Devices hot-reload fixes on Windows.
rap v0.10.0
Changes
Linux binaries are now linked dynamically to Qt, see required libraries here
Playback Fixes
- Fixed non-working repeat of a single track.
- Fixed the situation where a track would continue playing even after playback was stopped, if play button is pressed again.
- Fixed crashes when switching tracks while having the visualizer window opened.
- Fixed not opening the track from association because of a logic flow that was introduced after switching to
miniaudiolibrary for audio playback. - Fixing #1 playback stutters.
Playlists
- Fixed not showing scroll bar in tab bar when there's many playlists opened, and dock widget is minimized.
- Fixed not filling the created playlist when files are dropped into the player.
Equalizer Updates
- Added default 18- and 30-band presets for equalizer (these are just stretched versions of 10-band ones).
- Fixed equalizer corrupting audio when playing audio with too high sample rate and many channels.
Visualizer Updates
- Fixed peak (spectrum) visualizer for any audio formats.
- Spectrum visualizer is now available with only either 18 or 30 bands.
- Added feature to maximize visualizer to fullscreen by pressing F11.
- Visualizer was rewritten from using Qt6 OpenGL to open a separate GLFW window, which ensures maximum portability and less pain in the ass.
Settings & Configuration
- Settings were split into sections, and several additions were made:
- Added a setting to explicitly change color theme.
- Added ability to change settings/playlists files' location (paths are stored alongside
rapexecutable; after reinstalling, directories need to be located again). - Associations for file formats can now be enabled/disabled per format.
- Added ability to change default playlist columns and their ordering.
- Added "Default" application style option.
- Implemented playback devices hot reload.
File & System Integration
- Fixed check of enabled associations (now based on whether the file/shell associations actually exist in the system).
- Linux:
- Fixed
Create "Open in RAP" directory context menu itemworking for files and not directories on Linux. - Fixed not opening files in the application if supplied as arguments while the executable is already opened.
- Fixed not opening for the first time on Linux if the application wasn't closed properly.
- Fixed
Localization
- Fixed track search input not retranslating when the language is changed.
- Removed retranslating of some widgets that shouldn't be retranslated.
- Added retranslating of some widgets that should be retranslated.
Other Updates
- Starting from v0.10.0, releases will be compiled with
-march=sandybridgeflag (Intel 3rd Gen with AVX support). - Removed blank entries from tray icon menu on Linux platform, which are actually supposed to be sliders. But sliders are not widely supported, so whatever.
- Fixed system window bar not appearing after maximizing cover window.
- Implemented skip sections for repeat menu. Now you can enter custom sections to skip.
- Allowed using theme plugins by linking Qt dynamically.
- Fixed some dialog window appearing in the center of the screen instead of where they should.
Broken
- Sliders in tray icon menu don't display on KDE (possibly other DEs).
- Shell context menu entries in different Linux DEs (WIP).
- Set Always On Top does not work on Wayland (and it shouldn't, because in Wayland the compositor decides which properties should window have).
Coming in v0.11.0
- Floating spectrum visualizer, and more spectrum visualizer customization
- Import/export for visualizer presets
- Possible integration with last.fm API for music data scraping
rap v0.9.0
Changes
- Fixed our Linux builds. Now they're not statically built, and depend on glibc, xcb, wayland, and PulseAudio
- Migrated from using QtMultimedia for audio output and device managment to
miniaudiolibrary. This mainly improves building process, but also may help with performance - Implemented Winamp-style visualizer using incredible
projectMlibrary. Information about getting presets can be found at Visualizer Presets README section - Moved
Settingsmenu bar option toFilemenu - Fixed
rap.logfile being created in current working directory, instead of in the root of the program - Fixed BPM metadata field always being empty
- Added an ability to toggle fullscreen in cover window with F11 key
- Tested support for different sample rates and channel layouts. Seamless playback guaranteed for formats up to 384 KHz and 8 (7.1) channels
- Fixed not setting the current index to the correct item when adding tracks to playlists
- Fixed inability to re-add deleted tracks to the playlist
- Fixed
.ac3files not opening in the program because.ac3format container demuxer was absent - Added Drag & Drop for playlist files
- When enabling file associations in settings, playlist files now will also be associated with the player
- Fixed context menu entry on Linux, so now it works only for directories
- Fixed panic when opening directories through context menu entry
- #2 Fixed - now selecting multiple directories via system context menu entry opens them all
- More logs to
rap.logfile - From now on, binary executable files of the player will be compressed by UPX with
--bestflag, and thus the size will be reduced by ~2x times. It won't impact performance, although may trigger some antiviruses
Broken
- Peak visualization for formats with more than 2 channels
- #1 Playback stutters still occur, it will be fully addressed in the next version
Coming in v0.10.0
- We'll try to completely fix playback stutters
- Settings will be split into sections, allowing finer control over them
- We'll fix visualization for >2 channel formats
- Custom location for settings file
- Hot reload for available output devices in settings
- 18 and 30 band default presets
rap v0.8.0
Changes
- Making moves to try to fix occasional playback stuttering
- Added information about Qt and FFmpeg version to About window
- Separated playlists from settings. Now, playlists are stored in
rap-playlists.json, while settings are inrap-settings.json - Fixed incorrect display of progress time in some cases
- CUE fixes:
- When switching tracks that are in the same playlist, the audio file now won't be reopened
- Fixed playing one more second than track needs
- Tracks are now properly saved/loaded
- Fixed some tracks repeating their start twice, because of a flow in logic that was introduced with CUE playing implementation
- More performance minmaxxing
rap v0.7.0
Changes
- Fix missing BPM metadata for different music formats
- Fixed panic when deleting tabs to the left
- Implemented
.cuesheets playing - Implemented a menu for selecting a range to repeat. It's accessible via right mouse button when repeat mode is set to repeat a single track
- Some performance minmaxxing
rap v0.6.1
Changes
- Fixed panic when deleting the last tab.
- Changed behavior of dropping multiple folders to the application's window: now each of them is processed as a separate tab.
- When searching a track in a tree, the program doesn't set table's index to the found match and doesn't interrupt playback order.
- Fixed missing
.ac3format association on Windows. - Possibly implemented file associations for Linux.
- Fixed random panic related to peak visualizer when playing/switching tracks.
- Maybe slightly improved peak visualizer's performance.
- Fixed panic when finishing playing the last track in a playlist.
rap v0.6.0
Changes
- Implemented simple peak visualizer with presets.
- When no track is selected and play button is pressed, the first track in the tree will be played now.
- Fixed issues with adding files due to possible extension mismatches.
- Removed retranslation of the version element in about window, which caused it to disappear.
- When opening/dropping folders in the program, it correctly creates tab with these folders' names, instead of theirs parents names.
- Added
rap.logfile, where some logs of the program is output. - Maybe improved the performance of playback and opening files in the table.
- Fixed problems when deleting tabs to the left of the selected, and made tab removal even less error-prone.
- Fixed not removing the old cover from the dock widget when switching to a new track that has no cover.
rap v0.5.1
Changes
- Made equalizer usable.
- Added Dolby AC3/EAC3 formats support.