// Copyright (c) Arlo Godfrey. All Rights Reserved.
// Licensed under the GNU Lesser General Public License, Version 3.0 with additional terms.
// See the LICENSE, LICENSE.LESSER and LICENSE.ADDITIONAL files in the project root for more information.
using System;
using StrixMusic.Sdk.BaseModels;
namespace StrixMusic.Sdk.ViewModels.Helpers.Comparers
{
///
/// Compares the duration/>.
///
public sealed class DurationComparer : InversableComparer
where TPlayableBase : IPlayableBase
{
///
/// Initializes a new instance of the class.
///
/// Sets if the comparer operates in descending order.
public DurationComparer(bool isDescending = false) : base(isDescending)
{
}
///
public override int Compare(TPlayableBase x, TPlayableBase y)
{
int value = TimeSpan.Compare(x.Duration, y.Duration);
return IsDescending ? -value : value;
}
}
}