Bug 448182

Summary: Support module music formats in TaglibExtractor (MOD, S3M, XM, IT)
Product: [Frameworks and Libraries] frameworks-kfilemetadata Reporter: Nagy Tibor <xnagytibor>
Component: generalAssignee: Pinak Ahuja <pinak.ahuja>
Status: RESOLVED FIXED    
Severity: wishlist CC: nate, stefan.bruens, tagwerk19
Priority: NOR Keywords: junior-jobs
Version First Reported In: unspecified   
Target Milestone: ---   
Platform: Neon   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

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