Commit Graph

42 Commits

Author SHA1 Message Date
Jonas Kvinge 58944993b8 Use QStringLiteral 2024-04-09 23:20:26 +02:00
Jonas Kvinge f84ce3f1d1 Add exclusive mode option for WASAPI 2024-02-20 01:08:00 +01:00
Roman Lebedev 13d6cf201f Engine: pipe-in the EBU R 128 loudness normalization gain stuff
The idea is that Integrated Loudness is an integral part
of the song, much like knowing it's beginning / ending
in the file, and we must handle it the exact same way,
and pipe it through all the way.

At the same time, `EngineBase` knows Target Level (from settings),
and these two combined tell us the Gain needed to normalize the
Loudness of the particular Song (`EngineBase::Load()` does that).
So the actual backend only needs to handle the Volume.

We don't currently support changing Target Level on the fly.
We don't currently support changing Loudness-normalizing Gain on the fly.

This does not handle the case when the song is loaded from URL
and thus the EBU R 128 measures, that exist, are not nessesairly correct.
2023-07-12 14:34:04 +02:00
Jonas Kvinge e9f3281694 Rename EngineBase 2023-04-22 19:13:42 +02:00
Jonas Kvinge c96498758f Fix and improve gapless playback
If "about-to-finish" was emitted before the preload time was reached, we never set the next uri, so gapless playback was broken.
Make sure to always set the next uri, and increase preload gap from 5 to 8 seconds.
2023-04-22 03:54:11 +02:00
Jonas Kvinge bee6b7f946 Rename original_url to media_url 2023-04-21 16:20:00 +02:00
Jonas Kvinge f49bf0192b Engine::Base: Formatting 2023-04-21 15:06:44 +02:00
Jonas Kvinge a1adc1a75a Add option for strict SSL mode in backend settings 2023-03-19 23:02:17 +01:00
Jonas Kvinge dd72fb4ca5 Use C++11 enum class 2023-02-18 14:09:30 +01:00
Jonas Kvinge 205b7f2401 Split utilities functions into separate files 2022-12-28 22:53:59 +01:00
Jonas Kvinge b92ec71810 Use system volume when possible
Fixes #1037
2022-12-03 04:33:22 +01:00
Jonas Kvinge d347e6fc5f Add setting for turning off HTTP/2 2022-08-24 20:34:10 +02:00
Jonas Kvinge a6c05df362 Formatting 2022-03-22 21:19:59 +01:00
Jonas Kvinge f6b70fda71 Formatting 2022-03-22 21:09:05 +01:00
Jonas Kvinge 5a35099043 Add support for bs2b
Improve headphone listening of stereo audio records
2022-03-05 01:30:49 +01:00
Jonas Kvinge ea2bfbda44 Formatting 2021-08-23 21:21:08 +02:00
Jonas Kvinge 589bdf5dcd Use default 2021-06-21 15:40:44 +02:00
Jonas Kvinge e1bf4347ab Fix uninitialized variables 2021-06-20 23:53:28 +02:00
Jonas Kvinge 1295033fae Clang-Tidy and Clazy fixes 2021-06-20 19:04:08 +02:00
Jonas Kvinge 8fd32aba4f Improve resume playback on startup, re-request stream URL when unpausing
Fixes #270
2021-06-10 23:14:05 +02:00
jonas@jkvinge.net 5d96ee5492 Add ALSA PCM devices and option to set channels
Fixes #262
2021-05-11 19:14:00 +02:00
Jonas Kvinge 9d3000498b Add setting for setting reply gain fallback gain 2021-04-22 21:55:26 +02:00
Jonas Kvinge 59bffed47f Use static_cast 2021-03-21 18:53:02 +01:00
Jonas Kvinge 54f2aa5f77 Update copyrights 2021-03-20 21:14:47 +01:00
Jonas Kvinge a061dac298 Check network proxy mode 2020-11-04 22:22:26 +01:00
Jonas Kvinge 914dee8571 Pass network proxy settings to gstreamer
Fixes #558
2020-11-04 22:16:20 +01:00
Jonas Kvinge 74a5233b5d Replace use of deprecated gstreamer low-percent
- Add settings for low-watermark and high-watermark
- Add button to reset buffer settings to defaults
2020-10-07 20:29:26 +02:00
Jonas Kvinge 834877c503 Refactor gstreamer engine code, equalizer and fix stereo balancer 2019-11-08 23:07:21 +01:00
Jonas Kvinge 2d67279180 Fix minor code issues 2019-09-15 20:27:32 +02:00
Jonas Kvinge e45a0bf24b Add stream discoverer to gstreamer pipeline and continuous updating of bitrate 2019-09-07 23:34:13 +02:00
Jonas Kvinge 9be161d165 Fix code style and errors 2019-04-08 18:46:11 +02:00
Jonas Kvinge 6e463d1de3 Remove broken mono playback setting 2019-03-27 00:31:47 +01:00
Jonas Kvinge 3e658845d2 Add option to disable volume control 2019-03-09 16:48:45 +01:00
Jonas Kvinge 954e0e8a59
Add translations support (#82)
* Add translations support
* Update .gitignore
2019-02-22 20:24:38 +01:00
Jonas Kvinge 513aafca16 Disable fading when alsa device is selected 2019-01-09 20:02:40 +01:00
Jonas Kvinge 121a186160 Improve contextview and engine code 2018-09-22 23:13:56 +02:00
Jonas Kvinge 04f1d296ea More engine fixes 2018-07-01 01:29:52 +02:00
Jonas Kvinge fc66e2e2c7 Fixes to xine engine 2018-06-28 23:12:39 +02:00
Jonas Kvinge 985b91e5f4 Fix setting output/device for Xine and VLC backend
- Fixed setting output and device on Xine and VLC backend
- Fixed track slider for Xine, VLC and Phonon
- Improved backend settings to better support multiple backends
- Added group by samplerate and bitdepth in collection
- Fixed crash on exit when existing instance of the application is already runnung caused by NVIDIA driver
- Changed Q_OS_MAC to Q_OS_MACOS
2018-06-28 01:15:32 +02:00
Jonas Kvinge e337b7933b Includes, comments and bugfixes
- Fix includes
- Use common regex (Song::kCoverRemoveDisc) for removing Disc/CD from album
- Remove Disc/CD from album when creating hash
- Make imobiledevice support compile
- Fix setting device on windows
2018-05-01 00:41:33 +02:00
Jonas Kvinge 16cabf33a2 Code cleanup. 2018-03-10 13:02:56 +01:00
Jonas Kvinge b2b1ba7abe Initial commit. 2018-02-27 18:06:05 +01:00