Bug 448182 - Support module music formats in TaglibExtractor (MOD, S3M, XM, IT)
Summary: Support module music formats in TaglibExtractor (MOD, S3M, XM, IT)
Status: RESOLVED FIXED
Alias: None
Product: frameworks-kfilemetadata
Classification: Frameworks and Libraries
Component: general (show other bugs)
Version: unspecified
Platform: Neon Linux
: NOR wishlist
Target Milestone: ---
Assignee: Pinak Ahuja
URL:
Keywords: junior-jobs
Depends on:
Blocks:
 
Reported: 2022-01-09 21:15 UTC by Nagy Tibor
Modified: 2024-03-14 15:06 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Nagy Tibor 2022-01-09 21:15:49 UTC
SUMMARY
Module files are mainly used for demoscene-related music. Having metadata support through KFileMetaData for these formats would make playing demoscene music in Elisa a bit more convenient. Elisa is already able to play these files through LibVLC.

TagLib supports extracting metadata from these music files since version 1.8. KFileMetaData targets version 1.11.1, so this would not even a require a TagLib version bump.

Affected MIME types:
* Amiga SoundTracker audio: audio/x-mod
* Scream Tracker 3 audio: audio/x-s3m
* FastTracker II audio: audio/x-xm
* Impulse Tracker audio: audio/x-it

Properties that TagLib exposes from these music files:
"TITLE", "COMMENT", "TRACKERNAME" (Generator)

SOFTWARE/OS VERSIONS
Operating System: KDE neon 5.23
KDE Plasma Version: 5.23.5
KDE Frameworks Version: 5.89.0
Qt Version: 5.15.3
Graphics Platform: X11
Comment 1 Stefan Brüns 2023-11-13 01:32:47 UTC
This is quite trivial to add, even for a new contributor.

A MR should contain test files (with appropriate licenses) for all formats, and cover the all supported properties in unit tests.
Comment 2 Bug Janitor Service 2024-03-10 18:21:46 UTC
A possibly relevant merge request was started @ https://invent.kde.org/frameworks/kfilemetadata/-/merge_requests/139
Comment 3 Nate Graham 2024-03-14 15:06:16 UTC
Git commit eefc973b56e39034e498487f6d9900a4008e560e by Nate Graham, on behalf of Wladimir Leuschner.
Committed on 14/03/2024 at 15:03.
Pushed by ngraham into branch 'master'.

Add support for .mod/.s3m/.xm/.it Module Tracker formats meta data

KFileMetaData did not parse module tracker files, although TagLib
has support in parsing meta data from these files. Tracker files
are supported in TagLig since version 1.8 and therefore below
required version that CMakeLists.txt asks for in KFileMetaData,
which is version 1.12.1

M  +4    -0    autotests/extractorcoveragetest.cpp
A  +-    --    autotests/samplefiles/test.it
A  +-    --    autotests/samplefiles/test.mod
A  +-    --    autotests/samplefiles/test.s3m
A  +-    --    autotests/samplefiles/test.xm
M  +69   -5    autotests/taglibextractortest.cpp
M  +35   -0    src/extractors/taglibextractor.cpp
M  +5    -2    src/extractors/taglibextractor.json

https://invent.kde.org/frameworks/kfilemetadata/-/commit/eefc973b56e39034e498487f6d9900a4008e560e