14#ifdef DEFINE_FLAGS_ENUM
15#define FLAGS_PREAMBLE(NAME, TYPE) \
17#define FLAGS_POSTAMBLE(NAME, TYPE) \
19 using NAME##Type = TYPE;
20#define FLAGS_DATA(PREFIX, NAME, VALUE) \
21 PREFIX##_##NAME = (VALUE),
24#ifdef DEFINE_FLAGS_NAMES
25#define FLAGS_PREAMBLE(NAME, TYPE) \
26 static const QMap<TYPE,QString> NAME##Names {
27#define FLAGS_POSTAMBLE(NAME, TYPE) \
29#define FLAGS_DATA(PREFIX, NAME, VALUE) \
39FLAGS_PREAMBLE(ProgramFlag, uint32_t)
40FLAGS_DATA(FL,
NONE, 0x00000000)
41FLAGS_DATA(FL, COMMFLAG, 0x00000001)
42FLAGS_DATA(FL, CUTLIST, 0x00000002)
43FLAGS_DATA(FL, AUTOEXP, 0x00000004)
44FLAGS_DATA(FL, EDITING, 0x00000008)
45FLAGS_DATA(FL, BOOKMARK, 0x00000010)
46FLAGS_DATA(FL, REALLYEDITING, 0x00000020)
47FLAGS_DATA(FL, COMMPROCESSING, 0x00000040)
48FLAGS_DATA(FL, DELETEPENDING, 0x00000080)
49FLAGS_DATA(FL, TRANSCODED, 0x00000100)
50FLAGS_DATA(FL, WATCHED, 0x00000200)
51FLAGS_DATA(FL, PRESERVED, 0x00000400)
52FLAGS_DATA(FL, CHANCOMMFREE, 0x00000800)
53FLAGS_DATA(FL, REPEAT, 0x00001000)
54FLAGS_DATA(FL, DUPLICATE, 0x00002000)
55FLAGS_DATA(FL, REACTIVATE, 0x00004000)
56FLAGS_DATA(FL, IGNOREBOOKMARK, 0x00008000)
57FLAGS_DATA(FL, IGNOREPROGSTART, 0x00010000)
58FLAGS_DATA(FL, IGNORELASTPLAYPOS,0x00020000)
59FLAGS_DATA(FL, LASTPLAYPOS, 0x00040000)
61FLAGS_DATA(FL, TYPEMASK, 0x00F00000)
62FLAGS_DATA(FL, INUSERECORDING, 0x01000000)
63FLAGS_DATA(FL, INUSEPLAYING, 0x02000000)
64FLAGS_DATA(FL, INUSEOTHER, 0x04000000)
65FLAGS_POSTAMBLE(ProgramFlag, uint32_t)
70FLAGS_PREAMBLE(AudioProps, uint8_t)
71FLAGS_DATA(AUD, UNKNOWN, 0x00)
72FLAGS_DATA(AUD, STEREO, 0x01)
73FLAGS_DATA(AUD, MONO, 0x02)
74FLAGS_DATA(AUD, SURROUND, 0x04)
75FLAGS_DATA(AUD, DOLBY, 0x08)
76FLAGS_DATA(AUD, HARDHEAR, 0x10)
77FLAGS_DATA(AUD, VISUALIMPAIR, 0x20)
78FLAGS_POSTAMBLE(AudioProps, uint8_t)
84FLAGS_DATA(VID, UNKNOWN, 0x000)
85FLAGS_DATA(VID, WIDESCREEN, 0x001)
86FLAGS_DATA(VID, HDTV, 0x002)
87FLAGS_DATA(VID, MPEG2, 0x004)
88FLAGS_DATA(VID, AVC, 0x008)
89FLAGS_DATA(VID, HEVC, 0x010)
90FLAGS_DATA(VID, 720, 0x020)
91FLAGS_DATA(VID, 1080, 0x040)
92FLAGS_DATA(VID, 4K, 0x080)
93FLAGS_DATA(VID, 3DTV, 0x100)
94FLAGS_DATA(VID, PROGRESSIVE, 0x200)
95FLAGS_DATA(VID, DAMAGED, 0x400)
101FLAGS_PREAMBLE(SubtitleProps, uint8_t)
102FLAGS_DATA(SUB, UNKNOWN, 0x00)
103FLAGS_DATA(SUB, HARDHEAR, 0x01)
104FLAGS_DATA(SUB, NORMAL, 0x02)
105FLAGS_DATA(SUB, ONSCREEN, 0x04)
106FLAGS_DATA(SUB, SIGNED, 0x08)
107FLAGS_POSTAMBLE(SubtitleProps, uint8_t)