// 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;
using StrixMusic.Sdk.CoreModels;
using StrixMusic.Sdk.MediaPlayback;
namespace StrixMusic.Sdk.AppModels
{
///
/// A device that controls playback of an audio player.
///
public interface IDevice : IDeviceBase, IAppModel
{
///
/// The core that created this device, if any.
///
ICore? SourceCore { get; }
///
/// The original implementation, if any.
///
ICoreDevice? Source { get; }
///
/// The complete list of tracks that are queued to play.
///
ITrackCollection? PlaybackQueue { get; }
///
/// The currently playing track.
///
PlaybackItem? NowPlaying { get; }
///
/// Fires when changes.
///
event EventHandler? NowPlayingChanged;
}
}