Files
ChanSort/source/ChanSort.Api/Model/Enums.cs
Horst Beham 3139f3d9f4 Various changes and refactorings to integrate the suggested changes from pull-request https://github.com/PredatH0r/ChanSort/pull/358 to handle the distinction between IP-antenna, IP-cable, IP-sat and DVB-T, DVB-C, DVB-S for Panasonic TVs.
- SignalSource.IP is now treated as a broadcast system (distinguishing Analog/Dvb/Ip) and no longer a broadcast medium (like antenna/cable/sat).
- SignalSource.Digital was renamed to DVB
2023-06-03 10:38:11 +02:00

124 lines
2.7 KiB
C#

using System;
namespace ChanSort.Api
{
#region enum SignalSource
/// <summary>
/// Bitmask for channel and list classification.
/// An individual channel can only have one bit of each group set.
/// A ChannelList can have multiple bits set to indicate which type of channels it can hold.
/// </summary>
[Flags]
public enum SignalSource
{
Any = 0,
// bit 0-1, 7: analog/dvb/ip
Analog = 0x0001,
Dvb = 0x0002,
Ip = 0x0080,
MaskBcastSystem = Analog | Dvb | Ip,
// bit 3-6: AvInput/Antenna/Cable/Sat
AvInput = 0x0008,
Antenna = 0x0010,
Cable = 0x0020,
Sat = 0x0040,
MaskBcastMedium = AvInput | Antenna | Cable | Sat,
MaskBcast = MaskBcastSystem | MaskBcastMedium,
// bit 8-10: TV/Radio/Data
Tv = 0x0100,
Radio = 0x0200,
Data = 0x0400,
MaskTvRadioData = Tv | Radio | Data,
TvAndData = Tv | Data,
// bit 12-15: Preset list selector (AstraHD+, Freesat, TivuSat, CanalDigitalSat, ... for Samsung)
MaskProvider = 0xF000,
Provider0 = 0 << 12,
Provider1 = 1 << 12,
Provider2 = 2 << 12,
Provider3 = 3 << 12,
Provider4 = 4 << 12,
StandardSat = 0 << 12,
AstraHdPlus = 1 << 12,
Freesat = 2 << 12,
TivuSat = 3 << 12,
CanalDigital = 4 << 12,
DigitalPlus = 5 << 12,
CyfraPlus = 6 << 12,
StandardCable = 0 << 12,
CablePrime = 1 << 12,
// some predefined combinations
AnalogC = Analog | Cable,
AnalogT = Analog | Antenna,
AnalogCT = Analog | Cable | Antenna,
DvbC = Dvb | Cable,
DvbT = Dvb | Antenna,
DvbCT = Dvb | Cable | Antenna,
DvbS = Dvb | Sat,
IpAntenna = Ip | Antenna,
IpCable = Ip | Cable,
IpSat = Ip | Sat,
IpAll = Ip | Antenna | Cable | Sat,
CablePrimeD = Dvb | Cable | CablePrime,
HdPlusD = Dvb | Sat | AstraHdPlus,
FreesatD = Dvb | Sat | Freesat,
TivuSatD = Dvb | Sat | TivuSat,
CanalDigitalSatD = Dvb | Sat | CanalDigital,
DigitalPlusD = Dvb | Sat | DigitalPlus,
CyfraPlusD = Dvb | Sat | CyfraPlus,
All = MaskBcastSystem | MaskBcastMedium | MaskTvRadioData
}
#endregion
#region enum Favorites
[Flags]
public enum Favorites : byte { A = 0x01, B = 0x02, C = 0x04, D = 0x08, E = 0x10, F=0x20, G=0x40, H=0x80 }
#endregion
#region enum FavoritesMode
public enum FavoritesMode
{
NotInitialized = 0,
None = 1,
Flags = 2,
OrderedPerSource = 3,
MixedSource = 4
}
#endregion
#region enum UnsortedChannelMode
public enum UnsortedChannelMode
{
AppendInOrder=0,
AppendAlphabetically=1,
Delete=2
}
#endregion
#region ChannelNameEditMode
[Flags]
public enum ChannelNameEditMode
{
None = 0x00,
Analog = 0x01,
Digital = 0x02,
All = Analog|Digital
}
#endregion
}