using System.Collections.Generic; using Newtonsoft.Json; namespace PepperDash.Essentials { /// /// Represents a Volumes /// public class Volumes { /// /// Gets or sets the Master /// [JsonProperty("master", NullValueHandling = NullValueHandling.Ignore)] public Volume Master { get; set; } /// /// Aux Faders as configured in the room /// [JsonProperty("auxFaders", NullValueHandling = NullValueHandling.Ignore)] public Dictionary AuxFaders { get; set; } /// /// Count of aux faders for this system /// [JsonProperty("numberOfAuxFaders", NullValueHandling = NullValueHandling.Ignore)] public int? NumberOfAuxFaders { get; set; } } /// /// Represents a Volume /// public class Volume { /// /// Gets or sets the Key /// [JsonProperty("key", NullValueHandling = NullValueHandling.Ignore)] public string Key { get; set; } /// /// Level for this volume object /// [JsonProperty("level", NullValueHandling = NullValueHandling.Ignore)] public int? Level { get; set; } /// /// True if this volume control is muted /// [JsonProperty("muted", NullValueHandling = NullValueHandling.Ignore)] public bool? Muted { get; set; } /// /// Gets or sets the Label /// [JsonProperty("label", NullValueHandling = NullValueHandling.Ignore)] public string Label { get; set; } /// /// True if this volume object has mute control /// [JsonProperty("hasMute", NullValueHandling = NullValueHandling.Ignore)] public bool? HasMute { get; set; } /// /// True if this volume object has Privacy mute control /// [JsonProperty("hasPrivacyMute", NullValueHandling = NullValueHandling.Ignore)] public bool? HasPrivacyMute { get; set; } /// /// True if the privacy mute is muted /// [JsonProperty("privacyMuted", NullValueHandling = NullValueHandling.Ignore)] public bool? PrivacyMuted { get; set; } /// /// Gets or sets the MuteIcon /// [JsonProperty("muteIcon", NullValueHandling = NullValueHandling.Ignore)] public string MuteIcon { get; set; } /// /// Create an instance of the class /// /// The key for this volume object /// The level for this volume object /// True if this volume control is muted /// The label for this volume object /// True if this volume object has mute control /// The mute icon for this volume object public Volume(string key, int level, bool muted, string label, bool hasMute, string muteIcon) : this(key) { Level = level; Muted = muted; Label = label; HasMute = hasMute; MuteIcon = muteIcon; } /// /// Create an instance of the class /// /// The key for this volume object /// The level for this volume object public Volume(string key, int level) : this(key) { Level = level; } /// /// Create an instance of the class /// /// The key for this volume object /// True if this volume control is muted public Volume(string key, bool muted) : this(key) { Muted = muted; } /// /// Create an instance of the class /// /// The key for this volume object public Volume(string key) { Key = key; } } }