- 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: Changed the way Qt is built, and every library in the player is now linked using link-time optimizations.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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).
- 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.
Linux binaries are now linked dynamically to Qt, see required libraries here
- 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.
- 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.
- 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.
- 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 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.
- 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
- 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.
- 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.
- 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).
- Floating spectrum visualizer, and more spectrum visualizer customization
- Import/export for visualizer presets
- Possible integration with last.fm API for music data scraping
- 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
- Peak visualization for formats with more than 2 channels
- #1 Playback stutters still occur, it will be fully addressed in the next version
- 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
- 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
- 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
- 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.
- 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.
- Made equalizer usable.
- Added Dolby AC3/EAC3 formats support.
- Fixed non-working track rewinding with
wavor any other issues, for sure this time. - Fixed wrong "Disabled" equalizer menu button text when it's actually enabled.
- Made the program update Windows registry associations on each run in case if binary was moved.
- Fixed non-working equalization when playing different tracks.
- Implemented drag and drop in track tables and
Ordercolumn, which preserves the order of rearranged tracks. - Removed files drag and drop option in favor of dropping files directly into the playlist to add tracks or outside the playlist to add new playlist.
- Implemented options to automatically set playlist background when playing a track and to prefer external covers instead of internal.
- Added dragging delay to playlist tabs dragging to prevent false drags.
- Fixed messed up styling of playlist context menus.
- Next up: Peak visualizer and
.cuesupport.
- Fixed non-working
.wavplayback and skipping a couple of milliseconds when playing.wavfiles. - Fixed ugly appearance of cover window's context menu.
- Reimplemented equalizer with FFmpeg's
libavfilterinstead ofJUCEframework - something might sound different. - Started to ship static Linux builds.
- FIXED NON-WORKING REPEAT.
- Fix mismatching track properties/values.
- Made playlist table's columns resize on selecting new language, or when adding new column.
- Fixed saving incorrect dock position.
- Fixed panic when background image for a playlist from settings doesn't exist.
- Made opening directories kinda visible in the table.
- Fixed panic when resizing dock widget, but no playlist tab is selected.
- Made tab removal less error-prone.
- Correctly implemented context menu entry and file associations for Windows.
- Probably fixed messed up application icon for Windows?
- Fixed non-working playlist importing.
- Fixed opening files/directories when file associations are enabled and opened entries contained Unicode.
- Removed retranslating tab labels when selecting new language.
- Implemented tab bar scrolling and tab dragging.
- Fixed non-working repeat.
- Fixed cover window resize and fullscreen issues.
- Revamped equalizer menu to preset-based approach.
- Fixed non-working playing of variable-bitrate formats (ogg, opus) and wav format.
- Implemented changeable audio output device (also made audio device automatically change, when it's changed in the system).
- Fixed possible panic when removing playlist's tree rows.
- Fixed leading
/or\symbols in tracks' titles, when title is not defined in the metadata.
- Another load of playback fixes.
- Fixed adding the same tracks to the playlist which already has them.
- Fixed tabs behavior when sometimes two tabs will be selected simultaneously.
- Changed exported
.xspfand.m3u8playlists to use relative paths. - Fixed crashing when interacting with settings.
- Added arguments parsing when opening files through system's context menu.
- Some fixes in playback toggling system.
- Proper repositioning of dock widget.
- Corrected the behavior of disabled/playlist repeat modes.
- Fixed corrupted equalizer output.
- Added the option to add "Open in RAP" item to Windows Explorer context menus.
- Copied progress and volume sliders and labels to the tray icon menu.
- Implemented
.xspfand.m3u8playlists import/export. - Playlist tree headers' order and visibility are now stored in settings.
- Fixed 20 MB memory allocation related to play button emoji usage.
- Added a dock window with track metadata and cover.
- Established a cool-ass hammer and sickle revolutionary
icon.
- Initial release.