diff --git a/Userland/Applications/Piano/Track.cpp b/Userland/Applications/Piano/Track.cpp index a074e89c3d..b9132100de 100644 --- a/Userland/Applications/Piano/Track.cpp +++ b/Userland/Applications/Piano/Track.cpp @@ -27,7 +27,7 @@ Track::Track(u32 const& time) void Track::fill_sample(Sample& sample) { - m_temporary_transport->time() = m_time; + m_temporary_transport->set_time(m_time); auto playing_notes = LibDSP::RollNotes {}; diff --git a/Userland/Libraries/LibDSP/Transport.h b/Userland/Libraries/LibDSP/Transport.h index 0acd8d725f..23723e27c5 100644 --- a/Userland/Libraries/LibDSP/Transport.h +++ b/Userland/Libraries/LibDSP/Transport.h @@ -15,7 +15,6 @@ namespace LibDSP { // The DAW-wide timekeeper and synchronizer class Transport final : public RefCounted { public: - constexpr u32& time() { return m_time; } constexpr u32 time() const { return m_time; } constexpr u16 beats_per_minute() const { return m_beats_per_minute; } constexpr double current_second() const { return static_cast(m_time) / m_sample_rate; } @@ -24,6 +23,8 @@ public: constexpr double ms_sample_rate() const { return m_sample_rate / 1000.; } constexpr double current_measure() const { return m_time / samples_per_measure(); } + void set_time(u32 time) { m_time = time; } + Transport(u16 beats_per_minute, u8 beats_per_measure, u32 sample_rate) : m_beats_per_minute(beats_per_minute) , m_beats_per_measure(beats_per_measure)