public void Pause_ShouldPauseTransitionAndStartAgainWithContinueToPlay() { var play = CreateAudioMaterial(); var stop = CreateAudioMaterial("short"); play.Stop(); stop.Volume = 100; var transition = new LinearTransition(play, stop); transition.StartTransition(1); Assert.AreEqual(50, play.Volume); Assert.AreEqual(50, stop.Volume); Thread.Sleep(1000); transition.Pause(); Assert.IsTrue(play.Position.TotalSeconds > 0.5 && play.Position.TotalSeconds < 1.5); Thread.Sleep(1000); Assert.IsTrue(play.Position.TotalSeconds > 0.5 && play.Position.TotalSeconds < 1.5); transition.ContinueToPlay(); Thread.Sleep(1000); Assert.IsTrue(play.Position.TotalSeconds > 1.5 && play.Position.TotalSeconds < 2.5); transition.DoStep(); Assert.IsTrue(transition.Finished); Assert.AreEqual(100, play.Volume); Assert.AreEqual(0, stop.Volume); play.Dispose(); }
public static TransformTransition Create(AffineTransform deltaTransform, AffineTransform velocityTransform, float durationInSeconds, float deltaTime) { float inverseDeltaTime = 0.0f; if (deltaTime > epsilon) { inverseDeltaTime = math.rcp(deltaTime); } var linear = LinearTransition.Create( deltaTransform.t, velocityTransform.t, durationInSeconds, inverseDeltaTime); var angular = AngularTransition.Create( deltaTransform.q, velocityTransform.q, durationInSeconds, inverseDeltaTime); return(new TransformTransition { linear = linear, angular = angular }); }
public void StartTransition_ShouldThrowExceptionIfDurationGreatherThanTrackToPlayTime() { var play = CreateAudioMaterial(); var stop = CreateAudioMaterial("short"); stop.Volume = 100; var transition = new LinearTransition(play, stop); transition.StartTransition(95); }
public void Constructor_ShouldCreateTransitionWithOnlyTrackToStop() { var stop = CreateAudioMaterial("short"); var transition = new LinearTransition(null, stop); Assert.IsNull(transition.TrackToPlay); Assert.AreEqual(stop, transition.TrackToStop); stop.Dispose(); }
public void Constructor_ShouldCreateTransitionWithBothTracks() { var play = CreateAudioMaterial(); var stop = CreateAudioMaterial("short"); var transition = new LinearTransition(play, stop); Assert.AreSame(play, transition.TrackToPlay); Assert.AreEqual(stop, transition.TrackToStop); play.Dispose(); stop.Dispose(); }
public void Cancel_TransitionShouldDisposeTrackToPlay() { var play = CreateAudioMaterial(); var stop = CreateAudioMaterial("short"); stop.Volume = 100; var transition = new LinearTransition(play, stop); transition.CancelTransition(); stop.Dispose(); play.Dispose(); }
public void StartTransition_ShouldDisposeTrackToStopWhenFinished() { var play = CreateAudioMaterial(); var stop = CreateAudioMaterial("short"); stop.Volume = 100; var transition = new LinearTransition(play, stop); transition.StartTransition(1); transition.DoStep(); play.Dispose(); stop.Dispose(); }
public void StartTransiton_ShouldDoTransitionWithOnlyTrackToStop() { var stop = CreateAudioMaterial("short"); stop.Volume = 100; var transition = new LinearTransition(null, stop); transition.StartTransition(1); Assert.AreEqual(50, stop.Volume); transition.DoStep(); Assert.IsTrue(transition.Finished); Assert.AreEqual(0, stop.Volume); }
public void StartTransition_ShouldDoTransitionWithBothTracks() { var play = CreateAudioMaterial(); var stop = CreateAudioMaterial("short"); stop.Volume = 100; var transition = new LinearTransition(play, stop); transition.StartTransition(1); Assert.AreEqual(50, play.Volume); Assert.AreEqual(50, stop.Volume); transition.DoStep(); Assert.IsTrue(transition.Finished); Assert.AreEqual(100, play.Volume); Assert.AreEqual(0, stop.Volume); play.Dispose(); }