Jonas Kvinge
582b8e8076
Make sure collection directory (root) is not removed from subdirs
...
Fixes #1914
2026-01-08 23:40:13 +01:00
Jonas Kvinge
030908f6ac
CollectionWatcher: Avoid checking for valid media file early
...
Optimize the collection scanning process by deferring media file validation from the initial directory scan to the actual file processing stage. Instead of calling `IsMediaFileBlocking` early to filter files, all non-rejected files are added to the scan queue and validated later during `ReadFileBlocking`. Invalid files are removed from the tracked files list, causing them to be treated as deleted from the collection.
2026-01-06 22:39:58 +01:00
Jonas Kvinge
fe4d9979ce
CollectionWatcher: Avoid re-scan of restored songs unless mtime is changed
...
Fixes #1819
2025-12-17 22:15:21 +01:00
Jonas Kvinge
9efdbd2c10
CollectionWatcher: Add missing updates
2025-04-27 02:25:42 +02:00
Jonas Kvinge
5e031be42c
Fix cast warnings with MSVC
2025-03-25 18:05:41 +01:00
Jonas Kvinge
e6a0945dfa
Call QObject::metaObject
2025-01-17 09:08:59 +01:00
Jonas Kvinge
bf98633f16
Load XSPF title as playlist name
2025-01-04 04:52:17 +01:00
Jonas Kvinge
dc5894b38a
CollectionWatcher: Ignore special filesystem paths
...
Fixes #1615
2025-01-04 03:06:46 +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
34e2e01992
CollectionWatcher: Monitoring always on for devices
2024-10-18 19:58:04 +02:00
Jonas Kvinge
daaacf4663
Remove external tagreader
2024-09-28 15:29:10 +02:00
Jonas Kvinge
11d4151a82
CollectionWatcher: Mark variable unused
...
Fixes #1560
2024-09-24 16:28:39 +02:00
Jonas Kvinge
3329bc7d76
CollectionWatcher: Add missing newline
2024-09-24 16:27:32 +02:00
Jonas Kvinge
4c8ada2b80
CollectionWatcher: Add missing const
2024-09-24 16:27:09 +02:00
Jonas Kvinge
6b446eb693
CollectionWatcher: Fix typos
2024-09-24 16:26:08 +02:00
Jonas Kvinge
4270b12cd1
Replace QLatin1String with operator _L1
2024-09-12 22:13:21 +02:00
Jonas Kvinge
2a9ccd7480
Set object names
2024-09-02 22:26:36 +02:00
Jonas Kvinge
8da616491d
Replace emit with Q_EMIT
2024-08-25 01:06:30 +02:00
Jonas Kvinge
ee5bc16e47
CollectionWatcher: Use Song::kRejectedExtensions
2024-08-24 21:10:52 +02:00
Jonas Kvinge
7ebcc73a49
More const detach fixes
2024-08-23 20:30:59 +02:00
Jonas Kvinge
be09011bb7
CollectionWatcher: Use mutex for stop and abort
2024-08-23 20:22:18 +02:00
Jonas Kvinge
d5d2eaba8a
CollectionWatcher: Make const
2024-08-08 17:13:14 +02:00
Jonas Kvinge
e8f64bfe8f
CollectionWatcher: Formatting
2024-08-08 17:12:51 +02:00
Jonas Kvinge
ff6e93fc15
CollectionWatcher: Only start transaction with scan on startup
...
Fixes #1469
2024-08-03 00:44:47 +02:00
Jonas Kvinge
32baa95500
Add better error handling for Tag reader
2024-07-01 02:06:42 +02:00
Jonas Kvinge
0038cf8c4e
CollectionWatcher: Make sure periodic scan is stopped
2024-06-24 19:43:09 +02:00
Jonas Kvinge
b233600b8c
Remove useless else
2024-06-12 17:38:58 +02:00
Jonas Kvinge
b89c200076
Replace QStringLiteral with QLatin1String
2024-06-12 02:13:27 +02:00
Jonas Kvinge
426de61525
Add const and std::as_const
2024-04-23 17:15:42 +02:00
Jonas Kvinge
398db964b8
Use QDateTime::currentSecsSinceEpoch
2024-04-23 16:48:51 +02:00
Jonas Kvinge
0c6872b352
Disable automatic conversions from 8-bit strings
2024-04-13 05:05:33 +02:00
Jonas Kvinge
58944993b8
Use QStringLiteral
2024-04-09 23:20:26 +02:00
Jonas Kvinge
04e593dc62
CollectionWatcher: Add unavailable song restored logging
2024-01-03 00:45:30 +01:00
Jonas Kvinge
79c69e1b1e
CollectionWatcher: Match extension case-insensitive
2023-10-02 17:39:10 +02:00
Jonas Kvinge
8fc95e08dc
CollectionWatcher: Ignore compressed files
...
Fixes #1274
2023-10-02 17:23:47 +02:00
Jonas Kvinge
2e61235403
Application: Use shared pointers
...
Fixes #1239
2023-07-21 05:55:24 +02:00
Jonas Kvinge
3d25863ccb
CollectionWatcher: Make PerformEBUR128Analysis const
2023-07-12 16:22:17 +02:00
Roman Lebedev
bda2b91c92
Collectionwatcher: sink PerformEBUR128Analysis() into ScanNewFile & friends
2023-07-12 14:34:04 +02:00
Roman Lebedev
1462bfa297
CollectionWatcher: support EBU R 128 analysis
...
Again, somewhat pretty similar to the existing fingerprint analysis,
we must support performing it both for the new files,
and re-performing it on (some of) already-existing songs,
because it might have been disabled before.
Admittedly, i quite don't like some of this code,
maybe this can be done in a more concise way.
NOTE: this only supports scanning each separate songs.
Should we ever want to support per-album loudness normalization,
this will need massive changes...
2023-07-12 14:34:04 +02:00
Roman Lebedev
f905676b1c
CollectionBackend/CollectionWatcher: add HasSongsWithMissingLoudnessCharacteristics logic
...
Exactly identical to the "missing fingerprint" logic,
just for the two new fields being added.
2023-07-12 14:34:04 +02:00
Jonas Kvinge
331aa382f9
Rewrite album cover loader
2023-06-06 20:41:01 +02:00
Jonas Kvinge
e511b2faf9
Use new connect syntax for QMetaObject::invokeMethod
2023-05-03 20:08:51 +02:00
Jonas Kvinge
84e7cd0df8
CollectionWatcher: Connect PathChanged signal once
2023-05-03 01:17:10 +02:00
Jonas Kvinge
b02ac833ad
CollectionWatcher: Fix rescan songs feature
2023-03-25 16:38:03 +01:00
Jonas Kvinge
ed260c6e20
CollectionWatcher: Check for changed AcoustID and MusicBrainz
2023-03-25 14:35:12 +01:00
Jonas Kvinge
e20cbe4170
Save embedded cover in the same process as tags
...
Possible fix for #1158
2023-03-18 20:03:07 +01:00
Jonas Kvinge
dd72fb4ca5
Use C++11 enum class
2023-02-18 14:09:30 +01:00
Jonas Kvinge
a5c1f4b0ee
EditTagDialog: Fix saving play statistics
...
Fixes #1124
2023-02-10 22:51:48 +01:00