using PepperDash.Core;
using PepperDash.Essentials.Core;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace PepperDash.Essentials.Devices.Common.Codec.Cisco
{
///
/// Describes the available tracking modes for a Cisco codec's Presenter Track feature.
///
public enum ePresenterTrackMode
{
///
/// Presenter Track is turned off.
///
Off,
///
/// Presenter Track follows the speaker's movements.
///
Follow,
///
/// Presenter Track is set to background mode, where it tracks the speaker but does not actively follow.
///
Background,
///
/// Presenter Track is set to persistent mode, where it maintains a fixed position or focus on the speaker.
///
Persistent
}
///
/// Describes the Presenter Track controls for a Cisco codec.
///
public interface IPresenterTrack : IKeyed
{
///
///
///
bool PresenterTrackAvailability { get; }
///
/// Feedback indicating whether Presenter Track is available.
///
BoolFeedback PresenterTrackAvailableFeedback { get; }
///
/// Feedback indicating the current status of Presenter Track is off
///
BoolFeedback PresenterTrackStatusOffFeedback { get; }
///
/// Feedback indicating the current status of Presenter Track is follow
///
BoolFeedback PresenterTrackStatusFollowFeedback { get; }
///
/// Feedback indicating the current status of Presenter Track is background
///
BoolFeedback PresenterTrackStatusBackgroundFeedback { get; }
///
/// Feedback indicating the current status of Presenter Track is persistent
///
BoolFeedback PresenterTrackStatusPersistentFeedback { get; }
///
/// Indicates the current status of Presenter Track.
///
bool PresenterTrackStatus { get; }
///
/// Turns off Presenter Track.
///
void PresenterTrackOff();
///
/// Turns on Presenter Track in follow mode.
///
void PresenterTrackFollow();
///
/// Turns on Presenter Track in background mode.
///
void PresenterTrackBackground();
///
/// Turns on Presenter Track in persistent mode.
///
void PresenterTrackPersistent();
}
}