Skip to content

Releases: savannstm/revolutionary-audio-player

RAP v0.12.0

Choose a tag to compare

@savannstm savannstm released this 22 Mar 16:16

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/duration and elapsed/duration display (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.list and calling update-desktop-database once instead of calling xdg-mime in 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

Choose a tag to compare

@savannstm savannstm released this 03 Dec 14:31

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, ogv and ogx formats 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

Choose a tag to compare

@savannstm savannstm released this 21 Nov 14:57

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

Choose a tag to compare

@savannstm savannstm released this 18 Nov 20:47

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 miniaudio library 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 rap executable; 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 item working 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.

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=sandybridge flag (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

Choose a tag to compare

@savannstm savannstm released this 31 Oct 14:36

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 miniaudio library. This mainly improves building process, but also may help with performance
  • Implemented Winamp-style visualizer using incredible projectM library. Information about getting presets can be found at Visualizer Presets README section
  • Moved Settings menu bar option to File menu
  • Fixed rap.log file 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 .ac3 files not opening in the program because .ac3 format 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.log file
  • From now on, binary executable files of the player will be compressed by UPX with --best flag, 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

Choose a tag to compare

@savannstm savannstm released this 15 Oct 13:39

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 in rap-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

Choose a tag to compare

@savannstm savannstm released this 05 Oct 10:53

Changes

  • Fix missing BPM metadata for different music formats
  • Fixed panic when deleting tabs to the left
  • Implemented .cue sheets 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

Choose a tag to compare

@savannstm savannstm released this 02 Jun 14:23

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 .ac3 format 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

Choose a tag to compare

@savannstm savannstm released this 02 Jun 10:14

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.log file, 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

Choose a tag to compare

@savannstm savannstm released this 28 May 15:03

Changes

  • Made equalizer usable.
  • Added Dolby AC3/EAC3 formats support.