Commit Graph

3658 Commits

Author SHA1 Message Date
Jonas Kvinge
c2e42ebf3a Song: Include fingerprints in IsSimilar
Fixes #1710
2025-03-30 00:34:43 +01:00
Jonas Kvinge
d71b344e77 MainWindow: Add missing ifdef 2025-03-30 00:07:22 +01:00
Jonas Kvinge
d5f7a4b883 RichPresence: Formatting and add settings reload 2025-03-30 00:06:05 +01:00
Jonas Kvinge
bbd8a24b75 discord: Add namespace and cleanup CMakeLists 2025-03-29 22:41:58 +01:00
fruityloops1
9fa9012c70 Discord RPC implementation 2025-03-29 22:41:58 +01:00
Jonas Kvinge
fa0703246b Equalizer: Ignore -Warray-bounds 2025-03-28 23:09:49 +01:00
corubba
954c21e21e AlsaDeviceFinder: Use card id instead of card index
Like the card index, the card id is guaranteed to be unique. While card
index can easily change between reboots, the card id is based on the
actual audio hardware and does not change between reboots; or even
hardware changes. This makes using the card id preferable, because it
will "just work" 99% of the time, and removes the need to force cards to
have a specific index.

There is a corner case where card ids may change between reboots: If you
have two (or more) of the same audio hardware in the system. But that
should be rare enough, and requires explicit system configuration
anyway, so using the "custom" option should work here.

If there is an previously-saved index-based ALSA device in the config,
it will continue to work as-is and does not need to be migrated. There
is only a small UI side-effect: Because the index-based device will no
longer match any found id-based device, the settings window will show it
as "custom". Simply selecting the ALSA device from the drop-down again
will change it to the id-based device.
2025-03-28 19:54:32 +01:00
Jonas Kvinge
5e031be42c Fix cast warnings with MSVC 2025-03-25 18:05:41 +01:00
Strawberry Bot
817ca828e6 New translations 2025-03-18 22:44:29 +01:00
Jonas Kvinge
cd4adf6f89 ebur128analysis: Handle extra enums with GStreamer 1.25 and higher 2025-03-17 22:57:36 +01:00
Jonas Kvinge
95b12a01a4 OAuthenticator: Fix logging 2025-03-17 19:42:59 +01:00
Jonas Kvinge
0298fa0b73 TidalBaseRequest: Don't clear session 2025-03-14 20:18:53 +01:00
Roman Lebedev
70b7c4560d gst_channel_to_ebur_channel(): handle new top-surround channels
These seem to have appeared in gstreamer 1.26,
which is the version we need to use to guard the handling.

These are effectively geometrically located on the same azimuth,
but on the layer above than the non-top (i.e. middle layer)
surround channels. But they are still surround channels,
which ebur128 does not bias loudness-wise.

At least this is my understanding.
2025-03-12 22:20:56 +01:00
Roman Lebedev
2687dc31cc Support arbitrarily large EBU R 128 loudness normalization
While i have fixed gstreamer's `volume` in
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5063
i did not see anything that followed after it was merged, namely, in
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6222,
the feature was moved, `"volume"` was reverted to only handle `x10` gain,
and one needs to use `"volume-full-range"` instead to do arbitrary gain.
So let's do that.

