index 01fd45544a05e7f9590bb10dc6a3abd0e32ecf34..b68487d9600d9667e4d6e5d9e852ad454e71fca1 100644 (file)
uses e_soundfile, modplug;
type
- // a module loader that uses libxmp-lite
+ // a module loader that uses libmodplug
TModPlugLoader = class (TSoundLoader)
public
end;
TModPlugLoaderFactory = class (TSoundLoaderFactory)
+ public
function MatchHeader(Data: Pointer; Len: LongWord): Boolean; override;
function MatchExtension(FName: string): Boolean; override;
function GetLoader(): TSoundLoader; override;
function TModPlugLoaderFactory.GetLoader(): TSoundLoader;
begin
- ModPlug_SetSettings(@Settings); // update settings just in case
+ // update interpolation setting
+ if e_MusicLerp then
+ Settings.mResamplingMode := MODPLUG_RESAMPLE_LINEAR
+ else
+ Settings.mResamplingMode := MODPLUG_RESAMPLE_NEAREST;
+ ModPlug_SetSettings(@Settings);
Result := TModPlugLoader.Create();
end;