Jonas Kvinge
5fcb71d08f
Formatting
2025-12-09 01:16:41 +01:00
Jonas Kvinge
93af866185
Formatting
2025-12-08 23:49:48 +01:00
Jonas Kvinge
afe6967c46
GstEnginePipeline: Handle "missing-plugin" messages
2025-11-30 18:13:30 +01:00
Jonas Kvinge
e91bab6d42
GstEngine: Only emit error for debugstr if it's set
2025-11-30 18:13:30 +01:00
Jonas Kvinge
a6ab1a7689
GstEngine: Enable exclusive mode for wasapi2sink
2025-10-19 19:09:49 +02:00
Jonas Kvinge
098b21d818
Use MMDeviceFinder for wasapi2sink
2025-10-19 18:32:42 +02:00
Jonas Kvinge
7844a2b932
Update Spotify access token
...
Fixes #1769
2025-08-04 22:11:44 +02:00
Madeline Schreiber
d901258f11
GstEnginePipeline: Ignore about-to-finish when position is 0
2025-07-07 01:05:47 +02:00
Jonas Kvinge
71287dd77e
Add option to turn off playbin3
2025-04-08 21:19:29 +02:00
Jonas Kvinge
2c9b14f5f2
GstEnginePipeline: Simplify version checks
2025-04-04 22:12:38 +02: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
Jonas Kvinge
cd4adf6f89
ebur128analysis: Handle extra enums with GStreamer 1.25 and higher
2025-03-17 22:57:36 +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
8349a8b0ee
Port back to "output" and "device" settings in lowercase
...
Was accidentally changed to capitalized.
2025-02-01 00:48:57 +01:00
Jonas Kvinge
0db082fca0
Replace Q_OS_WIN with Q_OS_WIN32
2025-01-28 20:30:43 +01:00
Jonas Kvinge
e6a0945dfa
Call QObject::metaObject
2025-01-17 09:08:59 +01:00
Jonas Kvinge
d73cbc3a1d
EngineBase: Fix mismatched definition
2025-01-17 08:26:11 +01:00
Jonas Kvinge
ab558f87b5
GstEnginePipeline: Use SetStateAsync in finish if needed
2025-01-15 07:01:43 +01:00
Jonas Kvinge
72447fecfb
StandardPaths: Remove inheritance
2025-01-07 21:40:06 +01:00
Jonas Kvinge
cbce9f7191
Override config, data and cache location
2025-01-05 23:45:29 +01:00
Jonas Kvinge
6e7aaed4ee
Use QSharedPointer for GstEnginePipeline
2025-01-05 19:03:16 +01:00
Jonas Kvinge
7afae70bb0
GstEnginePipeline: Make sure all set states are finished before finishing pipeline
2025-01-05 18:58:03 +01:00
Jonas Kvinge
d66126f998
GstEngine: Add missing seek
...
Fixes #1568
2024-12-06 23:44:27 +01:00
Jonas Kvinge
0fff5f672a
Rename variables
2024-12-06 23:43:44 +01:00
Jonas Kvinge
c62fd2b58a
GstEnginePipeline: Add more logging for fader
2024-11-14 22:05:06 +01:00
Jonas Kvinge
712db598f7
GstEnginePipeline: Fix setting volume after fader timeout
2024-11-14 22:04:53 +01:00
Jonas Kvinge
16c9a0f974
GstEnginePipeline: Set final fader volume on timeout
2024-11-11 16:17:57 +01:00
Jonas Kvinge
18000b1b2c
GstEnginePipeline: Increase fader timeout
2024-11-11 16:17:35 +01:00
Jonas Kvinge
f1b56028b7
GstEnginePipeline: Use fully-qualified names for QTimeLine
2024-11-11 16:17:11 +01:00
Jonas Kvinge
3d2315f754
GstEnginePipeline: Add mutex locker for Spotify access token
2024-11-11 16:16:29 +01:00
Jonas Kvinge
6612eeb9e3
GstEnginePipeline: Simplify next uri reset code
2024-11-10 15:38:00 +01:00
Jonas Kvinge
93929c73ee
GstEnginePipeline: Add fader timeout
2024-11-10 02:07:22 +01:00
Jonas Kvinge
d68bede374
GstEnginePipeline: Fix fader fudge timer naming
2024-11-10 01:53:38 +01:00
Jonas Kvinge
b659b27f95
GstEnginePipeline: Replace QBasicTimer with QTimer
2024-11-10 01:50:53 +01:00
Jonas Kvinge
70d0772e04
GstEnginePipeline: Add separate set state async function
2024-11-10 01:36:48 +01:00
Jonas Kvinge
f9f47458d5
Remove engine type
2024-11-10 01:21:43 +01:00
Jonas Kvinge
975d0dff25
Move GstStartup
2024-11-09 23:39:31 +01:00
Jonas Kvinge
c0f5b53aaf
GstEnginePipeline: Simplify checking for NULL state
2024-11-09 19:36:41 +01:00
Jonas Kvinge
ba285925ca
GstEnginePipeline: Check that state is actually NULL before finishing pipeline
...
Possible fix for #1582
2024-11-09 19:30:28 +01:00
Jonas Kvinge
a0dd2c66e4
GstEnginePipeline: Always set state to NULL
2024-11-09 19:26:39 +01:00
Jonas Kvinge
64a9d557a4
GstEnginePipeline: Add missing declarations
2024-11-09 19:26:09 +01:00
Jonas Kvinge
3a5e5d4aaa
GstEngine: Improve pipeline finish handling
2024-11-09 19:24:07 +01:00
Jonas Kvinge
f59c6c356e
GstEnginePipeline: Get audio-sink
2024-11-09 19:22:56 +01:00
Jonas Kvinge
65b6e6d540
GstEnginePipeline: Save fader state
2024-11-09 19:21:56 +01:00
Jonas Kvinge
8da2b9cd94
Refactoring
2024-11-01 23:04:42 +01:00
Jonas Kvinge
ef9ef63f02
Port to QStringLiteral operator
2024-10-20 06:38:55 +02:00
Jonas Kvinge
0e330b81db
Use Qt::Literals::StringLiterals
2024-10-18 20:17:23 +02:00
Jonas Kvinge
0768298b95
Refactor CMake files
2024-10-04 22:05:20 +02:00