GNOME Bugzilla – Bug 706061
typefind: improved and extended typefinder for module music
Last modified: 2014-01-20 17:12:11 UTC
Created attachment 251719 [details] [review] typefinder improvements for module music formats Currently, all of the formats (MOD, XM, S3M, IT, PSM, ...) are labeled as "audio/x-mod". However, different module players support different sets of formats. Therefore, it would be better if the caps described the format in more detail. This patch improves the audio/x-mod typefind function in two ways: first, it adds a "type" field to the caps, containing the type of module format as a string. Example: "audio/x-mod, type: (string)xm". Second, it can now recognize more module formats. The new typefind code was tested against a large subset of ftp.modland.com , and worked well.
Author: Carlos Rafael Giani <dv@pseudoterminal.org> Date: Tue Aug 13 23:18:34 2013 +0200 typefind: improved and extended typefinder for module music formats introduced new caps: audio/x-mod, modtype : { xm, okt, mod, ptm, ... } https://bugzilla.gnome.org/show_bug.cgi?id=706061
Reverted because it causes some MP4 files to be detected as mod files.
Created attachment 251811 [details] test.mp4
Created attachment 252164 [details] [review] typefinder improvements for module music formats
commit e8e8fa22f35d403e99cffbba23531d501ae1b5a8 Author: Carlos Rafael Giani <dv@pseudoterminal.org> Date: Fri Aug 16 13:22:33 2013 +0200 typefind: improved and extended typefinder for module music formats introduced new caps: audio/x-mod, modtype : { xm, okt, mod, ptm, ... } https://bugzilla.gnome.org/show_bug.cgi?id=706061
modplug still has this on the caps: audio/x-mod audio/x-xm audio/x-it audio/x-s3m audio/x-stm This should be updated too, right? According to http://sourceforge.net/projects/libmodplug/ Supported module types: .669, .amf, .ams, .dbm, .dmf, .dsm, .far, .it, .j2b, .mdl, .med, .mod, .mt2, .mtm, .okt, .psm, .ptm, .s3m, .stm, .ult, .umx, .xm The one we're missing in the typefinder is .umx (http://en.wikipedia.org/wiki/Unreal_Tournament_soundtracks) :) - so really nice job! Also having descriptions in http://cgit.freedesktop.org/gstreamer/gst-plugins-base/tree/gst-libs/gst/pbutils/descriptions.c would be nice. Are the new caps used somewhere already?
I wasn't sure about updating modplug's caps. I agree it would be best to update them, but I was worried about backwards compatibility. When is it okay to modify caps? Between major version changes (like 1.2 -> 1.4), or minor ones? I actually do have code for .umx . UMX is just an Unreal package which contains one field (module music). I wrote an umxparse element with an associated typefinder. It is part of my nonstream-audio project over at https://github.com/dv1/gst-nonstream-audio . This project aims to provide a baseclass for "nonstream" audio, that is, audio data that is loaded/parsed in full during an initialization step, and afterwards playback commences. In other words, the polar opposite of streaming music. Ideally, I would submit this to -bad eventually. OpenMPT would replace modplug (it is anyway based off modplug, and unlike modplug, it is actively being maintained). However, it needs some more work. The umxparse element and umx typefinder are quite separate though. I could submit these already.
(In reply to comment #6) > modplug still has this on the caps: > audio/x-mod > audio/x-xm > audio/x-it > audio/x-s3m > audio/x-stm > This should be updated too, right? According to > http://sourceforge.net/projects/libmodplug/ > Supported module types: .669, .amf, .ams, .dbm, .dmf, .dsm, .far, .it, .j2b, > .mdl, .med, .mod, .mt2, .mtm, .okt, .psm, .ptm, .s3m, .stm, .ult, .umx, .xm > > The one we're missing in the typefinder is .umx > (http://en.wikipedia.org/wiki/Unreal_Tournament_soundtracks) :) - so really > nice job! > > Also having descriptions in > http://cgit.freedesktop.org/gstreamer/gst-plugins-base/tree/gst-libs/gst/pbutils/descriptions.c > would be nice. > > Are the new caps used somewhere already? See https://bugzilla.gnome.org/show_bug.cgi?id=722618