File indexing completed on 2024-05-26 04:32:39

0001 /*
0002  *  SPDX-FileCopyrightText: 2023 Florian Reiser <reiserfm@gmail.com>
0003  *
0004  *  SPDX-License-Identifier: LGPL-2.1-only
0005  *
0006  *  The sourcecode of this file was moved from recorder_export.cpp
0007  */
0008 
0009 #ifndef KRITA_RECORDER_EXPORT_SETTINGS_H
0010 #define KRITA_RECORDER_EXPORT_SETTINGS_H
0011 
0012 #include <QString>
0013 #include <QList>
0014 #include <QSize>
0015 #include "recorder_format.h"
0016 
0017 struct RecorderProfile
0018 {
0019     QString name;
0020     QString extension;
0021     QString arguments;
0022 };
0023 
0024 struct RecorderExportSettings {
0025 
0026     // The following settings are stored in the RecorderExportConfiguration
0027     bool resize = false;
0028     bool lockRatio = false;
0029     bool lockFps = false;
0030     bool resultPreview = true;
0031     bool extendResult = true;
0032     int inputFps = 30;
0033     int fps = 30;
0034     int profileIndex = 0;
0035     int firstFrameSec = 2;
0036     int lastFrameSec = 5;
0037     QSize size;
0038     QString ffmpegPath;
0039     QString videoDirectory;
0040     QList<RecorderProfile> profiles;
0041     QList<RecorderProfile> defaultProfiles;
0042 
0043 
0044     // The following are additional settings, which will not be serialized in
0045     // the RecorderExportConfiguration
0046     QString inputDirectory;
0047     RecorderFormat format;
0048     QSize imageSize;
0049 
0050     QString videoFileName;
0051     QString videoFilePath;
0052     int framesCount = 0;
0053 
0054     bool realTimeCaptureMode = false;
0055     bool realTimeCaptureModeWasSet = false;
0056 };
0057 
0058 
0059 #endif // KRITA_RECORDER_EXPORT_SETTINGS_H