Commit Graph

76 Commits

Author SHA1 Message Date
Jim Broadus 1309c76bec tagreader: Relocate artist/album/title guessing code
Move the code that attempts to fill missing song metadata out of the
tagreader worker. In the main process, it will be controllable using
settings and calling context.

The methods were moved into a new SongPathParser class that checks new
settings to determine if action should be taken.
2021-05-17 13:20:34 +01:00
Jim Broadus 163ebe71d8 libclementine-tagreader: Discontinue use of deprecated taglib methods.
Direct use of MP4::itemListMap() was deprecated in favor of using item() and
setItem(). XiphComment::removeField was replaced by removeFields.
2021-04-18 13:48:13 +01:00
Jim Broadus 1a3828e2c1 protobuf: Fix namespace conflict
Protobuf 3.15 adds a namespace alias for "pb" that conflicts with
Clementine's. Modify Clementine to use "cpb".

Patch provided by @ahesford

Reference: 5c028d6cf4/src/google/protobuf/port.h (L44)
2021-02-21 14:17:26 +00:00
dmdmdm 834b1d4514 Changed local variable names to be like_this 2020-07-08 18:01:59 +01:00
dmdmdm 0ff11ee2e0 Autoformated code 2020-07-08 18:01:59 +01:00
dmdmdm d3a28a40ed Shortened a line 2020-07-08 18:01:59 +01:00
dmdmdm 2c5c30de15 Guess album name from folder name 2020-07-08 18:01:59 +01:00
dmdmdm 40575e854e Fixed one indent 2020-05-24 15:54:08 +01:00
dmdmdm 0f2e8946d6 Made parameter const 2020-05-24 15:54:08 +01:00
dmdmdm 86b48c22ae Minor fixes 2020-05-24 15:54:08 +01:00
dmdmdm c8eaafb0a8 Switch from std::string to QString 2020-05-24 15:54:08 +01:00
dmdmdm fb262022f4 Switch from std::string to QString 2020-05-24 15:54:08 +01:00
dmdmdm be60c12438 Guess artist and title (fourth attempt) 2020-05-24 15:54:08 +01:00
dmdmdm 9b580e4a5c Guess artist and title from filename (third attempt) 2020-05-24 15:54:08 +01:00
dmdmdm ddbde91889 Guess artist and title from filename (second attempt) 2020-05-24 15:54:08 +01:00
Jim Broadus 0ecb773355 Handle lyrics tag for mp4
Translation table in mp4tag.cpp for reference.
2020-04-19 14:01:25 +01:00
Jim Broadus 509c65ced7 tagreader: Add debug handler for taglib
Pass taglib debug messages through qLog instead of printing directly to stderr.
2020-04-19 14:00:35 +01:00
Jonas Kvinge 79e7c2a1fa Add check for valid birthTime() 2019-11-13 19:10:39 +01:00
Jonas Kvinge c23a251ec3 Fix setting mtime/btime in tagreader 2019-11-13 18:47:27 +01:00
John Maguire 04c85c2bb7
Merge pull request #6433 from clementine-player/qt5
Qt5
2019-11-07 12:27:25 +00:00
Ulrich Spörlein 6e2506e94a Fix Clementine on FreeBSD/NFS files, where birthtime is always -1
As of Qt 5.10 the badly named created() which would fall back to POSIX
ctime if birthtime wasn't supported (as was the case on basically every
Unix filesystem up to some decades ago) is deprecated and replaced by
the better named birthTime or metadataChangeTime (yay!).

As of some years now, created() returns birthtime under FreeBSD, but
either due to the protocol or lack of implementation, this returns -1
under FreeBSD mounting a ZFS pool from a FreeBSD server with NFSv3.

This would render Clementine completely useless. Local filesystems are
not affected though. The fix is to catch the -1 birthtime and use mtime
instead, which is a more meaningful value anyway.

