Roman Lebedev
9a7949297e
CollectionSettingsPage: add option to toggle `libebur128`-based song analysis
...
Much like song fingerprinting, performing EBU R 128 analysis is optional.
If you will want to enable EBU R 128 loudness normalization
(which does not depend on the presence of `libebur128`!)
you will probably want to enable it, but it is not enabled by default.
There will be support for rescanning songs for which it is missing.
2023-07-12 14:34:04 +02:00
Roman Lebedev
29342fa9ac
CMake: when optional component `EBUR128` is detected, link to `libebur128`
2023-07-12 14:34:04 +02:00
Roman Lebedev
bd4438d99b
CMake: define new optional component `EBUR128` (`libebur128`+`gstreamer`)
...
To perform the analysis using said library, we need to first somehow
get the PCM of the song, and it makes sense to use GStreamer for that.
2023-07-12 14:34:04 +02:00
Roman Lebedev
f8e14e8fd5
CMake: look for `libebur128`
...
We are going to use said library to calculate the two measures in question
from decoded audio.
I am adding this in default-on state, since this library
should be well-packaged everywhere, and this is something that,
i presume, we want.
2023-07-12 14:34:04 +02:00
Roman Lebedev
b2c66c9cda
Playlist: add newly-added columns
...
Still mostly boilter-plate-y. It is somewhat interesting to see that info
in playlist view, so add the two fileds as columns.
At least for Integrated loudness, since it's normally negative,
we need to add a specialized Delegate.
2023-07-12 14:34:04 +02:00
Roman Lebedev
44e5c32bcb
ContextView: show newly-added fields
...
And still very boilerplate-y, same as in previous change,
just show the two new Song fields in `Context` view.
2023-07-12 14:34:04 +02:00
Roman Lebedev
e7fc4e7f89
EditTagDialog: show newly-added fields (read-only)
...
Still very boilerplate-y. Add two placeholders to the UI
(in the middle of the existing table, so the diff is a mess),
and populate them with data.
2023-07-12 14:34:04 +02:00
Roman Lebedev
e589486907
Song: add pretty-printers for EBU R 128 Integrated Loudness and Loudness Range fields
...
They end up being used in a quite a number of places later on,
it makes sense to have them in a common place.
Integrated Loudness (LUFS) is *usually* negative, so we really want to
always print a sign. But Loudness Range is non-negative.
I think it makes sense to print one or at most two decimal places for these.
2023-07-12 14:34:04 +02:00
Roman Lebedev
459c4c5d86
Song: add EBU R 128 Integrated Loudness and Loudness Range fields, DB [de]serialization
...
Again, pretty boring boilerplate, rather identical to the handling of
other fields. We do need to be careful when [de]serializing it, though,
we don't want to accidentally loose the `NULL` (i.e. unknown) state!
2023-07-12 14:34:04 +02:00
Roman Lebedev
73c56f038e
SqlQuery: add `BindDoubleOrNullValue()` method
...
To facilitate serializing of the two DB fields added by the previous change.
2023-07-12 14:34:04 +02:00
Roman Lebedev
0a4888f861
Database scheme: add EBU R 128 Integrated Loudness and Loudness Range columns
...
Nothing really ground-breaking, just add those two fields
to each table that already has `bitrate`/`samplerate`/`bitdepth` fields.
Those new fields do need to be able to represent an invalid state
which is their default state, thus they are non-`NOT NULL`.
In principle, the actual field type could be `INTEGER`
(i.e. fixed point w/ 2 fractional digits), but unless we really want to
save a few bytes, it doesn't seem worthwhile.
FIXME: i'm not sure if `device-schema` should be changed too.
2023-07-12 14:34:04 +02:00
Jonas Kvinge
da27ca98b3
CI: Only upload release when INCLUDE_GIT_REVISION is OFF
2023-07-12 14:25:59 +02:00
Jonas Kvinge
f1e1ccad28
CI: Fix stable PPA upload
2023-07-12 14:22:15 +02:00
Jonas Kvinge
7616c06ff9
Use `find_package(Protobuf CONFIG)` for macOS too
2023-07-12 01:25:41 +02:00
Jonas Kvinge
0c1f4750ea
KDSingleApplication: Add LICENSES
...
Fixes #1219
2023-07-02 22:17:36 +02:00
Strawbs Bot
0a26c295a0
Update translations
2023-07-02 14:10:05 +02:00
Jonas Kvinge
32d23e0484
Turn on git revision
2023-07-02 04:00:38 +02:00
Jonas Kvinge
c028770f8e
Release 1.0.18
2023-07-02 01:27:51 +02:00
Jonas Kvinge
8f1a99b37e
CI: Remove Fedora 36
2023-07-02 01:02:10 +02:00
Jonas Kvinge
e66651a4cb
Song: Remove unused application include
2023-07-02 00:29:30 +02:00
Jonas Kvinge
1d9a052870
AlbumCoverChoiceController: Move result declaration
2023-07-02 00:29:19 +02:00
Jonas Kvinge
d3ee749c14
CollectionBackendTest: Fix build
2023-07-01 22:34:51 +02:00
Jonas Kvinge
33076aa33a
Update Changelog
2023-07-01 22:26:52 +02:00
Jonas Kvinge
2a2663eeb5
Update Changelog
2023-06-29 20:31:16 +02:00
Jonas Kvinge
fa04eb67db
Convert old embedded and unset art in the new schema
2023-06-29 20:21:50 +02:00
Jonas Kvinge
f8ad8a7211
Disable clang-format
2023-06-29 19:06:27 +02:00
Jonas Kvinge
5f4d6dffef
AlbumCoverLoader: Fix loading existing album covers from disk
2023-06-29 00:44:00 +02:00
Jonas Kvinge
b9c7510946
AlbumCoverLoader: Fix Handling default image in finish task
2023-06-28 23:52:39 +02:00
dependabot[bot]
c0e709a0e3
Bump vmactions/freebsd-vm from 0.3.0 to 0.3.1
...
Bumps [vmactions/freebsd-vm](https://github.com/vmactions/freebsd-vm ) from 0.3.0 to 0.3.1.
- [Release notes](https://github.com/vmactions/freebsd-vm/releases )
- [Commits](https://github.com/vmactions/freebsd-vm/compare/v0.3.0...v0.3.1 )
---
updated-dependencies:
- dependency-name: vmactions/freebsd-vm
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-06-26 20:16:20 +02:00
Jonas Kvinge
e690be1bdd
DeviceDatabaseBackend: Fix device schema version mismatch
...
schema_version in device-schema.sql is 4.
2023-06-26 20:06:11 +02:00
Jonas Kvinge
6ed5190276
Remove AudD lyrics
2023-06-25 01:14:12 +02:00
Jonas Kvinge
4c4a351fbd
CI: Add ubuntu mantic for ppa
2023-06-25 00:28:21 +02:00
Jonas Kvinge
435ffc75b6
CI: Add debian trixie
2023-06-24 03:40:23 +02:00
Jonas Kvinge
4dbc06bdd0
CI: Add ubuntu mantic
2023-06-24 03:38:32 +02:00
Jonas Kvinge
5a7cbb2f3d
CI: Add OpenMandriva Cooker, remove Lx 4.2
2023-06-24 00:56:53 +02:00
Jonas Kvinge
354b55cbbc
Use QFileInfo::path instead of QUrl::RemoveFilename
2023-06-15 21:06:18 +02:00
Jonas Kvinge
b87a950357
CoverUtils: Only create path if it doesn't exist
2023-06-15 21:04:11 +02:00
Jonas Kvinge
950c236720
AlbumCoverManager: Fix clear and unset actions
2023-06-15 20:35:41 +02:00
Jonas Kvinge
32982be4f2
EditTagDialog: Allow clearing unset cover
2023-06-15 20:34:03 +02:00
Jonas Kvinge
f467331934
Add ifdefs around #pragma GCC diagnostic
2023-06-15 20:10:25 +02:00
Jonas Kvinge
ec839e6aae
KDSingleApplicationLocalSocket: Ignore missing declaration
2023-06-15 19:48:00 +02:00
Jonas Kvinge
45f1521da6
Update Changelog
2023-06-14 23:10:56 +02:00
Jonas Kvinge
841a44a18e
KDSingleApplicationLocalSocket: Remove extra semicolon
2023-06-14 23:10:50 +02:00
Dakes
1deacaecf9
FilterParser: Add ability to filter by rating
...
Playlists can now be filtered by the rating from 0-5 like:
rating:0 rating:<3 rating:!=0
or by a float value, like:
rating:f0.1 rating:>=f0.5
2023-06-09 21:31:15 +02:00
Jonas Kvinge
6af8e6c25b
Update Changelog
2023-06-09 00:16:46 +02:00
Jonas Kvinge
b0849d21f3
TidalStreamURLRequest: Ignore different track ID
2023-06-08 17:36:24 +02:00
Jonas Kvinge
5b60ea8e77
MainWindow: Remove F2 from edit tag shortcut
...
Fixes #1210
2023-06-07 19:38:59 +02:00
Andrei Stepanov
ec3f95a260
Add Russian translation to desktop file
2023-06-07 17:41:17 +02:00
Jonas Kvinge
0bfd4d2e04
CI: Only run SSH key setup step for master branch
2023-06-07 16:57:27 +02:00
Jonas Kvinge
a6ba0cfc97
KDSingleApplicationLocalSocket: Exclude XDG_SESSION_ID from socket name
2023-06-07 01:23:01 +02:00