2#include <Process/Drop/ProcessDropHandler.hpp>
3#include <Process/GenericProcessFactory.hpp>
4#include <Process/Process.hpp>
6#include <Gfx/CommandFactory.hpp>
7#include <Gfx/Graph/Scale.hpp>
8#include <Gfx/Video/Metadata.hpp>
9#include <Library/LibraryInterface.hpp>
10#include <Video/VideoEnums.hpp>
11#include <Video/VideoDecoder.hpp>
13#include <score/command/PropertyCommand.hpp>
15#include <score_plugin_gfx_export.h>
21 SCORE_SERIALIZE_FRIENDS
30 template <
typename Impl>
31 Model(Impl& vis, QObject* parent)
39 std::shared_ptr<video_decoder> makeDecoder()
const noexcept;
41 QString absolutePath()
const noexcept;
42 QString path()
const noexcept {
return m_path; }
43 void setPath(
const QString& f);
44 void pathChanged(
const QString& f) W_SIGNAL(pathChanged, f);
48 double nativeTempo()
const noexcept;
49 void setNativeTempo(
double);
50 void nativeTempoChanged(
double t) W_SIGNAL(nativeTempoChanged, t);
60 ::Video::OutputFormat outputFormat()
const noexcept;
61 void setOutputFormat(::Video::OutputFormat);
62 void outputFormatChanged(::Video::OutputFormat t) W_SIGNAL(outputFormatChanged, t);
64 ::Video::Tonemap tonemap()
const noexcept;
65 void setTonemap(::Video::Tonemap);
66 void tonemapChanged(::Video::Tonemap t) W_SIGNAL(tonemapChanged, t);
68 bool ignoreTempo()
const noexcept;
69 void setIgnoreTempo(
bool);
70 void ignoreTempoChanged(
bool t) W_SIGNAL(ignoreTempoChanged, t);
74 scaleMode READ scaleMode WRITE setScaleMode NOTIFY scaleModeChanged)
77 playbackMode READ playbackMode WRITE setPlaybackMode NOTIFY playbackModeChanged)
79 ::Video::OutputFormat,
80 outputFormat READ outputFormat WRITE setOutputFormat NOTIFY outputFormatChanged)
83 tonemap READ tonemap WRITE setTonemap NOTIFY tonemapChanged)
85 PROPERTY(QString, path READ path WRITE setPath NOTIFY pathChanged)
88 nativeTempo READ nativeTempo WRITE setNativeTempo NOTIFY nativeTempoChanged,
91 bool, ignoreTempo READ ignoreTempo WRITE setIgnoreTempo NOTIFY ignoreTempoChanged,
98 ::Video::OutputFormat m_outputFormat{};
99 ::Video::Tonemap m_tonemap{};
100 double m_nativeTempo{};
101 bool m_ignoreTempo{};
108 SCORE_CONCRETE(
"be66d573-571f-4c33-9f60-0791f53c7266")
110 QSet<QString> acceptedFiles()
const noexcept override;
115 SCORE_CONCRETE(
"12d1ed39-0fac-43da-8520-b7e32f9fad7d")
118 QSet<QString> mimeTypes()
const noexcept override;
119 QSet<QString> fileExtensions()
const noexcept override;
127PROPERTY_COMMAND_T(
Gfx, ChangeVideo, Video::Model::p_path,
"Change video")
128SCORE_COMMAND_DECL_T(
Gfx::ChangeVideo)
129PROPERTY_COMMAND_T(
Gfx, ChangeTempo, Video::Model::p_nativeTempo, "Change video tempo")
130SCORE_COMMAND_DECL_T(
Gfx::ChangeTempo)
132 Gfx, ChangeIgnoreTempo, Video::Model::p_ignoreTempo, "Ignore video tempo")
133SCORE_COMMAND_DECL_T(
Gfx::ChangeIgnoreTempo)
135 Gfx, ChangeVideoScaleMode, Video::Model::p_scaleMode, "Video scale mode")
136SCORE_COMMAND_DECL_T(
Gfx::ChangeVideoScaleMode)
138 Gfx, ChangePlaybackMode, Video::Model::p_playbackMode, "Video playback mode")
139SCORE_COMMAND_DECL_T(
Gfx::ChangePlaybackMode)
141 Gfx, ChangeOutputFormat, Video::Model::p_outputFormat, "Video output format")
142SCORE_COMMAND_DECL_T(
Gfx::ChangeOutputFormat)
144 Gfx, ChangeTonemap, Video::Model::p_tonemap, "Video tonemap")
145SCORE_COMMAND_DECL_T(
Gfx::ChangeTonemap)
147W_REGISTER_ARGTYPE(
score::gfx::ScaleMode)
148W_REGISTER_ARGTYPE(
score::gfx::PlaybackMode)
149W_REGISTER_ARGTYPE(::Video::OutputFormat)
150W_REGISTER_ARGTYPE(::Video::Tonemap)
Definition score-plugin-gfx/Gfx/Video/Process.hpp:114
Definition score-plugin-gfx/Gfx/Video/Process.hpp:107
Definition score-plugin-gfx/Gfx/Video/Process.hpp:20
Definition LibraryInterface.hpp:26
Collects — and in the same pass rewrites — the files a document references.
Definition ExternalFiles.hpp:80
Definition ProcessDropHandler.hpp:25
Definition GenericProcessFactory.hpp:15
The Process class.
Definition score-lib-process/Process/Process.hpp:75
Definition VideoDecoder.hpp:28
The id_base_t class.
Definition Identifier.hpp:59
Binds the rendering pipeline to ossia processes.
Definition AssetTable.cpp:7
PlaybackMode
How to choose the video renderer.
Definition Scale.hpp:21
ScaleMode
How to resize a texture to adapt it to a viewport.
Definition Scale.hpp:10
Base toolkit upon which the software is built.
Definition Application.cpp:116
Definition TimeValue.hpp:21
Definition DocumentContext.hpp:18
Definition FilePath.hpp:43