Kodi Community Forum

Full Version: XBMC 10 strange sound in mid files
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hello,

It seems like XBMC 10 release handles mid & mod files using ModplugCodec overriding possibility to use timidity (worked well in previous version). The usage of ModplugCodec results to strange mid file sound.

If .mid file extension is changed to .kar xbmc uses timidity to play the file and sound is correct.

I would like to recommend reordering of the codecs to enable timidity as primary codec for supported formats and ModplugCodec only as fall-back option if timidity is not configured or soundfont is not available.

Snippet of file trunk/xbmc/cores/paplayer/CodecFactory.cpp:

else if (strFileType.Equals("669") || strFileType.Equals("abc") ||
strFileType.Equals("amf") || strFileType.Equals("ams") ||
strFileType.Equals("dbm") || strFileType.Equals("dmf") ||
strFileType.Equals("dsm") || strFileType.Equals("far") ||
strFileType.Equals("it") || strFileType.Equals("j2b") ||
strFileType.Equals("mdl") || strFileType.Equals("med") ||
strFileType.Equals("mid") || strFileType.Equals("mod") ||
strFileType.Equals("mt2") || strFileType.Equals("mtm") ||
strFileType.Equals("okt") || strFileType.Equals("pat") ||
strFileType.Equals("psm") || strFileType.Equals("ptm") ||
strFileType.Equals("s3m") || strFileType.Equals("stm") ||
strFileType.Equals("ult") || strFileType.Equals("umx") ||
strFileType.Equals("xm") || strFileType.Equals("mdgz") ||
strFileType.Equals("s3gz") || strFileType.Equals("xmgz") ||
strFileType.Equals("itgz"))
return new ModplugCodec();
else if (strFileType.Equals("nsf") || strFileType.Equals("nsfstream"))
return new NSFCodec();
#ifdef HAS_SPC_CODEC
else if (strFileType.Equals("spc"))
return new SPCCodec();
#endif
else if (strFileType.Equals("sid") || strFileType.Equals("sidstream"))
return new SIDCodec();
else if (VGMCodec::IsSupportedFormat(strFileType))
return new VGMCodec();
else if (strFileType.Equals("ym"))
return new YMCodec();
else if (strFileType.Equals("wma"))
return new DVDPlayerCodec();
else if (strFileType.Equals("aiff") || strFileType.Equals("aif"))
return new AIFFCodec();
else if (strFileType.Equals("xwav"))
return new ADPCMCodec();
else if (TimidityCodec::IsSupportedFormat(strFileType))
return new TimidityCodec();


Moving TimidityCodec higher (above Modplug) would probably solve the problem.

Regards

Andrej
Hi,

I'm writing an add-on which uses MIDI files if MIDI support is available and can confirm your report is right (I had to change the extenstion of the resulting file from .mid to .kar to get it play properly in XBMC).

Have you opened a trac entry for this?

WWell,