This closes issue #6423.
2019-10-27 22:52:36 +01:00
John Maguire cb6cd7c485 Merge remote-tracking branch 'origin/master' into qt5 2019-10-04 16:51:43 +01:00
Ronan Jouchet 483be6ef7c Fix ratings not saved to file tag (Fix #6385)
Commit 96a7e18a8d by @smithjd15 from
2019-04-03 fixed a number of potential zero-value field values, but it
also flipped the early exit condition skipping saving a rating to file.

It seems out of place with the rest of the commit, so considering it a
mistake and reverting to the original condition.

Manually tested; works and saves again ratings to file.
2019-08-09 03:09:17 +02:00
Jonas Kvinge 546078c317 Fix memory leaks (#6376) 2019-08-02 16:24:26 +01:00
Jonas Kvinge 66fdc935ac Fix formatting 2019-07-21 14:38:15 +02:00
James D. Smith 32e867a84b clang-formatter changes. 2019-05-31 11:25:38 -06:00
James D. Smith 96a7e18a8d Fix a number of potential zero-value field values. 2019-05-31 11:25:38 -06:00
James D. Smith 2752d61d2a clang-formatter changes. 2019-04-01 22:23:04 -06:00
James D. Smith 2adf9d068d Improved support for APEv2 tags. 2019-04-01 22:22:03 -06:00
smithjd15 8dd5750efa Improved support for APEv2 tags. (#6280) 2019-02-14 17:37:44 +11:00
Jonas Kvinge c264725e78 Save tags for WavPack files (#6152) 2018-10-01 01:38:29 -07:00
Eoin O'Neill e2f63e3945 Implemented SPC playback functionality.
Would like to add more playback support for additional GME supported file types. GME is already supported by the GStreamer backend.
2018-06-16 10:06:37 +01:00
Jonas Kvinge 37912a87b8 Fix WavPack playback (#6048) 2018-05-01 18:29:47 +01:00
Ilya Selyuminov 1a477201ed Use CaseInsensitive file type checking #5499 (#5592)
* Fix Seafile setting page loading

Check access_token instead of QSetting parameters to make
sure that we're logged in.

* Use CaseInsensitive file type checking  (#5499)

CloudFileService and TagReader classes use
QString::endWith() method for checking file type.
This method is CaseSensitive by default.
2017-01-12 15:58:44 +00:00
Hugues Morisset fa7bcff43d Fix undefined symbol error conversion from std::string to TagLib::String
Taglib version 1.9.1-2.4 on debian
2016-10-10 12:49:49 +01:00
Jan Suchomel 622a3e478a Add support for displaying lyrics from a Vorbis comment (#5495)
* Added support for displaying lyrics from Vorbis Comments.

* Fixed style issues
2016-09-18 13:23:39 +01:00
beedaddy 126ed1a551 Fix fetching cover art for taglib >= 1.11 (#5434) 2016-07-12 11:39:25 +01:00
Martin Babutzka bd3b953b08 Softened the metadata-editor behavior to not deliberately delete additional, valid frames which are stored in mp3-files.
Stashed commit of the following:

e54bcd2f058d186c2c919a84152ed5e8526047fc
Fixed bugs/comments from John Maguire

01c71c4c67be44dd6889498abc323a6d2d20dd99
Added description "Clementine editor" to new created lyrics frames.

70dfa0d1f177523ff897985ae022979cd052a6ed
Updated the SetTextFrame method as well:
Existing frames are cached and only the first frame (which is actually shown in the metadata editor) will be updated.
Prevents the cruel deletion of all other existing frames in a well defined mp3-file.

dfddf76eda417442c8c168eb8868038b0675cb10
Updated behavior of metadata-editor concerning lyrics (might follow for other id3v2-tag properties):
Existing further frames in the tags are not deleted but cached so only the true changes by the metadata-editor are applied on the edited frame.
Further frames in the metadata are preserved.
2015-07-27 22:52:29 +02:00
Eduardo Sánchez Muñoz ef1992570b Define some original year tag keys as constants and enclose some if bodies with {}. 2015-07-01 15:02:52 +02:00
Eduardo Sánchez Muñoz 8dd4506697 Add support for more original year tags. 2015-07-01 00:50:19 +02:00
Eduardo Sánchez Muñoz c46fb5eec7 Code formatting fixes 2015-06-30 19:51:01 +02:00
Eduardo Sánchez Muñoz e0816800b1 Add support for original year tags. 2015-06-30 18:34:34 +02:00
Martin Babutzka 0b16dad50f - Fixed decoding of non-ASCII lyric texts
- Lyrics can now be viewed/edited in the metadata-editor

Squashed commit of the following:

commit 0851f619c27348e3ceeaf31a8edc3a567ccee99c
Author: Martin Babutzka <martin.babutzka@online.de>
Date:   Wed Jun 10 21:21:50 2015 +0200

    'make format' and brackets in a condition clause.

commit bab7a1d07af3bc53034e3883d352ae6d4dd33e2a
Author: Martin Babutzka <martin.babutzka@online.de>
Date:   Sun Jun 7 01:51:31 2015 +0200

    Added capability to SAVE lyrics frames to mp3 files in tagreader.
    Improved scaling properties of edittags dialog.

commit 4bd71a2d6a4479a664bf8b5b3ead05c23c86e15d
Author: Martin Babutzka <martin.babutzka@online.de>
Date:   Sat Jun 6 23:33:22 2015 +0200

    Updated lyrics tag buddy to lyrics

commit 2ceb8967f67e76a0f78b25a7a128c4429a93bcd9
Author: Martin Babutzka <martin.babutzka@online.de>
Date:   Sun May 17 18:52:33 2015 +0200

    Add lyrics field to tag editor

commit 04b65e33a83e449055659a72a283954311a12fb7
Author: Martin Babutzka <martin.babutzka@online.de>
Date:   Fri May 8 23:24:02 2015 +0200

    Using decode method to fix non-ASCII letters.
2015-06-10 21:23:40 +02:00
Chocobozzz 60a8ae5880 Fix setting album artist tag for FLAC files if it already exists 2015-05-09 21:13:39 +02:00
Martin Babutzka 258ae281d8 IDv3 tag lyrics support.
Squashed the following commits:

5c723ad commit: Fix: Includes alpha sort
15ac350 commit: Fix: Updated Database::kSchemaVersion to 49.
767a26a commit: Fixed small code style issue. Added schema-49 to data.qrc instead schema-48
bf6aa64 commit: fixup! Modified async handling of CollapsibleInfoPane as recommended by Andreas. Display of IDv2 tag lyrics works now.
c1f97e9 commit: fixup! Added support to read/display the ID tag lyrics in MP3 files:
c946b1d commit: Added support to read/display the ID tag lyrics in MP3 files:

-Added schema to the database to store it
-Added readers/writers for ID tags
-Added readers/writers for the database to the song class
-Added the taglyricsinfoprovider to show the lyrics in songinfo
2015-04-10 21:05:07 +02:00
Chocobozzz 071be6bc83 Make format 2015-02-21 16:57:37 +01:00
Chocobozzz fb5781eee2 Add performer tag support for mpeg 2015-02-21 16:49:00 +01:00
Chocobozzz c61d866caf Fix album artist for FLAC/OGG files (with vorbis comments) 2015-01-16 18:30:11 +01:00
Arnaud Bienner f2eecadbd3 Don't write rating if not set
Fixes issue #4128
2014-10-21 21:49:23 +02:00
Chocobozzz ef6dd38d0d use unique_ptr instead 2014-06-05 17:42:55 +02:00