Strawberry Music Player ======================= ChangeLog Version 1.0.17 (2023.03.29): Bugfixes: * Fixed over-sized context album cover with device pixel ratio higher than 1.0 (#1166). * Fixed playing widget fading from a blurry previous cover with device pixel ratio higher than 1.0. * Made playlist source icon, album cover manager and OSD pretty cover respect device pixel ratio. Version 1.0.16 (2023.03.27): Bugfixes: * Fixed lyrics from Musixmatch. * Fixed possible file corruption when saving both tags and embedded cover using the tag editor (#1158). * Fixed compile without GStreamer. * Fixed context and playing now album art rendering on High DPI displays (#1161). * Fixed setting source properties (device, user-agent, ssl-strict) with GStreamer 1.22 (playbin3) and higher (#1148). * Fixed rescan songs feature not ignoring mtime. * Search lyrics by artist instead of album artist by default. Code improvements: * Replace use of deprecated QSqlDatabase::exec(). Added features: * Added backend setting for strict SSL mode. * Read AcoustID and MusicBrainz tags. * Submit MusicBrainz tags with ListenBrainz. Version 1.0.15 (2023.03.04): Bugfixes: * Fixed playlist column showing invalid last played date for streams. * Fixed crash when the audio bin failed to initialize (#1123, #1133). * Fixed duplicated filename when organizing files using dot in the filename (#1136). * Fixed tag inline editing for streams (#1130). * Fixed resetting play statistics using tag edit dialog (#1124). * Fixed compilation songs not showing if group by was set to other than (Album) Artist / Album (#1140). Enhancements: * Added lyrics from stands4 (lyrics.com). * Added Sonogram analyzer. * Use GStreamer playbin3 with GStreamer 1.22.0 and higher. Code improvements: * Made use of C++11 enum class where possible. * Use new QNativeIpcKey based QSharedMemory constructor with Qt 6.6 and higher. Version 1.0.14 (2023.01.13): Bugfixes: * Fix initial volume not set when using Auto as output (#1104). * Fix saving moodbar if the URL contains host, ie.: UNC paths for SMB (#1101). * Fix CollectionBackendTest compile error (#1100). * Remove explicitly enabling debug messages (#1106). Version 1.0.13 (2023.01.09): Bugfixes: * Fixed volume synchronization leading to infinite loop resulting in crash when adjusting volume while playing (#1089). * Fixed incorrect volume. * Fixed collection organizing incorrectly handling slashes inside {} brackets for variables (#1091). * Fixed saving relative playlists to non-existing playlist files (#1092). * Fixed intermittent crash on collection model query (#1095). * Require system icons for fancy tabbar and settings sidebar to be larger than 22x22 (#1084). Version 1.0.12 (2023.01.02): Bugfixes: * Fixed crash when adjusting volume with mouse wheel (#1089). * Fixed playback stopping in certain cases where the next track was unavailable (#958). * (Windows) Apply patch for fonts too large on High DPI screen (QTBUG-108593). Removed features: * Removed appearance settings for changing palette colors, it was never properly implemented. Version 1.0.11 (2022.12.30): Bugfixes: * Capitalize GLib application name so it appears nicely in GNOME and PulseAudio Volume Control (#1066). * Fixed missing application icon for PulseAudio Volume Control (#1066). * Ignore errors for missing albums when updating Tidal collection if there are results (#1061). * Only run periodic collection scan when moitoring collection setting is on. * Fixed an edge case where the context headline text was being cut short (#1067). * Made "Show in file browser" support SpaceFM filemanager (#1073). * Fixed incorrect tab order in edit tag dialog (#1075). * Changed "FMPS_PlayCount" to "FMPS_Playcount" when saving tag (#1074). * Fixed compilation tag read and write for MP4 (#1076). * Removed incorrect use of "TPE1" for performer when reading ID3 tags (#1076). * Disable tag fields for unsupported tags in tag editor. * Don't allow organizing files without unique tags (track or title) for filename (#1077). * Don't remove disc from album title when creating cover hash to allow different covers for each disc on an album (#1069). * Fixed incorrect relative paths for song filenames when saving playlists if the saved playlist location is a symablic link to the song filename (#1071). * Scrobble "Various Artists" as album artist (#1082). Enhancements: * Use system volume instead of own software volume when available (#1037). * Improved Tidal and Qobuz support with timed requests. * Support MPRIS2 xesam:userRating. Version 1.0.10 (2022.10.21): Bugfixes: * Fixed "Could not open settings file for writing: No such file or directory" error before settings file is created. * Fixed visual glitch on currently playing track (#1051). * Fixed "Unknown error" on Tidal search (#1047). * Fixed incomplete lyrics from Genius. * Fixed icons not showing in the file view on some systems (#1024). * Fixed issues with context and playing widget stopping when using VLC (#1054). * (macOS) Fixed search field related crash when playlist toolbar is turned off. Enhancements: * Fixed narrowing conversions in connects. * Fixed casts from QByteArray. * Removed subdir for generated dbus files * Removed use of fixed font in context (#1040). * Improve Musixmatch lyrics search. Version 1.0.9 (2022.09.03): Bugfixes: * Fixed parsing album title from radio stream metadata (#1023). * (macOS) Fixed Strawberry not starting, incorrect rpath for libgcc_s.1.1.dylib (#1025). * (macOS) Fixed HTTP streaming. Version 1.0.8 (2022.08.29): Bugfixes: * Fixed backslash being appended to filter text when switching playlist (#1005). * Fixed OSD notifications service registering taking too long to timeout when not available. * Fixed radio stream added twice when double-clicked (#1015). * Fixed translating undo and redo buttons (#1017). Enhancements: * Use ICU instead of iconv to transliterate characters for filenames. * Make separating albums by grouping tag optional in collection group by album. * Added support for video game music formats VGM and SPC. * Added setting for explicitly turning on HTTP/2 for streaming. Strawberry will set the libsoup SOUP_FORCE_HTTP1 environment variable when the HTTP/2 is not checked (#1016). * (Windows|MSVC) Install Visual C++ runtime redistributable automatically in installer. Version 1.0.7 (2022.07.25) Bugfixes: * Fixed checking file extension case-insensitive when loading and saving playlists. * Fixed reading and saving rating with TagParser. * (macOS/Windows) Fixed playlist column alignment. Applied patch for Qt bug QTBUG-103576 (#999). * (Windows|MinGW) Fixed HLS streaming. * (Windows|MSVC) Fixed MP3 encoding. Enhancements * Added option for selecting file extension when saving all playlists. Version 1.0.6 (2022.07.17) Bugfixes: * Fixed certain albums not added to playlist in correct track order from search for Tidal and QObuz. * Fixed songs not added to playlist in numeric order when added from file view with right click (#977). * Fixed "Stop after this track" graying out next track in dynamic mode (#912). * Fixed a gstreamer caps leak when transcoding songs. * Fixed errors in translation files (#994). Enhancements * Add songs to the collection even when they have invalid ctime or mtime. * Made ListenBrainz scrobbler respect "Prefer album artist" option (#989). * Send track duration, number, player name and version when scrobbling to ListenBrainz (#995). * (macOS) Added missing HLS streaming plugin. Version 1.0.5 (2022.06.10) Bugfixes: * Fixed smart playlist filetype search. * Fixed Radio Paradise URLs to use HTTPS instead of HTTP. * Fixed horizontal scrolling not affecting currently playing track (#952). * Fixed keep running in the background when window is closed with Wayland (#964). * Fixed percent-encoding of URLs when loading and saving XSPF playlists (#821). * Fixed fancy tabbar context menu showing on right clicks outside of tabbar when a song is playing. * Fixed possible duplicating songs in the database when moving songs to the collection using the organize feature. * (Windows|MSVC) Fixed moodbar fftw3 crash with (older) CPU's that does not support AVX2 (#944). * (Windows|MSVC) Fixed using libiconv for converting characters when organizing files like with MinGW. Enhancements * Show more details in error dialog on GStreamer errors (#958). * Allow setting blur amount of playlist background image up to 100px (#939). * Include 128x128 icon sizes (#954). * Show right click copy context menu in context view on top text and lyrics (#965). * Improve fading between album covers in context view. * Added option for overwriting database playcounts in collection settings (#962). * Added option for disabling bar on currently playing track (#972). * (Debian) Added Qt 6 support to debian files and build with Qt 6 for Debian Bookworm, Ubuntu Jammy and newer. * (Windows|MSVC) Added libav/ffmpeg plugin. Version 1.0.4 (2022.04.10) Bugfixes: * Fixed use-after-free memory in ALSA PCM device finder. * Translate global shortcuts. * (Windows) Fixed registering 0-9 numpad keys in global shortcuts. Enhancements * Added save all playlists action. * (Windows) Made updater support both MSVC and MinGW. * (Windows) Added HLS support. Other: * Removed use of custom font in context. Version 1.0.3 (2022.03.24) Bugfixes: * Remove slash and backslash from filenames when saving album covers using album directory cover filenames (#903). * Remove playlist file-extensions from accepted audio file extensions (#909). * Fixed Qobuz requests only receiving the first 50 albums (#922). * (Windows|MinGW) Fixed streaming stopping at the end of each track. libsoup downgraded from 3.0 to 2.74. * (Windows|MSVC) Fixed initial database schema failure caused by CRLF line-endings in schema files. New features * Added support for bs2b (Improved headphone listening of stereo audio records using Bauer stereophonic-to-binaural DSP) (#249). Version 1.0.2 (2022.02.20) Bugfixes: * Fixed showing menu when clicking icon for collection and internet search tool buttons * Fixed ignoring devices with system mounts as defined by GIO (#410). * Fixed updating database when deleting songs from filesystem devices. * Fixed unregistered metatype when listing songs from MTP devices with Qt 6. * Fixed using entered password when testing Subsonic settings before pressing save (#879). * Fixed downloading Subsonic album covers. * Fixed subsonic album covers downloaded several times for each album when MD5 authentication was enabled (#885). * Fixed volume going to 100% when pressing volume down with MRPIS2 and global shortcuts (#884). * Fixed incorrect rounding when setting volume through MPRIS2 (#894). * Fixed delete from disk not showing up in the menu when one or more CUE songs were selected. * Fixed possible crashes when switching songs when fading is enabled (#890). * Fixed X11 global shortcuts not working unless window was in focus with Qt 6.2 and higher (#893). * Fixed scrobbler re-sending scrobbles to fast on error (#898). Enhancements * Log Qt version on startup. * Added button for deleting existing Subsonic songs (#883). * Make collection watcher ignore files with "qt_temp" filename and tmp extension. * Require Qt 5.9 or higher. * Added scrollbars to edit tag dialog (#888). * Added advanced settings for configuring collection watcher. * Disable open audio CD menu when compiled without audio CD support. * Replaced use of deprecated QMouseEvent constructor as of Qt 6.4. * Replaced use of deprecated QCryptographicHash::addData overload as of Qt 6.4. Removed features: * Removed broken "nomedia" / "nomusic" file handling. Version 1.0.1 (2022.01.08) Bugfixes: * Fixed collection and internet search filter tool button menu arrow overlap (#796). * Fixed stop after this track button with Qt 6 (#795). * Fixed not updating the URL when songs were moved on disk when the fingerprinting feature is enabled. * Fixed SQL query error for songs with an invalid modification time (#815). * Fixed blocky rendering of the currently playing track with high resolution screens (#794). * Fixed incorrect playlist column filesize for radio streams. * Fixed deleting embedded album cover from Ogg songs. * Fixed parsing of Cue tracks with 1-digit minutes (#836). * Fixed updating of playlist summary after reloading items when adding songs from files outside of the collection (#848). * Fixed always saving metadata when saving playlists for Tidal, Qobuz and Subsonic songs independent of playlist setting (#851). * Fixed setting media shortcuts when using kglobalaccel (#849). * Fixed parsing of Genius lyrics when they are sometimes received in a different HTML format. * Fixed saving MP4 specific tags as UTF-8 (#830). * Fixed clearing "manually set" cover when saving album covers embedded from outside of the tag editor (#858). * Fixed aborting collection scan when Strawberry exists to avoid hang on exit. * Fixed resuming collection scan when adding a new directory after collection scan was aborted. * Fixed excluding hidden songs from the collection. * Disabled moodbar for CUE songs since they can not be supported properly (#865). * (Windows) Added gstreamer gstxingmux plugin to fix transcoding to MP3 (#856). Enhancements: * Made playlist header column text elided (#801). * Added support for reading and writing playcounts and ratings from/to tags. * Added support for setting rating using the edit tag dialog. * Added setting to enable/disable playlist toolbar (#809). * Added component type, content_rating type and releases to AppStream data file (#806). * Removed unused "mark as listened" option in organize dialog. * Fixed some clazy warnings and narrowing conversions in the source code. * Replaced uses of macros in the source code. * Added a more user-friendly error message when receiving encrypted streams from Tidal (#824). * Added support for port-pattern entered in the device textbox when using Jack as output (#828). * Added Spanish (Spain) translation. * Added support for more CUE filenames (#835). * (Windows) Add gstreamer dash plugin. Version 1.0.0 (2021.10.14) Bugfixes: * Fix updating temporary metadata when reloading songs outside of the collection. * Don't strip off "Live" from song title when sending scrobbles. * Fix incorrect use of QFutureWatcher. * Fix compile of Utilities::Hmac with Qt 6.2. * Fix a memory leak when using right click context menu in internet search. * Fix a gstreamer bus leak when adding streams and remote playlists. * Fix "Source ID x was not found when attempting to remove it" error. * Escape ampersands in playlist tabs. * Fix analyzer with S24_32LE audio format. * (macOS) Fix incorrect playlist alternating row colors with dark theme. * (Windows) Fix adding songs with Japanese characters from the files tab. Enhancements: * Add replaygain fallback gain setting. * Add option to turn off playlist alternating row colors. * Make the default tabbbar background color lighter. * Remove use of deprecated WinExtras Qt module. * Add CMake test for Qt sqlite support. * Automatically detect Qt version if BUILD_WITH_QT5 or BUILD_WITH_QT6 is not specified. * Correct playlist tabbar favorite tooltip from "click" to "double-click". * Remove scroll over icon to change track option since it does not work reliable. * Improve resume playback on startup. * Re-request stream URL for Tidal and QObuz when resuming playback after pausing for more than 30 seconds. * Add Finnish, Ukrainian, Dutch, Japanese, Chinese, Catalan and Portuguese (Brazil). * Add support for TagParser (https://github.com/Martchus/tagparser) as an alternative to TagLib. * Add Subsonic option to turn off HTTP/2. * Fix minor Clang-Tidy and Clazy warnings. * Use higher resolution images from last.fm API. * Add MD5 token authentication for Subsonic. * Use 500 albums per request when receiving albums from Subsonic. * Use QX11Application with Qt >= 6.2 for X11 global shortcuts. * Allow fading when a ALSA PCM device is selected. * Store Tidal MPEG-DASH file in data uri. * Use XSPF image elements as manually set artwork. * Make error dialog larger. * Show error dialog for failed SQL queries. * Show error dialog when failing to read or write album covers. * Add module music formats (mod, s3m, xm, it) to detected filetypes. * Disable gapless playback for module music formats to workaround gstreamer bug. * Update directory ID and song path immediately when organizing collection songs. * Add right click option to star a playlist in playlist tabs. * Use seconds instead of minutes for scrobble submit delay. * (macOS) Build with libgpod. * (Windows) Fix compile with MSVC. New features: * Add ALSA PCM devices. * Add song fingerprinting and tracking. * Add support for native global shortcuts on MATE. * Add radios view with channels from Radio Paradise and SomaFM. Version 0.9.3 (2021.04.18) Bugfixes: * Fix "Show in file browser" to work with thunar. * Check that the clicked rating position is to the right or left of the rectangle. * Fix rescan when collection directory is removed and re-added. * Create GLib main event loop on non-glib systems to fix stream discoverer. * (macOS) Fix intermittent abort on startup. * (macOS) Fix Tidal and Qobuz search field not showing. * (macOS) Add tidal URL scheme to Info.plist. * (macOS) Fix Tidal OAuth authentication. Enhancements: * Allow editing playlist metadata for radio streams. * Make CollectionQuery subclass QSqlQuery, avoid copying QSqlQuery. * Only enable FTS3 when schema needs upgrading, since FTS5 is used for search. * Add setting for configuring the color for the currently playing song. * Add setting to turn on OSD Pretty fading. * Add commandline option to resize window. * (Windows) Show dialog with programs that needs to close in nsis installer. * (macOS) Make macdeployqt work with Qt 5 too. * (macOS) Show keep running option in behaviour settings. Version 0.9.2 (2021.03.25) Bugfixes: * Fix marking songs available. * Fix crash when transcoding music, or copying music to devices with transcoding. * Fix copying album covers to iPod. * Fix playlist tabbar close and save right click actions. * Fix slow opening of cover manager. * (macOS) Fix crash when opening cover manager. * (macOS) Fix broken Qt plugins resulting in album covers not showing. Version 0.9.1 (2021.03.13) Bugfixes: * Fix duplicating songs in the DB when organizing songs between 2 different collection directories. * Fix overwriting existing newer last played when importing last played from last.fm. * Fix memory leak on song change when moodbar is disabled. * Fix playlist filter search for text with spaces with Qt 6. * Fix 'Except between tracks on the same album' backend fade option always grayed out. * Fix read and save vorbis comment grouping tag. * Fix QAtomicInteger compile error on armv. * Fix compile error with protobuf 3.15.0 and newer. * Fix possible tagreader (messagereply) crashes. * Fix save album cover when album directory and no overwrite is used for saving covers. * Fix right click save cover action when album has embedded cover. * Fix temporary art saved to /tmp. * Fix playlist bitrate sometimes stuck when changing track to previous. * (macOS) Fix minor compile errors with Qt 6. * (macOS) Fix exclusively grabbing global media shortcuts. Enhancements: * Improve Musixmatch cover and lyrics search. * Decode any HTML entities in some rare cases they appear in the retrieved lyrics from the API's. * Use mimetype instead of description from stream metadata by default when updating song filetype. * Set limits for collection pixmap cache based on size units. * Convert all signal/slot connections to new Qt 5/6 syntax. * Improve album cover management. * Add right click actions to clear set cover, and option delete covers. * Show artist and album underneath the albums in the cover manager when all Artists is selected. * Disable unavailable right click cover actions. * Remove 3rdparty TagLib now that TagLib 1.12 is available. * (macOS) Update and improve build deployment/bundling for Qt 6. New features: * Add option and support for saving embedded covers for FLAC, Ogg Vorbis, MP3 and MP4/AAC. Version 0.8.5 (2020.12.19) Bugfixes: * Fix return type of SmartPlaylistQueryWizardPlugin::type(). * Fix comparison between QChar and integer to use QChar::unicode(). * Fix return type of qHash with Qt 6 to use size_t instead of uint. * Fix tag edit dialog save process sometimes stuck. * Fix repeat and shuffle buttons greyed out when a dynamic playlist is open. * Fix CUE parser handling of values with empty quotes. * Fix broken year and disc collection groupings with CUE songs. * Fix HTML escaping showing up in OSD notifications when using custom text. Enhancements: * Add Swedish translation. * Made Qt X11Extras and WinExtras modules optional. * Save and restore geometry in edit tag dialog. * Add command line option to play a playlist based on name. * Change double-click behaviour in cover manager to open fullsize cover. Version 0.8.4 (2020.11.15) Bugfixes: * Fix preventing session logout when window is maxmimized. * Fix empty space in organize window when copying songs/playlists to devices. * Fix crash when opening about dialog in a wayland session. * Fix stretched fancy/side tabbar style issue with adwaita style (Fedora/Gnome). * Fix centering star icon on playlist tabbar. * Fix network proxy settings for streaming. * Fix copy URL to clipboard to handle non-ASCII characters. * Fix HiDPI scaling for glow animation and drag over playlist. * Fix smart playlist search by filename. * Fix single letter collection nodes showing before dividers. Enhancements: * Add support for native global shortcuts on KDE. * Add track progress in system tray icon as an option. * Only strip problematic characters in suggested filename when saving a playlist to file. * Change star/unstar playlist to double-click instead of singleclick. * Don't edit playlist name on double-click in playlists view. * Make context view top label text selectable. * Add setting to change Qt style. * Clear ID3v3 tags that are empty, and clear ID3v1 tags when setting ID3v3 tags. * Remove remaining uses of QTextCodec. * Remove Core5Compat dependency. Version 0.8.3 (2020.10.24) Bugfixes: * Fixed updating playing widget song details in small cover mode. * Fixed file extension when transcoding songs. * Fixed updating album cover to collection in edit tag dialog when pressing save. * Fixed songs with empty artist in collection. * Fixed possible crashes with stream discovery. * Fixed setting engine state to null. * Fixed tagreader crash with empty APE tags. * Fixed a gstreamer memory leak. Enhancements: * (Windows) Added WASAPI plugin. Version 0.8.2 (2020.10.13) Bugfixes: * Fixed broken transition to next song for CUE files with certain audio formats (regression since version 0.6.13). * Fixed all collection divider keys showing on top with some language collate settings (regression in version 0.8.1). * Fixed SQL querying songs by song ID when song ID is a string. * Fixed saving album covers for LMS Subsonic servers. * Fixed reading song creation dates with LMS Subsonic servers. * Fixed saving initial settings. * Removed use of HTML in system tray icon tooltip for all desktop environments instead of just KDE and Cinnamon. * (Windows) Ignore "IDirectSoundBuffer_GetStatus The operation completed successfully" false error when switching device while playing. Version 0.8.1 (2020.10.09) Bugfixes: * Fixed engine selection in backend settings with Qt 6. * Fixed pixelated playlist source icon for currently playing song. * Fixed crash when deleting queued songs from playlist. * Fixed situations where songs could disappear or be shown multiple times with certain collection groupings. * Fixed initial sizes of playlist header columns. * Fixed Strawberry preventing logout. * Fixed incorrectly splitting of basename for moodbar and transcoding for filenames with several dots. * Fixed certain cases where "playing now" for scrobbler were sent twice. * Fixed album cover loaded twice for certain songs causing slugglish playing widget. * Fixed playing widget to draw text after album cover is fully shown. * Fixed crash when trying to copy a closed playlist to a device. * Fixed incorrect song source for CUE songs when added through the collection watcher. * Disable use of HTML in system tray tooltip on Cinnamon too. * Remove problematic '&' character from OSD messages. * (macOS) Fixed crash on exit when cover manager is open. * (macOS) Fixed graphical corruption. * (Windows) Fixed GStreamer registry problems. * (Windows) Register Tidal URL Scheme in Windows installer. Enhancements: * Improved playlist autoscrolling. * Only allow playlist right click tag editing for editable songs. * Read song creation time from subsonic API. * Remember manually set compilation status for albums when songs are rescanned. * Added icons for edit tag playlist right click menu actions. * Maximize dialogs if they are already open when clicked again in the menu. * Added support for compilation tag to edit tag dialog. * Show song info and album cover in OSD on stop and pause. * Reshow OSD on song restart. * Always save initial settings. * Removed use of deprecated gstreamer "low-percent" (Minimum buffer fill setting). * Added buffer low and high watermark settings to backend settings. * Make use of newer version of the desktop notifications service when available. New features: * Added setting for enabling scrobbling based on song source. * Added optional delete from disk in collection and playlist. * Added Last.fm import data wizard. * Added smart and dynamic playlists. * Added song ratings. * Added Qobuz streaming support. * Added Subsonic server side scrobbling support. * Load thumbnails from iPods to show under device collection. Version 0.7.2 (2020.08.15) Bugfixes: * Fixed installation directory for translations. * Fixed collection sorting for non-ASCII characters. * Fixed closing connected devices on exit. Version 0.7.1 (2020.08.15) Bugfixes: * Fixed incorrectly mapped global shortcuts keys "2" and "3". * Fixed Last.fm scrobbling to correctly start array notation for parameters at 0 and not 1. * Fixed sending trackNumber correctly for Last.fm and Libre.fm scrobbling. * Fixed collection search when using special characters in the search query. * Fixed reading and saving MP4 lyrics tag. * Fixed reading ASF comment tag. * Fixed adding playlist songs outside the collection when there are multiple files with the same URL. * Fixed the rescan songs option to work with local songs outside of the collection. * Fixed problems with editing song metadata in the playlists. * Fixed saving and restoring playlist scrollbar position when switching between playlists. * Fixed minor issue in cue parser with date and genre. * (macOS) Fixed gst-libav plugin issue resulting in MP3 not working. Enhancements: * Simplified and improved startup behaviour code. * Adapted all source code to be compatible with Qt 6, and increased required Qt version to 5.8. * Added option to compile with Qt 6 (-DWITH_QT6=ON). * Base warning for show in file browser on unique directories to avoid unneeded warning about opening many files. * Use album artist instead of artist for album repeat mode when available. * Added extra safety for overwriting files for filesystem storages when organizing files. * Remove diacritics in FTS search. * Improved playlist context menu. * Added fatal CMake error for missing protobuf compiler. * Added support for parsing radio streams metadata with tilde in title. * Added CMake option to install translation files. * Increased maximum time step for seeking to 60. * (Unix) Added playback actions to desktop file. * (macOS) Hide behaviour settings that are unavailable on macOS. * (macOS) Fixed compile warnings. * (macOS) Added Sparkle integration to notify on new versions. * (Windows) Added QtSparkle support to notify on new versions. Removed features: * Removed Xine engine support. * Removed broken imobiledevice (iPhone) support. Version 0.6.13 (2020.07.13) Bugfixes: * Fixed cut-off text in about dialog. * Fixed increasing play count when stop after track is enabled. * Fixed showing/hiding playing widget when playback is started while window is hidden. * Fixed "Show in file browser" to also work on local songs that are not in the collection. * Fixed "Show in file browser" to work with PCManFM file manager. * Fixed audio analyzer to work with S24LE and F32LE audio formats. * Fixed playlist background image not loading. * Fixed a memory leak when switching between playlists. * Removed use of HTML in systemtray tooltip on KDE, since KDE no longer renders HTML in the systemtray. Enhancements: * Replaced use of C style casts. * Adapted use of C++11 override. * Improved CMake build files. * Added new on startup options to show maximized or minimized. * Builtin TagLib code is updated and improved. * Made most icon sizes configurable in the settings, and increased default sizes for icons. * Improved fancy tabbar to use font sizes from the theme instead of fixed sizes. * Moving the currently playing song to the top when the playlist is manually shuffled. * Added "a taste of Strawbs" background image. * Fixed unit test for testing playlist model. * Added new unit tests for tagreader. Version 0.6.12 (2020.06.07) Bugfixes: * Fixed height of about dialog. Enhancements: * Only save settings for pages that actually has been changed. * Replaced use of deprecated Qt functionality as of 5.15. * Made scrobbler show error dialog for all errors when show error dialog option is on. * Dont append disc to album titles for Subsonic and Tidal. * Sort folders added from file view. * Changed default collection grouping to album - disc. Version 0.6.11 (2020.05.16) Bugfixes: * Fixed MPRIS missing art url when playing albums with embedded cover. * Fixed updating local non collection songs when manually unsetting cover. * Fixed infinite loop and preceding crash when CSS background-color was set in qt5ct. * Fixed UI freeze when updating the database from a large Subsonic or Tidal collection. * Fixed crash when CD loading fails in devices. * Fixed CD devices showing up with having 0 songs after loading. * Fixed the album cover loading indicator being stuck if no cover providers were available. * Fixed the playing widget not updating artist, album or title after metadata has changed for a song when no album cover was loaded. Enhancements: * Sort songs in collection by song title instead of track if previous grouping is not the album. * Added option to switch on/off automatically searching for album covers to context settings. * Reset last played song when playlist is finished. * Checking content type of received HTTP request for image when receiving album covers. * Added option to scrobbler setting for turning off login error popup. * Made MusicBrainz and Discogs cover providers respect rate limiting. New features: * Added option to show/hide sidebar. * Added settings for selecting album cover and lyrics providers. * Added album covers from Musixmatch and Spotify. * Added lyrics from Genius, Musixmatch and ChartLyrics. Version 0.6.10 (2020.05.01) Bugfixes: * Fixed Subsonic album covers not working for albums with non ASCII characters. * Fixed reading date and genre from individual tracks in CUE sheets. * Fixed resume playback on startup for CUE songs. * Fixed album cover manager not showing complete album titles in the list of album covers. * Fixed save album cover to file saving "no cover" image instead of actual album cover. * Fixed device state text color in devices not being visible when using a dark theme. * Fixed engine and device in context using too large icons when icons were loaded from the system theme. * Fixed "Secure connection setup failed" problem on Windows when playing streams. * Fixed margin for song title text in context. * Fixed UNC paths with non ASCII characters not working. Enhancements: * Allowing all characters except slash and backslash when organising music unless options to strip characters is checked. * New option in organising music to remove problematic filename characters that removes less characters than the FAT option. * General improvements to the album cover loader and album cover providers code. * Fixed loading album cover images from album directory for songs added to the playlist from outside of the collection. * Made automatic album cover search work for songs outside of the collection and for streams. * Made album cover search work based on artist + title if album title is not present for providers supporting song/track search. * Update art manual in playlist for local files, devices and CDDA to avoid loading covers multiple times. * Made lyrics search work for streams. * Added "add stream" to menu. * Only showing song length in context when available. * Sort album cover search results by score and pick the best 3 first before trying others to improve album cover search speed. * Make scrobbler work for streams. * Added search for lyrics as a separate option in context. * Made font and font sizes in context configurable. * Splitting artist and song title to the relevant metadata when artist and song title is sent as title separated by a dash in streams. * Added label to show collection pixmap disk cache used in settings. * Increased default collection pixmap disk cache to 360. New features: * Added back Tidal streaming support. * Added Qobuz album cover provider. Removed features: * Removed Phonon engine support. Version 0.6.9 (2020.03.09) BugFixes: * Fixed playlist metadata updating interfering with manual tag editing. * Fixed order of tabs in all windows. * Fixed playlist right click using wrong songs for determining menu options when playlist was filtered. * Fixed possible crashes on playlist right click. * Fixed possible null pointer crash in OSD pretty. * Fixed track and title in playlist not being movable. * Fixed Subsonic support to handle numeric Json values like track and disc both as strings and integers. * Fixed Subsonic compatibility with LMS (Lightweight Music Server). * Disabled "open Audio CD" from menu on Windows where CD support is currently not supported. * Fixed files containing "MAC" being detected as Monkey's Audio. Enhancements: * Improved support for High DPI displays. * Added CMake check for backtrace() to fix compilation with musl libc. * Made album cover in context adjust to width. * Made settings, cover manager, organise dialog and transcode music dialog center on the same display where the mainwindow is located. * Removing empty directories when organizing music. * Made file selection work in "Show file in browser" for Dolphin and Nautilus. * Implemented disk caching of album thumbnails in collection tree. * Use a shorter playlist name when songs are added from file view. * Disabled optical drives in copy to device menu. * Added better error handling for CDDA loading. * Added Polish, Hungarian and Korean translations. Removed features: * Chartlyrics support (Unstable API). * Tidal support (No agreement). * QObuz support (No agreement). Version 0.6.8 (2020.01.05) * Fixed stuck tabbar and collection GUI with some themes. * Fixed possible crashes related to QProxyStyle. * Fixed a bug where metadata in the playlist was not updated when editing metadata for the current playing track. * Fixed crash when deleting a folder with playlists. * Fixed restoring to correct screen when maximized. * Increased lyrics score if lyrics text is larger than 60 characters to avoid using "no lyrics available" text. * Made context title and summary changeable. * Added option to disable playlist clear button. * Added confirmation dialog before clearing playlists with more than 500 songs. * Added German, French, Italian and Indonesian translations. * Added StartupWMClass to desktop file. * Replaced use of Qt deprecated functionality as of 5.14. * (macOS) Fixed filesystem watcher to correctly pick up changed collection directories. * (Windows) Fixed translations not being included. Version 0.6.7 (2019.11.27) * Fixed crash when cancelling scrobbler authentication * Fixed "Double clicking a song in the playlist" behaviour setting * Fixed "Pressing Previous in player" behaviour setting * Fixed updating compilations where there are spaces or special characters in filenames * Fixed cases where songs were stuck in "Various Artists" because not all songs in the same compilation was removed from the model before re-added with actual artist. * Fixed a bug when importing playlists where metadata was reset * Fixed scrobbler to also scrobble songs without album title * Fixed text for replay gain setting not loading in backend setting * Added back lyrics from Chartlyrics * Added ability to show fullsize cover on double-click in playing widget * Added separator between "unset cover" and "show fullsize" in popup menu * Removed left click on analyzer to popup menu * (Windows) Added killproc executable to terminate running process before uninstalling Version 0.6.6 (2019.11.09) * Fixed lowercased album artist in playlist column * Fixed compiling with different optional features turned off * Fixed hang in stream discoverer with certain formats * Fixed Subsonic to correctly read disc * Fixed preventing system logoff or shutdown * Fixed correctly updating compilations * Simplified gstreamer pipeline code * Disabled showing analyzer for bit depths not supported by the analyzer * Made stereo balancer independent from equalizer * Added option to prefer album artist when sending scrobbles * Removed lines in settings * Added limit for number of tagreader processes to 2 * Improved system theme icon option to better pick correct icons * Added option to automatically select current playing track * (Windows) Added support for WASAPI Version 0.6.5 (2019.09.30) * Fixed scrobbler not to send scrobbles multiple times when metadata is updated * Fixed Listenbrainz scrobbler not don't send "various artists" as album artist * Fixed missing cover image in OSD pretty reposition image * Fixed OSD pretty upper left positioning * Fixed OSD pretty positioning on Windows on screens with negative geometry * Fixed appdata file to pass full validation Version 0.6.4 (2019.09.25) * Added setting for fancy tabbar background color * Added setting to make marking songs unavailable optional * Added lyrics from lyrics.ovh and lololyrics.com * Fixed so that Subsonic verify certificate setting takes affect immediately * Fixed all services to follow redirects * Fixed so that songs with different albums are not treated as duplicates * Fixed SingleApplication to use native system calls on Linux for getting username * Added stream discoverer to gstreamer pipeline to detect stream filetype, samplerate and bit depth * Disabled video in gstreamer pipeline * Fixed ampache compatibility * Fixed lyrics searcher not to try search for lyrics with empty song artist or title * Fixed Qobuz login to send mac address as device manufacturer id on login * Fixed Qobuz invalid signature parameter error when retrieving stream urls * Fixed player not using preloaded stream url causing gapless playback to break * Increased preload gap for gstreamer to make sure gapless playback works better * Fixed setting and resetting temporary metadata for next playlist item * Replaced media buttons with more correct ones * Fixed windows thumbbar * Lowered required Subsonic API version to 1.11.0 * Fixed Subsonic to allow empty artist and album in song replies * Added Russian translations * Fixed some services API urls using http to use https * Fixed restoring to original window size when restoring from system tray * Updated 3rdparty taglib Version 0.6.3 (2019.08.05) * Fixed crash when using internet services. * Fixed musicbrainz tagfetcher only showing 1 result per song. * Fixed collection watcher to unwatch deleted directories. * Added "album - disc" grouping. Version 0.6.2 (2019.08.03) * Disabled fatal error for FTS5 cmake test. Version 0.6.1 (2019.08.03) * Compare artist and album case-insensitive when generating score for album covers. * Fixed broken return value of sendMessage() in SingleApplication causing application to be started twice. * Improved error handling in local redirectserver. * Added new tabs view with search and favorites to Tidal. * Fixed gst_pad_send_event lock in gstreamer pipeline. * Made Xine analyzer optional to fix compilation with newer Xine. * Implemented offset and queue to all Tidal requests. * Added new artist, album and song ids to songs schemas to add/remove favorites. * Improved lyrics searcher. * Fixed disabling fading option in backend settings when volume control is disabled. * Added x-scheme-handler/tidal to desktop file to handle tidal songs and allow OAuth redirect url. * Added love button for scrobblers. * Fixed gapless playback when using url handler. * Fixed enabling/disabling fading options in backend settings. * Added support for Subsonic streaming. * Added support for Qobuz streaming. * Added confirmation box for opening songs in file browser to avoid users accidentally opening too many songs. * Added OSD notification on playback resume option. * Fixed MusicBrainz tag fetcher to respect rate limiting when fetching tags. * Fixed hardcoded systemtray icon. * Added live scanning and option to rescan songs. * Added playlist background image stretch option to zoom image with cutting the height. * Replaced use of QDesktopWidget with QDesktop * Replaced all uses of QSignalMapper with lambda expressions * Fixed collection album covers stuck to old ones when new album covers are fetched * Fixed all Json services to check HttpStatusCodeAttribute in addition to checking network errors * Fixed track change hang * Fixed playlist sorting to ignore articles * Fixed MessageReply crash in tagreader * Fixed MTP support * Fixed possible crashes with libimobiledevice devices * Removed older devicekit udisks backend * Using iconv to replace non-ascii characters when organising files * Fixed IPod support when listed from UDisks2 * Fixed memory leaks when establishing database connections and in database backup. * Fixed dangling database connections when loading collection, playlists and devices. * Fixed closing and deleting backends to free memory and database connections on exit. * Fixed dangling pointers causing crashes when loading new album covers in collection. * Fixed playlist shortcuts being broken because they were hidden in playlist right click menu. * Replaced FTS3 and custom tokenizer with FTS5 with unicode61. * Fixed certain cases where track slider popup was stuck. * Fixed certain cases where the playing widget gets stuck when switching fast between context and other widgets. * Removed ChartLyrics provider (service have been down for a long time). Version 0.5.5 (2019.05.05) * Fixed Tidal API url Version 0.5.4 (2019.05.05) * Changed description for offline mode scrobbling for less confusion * Fixed scrobbler to not send "playing now" when in offline mode * Added common RPM spec file for openSUSE, Fedora, RedHat, CentOS and Mageia * Improved cover manager score system * Added Deezer and Tidal cover providers * Added ChartLyrics lyrics provider * Added HTTPS workaround for Last.Fm OAuth to solve redirect https to http (localhost) problems * Added Moodbar * Fixed incorrect desktop file returned by mpris2 * Fixed mpris2 CanPlay * Fixed updating play and skip count properly * Fixed track seeking with mouse wheel * Fixed CDDA tracks being invalidated (greyed) in the playlist * Fixed problems using transcoder when other engines were selected * Improved song loader error handling * Fixed enabling equalizer having no affect * Disable notification art setting when tray icon notification is selected * Applying settings immediately when pressing Apply in settings dialog instead of just saving * Disable scroll over icon to change track setting on non-X11 systems and KDE * Removed nvidia workaround on exit which is no longer needed * Fixed chromaprinter unref buffer crash when using complete tags automatically * Fixed crash on exit using VLC engine when using static taglib caused by tagblib linking collision * Fixed context background to follow base colors instead of always white * Fixed fancy tabbar small sidebar mode width * Added some missing taglib configure checks * Saving geometry, tabbar, playlist column settings on exit only to reduce wear on SSD's and fix sluggish resizing with non-SSD * Fixed and improved snap including upgrading to core18 and adding proper alsa support * Fixed resume playback on startup not working for other than the first playlist Version 0.5.3 (2019.03.02) * Changed default tagging to albumartist in organise dialog * Removed support for older taglib in tagreader * Made lyrics selectable in context * Added boom and rainbow analyzers * Made it possible to use enter in shortcuts * Replaced "no album cover" image * Capitalized Strawberry in OSD and tooltip * Added artist search to Tidal * Created systray tooltip workaround for KDE * Changed defaults for backend fade setting * Changed backend settings to allow setting device back to automatic when a custom device is active * Hide ALSA options on non-ALSA systems * Showing errors in dialog when editing tags fails * Update database immediately when saving tags were successful * Show Strawberry icon in OSD when stopping track * Added support for translations * Renamed desktop and appdata files to follow freedesktop specifications * No longer allowing X11 shortcuts on Wayland * Fixed handling of UNC paths in gstreamer engine * Added option to disable volume control * Removed Deezer support (SDK discontinued and streams are encrypted) * Added Norwegian and Spanish translations * Added setting to allow automatically saving album covers directly to album directory * Updated mimetypes * Added basic support for system and custom icons * Moved loading of device icons to device model * Added better support for APE tags * Fixed problems identifying song as collection songs when loading playlist files * Fixed problems loading Tidal URLs from playlist files * Added support for saving and restoring geometry in settings, organise and transcoder dialogs * Improved Tidal error handling and automatic login * Improved Tidal search to handle duplicate albums * Notify collection backend about renamed files when organising files * Added more background image options * Removed API Seeds lyrics provider (require payment) * Added group by format * Fixed gstreamer leaks Version 0.5.2 (2019.01.26) * Added error handling and message for URL handler * Added SingleCoreApplication secondary check * Fixed memory leaks in devices * Fixed more stability issues in devices * Remove remastered from album title when searching for lyrics, covers and scrobbling * Fixed CMake check for X11 headers * Enabled iLister and AFC device * Added saving of album cover to gpod devices * Fixed AAC/MP4 transcoder * Added log to organise error dialog * Added warning when enabling X11 shortcuts on Gnome, Cinnamon or KDE * Fixed transcoder to use filename suffixes to solve issues when copying files to iPods * Added option to copy album cover in organise dialog (filesystem and libgpod devices) * Added raise() to make sure window is on top when strawberry is started twice Version 0.5.1 (2019.01.12) * Added scrobbler with support for Last.fm, Libre.fm and ListenBrainz * Fixed key up causing playback to reset * New improved last.fm and musicbrainz album cover providers * Removed Qt5Xml and liblastfm dependency * Replaced sha2 with QCryptographicHash * Fixed songs not showing up under devices * Removed qxt dependency * Replaced globalshortcuts backend for X11 and Windows * Made global shortcuts on X11 optional and off by default * Added support for Monkey's Audio * Fixed crashes in devices * Enabled transcoder and organiser in menus * Added transcoder for WavPack * Changed default group by for collection to album artist * Enabled organise without gstreamer * Added cmake USE_BUNDLE option for macOS/Windows * Fixed broken GSD D-Bus shortcuts backend * Fixed broken background image setting * Disabling fading when a ALSA device is selected * Replaced QtSingleApplication with SingleApplication * Fixed scroll over icon to change track feature * Fixed freeze when changing appearance settings * Made text in about dialog selectable * Improved manual pages * Fixed typos * Updated contributors in about * Added debian copyright file * Fixed some compile errors Version 0.4.2 (2018.11.28) * Updated AppStream data file to newer specifications * Fixed Deezer engine to use quality setting * Removed unneeded dependency Qt5OpenGL * Removed obsolete xine warning and engine reinitialization * Added ALSA as optional component in cmake * Fixed bug in playlist columns setting all visible * Added option to reset playlist columns * Fixed/Improved console logging * Added queue to play next option * (Windows) Corrected uninstalled files on x64 installer * (macOS) Fixed poor performance Version 0.4.1 (2018.11.01) * Fixed crash in analyzer * Fixed trying to use systray even if the desktop had no systray * Fixed Tidal login loop bug * Added Deezer support * New improved fancy tabwidget * Fixed bug not loading engine settings * Moved queue manager into tabbar for easier access * Fixed crash when changing appearance colors * Improved error handling between player and engine * Added setting to allow continue to the next song in the playlist based on error * Improved Xine engine code * Moved some settings * Updated builtin taglib * Added AppStream data file * Fixed compiling with Qt 5 versions of system QtSingleApplication and Qxt library Version 0.3.3 (2018.09.24) * Fixed Tidal login Version 0.3.2 (2018.09.24) * Fixed search error not shown in Tidal search * Added URL handler for Tidal, now retrieving URL's when playing instead of when searching * Fixed bug in pipeline not setting url * Fixed bug setting wrong temporary metadata * Removed device module from windows, since it's not implemented for windows * Added support for both ALSA hw and plughw * Added option to change url stream scheme for Tidal * Added encoding of Tidal token in the source code * Added encoding of Tidal password in the configuration Version 0.3.1 (2018.09.15) * Added new lyrics provider with lyrics from AudD and API Seeds * New improved context widget with albums and lyrics * Fixed playing and context widget getting stuck in play mode when there was an error * Changed icons for artists in collection, tidal and cover manager * Removed "search" icon from "Search automatically" checkbox (right click) that looked ugly * Removed some unused widgets from the src/widgets directory * Fixed initial size of window and side panel * Fixed saving window size correctly * Added Tidal support * Disabled Amazon cover provider because of revoked API key * Removed broken xine fader * Made chromeprint optional * Added missing names to about dialog * Made xine enabled only for window debug * Removed dead code * Added DSF and DSDIFF/DFF support * Fixed tagreader crash when saving tags to MP3 files * Added support for reading/writing lyrics to tags * Fixed saving tags (APE) for WavPack files Version 0.2.1 (2018.07.05) * Fixed crash with newer Qt * Fixed setting output/device for Xine and VLC backend * Improved backend settings to better support multiple backends * Fixed track slider for Xine, VLC and Phonon * Fixed compilation on macOS * Fixed device selection on macOS * Added xine on to windows build Version 0.1.6 (2018.06.07) * Fixed crash on exit caused by NVIDIA driver * Fixed PulseAudio device selection * Improvements to device selection Version 0.1.5 (2018.05.16) * Makefile fixes for building Version 0.1.4 (2018.05.14) * Fixed compilation with clang compiler * This release is mainly to get it working on openbsd and freebsd. Version 0.1.3 (2018.05.12) * Audio file detection by content * Added builtin taglib to 3rdparty to support detecting audio by content instead of just file extension * Removed unneeded qsqlite from 3rdparty * Added sqldrivers\qsqlite.dll for windows build * Replaced incorrect DLL libgstdirectsoundsink.dll (from gst 1.12.4) instead of libgstdirectsound.dll (from gst 1.14.0) for windows build * Fixed git versioning Version 0.1.2 (2018.05.02) * Fixed playback of WavPack files * Fixed musicbrainz tagfetcher * Use common regex (Song::kCoverRemoveDisc) for removing Disc/CD from album * Remove Disc/CD from album when creating hash for album cover filename * Fixed imobiledevice support compilation * Fixed output device selection on windows * Fixed problems with windows build missing some DLL's, only supplying required gstreamer-plugins now * Removed redundant code Version 0.1.1 (2018.04.07) * Initial release