2 #include <Process/ProcessMimeSerialization.hpp>
3 #include <Process/TimeValue.hpp>
5 #include <score/command/AggregateCommand.hpp>
6 #include <score/command/Dispatchers/RuntimeDispatcher.hpp>
7 #include <score/plugins/Interface.hpp>
8 #include <score/plugins/InterfaceList.hpp>
9 #include <score/tools/FilePath.hpp>
11 #include <ossia/detail/hash_map.hpp>
16 #include <score_lib_process_export.h>
31 std::optional<TimeVal> duration;
45 std::vector<ProcessDrop>& drops,
const QMimeData& mime,
49 std::vector<ProcessDrop>& drops,
const QMimeData& mime,
const QString& fmt,
53 std::vector<ProcessDrop>& drops,
const QMimeData& mime,
56 virtual QSet<QString> mimeTypes() const noexcept;
57 virtual QSet<QString> fileExtensions() const noexcept;
60 virtual
void dropCustom(
61 std::vector<
ProcessDrop>& drops, const QMimeData& mime,
62 const
score::DocumentContext& ctx) const noexcept;
64 virtual
void dropPath(
66 const
score::DocumentContext& ctx) const noexcept;
68 virtual
void dropData(
70 const
score::DocumentContext& ctx) const noexcept;
79 std::vector<ProcessDropHandler::ProcessDrop>
82 static std::optional<TimeVal>
83 getMaxDuration(
const std::vector<ProcessDropHandler::ProcessDrop>&);
86 void initCaches()
const;
87 mutable ossia::hash_map<std::string, ProcessDropHandler*> m_perMimeTypes{};
88 mutable ossia::hash_map<std::string, ProcessDropHandler*> m_perFileExtension{};
89 mutable std::size_t m_lastCacheSize{};
Definition: ProcessDropHandler.hpp:25
Definition: ProcessDropHandler.hpp:75
The Process class.
Definition: score-lib-process/Process/Process.hpp:61
Base class for plug-in interfaces.
Definition: Interface.hpp:52
Base classes and tools to implement processes and layers.
Definition: JSONVisitor.hpp:1324
Base toolkit upon which the software is built.
Definition: Application.cpp:90
Definition: ProcessMimeSerialization.hpp:38
Definition: ProcessDropHandler.hpp:36
Definition: ProcessDropHandler.hpp:29
Definition: RuntimeDispatcher.hpp:7
Definition: DocumentContext.hpp:18
Definition: FilePath.hpp:25