OpenShot Library | libopenshot
0.2.3
Main Page
Namespaces
Classes
Files
File List
File Members
include
Settings.h
Go to the documentation of this file.
1
/**
2
* @file
3
* @brief Header file for global Settings class
4
* @author Jonathan Thomas <jonathan@openshot.org>
5
*
6
* @section LICENSE
7
*
8
* Copyright (c) 2008-2014 OpenShot Studios, LLC
9
* <http://www.openshotstudios.com/>. This file is part of
10
* OpenShot Library (libopenshot), an open-source project dedicated to
11
* delivering high quality video editing and animation solutions to the
12
* world. For more information visit <http://www.openshot.org/>.
13
*
14
* OpenShot Library (libopenshot) is free software: you can redistribute it
15
* and/or modify it under the terms of the GNU Lesser General Public License
16
* as published by the Free Software Foundation, either version 3 of the
17
* License, or (at your option) any later version.
18
*
19
* OpenShot Library (libopenshot) is distributed in the hope that it will be
20
* useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
21
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22
* GNU Lesser General Public License for more details.
23
*
24
* You should have received a copy of the GNU Lesser General Public License
25
* along with OpenShot Library. If not, see <http://www.gnu.org/licenses/>.
26
*/
27
28
#ifndef OPENSHOT_SETTINGS_H
29
#define OPENSHOT_SETTINGS_H
30
31
32
#include "JuceLibraryCode/JuceHeader.h"
33
#include <iostream>
34
#include <iomanip>
35
#include <fstream>
36
#include <stdlib.h>
37
#include <string>
38
#include <sstream>
39
#include <stdio.h>
40
#include <time.h>
41
#include <zmq.hpp>
42
#include <unistd.h>
43
44
45
using namespace
std;
46
47
namespace
openshot {
48
49
/**
50
* @brief This class is contains settings used by libopenshot (and can be safely toggled at any point)
51
*
52
* Settings class is used primarily to toggle scale settings between preview and rendering, and adjust
53
* other runtime related settings.
54
*/
55
class
Settings
{
56
private
:
57
58
/// Default constructor
59
Settings
(){};
// Don't allow user to create an instance of this singleton
60
61
#if __GNUC__ >=7
62
/// Default copy method
63
Settings
(
Settings
const
&) =
delete
;
// Don't allow the user to assign this instance
64
65
/// Default assignment operator
66
Settings
& operator=(
Settings
const
&) =
delete
;
// Don't allow the user to assign this instance
67
#else
68
/// Default copy method
69
Settings
(
Settings
const
&) {};
// Don't allow the user to assign this instance
70
71
/// Default assignment operator
72
Settings
& operator=(
Settings
const
&);
// Don't allow the user to assign this instance
73
#endif
74
75
/// Private variable to keep track of singleton instance
76
static
Settings
* m_pInstance;
77
78
public
:
79
/// Use video card for faster video decoding (if supported)
80
bool
HARDWARE_DECODE =
false
;
81
82
/// Use video card for faster video encoding (if supported)
83
bool
HARDWARE_ENCODE =
false
;
84
85
/// Scale mode used in FFmpeg decoding and encoding (used as an optimization for faster previews)
86
bool
HIGH_QUALITY_SCALING =
false
;
87
88
/// Maximum width for image data (useful for optimzing for a smaller preview or render)
89
int
MAX_WIDTH = 0;
90
91
/// Maximum height for image data (useful for optimzing for a smaller preview or render)
92
int
MAX_HEIGHT = 0;
93
94
/// Wait for OpenMP task to finish before continuing (used to limit threads on slower systems)
95
bool
WAIT_FOR_VIDEO_PROCESSING_TASK =
false
;
96
97
/// Create or get an instance of this logger singleton (invoke the class with this method)
98
static
Settings
* Instance();
99
};
100
101
}
102
103
#endif
openshot::Settings
This class is contains settings used by libopenshot (and can be safely toggled at any point) ...
Definition:
Settings.h:55
Generated on Thu Mar 21 2019 07:37:04 for OpenShot Library | libopenshot by
1.8.6