@@ -16,6 +16,7 @@
|
||||
#include <vamp_zero/config.hpp>
|
||||
#include <vamp_zero/types.hpp>
|
||||
#include <vamp_zero/score_loader.hpp>
|
||||
#include <vamp_zero/performance.hpp>
|
||||
|
||||
|
||||
namespace vamp_zero {
|
||||
@@ -28,19 +29,18 @@ public:
|
||||
~audio_controller();
|
||||
auto sync(vamp_zero::app_state const &state) -> void;
|
||||
auto tick(vamp_zero::app_state const &state, vamp_zero::score_load_state const &loaded, std::filesystem::path const &assets) -> std::optional<std::expected<void, modulus::error>>;
|
||||
auto position(vamp_zero::score_document const &score, std::uint32_t bpm) const -> std::optional<vamp_zero::performance_position>;
|
||||
private:
|
||||
auto make_metronome_config(vamp_zero::app_state const &state) const -> sonus::metronome_config;
|
||||
vamp_zero::audio_config config_{};
|
||||
sonus::engine engine_;
|
||||
mutable std::mutex mutex_{};
|
||||
std::bool_t metronome_running_{false};
|
||||
std::uint32_t last_metronome_bpm_{};
|
||||
boost::asio::thread_pool worker_{1};
|
||||
std::future<std::expected<sonus::prepared_sequence, modulus::error>> preparation_{};
|
||||
std::future<std::expected<sonus::prepared_transport, modulus::error>> preparation_{};
|
||||
std::uint64_t preparing_session_{};
|
||||
std::shared_ptr<vamp_zero::catalog const> preparing_catalog_{};
|
||||
std::optional<std::uint64_t> attempted_session_{};
|
||||
std::shared_ptr<vamp_zero::catalog const> catalog_{};
|
||||
sonus::playback_session playback_{};
|
||||
sonus::transport_session playback_{};
|
||||
std::bool_t reported_{true};
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user