15class AtomicPositionQmlAdapter :
public QObject
18 Q_PROPERTY (
double ticks READ ticks WRITE setTicks NOTIFY positionChanged)
20 double seconds READ seconds WRITE setSeconds NOTIFY positionChanged)
22 qint64 samples READ samples WRITE setSamples NOTIFY positionChanged)
23 Q_PROPERTY (
TimeFormat mode READ mode WRITE setMode NOTIFY positionChanged)
28 using ConstraintFunction =
29 std::function<units::precise_tick_t (units::precise_tick_t)>;
31 explicit AtomicPositionQmlAdapter (
33 std::optional<ConstraintFunction> constraints = std::nullopt,
34 QObject * parent =
nullptr);
36 double ticks ()
const;
37 void setTicks (
double ticks);
38 Q_INVOKABLE
void addTicks (
double ticks_to_add)
40 setTicks (ticks () + ticks_to_add);
43 double seconds ()
const;
44 void setSeconds (
double seconds);
45 Q_INVOKABLE
void addSeconds (
double seconds_to_add)
47 setSeconds (seconds () + seconds_to_add);
50 qint64 samples ()
const;
51 void setSamples (
double samples);
61 void positionChanged ();
78 std::optional<ConstraintFunction> constraints_;