Olive
Main Page
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
project
media.h
Go to the documentation of this file.
1
/***
2
3
Olive - Non-Linear Video Editor
4
Copyright (C) 2019 Olive Team
5
6
This program is free software: you can redistribute it and/or modify
7
it under the terms of the GNU General Public License as published by
8
the Free Software Foundation, either version 3 of the License, or
9
(at your option) any later version.
10
11
This program is distributed in the hope that it will be useful,
12
but WITHOUT ANY WARRANTY; without even the implied warranty of
13
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
GNU General Public License for more details.
15
16
You should have received a copy of the GNU General Public License
17
along with this program. If not, see <http://www.gnu.org/licenses/>.
18
19
***/
20
21
#ifndef MEDIA_H
22
#define MEDIA_H
23
24
#include <QList>
25
#include <QVariant>
26
#include <QIcon>
27
28
#include "
timeline/marker.h
"
29
#include "
project/footage.h
"
30
31
enum
MediaType
{
32
MEDIA_TYPE_FOOTAGE
,
33
MEDIA_TYPE_SEQUENCE
,
34
MEDIA_TYPE_FOLDER
35
};
36
37
class
Sequence
;
38
using
SequencePtr
= std::shared_ptr<Sequence>;
39
40
using
VoidPtr
= std::shared_ptr<void>;
41
42
class
Media
;
43
using
MediaPtr
= std::shared_ptr<Media>;
44
45
class
Media
46
{
47
public
:
48
Media
();
49
50
Footage
*
to_footage
();
51
SequencePtr
to_sequence
();
52
void
set_icon
(
const
QString& str);
53
void
set_icon
(
const
QIcon &ico);
54
void
set_footage
(
FootagePtr
f);
55
void
set_sequence
(
SequencePtr
s);
56
void
set_folder
();
57
void
set_parent
(
Media
* p);
58
void
update_tooltip
(
const
QString& error =
nullptr
);
59
VoidPtr
to_object
();
60
int
get_type
();
61
const
QString&
get_name
();
62
void
set_name
(
const
QString& n);
63
64
double
get_frame_rate
(
int
stream = -1);
65
int
get_sampling_rate
(
int
stream = -1);
66
67
// item functions
68
void
appendChild
(
MediaPtr
child
);
69
bool
setData
(
int
col,
const
QVariant &value);
70
Media
*
child
(
int
row
);
71
int
childCount
()
const
;
72
int
columnCount
()
const
;
73
QVariant
data
(
int
column,
int
role);
74
int
row
()
const
;
75
Media
*
parentItem
();
76
void
removeChild
(
int
i);
77
MediaPtr
get_shared_ptr
(
Media
* m);
78
79
// get markers from internal object
80
QVector<Marker>&
get_markers
();
81
82
bool
root
;
83
int
temp_id
;
84
int
temp_id2
;
85
86
private
:
87
int
type
;
88
VoidPtr
object
;
89
90
QString
GetStringDuration
();
91
92
// item functions
93
QList<MediaPtr>
children
;
94
Media
*
parent
;
95
QString
folder_name
;
96
QString
tooltip
;
97
QIcon
icon
;
98
};
99
100
#endif // MEDIA_H
Media::get_frame_rate
double get_frame_rate(int stream=-1)
Definition:
media.cpp:233
Media::set_sequence
void set_sequence(SequencePtr s)
Definition:
media.cpp:83
VoidPtr
std::shared_ptr< void > VoidPtr
Definition:
clipboard.h:31
Media::row
int row() const
Definition:
media.cpp:352
Media::get_shared_ptr
MediaPtr get_shared_ptr(Media *m)
Definition:
media.cpp:371
MediaPtr
std::shared_ptr< Media > MediaPtr
Definition:
media.h:43
Media::update_tooltip
void update_tooltip(const QString &error=nullptr)
Definition:
media.cpp:114
Media::set_name
void set_name(const QString &n)
Definition:
media.cpp:225
Media::Media
Media()
Definition:
media.cpp:64
Media::object
VoidPtr object
Definition:
media.h:88
Media::temp_id2
int temp_id2
Definition:
media.h:84
Media::parent
Media * parent
Definition:
media.h:94
Media::icon
QIcon icon
Definition:
media.h:97
FootagePtr
std::shared_ptr< Footage > FootagePtr
Definition:
footage.h:107
Media::folder_name
QString folder_name
Definition:
media.h:95
Media::set_icon
void set_icon(const QString &str)
Definition:
media.cpp:101
Media::get_name
const QString & get_name()
Definition:
media.cpp:217
Media::to_object
VoidPtr to_object()
Definition:
media.cpp:209
Media::get_markers
QVector< Marker > & get_markers()
Definition:
media.cpp:381
footage.h
Media::appendChild
void appendChild(MediaPtr child)
Definition:
media.cpp:259
Media::type
int type
Definition:
media.h:87
Media::temp_id
int temp_id
Definition:
media.h:83
Media
Definition:
media.h:45
MediaType
MediaType
Definition:
media.h:31
Media::tooltip
QString tooltip
Definition:
media.h:96
Media::set_parent
void set_parent(Media *p)
Definition:
media.cpp:110
Media::setData
bool setData(int col, const QVariant &value)
Definition:
media.cpp:264
Media::parentItem
Media * parentItem()
Definition:
media.cpp:363
Media::removeChild
void removeChild(int i)
Definition:
media.cpp:367
Media::get_type
int get_type()
Definition:
media.cpp:213
MEDIA_TYPE_SEQUENCE
Definition:
media.h:33
Media::children
QList< MediaPtr > children
Definition:
media.h:93
MEDIA_TYPE_FOLDER
Definition:
media.h:34
Media::childCount
int childCount() const
Definition:
media.cpp:279
Media::root
bool root
Definition:
media.h:82
Media::child
Media * child(int row)
Definition:
media.cpp:275
MEDIA_TYPE_FOOTAGE
Definition:
media.h:32
Sequence
Definition:
sequence.h:31
Media::columnCount
int columnCount() const
Definition:
media.cpp:283
Media::get_sampling_rate
int get_sampling_rate(int stream=-1)
Definition:
media.cpp:246
Media::to_sequence
SequencePtr to_sequence()
Definition:
media.cpp:74
Footage
Definition:
footage.h:68
Media::to_footage
Footage * to_footage()
Definition:
media.cpp:70
Media::data
QVariant data(int column, int role)
Definition:
media.cpp:305
Media::GetStringDuration
QString GetStringDuration()
Definition:
media.cpp:287
Media::set_footage
void set_footage(FootagePtr f)
Definition:
media.cpp:78
marker.h
SequencePtr
std::shared_ptr< Sequence > SequencePtr
Definition:
media.h:38
Media::set_folder
void set_folder()
Definition:
media.cpp:92
Generated by
1.8.5