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;
}
}
}