aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/base/UMusic.pas12
-rw-r--r--src/media/UAudioPlaybackBase.pas4
-rw-r--r--src/media/UMedia_dummy.pas4
-rw-r--r--src/screens/UScreenSing.pas4
4 files changed, 12 insertions, 12 deletions
diff --git a/src/base/UMusic.pas b/src/base/UMusic.pas
index 5d816c9a..e1184da8 100644
--- a/src/base/UMusic.pas
+++ b/src/base/UMusic.pas
@@ -188,8 +188,8 @@ type
end;
type
- TSyncSource = class
- function GetClock(): real; virtual; abstract;
+ ISyncSource = interface
+ function GetClock(): real;
end;
TAudioProcessingStream = class;
@@ -250,7 +250,7 @@ type
TAudioPlaybackStream = class(TAudioProcessingStream)
protected
- SyncSource: TSyncSource;
+ SyncSource: ISyncSource;
AvgSyncDiff: double;
SourceStream: TAudioSourceStream;
@@ -282,7 +282,7 @@ type
procedure AddSoundEffect(Effect: TSoundEffect); virtual; abstract;
procedure RemoveSoundEffect(Effect: TSoundEffect); virtual; abstract;
- procedure SetSyncSource(SyncSource: TSyncSource);
+ procedure SetSyncSource(SyncSource: ISyncSource);
function GetSourceStream(): TAudioSourceStream;
property Status: TStreamStatus read GetStatus;
@@ -364,7 +364,7 @@ type
procedure SetLoop(Enabled: boolean);
procedure FadeIn(Time: real; TargetVolume: single);
- procedure SetSyncSource(SyncSource: TSyncSource);
+ procedure SetSyncSource(SyncSource: ISyncSource);
procedure Rewind;
function Finished: boolean;
@@ -978,7 +978,7 @@ begin
Result := SourceStream;
end;
-procedure TAudioPlaybackStream.SetSyncSource(SyncSource: TSyncSource);
+procedure TAudioPlaybackStream.SetSyncSource(SyncSource: ISyncSource);
begin
Self.SyncSource := SyncSource;
AvgSyncDiff := -1;
diff --git a/src/media/UAudioPlaybackBase.pas b/src/media/UAudioPlaybackBase.pas
index de2d5563..228a438f 100644
--- a/src/media/UAudioPlaybackBase.pas
+++ b/src/media/UAudioPlaybackBase.pas
@@ -60,7 +60,7 @@ type
procedure Stop;
procedure FadeIn(Time: real; TargetVolume: single);
- procedure SetSyncSource(SyncSource: TSyncSource);
+ procedure SetSyncSource(SyncSource: ISyncSource);
procedure SetPosition(Time: real);
function GetPosition: real;
@@ -228,7 +228,7 @@ begin
MusicStream.Position := Time;
end;
-procedure TAudioPlaybackBase.SetSyncSource(SyncSource: TSyncSource);
+procedure TAudioPlaybackBase.SetSyncSource(SyncSource: ISyncSource);
begin
if assigned(MusicStream) then
MusicStream.SetSyncSource(SyncSource);
diff --git a/src/media/UMedia_dummy.pas b/src/media/UMedia_dummy.pas
index 25e94724..c38a8e60 100644
--- a/src/media/UMedia_dummy.pas
+++ b/src/media/UMedia_dummy.pas
@@ -62,7 +62,7 @@ type
procedure SetPosition(Time: real);
function GetPosition: real;
- procedure SetSyncSource(SyncSource: TSyncSource);
+ procedure SetSyncSource(SyncSource: ISyncSource);
procedure GetFrame(Time: Extended);
procedure DrawGL(Screen: integer);
@@ -156,7 +156,7 @@ begin
Result := 0;
end;
-procedure TMedia_dummy.SetSyncSource(SyncSource: TSyncSource);
+procedure TMedia_dummy.SetSyncSource(SyncSource: ISyncSource);
begin
end;
diff --git a/src/screens/UScreenSing.pas b/src/screens/UScreenSing.pas
index 20f3b15e..0b7dfba4 100644
--- a/src/screens/UScreenSing.pas
+++ b/src/screens/UScreenSing.pas
@@ -53,8 +53,8 @@ uses
UTime;
type
- TLyricsSyncSource = class(TSyncSource)
- function GetClock(): real; override;
+ TLyricsSyncSource = class(TInterfacedObject,ISyncSource)
+ function GetClock(): real;
end;
type