2#include <Process/TimeValue.hpp>
4#include <score/plugins/Interface.hpp>
5#include <score/plugins/InterfaceList.hpp>
7#include <ossia/editor/scenario/time_value.hpp>
9#include <score_plugin_engine_export.h>
10#include <smallfun.hpp>
13struct DocumentContext;
18class BaseScenarioElement;
39using reverse_time_function = smallfun::function<
TimeVal(
const ossia::time_value&)>;
40class SCORE_PLUGIN_ENGINE_EXPORT
Clock
47 std::shared_ptr<BaseScenarioElement> scenario;
53 virtual bool paused()
const;
56 virtual void play_impl(
const TimeVal& t) = 0;
57 virtual void pause_impl() = 0;
58 virtual void resume_impl() = 0;
59 virtual void stop_impl() = 0;
64 SCORE_INTERFACE(
ClockFactory,
"fb2b3624-ee6f-4e9a-901a-a096bb5fec0a")
68 virtual QString prettyName()
const = 0;
72 virtual reverse_time_function
84Q_DECLARE_METATYPE(Execution::ClockFactory::ConcreteKey)
85W_REGISTER_ARGTYPE(Execution::ClockFactory::ConcreteKey)
Definition ClockFactory.hpp:63
Definition ClockFactory.hpp:78
Definition ClockFactory.hpp:41
Base class for plug-in interfaces.
Definition Interface.hpp:52
InterfaceList Default implementation of InterfaceListBase.
Definition InterfaceList.hpp:80
Components used for the execution of a score.
Definition ProcessComponent.cpp:12
smallfun::function< ossia::time_value(const TimeVal &)> time_function
Sets-up and manages the main execution clock.
Definition ExecutionContext.hpp:66
Base toolkit upon which the software is built.
Definition Application.cpp:90
Definition ExecutionContext.hpp:76
Definition TimeValue.hpp:21
Definition DocumentContext.hpp:18