index aaf1df194d3b1904f25ff6993d6e5beab46d503f..33c902f9618b1fa8b0fc1982b49f1d8b147aea58 100644 (file)
if Err <> 0 then
raise Exception.Create('xmp_load_module_from_memory failed');
- if xmp_start_player(FXMP, e_SoundFormat.SampleRate, 0) <> 0 then
+ if xmp_start_player(FXMP, 48000, 0) <> 0 then
raise Exception.Create('xmp_start_player failed');
- FFormat.SampleRate := e_SoundFormat.SampleRate;
+ FFormat.SampleRate := 48000;
FFormat.SampleBits := 16;
FFormat.Channels := 2;
if Err <> 0 then
raise Exception.Create('xmp_load_module failed');
- if xmp_start_player(FXMP, e_SoundFormat.SampleRate, 0) <> 0 then
+ if xmp_start_player(FXMP, 48000, 0) <> 0 then
raise Exception.Create('xmp_start_player failed');
- FFormat.SampleRate := e_SoundFormat.SampleRate;
+ FFormat.SampleRate := 48000;
FFormat.SampleBits := 16;
FFormat.Channels := 2;
end;
function TXMPLoader.FillBuffer(Buf: Pointer; Len: LongWord): LongWord;
+var
+ LoopN: LongInt;
begin
Result := 0;
if FXMP = nil then Exit;
- if xmp_play_buffer(FXMP, Buf, Len, 0) = 0 then
+ if FLooping then
+ LoopN := 0
+ else
+ LoopN := 1;
+ if xmp_play_buffer(FXMP, Buf, Len, LoopN) = 0 then
Result := Len;
end;