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>
19 SCORE_SERIALIZE_FRIENDS
28 template <
typename Impl>
29 Model(Impl& vis, QObject* parent)
37 std::shared_ptr<video_decoder> makeDecoder()
const noexcept;
39 QString absolutePath()
const noexcept;
40 QString path()
const noexcept {
return m_path; }
41 void setPath(
const QString& f);
42 void pathChanged(
const QString& f) W_SIGNAL(pathChanged, f);
44 double nativeTempo()
const noexcept;
45 void setNativeTempo(
double);
46 void nativeTempoChanged(
double t) W_SIGNAL(nativeTempoChanged, t);
56 ::Video::OutputFormat outputFormat()
const noexcept;
57 void setOutputFormat(::Video::OutputFormat);
58 void outputFormatChanged(::Video::OutputFormat t) W_SIGNAL(outputFormatChanged, t);
60 ::Video::Tonemap tonemap()
const noexcept;
61 void setTonemap(::Video::Tonemap);
62 void tonemapChanged(::Video::Tonemap t) W_SIGNAL(tonemapChanged, t);
64 bool ignoreTempo()
const noexcept;
65 void setIgnoreTempo(
bool);
66 void ignoreTempoChanged(
bool t) W_SIGNAL(ignoreTempoChanged, t);
70 scaleMode READ scaleMode WRITE setScaleMode NOTIFY scaleModeChanged)
73 playbackMode READ playbackMode WRITE setPlaybackMode NOTIFY playbackModeChanged)
75 ::Video::OutputFormat,
76 outputFormat READ outputFormat WRITE setOutputFormat NOTIFY outputFormatChanged)
79 tonemap READ tonemap WRITE setTonemap NOTIFY tonemapChanged)
81 PROPERTY(QString, path READ path WRITE setPath NOTIFY pathChanged)
84 nativeTempo READ nativeTempo WRITE setNativeTempo NOTIFY nativeTempoChanged,
87 bool, ignoreTempo READ ignoreTempo WRITE setIgnoreTempo NOTIFY ignoreTempoChanged,
94 ::Video::OutputFormat m_outputFormat{};
95 ::Video::Tonemap m_tonemap{};
96 double m_nativeTempo{};
104 SCORE_CONCRETE(
"be66d573-571f-4c33-9f60-0791f53c7266")
106 QSet<QString> acceptedFiles()
const noexcept override;
111 SCORE_CONCRETE(
"12d1ed39-0fac-43da-8520-b7e32f9fad7d")
114 QSet<QString> mimeTypes()
const noexcept override;
115 QSet<QString> fileExtensions()
const noexcept override;
123PROPERTY_COMMAND_T(
Gfx, ChangeVideo, Video::Model::p_path,
"Change video")
124SCORE_COMMAND_DECL_T(
Gfx::ChangeVideo)
125PROPERTY_COMMAND_T(
Gfx, ChangeTempo, Video::Model::p_nativeTempo, "Change video tempo")
126SCORE_COMMAND_DECL_T(
Gfx::ChangeTempo)
128 Gfx, ChangeIgnoreTempo, Video::Model::p_ignoreTempo, "Ignore video tempo")
129SCORE_COMMAND_DECL_T(
Gfx::ChangeIgnoreTempo)
131 Gfx, ChangeVideoScaleMode, Video::Model::p_scaleMode, "Video scale mode")
132SCORE_COMMAND_DECL_T(
Gfx::ChangeVideoScaleMode)
134 Gfx, ChangePlaybackMode, Video::Model::p_playbackMode, "Video playback mode")
135SCORE_COMMAND_DECL_T(
Gfx::ChangePlaybackMode)
137 Gfx, ChangeOutputFormat, Video::Model::p_outputFormat, "Video output format")
138SCORE_COMMAND_DECL_T(
Gfx::ChangeOutputFormat)
140 Gfx, ChangeTonemap, Video::Model::p_tonemap, "Video tonemap")
141SCORE_COMMAND_DECL_T(
Gfx::ChangeTonemap)
143W_REGISTER_ARGTYPE(
score::gfx::ScaleMode)
144W_REGISTER_ARGTYPE(
score::gfx::PlaybackMode)
145W_REGISTER_ARGTYPE(::Video::OutputFormat)
146W_REGISTER_ARGTYPE(::Video::Tonemap)
Definition score-plugin-gfx/Gfx/Video/Process.hpp:110
Definition score-plugin-gfx/Gfx/Video/Process.hpp:103
Definition score-plugin-gfx/Gfx/Video/Process.hpp:18
Definition LibraryInterface.hpp:22
Definition ProcessDropHandler.hpp:25
Definition GenericProcessFactory.hpp:15
The Process class.
Definition score-lib-process/Process/Process.hpp:62
Definition VideoDecoder.hpp:28
The id_base_t class.
Definition Identifier.hpp:59
Binds the rendering pipeline to ossia processes.
Definition CameraDevice.cpp:30
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:112
Definition TimeValue.hpp:21
Definition DocumentContext.hpp:18
Definition FilePath.hpp:25