using System.Collections.Generic; namespace Jellyfin.Plugin.JellyLMS.Models; /// /// Represents an LMS player/zone. /// public class LmsPlayer { /// /// Gets or sets the player's display name. /// public string Name { get; set; } = string.Empty; /// /// Gets or sets the player's MAC address (unique identifier). /// public string MacAddress { get; set; } = string.Empty; /// /// Gets or sets the player's IP address. /// public string IpAddress { get; set; } = string.Empty; /// /// Gets or sets a value indicating whether the player is connected to LMS. /// public bool IsConnected { get; set; } /// /// Gets or sets a value indicating whether the player is powered on. /// public bool IsPoweredOn { get; set; } /// /// Gets or sets the player's current volume (0-100). /// public int Volume { get; set; } /// /// Gets or sets the player model name. /// public string Model { get; set; } = string.Empty; /// /// Gets or sets the MAC address of the sync master, if this player is synced. /// public string? SyncMaster { get; set; } /// /// Gets or sets the list of synced player MAC addresses (if this is a sync master). /// public List SyncSlaves { get; set; } = []; /// /// Gets a value indicating whether this player is part of a sync group. /// public bool IsSynced => !string.IsNullOrEmpty(SyncMaster) || SyncSlaves.Count > 0; }