This, of course, requires run-time detection of the version
of gstreamer base plugins that we are running with,
specifically, we need version `1.24`.
2025-03-12 22:20:56 +01:00
Jonas Kvinge
d9f68ab944 Application: Add QTimer include
Fixes #1695
2025-03-09 11:29:51 +01:00
Jonas Kvinge
8630c5329d LyricsFetcherSearch: Fix authentication check 2025-03-09 02:11:12 +01:00
Jonas Kvinge
66e175f6d1 PlaylistItem: Add dtor 2025-03-08 23:46:12 +01:00
Jonas Kvinge
1173d5f865 Lyrics: Refactor 2025-03-08 23:26:44 +01:00
Jonas Kvinge
b02b114caf Scrobbler: Refactor 2025-03-08 23:19:42 +01:00
Jonas Kvinge
cd516c37b9 Refactor Tidal, Spotify, Qobuz, Subsonic and cover providers
Use common HTTP, Json and OAuthenticator class
2025-03-08 23:11:07 +01:00
Jonas Kvinge
7de8a44709 Add OAuthenticator 2025-03-08 22:46:59 +01:00
Jonas Kvinge
bb345b14de Add base classes for HTTP and Json 2025-03-08 22:46:46 +01:00
Jonas Kvinge
baa82966d8 Move SearchType to StreamingService 2025-03-08 22:41:43 +01:00
Jonas Kvinge
f85d60f5cd Formatting 2025-03-08 22:31:00 +01:00
Jonas Kvinge
6f731fcf4a MainWindow: Add const 2025-03-08 22:30:27 +01:00
Jonas Kvinge
bdbe66b116 Support more collections 2025-03-08 22:24:28 +01:00
Jonas Kvinge
5ae0320911 CollectionBackend: Add delete songs by URLs function 2025-03-08 21:46:27 +01:00
Jonas Kvinge
31671af5f5 MultiLoadingIndicator: Only emit task count change when needed 2025-03-08 21:45:34 +01:00
Jonas Kvinge
27184eb001 Utilities: Add StringListToHTML 2025-03-08 21:45:00 +01:00
Jonas Kvinge
2e30f5c585 StreamTagReader: Rename variable 2025-03-08 21:44:33 +01:00
Jonas Kvinge
109d3f9ec3 PlaylistBackend: Move query to static function 2025-03-08 21:36:42 +01:00
Jonas Kvinge
e9d413c7dc QTcpServer: Add success and port 2025-03-08 21:26:47 +01:00
Jonas Kvinge
ee60191b6c MusicBrainzClient: Formatting 2025-03-08 21:24:59 +01:00
Jonas Kvinge
a6d8627129 AcoustidClient: Formatting 2025-03-08 21:24:29 +01:00
Jonas Kvinge
d317c9158b UrlHandler: Formatting 2025-03-08 21:23:02 +01:00
Jonas Kvinge
3716e8c3ef CollectionModel: Rename variable 2025-03-08 21:22:40 +01:00
Jonas Kvinge
6a3de3937a AppearanceSettingsPage: Add tooltip about restart
You need to restart Strawberry for this setting to take affect.
2025-02-20 16:11:24 +01:00
Jonas Kvinge
5f775e87ae BackendSettingsPage: Add tooltip for HTTP/2
You need to restart Strawberry for this setting to take affect
2025-02-20 16:10:21 +01:00
Jonas Kvinge
1fd83c55ee Equalizer: Add tooltip that playback must be restarted 2025-02-20 16:09:10 +01:00
Jonas Kvinge
e588896729 FilterParser: Update tooltip
Fixes #1680
2025-02-18 17:08:17 +01:00
Jonas Kvinge
0cd0f7f2e7 FilesystemMusicStorage: Use QFile::supportsMoveToTrash 2025-02-18 16:55:02 +01:00
Jonas Kvinge
d571bc3305 TagReaderTagLib: Fix build without stream tagreader
Fixes #1672
2025-02-10 23:29:40 +01:00
Jonas Kvinge
2b52553864 Add stream tagreader 2025-02-08 02:53:10 +01:00
Jonas Kvinge
215627b0e4 TagReaderGME: Fix use of Qt::CaseInsensitive and length check 2025-02-08 01:17:44 +01:00
Jonas Kvinge
30ac9697ea BackendSettingsPage: Increase device lineedit height
Bottom of the text was cut off with the breeze style
2025-02-07 21:27:17 +01:00
Jonas Kvinge
61e3ea249d Turn off "Grey out unavailable songs in playlists on startup" by default 2025-02-02 23:48:05 +01:00
Jonas Kvinge
d1986eeae2 Tidal: Save token type 2025-02-01 22:25:53 +01:00
Jonas Kvinge
ba354207d2 Tidal: Remove deprecated username/password login 2025-02-01 22:10:53 +01:00
Jonas Kvinge
eac5674891 TidalService: Clear refresh token on sign out 2025-02-01 00:50:17 +01:00
Jonas Kvinge
8349a8b0ee Port back to "output" and "device" settings in lowercase
Was accidentally changed to capitalized.
2025-02-01 00:48:57 +01:00