File indexing completed on 2024-04-28 04:49:19

0001 /*
0002  * SPDX-FileCopyrightText: 2023 George Florea Bănuș <georgefb899@gmail.com>
0003  *
0004  * SPDX-License-Identifier: GPL-3.0-or-later
0005  */
0006 
0007 #ifndef MPVPROPERTIES_H
0008 #define MPVPROPERTIES_H
0009 
0010 #include <QObject>
0011 
0012 class MpvProperties : public QObject
0013 {
0014     Q_OBJECT
0015 
0016 public:
0017     static MpvProperties *self()
0018     {
0019         static MpvProperties p;
0020         return &p;
0021     }
0022 
0023     Q_PROPERTY(QString Pause MEMBER Pause CONSTANT)
0024     const QString Pause{QStringLiteral("pause")};
0025 
0026     Q_PROPERTY(QString Volume MEMBER Volume CONSTANT)
0027     const QString Volume{QStringLiteral("volume")};
0028 
0029     Q_PROPERTY(QString VolumeMax MEMBER VolumeMax CONSTANT)
0030     const QString VolumeMax{QStringLiteral("volume-max")};
0031 
0032     Q_PROPERTY(QString HardwareDecoding MEMBER HardwareDecoding CONSTANT)
0033     const QString HardwareDecoding{QStringLiteral("hwdec")};
0034 
0035     Q_PROPERTY(QString Position MEMBER Position CONSTANT)
0036     const QString Position{QStringLiteral("time-pos")};
0037 
0038     Q_PROPERTY(QString Duration MEMBER Duration CONSTANT)
0039     const QString Duration{QStringLiteral("duration")};
0040 
0041     Q_PROPERTY(QString Remaining MEMBER Remaining CONSTANT)
0042     const QString Remaining{QStringLiteral("time-remaining")};
0043 
0044     Q_PROPERTY(QString Mute MEMBER Mute CONSTANT)
0045     const QString Mute{QStringLiteral("mute")};
0046 
0047     Q_PROPERTY(QString Deinterlace MEMBER Deinterlace CONSTANT)
0048     const QString Deinterlace{QStringLiteral("deinterlace")};
0049 
0050     Q_PROPERTY(QString Chapter MEMBER Chapter CONSTANT)
0051     const QString Chapter{QStringLiteral("chapter")};
0052 
0053     Q_PROPERTY(QString ChapterList MEMBER ChapterList CONSTANT)
0054     const QString ChapterList{QStringLiteral("chapter-list")};
0055 
0056     Q_PROPERTY(QString TrackList MEMBER TrackList CONSTANT)
0057     const QString TrackList{QStringLiteral("track-list")};
0058 
0059     Q_PROPERTY(QString MediaTitle MEMBER MediaTitle CONSTANT)
0060     const QString MediaTitle{QStringLiteral("media-title")};
0061 
0062     Q_PROPERTY(QString AudioId MEMBER AudioId CONSTANT)
0063     const QString AudioId{QStringLiteral("aid")};
0064 
0065     Q_PROPERTY(QString AudioClientName MEMBER AudioClientName CONSTANT)
0066     const QString AudioClientName{QStringLiteral("audio-client-name")};
0067 
0068     Q_PROPERTY(QString AudioLanguage MEMBER AudioLanguage CONSTANT)
0069     const QString AudioLanguage{QStringLiteral("alang")};
0070 
0071     Q_PROPERTY(QString AudioFileAuto MEMBER AudioFileAuto CONSTANT)
0072     const QString AudioFileAuto{QStringLiteral("audio-file-auto")};
0073 
0074     Q_PROPERTY(QString AudioPitchCorection MEMBER AudioPitchCorection CONSTANT)
0075     const QString AudioPitchCorection{QStringLiteral("audio-pitch-correction")};
0076 
0077     Q_PROPERTY(QString AudioDisplay MEMBER AudioDisplay CONSTANT)
0078     const QString AudioDisplay{QStringLiteral("audio-display")};
0079 
0080     Q_PROPERTY(QString SubtitleId MEMBER SubtitleId CONSTANT)
0081     const QString SubtitleId{QStringLiteral("sid")};
0082 
0083     Q_PROPERTY(QString SecondarySubtitleId MEMBER SecondarySubtitleId CONSTANT)
0084     const QString SecondarySubtitleId{QStringLiteral("secondary-sid")};
0085 
0086     Q_PROPERTY(QString SubtitleLanguage MEMBER SubtitleLanguage CONSTANT)
0087     const QString SubtitleLanguage{QStringLiteral("slang")};
0088 
0089     Q_PROPERTY(QString SubtitleDelay MEMBER SubtitleDelay CONSTANT)
0090     const QString SubtitleDelay{QStringLiteral("sub-delay")};
0091 
0092     Q_PROPERTY(QString SubtitleVisibility MEMBER SubtitleVisibility CONSTANT)
0093     const QString SubtitleVisibility{QStringLiteral("sub-visibility")};
0094 
0095     Q_PROPERTY(QString SubtitleScale MEMBER SubtitleScale CONSTANT)
0096     const QString SubtitleScale{QStringLiteral("sub-scale")};
0097 
0098     Q_PROPERTY(QString SubtitleFilePaths MEMBER SubtitleFilePaths CONSTANT)
0099     const QString SubtitleFilePaths{QStringLiteral("sub-file-paths")};
0100 
0101     Q_PROPERTY(QString SubtitleAuto MEMBER SubtitleAuto CONSTANT)
0102     const QString SubtitleAuto{QStringLiteral("sub-auto")};
0103 
0104     Q_PROPERTY(QString SubtitleFont MEMBER SubtitleFont CONSTANT)
0105     const QString SubtitleFont{QStringLiteral("sub-font")};
0106 
0107     Q_PROPERTY(QString SubtitleFontSize MEMBER SubtitleFontSize CONSTANT)
0108     const QString SubtitleFontSize{QStringLiteral("sub-font-size")};
0109 
0110     Q_PROPERTY(QString SubtitleColor MEMBER SubtitleColor CONSTANT)
0111     const QString SubtitleColor{QStringLiteral("sub-color")};
0112 
0113     Q_PROPERTY(QString SubtitleShadowColor MEMBER SubtitleShadowColor CONSTANT)
0114     const QString SubtitleShadowColor{QStringLiteral("sub-shadow-color")};
0115 
0116     Q_PROPERTY(QString SubtitleShadowOffset MEMBER SubtitleShadowOffset CONSTANT)
0117     const QString SubtitleShadowOffset{QStringLiteral("sub-shadow-offset")};
0118 
0119     Q_PROPERTY(QString SubtitleBorderColor MEMBER SubtitleBorderColor CONSTANT)
0120     const QString SubtitleBorderColor{QStringLiteral("sub-border-color")};
0121 
0122     Q_PROPERTY(QString SubtitleBorderSize MEMBER SubtitleBorderSize CONSTANT)
0123     const QString SubtitleBorderSize{QStringLiteral("sub-border-size")};
0124 
0125     Q_PROPERTY(QString SubtitleBold MEMBER SubtitleBold CONSTANT)
0126     const QString SubtitleBold{QStringLiteral("sub-bold")};
0127 
0128     Q_PROPERTY(QString SubtitleItalic MEMBER SubtitleItalic CONSTANT)
0129     const QString SubtitleItalic{QStringLiteral("sub-italic")};
0130 
0131     Q_PROPERTY(QString SubtitleUseMargins MEMBER SubtitleUseMargins CONSTANT)
0132     const QString SubtitleUseMargins{QStringLiteral("sub-use-margins")};
0133 
0134     Q_PROPERTY(QString SubtitleAssForceMargins MEMBER SubtitleAssForceMargins CONSTANT)
0135     const QString SubtitleAssForceMargins{QStringLiteral("sub-ass-force-margins")};
0136 
0137     Q_PROPERTY(QString ScreenshotFormat MEMBER ScreenshotFormat CONSTANT)
0138     const QString ScreenshotFormat{QStringLiteral("screenshot-format")};
0139 
0140     Q_PROPERTY(QString ScreenshotTemplate MEMBER ScreenshotTemplate CONSTANT)
0141     const QString ScreenshotTemplate{QStringLiteral("screenshot-template")};
0142 
0143     Q_PROPERTY(QString VideoId MEMBER VideoId CONSTANT)
0144     const QString VideoId{QStringLiteral("vid")};
0145 
0146     Q_PROPERTY(QString VideoZoom MEMBER VideoZoom CONSTANT)
0147     const QString VideoZoom{QStringLiteral("video-zoom")};
0148 
0149     Q_PROPERTY(QString VideoPanX MEMBER VideoPanX CONSTANT)
0150     const QString VideoPanX{QStringLiteral("video-pan-x")};
0151 
0152     Q_PROPERTY(QString VideoPanY MEMBER VideoPanY CONSTANT)
0153     const QString VideoPanY{QStringLiteral("video-pan-y")};
0154 
0155     Q_PROPERTY(QString Width MEMBER Width CONSTANT)
0156     const QString Width{QStringLiteral("width")};
0157 
0158     Q_PROPERTY(QString Height MEMBER Height CONSTANT)
0159     const QString Height{QStringLiteral("height")};
0160 
0161     Q_PROPERTY(QString LoopFile MEMBER LoopFile CONSTANT)
0162     const QString LoopFile{QStringLiteral("loop-file")};
0163 
0164     Q_PROPERTY(QString ABLoopA MEMBER ABLoopA CONSTANT)
0165     const QString ABLoopA{QStringLiteral("ab-loop-a")};
0166 
0167     Q_PROPERTY(QString ABLoopB MEMBER ABLoopB CONSTANT)
0168     const QString ABLoopB{QStringLiteral("ab-loop-b")};
0169 
0170     Q_PROPERTY(QString YtdlFormat MEMBER YtdlFormat CONSTANT)
0171     const QString YtdlFormat{QStringLiteral("ytdl-format")};
0172 
0173     Q_PROPERTY(QString ScriptOpts MEMBER ScriptOpts CONSTANT)
0174     const QString ScriptOpts{QStringLiteral("script-opts")};
0175 
0176     Q_PROPERTY(QString ReallyQuiet MEMBER ReallyQuiet CONSTANT)
0177     const QString ReallyQuiet{QStringLiteral("really-quiet")};
0178 
0179     Q_PROPERTY(QString AccurateSeek MEMBER AccurateSeek CONSTANT)
0180     const QString AccurateSeek{QStringLiteral("hr-seek")};
0181 
0182     Q_PROPERTY(QString OsdLevel MEMBER OsdLevel CONSTANT)
0183     const QString OsdLevel{QStringLiteral("level")};
0184 
0185     Q_PROPERTY(QString UseTextOsd MEMBER UseTextOsd CONSTANT)
0186     const QString UseTextOsd{QStringLiteral("use-text-osd")};
0187 
0188     Q_PROPERTY(QString Speed MEMBER Speed CONSTANT)
0189     const QString Speed{QStringLiteral("speed")};
0190 
0191     Q_PROPERTY(QString Contrast MEMBER Contrast CONSTANT)
0192     const QString Contrast{QStringLiteral("contrast")};
0193 
0194     Q_PROPERTY(QString Brightness MEMBER Brightness CONSTANT)
0195     const QString Brightness{QStringLiteral("brightness")};
0196 
0197     Q_PROPERTY(QString Gamma MEMBER Gamma CONSTANT)
0198     const QString Gamma{QStringLiteral("gamma")};
0199 
0200     Q_PROPERTY(QString Saturation MEMBER Saturation CONSTANT)
0201     const QString Saturation{QStringLiteral("saturation")};
0202 
0203     Q_PROPERTY(QString Terminal MEMBER Terminal CONSTANT)
0204     const QString Terminal{QStringLiteral("terminal")};
0205 
0206     Q_PROPERTY(QString AspectRatio MEMBER AspectRatio CONSTANT)
0207     const QString AspectRatio{QStringLiteral("video-params/aspect")};
0208 
0209 private:
0210     explicit MpvProperties(QObject *parent = nullptr)
0211         : QObject(parent)
0212     {
0213     }
0214 
0215     MpvProperties(const MpvProperties &) = delete;
0216     MpvProperties &operator=(const MpvProperties &) = delete;
0217     MpvProperties(MpvProperties &&) = delete;
0218     MpvProperties &operator=(MpvProperties &&) = delete;
0219 };
0220 
0221 #endif // MPVPROPERTIES_H