From fa4f9720f1157646715ca2b109dffdb38d5516c3 Mon Sep 17 00:00:00 2001 From: nanako <469449812@qq.com> Date: Tue, 12 Aug 2025 22:47:32 +0800 Subject: [PATCH] init --- .gitignore | 7 + Nina.sln | 16 + src/backend/CMakeLists.txt | 33 + src/backend/src/main.cpp | 114 + src/backend/src/proto/daw_api.grpc.pb.cc | 649 ++ src/backend/src/proto/daw_api.grpc.pb.h | 2282 +++++++ src/backend/src/proto/daw_api.pb.cc | 5972 +++++++++++++++++ src/backend/src/proto/daw_api.pb.h | 5949 ++++++++++++++++ src/backend/vcpkg.json | 10 + src/cmake_script/project_cpp_standard.cmake | 118 + src/cmake_script/retrieve_files.cmake | 545 ++ src/cmake_script/utils.cmake | 46 + src/frontend/App.axaml | 15 + src/frontend/App.axaml.cs | 47 + src/frontend/Assets/avalonia-logo.ico | Bin 0 -> 175875 bytes src/frontend/Program.cs | 21 + src/frontend/ViewLocator.cs | 30 + .../ViewModels/MainWindowViewModel.cs | 6 + src/frontend/ViewModels/ViewModelBase.cs | 7 + src/frontend/Views/MainWindow.axaml | 20 + src/frontend/Views/MainWindow.axaml.cs | 11 + src/frontend/app.manifest | 18 + src/frontend/frontend.csproj | 32 + src/proto/daw_api.proto | 147 + 24 files changed, 16095 insertions(+) create mode 100644 .gitignore create mode 100644 Nina.sln create mode 100644 src/backend/CMakeLists.txt create mode 100644 src/backend/src/main.cpp create mode 100644 src/backend/src/proto/daw_api.grpc.pb.cc create mode 100644 src/backend/src/proto/daw_api.grpc.pb.h create mode 100644 src/backend/src/proto/daw_api.pb.cc create mode 100644 src/backend/src/proto/daw_api.pb.h create mode 100644 src/backend/vcpkg.json create mode 100644 src/cmake_script/project_cpp_standard.cmake create mode 100644 src/cmake_script/retrieve_files.cmake create mode 100644 src/cmake_script/utils.cmake create mode 100644 src/frontend/App.axaml create mode 100644 src/frontend/App.axaml.cs create mode 100644 src/frontend/Assets/avalonia-logo.ico create mode 100644 src/frontend/Program.cs create mode 100644 src/frontend/ViewLocator.cs create mode 100644 src/frontend/ViewModels/MainWindowViewModel.cs create mode 100644 src/frontend/ViewModels/ViewModelBase.cs create mode 100644 src/frontend/Views/MainWindow.axaml create mode 100644 src/frontend/Views/MainWindow.axaml.cs create mode 100644 src/frontend/app.manifest create mode 100644 src/frontend/frontend.csproj create mode 100644 src/proto/daw_api.proto diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..8b23368 --- /dev/null +++ b/.gitignore @@ -0,0 +1,7 @@ +.idea +*.exe +*.ilk +*.pdb +*.lib +cmake-build-*/ +/src/frontend/obj/ diff --git a/Nina.sln b/Nina.sln new file mode 100644 index 0000000..41159ad --- /dev/null +++ b/Nina.sln @@ -0,0 +1,16 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "frontend", "src\frontend\frontend.csproj", "{D3560CDC-2C15-4167-AF02-D1CA2D6F4240}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {D3560CDC-2C15-4167-AF02-D1CA2D6F4240}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {D3560CDC-2C15-4167-AF02-D1CA2D6F4240}.Debug|Any CPU.Build.0 = Debug|Any CPU + {D3560CDC-2C15-4167-AF02-D1CA2D6F4240}.Release|Any CPU.ActiveCfg = Release|Any CPU + {D3560CDC-2C15-4167-AF02-D1CA2D6F4240}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection +EndGlobal diff --git a/src/backend/CMakeLists.txt b/src/backend/CMakeLists.txt new file mode 100644 index 0000000..f9f69b6 --- /dev/null +++ b/src/backend/CMakeLists.txt @@ -0,0 +1,33 @@ +cmake_minimum_required(VERSION 3.14) +project(NinaEngine) + +include(../cmake_script/project_cpp_standard.cmake) +include(../cmake_script/retrieve_files.cmake) +include(../cmake_script/utils.cmake) + +setup_project_options( + STANDARD 23 + INTERFACE_TARGET config_target +) + +set(CMAKE_BINARY_DIR ${CMAKE_SOURCE_DIR}/../../build) +configure_project_defaults() + +set(SRC_FILS "") +retrieve_files(${CMAKE_CURRENT_SOURCE_DIR}/src SRC_FILES) + + +find_package(gRPC REQUIRED) +find_package(Protobuf REQUIRED) +find_package(ZeroMQ REQUIRED) + +add_executable(${PROJECT_NAME} ${SRC_FILES}) +target_link_libraries(${PROJECT_NAME} PRIVATE config_target) +target_link_libraries(${PROJECT_NAME} PRIVATE gRPC::grpc++ protobuf::libprotobuf zmq) + +compile_proto_files( + TARGET_NAME ${PROJECT_NAME}_proto + PROTO_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../proto + OUTPUT_PATH ${CMAKE_CURRENT_SOURCE_DIR}/src/proto + GRPC_ENABLED TRUE +) diff --git a/src/backend/src/main.cpp b/src/backend/src/main.cpp new file mode 100644 index 0000000..1e9c1fc --- /dev/null +++ b/src/backend/src/main.cpp @@ -0,0 +1,114 @@ +// +// Created by A on 2025/8/12. +// + +#include "zmq.h" +#include "proto/daw_api.grpc.pb.h" + +class daw_api_project_service : public daw::api::ProjectService::Service { +public: + grpc::Status NewProject(grpc::ServerContext* context, + const daw::api::Empty* request, + daw::api::ProjectState* response) override { + + return grpc::Status::OK; + } + + grpc::Status LoadProject(grpc::ServerContext* context, + const daw::api::LoadProjectRequest* request, + daw::api::ProjectState* response) override { + + return grpc::Status::OK; + } + + grpc::Status SaveProject(grpc::ServerContext* context, + const daw::api::SaveProjectRequest* request, + daw::api::StatusResponse* response) override { + + return grpc::Status::OK; + } +}; + +class daw_api_transport_service : public daw::api::TransportService::Service { +public: + grpc::Status Play(grpc::ServerContext* context, + const daw::api::Empty* request, + daw::api::StatusResponse* response) override { + + return grpc::Status::OK; + } + + grpc::Status Pause(grpc::ServerContext* context, + const daw::api::Empty* request, + daw::api::StatusResponse* response) override { + + return grpc::Status::OK; + } + + grpc::Status Stop(grpc::ServerContext* context, + const daw::api::Empty* request, + daw::api::StatusResponse* response) override { + + return grpc::Status::OK; + } + + grpc::Status SetTempo(grpc::ServerContext* context, + const daw::api::SetTempoRequest* request, + daw::api::StatusResponse* response) override { + + return grpc::Status::OK; + } +}; + +class daw_api_track_service : public daw::api::TrackService::Service { +public: + grpc::Status AddTrack(grpc::ServerContext* context, + const daw::api::AddTrackRequest* request, + daw::api::TrackInfo* response) override { + + return grpc::Status::OK; + } + + grpc::Status RemoveTrack(grpc::ServerContext* context, + const daw::api::TrackIdRequest* request, + daw::api::StatusResponse* response) override { + + return grpc::Status::OK; + } + + grpc::Status SetTrackVolume(grpc::ServerContext* context, + const daw::api::SetTrackVolumeRequest* request, + daw::api::StatusResponse* response) override { + + return grpc::Status::OK; + } + + grpc::Status SetTrackPan(grpc::ServerContext* context, + const daw::api::SetTrackPanRequest* request, + daw::api::StatusResponse* response) override { + + return grpc::Status::OK; + } +}; + +class daw_api_plugin_service : public daw::api::PluginService::Service { +public: + grpc::Status LoadPlugin(grpc::ServerContext* context, + const daw::api::LoadPluginRequest* request, + daw::api::PluginInfo* response) override { + + return grpc::Status::OK; + } + + grpc::Status SetPluginParameter(grpc::ServerContext* context, + const daw::api::SetPluginParameterRequest* request, + daw::api::StatusResponse* response) override { + + return grpc::Status::OK; + } +}; + +int main(int argc, char *argv[]) +{ + return 0; +} diff --git a/src/backend/src/proto/daw_api.grpc.pb.cc b/src/backend/src/proto/daw_api.grpc.pb.cc new file mode 100644 index 0000000..800e57f --- /dev/null +++ b/src/backend/src/proto/daw_api.grpc.pb.cc @@ -0,0 +1,649 @@ +// Generated by the gRPC C++ plugin. +// If you make any local change, they will be lost. +// source: daw_api.proto + +#include "daw_api.pb.h" +#include "daw_api.grpc.pb.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +namespace daw { +namespace api { + +static const char* TransportService_method_names[] = { + "/daw.api.TransportService/Play", + "/daw.api.TransportService/Pause", + "/daw.api.TransportService/Stop", + "/daw.api.TransportService/SetTempo", +}; + +std::unique_ptr< TransportService::Stub> TransportService::NewStub(const std::shared_ptr< ::grpc::ChannelInterface>& channel, const ::grpc::StubOptions& options) { + (void)options; + std::unique_ptr< TransportService::Stub> stub(new TransportService::Stub(channel, options)); + return stub; +} + +TransportService::Stub::Stub(const std::shared_ptr< ::grpc::ChannelInterface>& channel, const ::grpc::StubOptions& options) + : channel_(channel), rpcmethod_Play_(TransportService_method_names[0], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_Pause_(TransportService_method_names[1], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_Stop_(TransportService_method_names[2], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_SetTempo_(TransportService_method_names[3], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) + {} + +::grpc::Status TransportService::Stub::Play(::grpc::ClientContext* context, const ::daw::api::Empty& request, ::daw::api::StatusResponse* response) { + return ::grpc::internal::BlockingUnaryCall< ::daw::api::Empty, ::daw::api::StatusResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_Play_, context, request, response); +} + +void TransportService::Stub::async::Play(::grpc::ClientContext* context, const ::daw::api::Empty* request, ::daw::api::StatusResponse* response, std::function f) { + ::grpc::internal::CallbackUnaryCall< ::daw::api::Empty, ::daw::api::StatusResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_Play_, context, request, response, std::move(f)); +} + +void TransportService::Stub::async::Play(::grpc::ClientContext* context, const ::daw::api::Empty* request, ::daw::api::StatusResponse* response, ::grpc::ClientUnaryReactor* reactor) { + ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_Play_, context, request, response, reactor); +} + +::grpc::ClientAsyncResponseReader< ::daw::api::StatusResponse>* TransportService::Stub::PrepareAsyncPlayRaw(::grpc::ClientContext* context, const ::daw::api::Empty& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::daw::api::StatusResponse, ::daw::api::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_Play_, context, request); +} + +::grpc::ClientAsyncResponseReader< ::daw::api::StatusResponse>* TransportService::Stub::AsyncPlayRaw(::grpc::ClientContext* context, const ::daw::api::Empty& request, ::grpc::CompletionQueue* cq) { + auto* result = + this->PrepareAsyncPlayRaw(context, request, cq); + result->StartCall(); + return result; +} + +::grpc::Status TransportService::Stub::Pause(::grpc::ClientContext* context, const ::daw::api::Empty& request, ::daw::api::StatusResponse* response) { + return ::grpc::internal::BlockingUnaryCall< ::daw::api::Empty, ::daw::api::StatusResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_Pause_, context, request, response); +} + +void TransportService::Stub::async::Pause(::grpc::ClientContext* context, const ::daw::api::Empty* request, ::daw::api::StatusResponse* response, std::function f) { + ::grpc::internal::CallbackUnaryCall< ::daw::api::Empty, ::daw::api::StatusResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_Pause_, context, request, response, std::move(f)); +} + +void TransportService::Stub::async::Pause(::grpc::ClientContext* context, const ::daw::api::Empty* request, ::daw::api::StatusResponse* response, ::grpc::ClientUnaryReactor* reactor) { + ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_Pause_, context, request, response, reactor); +} + +::grpc::ClientAsyncResponseReader< ::daw::api::StatusResponse>* TransportService::Stub::PrepareAsyncPauseRaw(::grpc::ClientContext* context, const ::daw::api::Empty& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::daw::api::StatusResponse, ::daw::api::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_Pause_, context, request); +} + +::grpc::ClientAsyncResponseReader< ::daw::api::StatusResponse>* TransportService::Stub::AsyncPauseRaw(::grpc::ClientContext* context, const ::daw::api::Empty& request, ::grpc::CompletionQueue* cq) { + auto* result = + this->PrepareAsyncPauseRaw(context, request, cq); + result->StartCall(); + return result; +} + +::grpc::Status TransportService::Stub::Stop(::grpc::ClientContext* context, const ::daw::api::Empty& request, ::daw::api::StatusResponse* response) { + return ::grpc::internal::BlockingUnaryCall< ::daw::api::Empty, ::daw::api::StatusResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_Stop_, context, request, response); +} + +void TransportService::Stub::async::Stop(::grpc::ClientContext* context, const ::daw::api::Empty* request, ::daw::api::StatusResponse* response, std::function f) { + ::grpc::internal::CallbackUnaryCall< ::daw::api::Empty, ::daw::api::StatusResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_Stop_, context, request, response, std::move(f)); +} + +void TransportService::Stub::async::Stop(::grpc::ClientContext* context, const ::daw::api::Empty* request, ::daw::api::StatusResponse* response, ::grpc::ClientUnaryReactor* reactor) { + ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_Stop_, context, request, response, reactor); +} + +::grpc::ClientAsyncResponseReader< ::daw::api::StatusResponse>* TransportService::Stub::PrepareAsyncStopRaw(::grpc::ClientContext* context, const ::daw::api::Empty& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::daw::api::StatusResponse, ::daw::api::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_Stop_, context, request); +} + +::grpc::ClientAsyncResponseReader< ::daw::api::StatusResponse>* TransportService::Stub::AsyncStopRaw(::grpc::ClientContext* context, const ::daw::api::Empty& request, ::grpc::CompletionQueue* cq) { + auto* result = + this->PrepareAsyncStopRaw(context, request, cq); + result->StartCall(); + return result; +} + +::grpc::Status TransportService::Stub::SetTempo(::grpc::ClientContext* context, const ::daw::api::SetTempoRequest& request, ::daw::api::StatusResponse* response) { + return ::grpc::internal::BlockingUnaryCall< ::daw::api::SetTempoRequest, ::daw::api::StatusResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_SetTempo_, context, request, response); +} + +void TransportService::Stub::async::SetTempo(::grpc::ClientContext* context, const ::daw::api::SetTempoRequest* request, ::daw::api::StatusResponse* response, std::function f) { + ::grpc::internal::CallbackUnaryCall< ::daw::api::SetTempoRequest, ::daw::api::StatusResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_SetTempo_, context, request, response, std::move(f)); +} + +void TransportService::Stub::async::SetTempo(::grpc::ClientContext* context, const ::daw::api::SetTempoRequest* request, ::daw::api::StatusResponse* response, ::grpc::ClientUnaryReactor* reactor) { + ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_SetTempo_, context, request, response, reactor); +} + +::grpc::ClientAsyncResponseReader< ::daw::api::StatusResponse>* TransportService::Stub::PrepareAsyncSetTempoRaw(::grpc::ClientContext* context, const ::daw::api::SetTempoRequest& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::daw::api::StatusResponse, ::daw::api::SetTempoRequest, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_SetTempo_, context, request); +} + +::grpc::ClientAsyncResponseReader< ::daw::api::StatusResponse>* TransportService::Stub::AsyncSetTempoRaw(::grpc::ClientContext* context, const ::daw::api::SetTempoRequest& request, ::grpc::CompletionQueue* cq) { + auto* result = + this->PrepareAsyncSetTempoRaw(context, request, cq); + result->StartCall(); + return result; +} + +TransportService::Service::Service() { + AddMethod(new ::grpc::internal::RpcServiceMethod( + TransportService_method_names[0], + ::grpc::internal::RpcMethod::NORMAL_RPC, + new ::grpc::internal::RpcMethodHandler< TransportService::Service, ::daw::api::Empty, ::daw::api::StatusResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>( + [](TransportService::Service* service, + ::grpc::ServerContext* ctx, + const ::daw::api::Empty* req, + ::daw::api::StatusResponse* resp) { + return service->Play(ctx, req, resp); + }, this))); + AddMethod(new ::grpc::internal::RpcServiceMethod( + TransportService_method_names[1], + ::grpc::internal::RpcMethod::NORMAL_RPC, + new ::grpc::internal::RpcMethodHandler< TransportService::Service, ::daw::api::Empty, ::daw::api::StatusResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>( + [](TransportService::Service* service, + ::grpc::ServerContext* ctx, + const ::daw::api::Empty* req, + ::daw::api::StatusResponse* resp) { + return service->Pause(ctx, req, resp); + }, this))); + AddMethod(new ::grpc::internal::RpcServiceMethod( + TransportService_method_names[2], + ::grpc::internal::RpcMethod::NORMAL_RPC, + new ::grpc::internal::RpcMethodHandler< TransportService::Service, ::daw::api::Empty, ::daw::api::StatusResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>( + [](TransportService::Service* service, + ::grpc::ServerContext* ctx, + const ::daw::api::Empty* req, + ::daw::api::StatusResponse* resp) { + return service->Stop(ctx, req, resp); + }, this))); + AddMethod(new ::grpc::internal::RpcServiceMethod( + TransportService_method_names[3], + ::grpc::internal::RpcMethod::NORMAL_RPC, + new ::grpc::internal::RpcMethodHandler< TransportService::Service, ::daw::api::SetTempoRequest, ::daw::api::StatusResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>( + [](TransportService::Service* service, + ::grpc::ServerContext* ctx, + const ::daw::api::SetTempoRequest* req, + ::daw::api::StatusResponse* resp) { + return service->SetTempo(ctx, req, resp); + }, this))); +} + +TransportService::Service::~Service() { +} + +::grpc::Status TransportService::Service::Play(::grpc::ServerContext* context, const ::daw::api::Empty* request, ::daw::api::StatusResponse* response) { + (void) context; + (void) request; + (void) response; + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); +} + +::grpc::Status TransportService::Service::Pause(::grpc::ServerContext* context, const ::daw::api::Empty* request, ::daw::api::StatusResponse* response) { + (void) context; + (void) request; + (void) response; + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); +} + +::grpc::Status TransportService::Service::Stop(::grpc::ServerContext* context, const ::daw::api::Empty* request, ::daw::api::StatusResponse* response) { + (void) context; + (void) request; + (void) response; + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); +} + +::grpc::Status TransportService::Service::SetTempo(::grpc::ServerContext* context, const ::daw::api::SetTempoRequest* request, ::daw::api::StatusResponse* response) { + (void) context; + (void) request; + (void) response; + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); +} + + +static const char* ProjectService_method_names[] = { + "/daw.api.ProjectService/NewProject", + "/daw.api.ProjectService/LoadProject", + "/daw.api.ProjectService/SaveProject", +}; + +std::unique_ptr< ProjectService::Stub> ProjectService::NewStub(const std::shared_ptr< ::grpc::ChannelInterface>& channel, const ::grpc::StubOptions& options) { + (void)options; + std::unique_ptr< ProjectService::Stub> stub(new ProjectService::Stub(channel, options)); + return stub; +} + +ProjectService::Stub::Stub(const std::shared_ptr< ::grpc::ChannelInterface>& channel, const ::grpc::StubOptions& options) + : channel_(channel), rpcmethod_NewProject_(ProjectService_method_names[0], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_LoadProject_(ProjectService_method_names[1], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_SaveProject_(ProjectService_method_names[2], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) + {} + +::grpc::Status ProjectService::Stub::NewProject(::grpc::ClientContext* context, const ::daw::api::Empty& request, ::daw::api::ProjectState* response) { + return ::grpc::internal::BlockingUnaryCall< ::daw::api::Empty, ::daw::api::ProjectState, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_NewProject_, context, request, response); +} + +void ProjectService::Stub::async::NewProject(::grpc::ClientContext* context, const ::daw::api::Empty* request, ::daw::api::ProjectState* response, std::function f) { + ::grpc::internal::CallbackUnaryCall< ::daw::api::Empty, ::daw::api::ProjectState, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_NewProject_, context, request, response, std::move(f)); +} + +void ProjectService::Stub::async::NewProject(::grpc::ClientContext* context, const ::daw::api::Empty* request, ::daw::api::ProjectState* response, ::grpc::ClientUnaryReactor* reactor) { + ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_NewProject_, context, request, response, reactor); +} + +::grpc::ClientAsyncResponseReader< ::daw::api::ProjectState>* ProjectService::Stub::PrepareAsyncNewProjectRaw(::grpc::ClientContext* context, const ::daw::api::Empty& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::daw::api::ProjectState, ::daw::api::Empty, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_NewProject_, context, request); +} + +::grpc::ClientAsyncResponseReader< ::daw::api::ProjectState>* ProjectService::Stub::AsyncNewProjectRaw(::grpc::ClientContext* context, const ::daw::api::Empty& request, ::grpc::CompletionQueue* cq) { + auto* result = + this->PrepareAsyncNewProjectRaw(context, request, cq); + result->StartCall(); + return result; +} + +::grpc::Status ProjectService::Stub::LoadProject(::grpc::ClientContext* context, const ::daw::api::LoadProjectRequest& request, ::daw::api::ProjectState* response) { + return ::grpc::internal::BlockingUnaryCall< ::daw::api::LoadProjectRequest, ::daw::api::ProjectState, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_LoadProject_, context, request, response); +} + +void ProjectService::Stub::async::LoadProject(::grpc::ClientContext* context, const ::daw::api::LoadProjectRequest* request, ::daw::api::ProjectState* response, std::function f) { + ::grpc::internal::CallbackUnaryCall< ::daw::api::LoadProjectRequest, ::daw::api::ProjectState, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_LoadProject_, context, request, response, std::move(f)); +} + +void ProjectService::Stub::async::LoadProject(::grpc::ClientContext* context, const ::daw::api::LoadProjectRequest* request, ::daw::api::ProjectState* response, ::grpc::ClientUnaryReactor* reactor) { + ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_LoadProject_, context, request, response, reactor); +} + +::grpc::ClientAsyncResponseReader< ::daw::api::ProjectState>* ProjectService::Stub::PrepareAsyncLoadProjectRaw(::grpc::ClientContext* context, const ::daw::api::LoadProjectRequest& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::daw::api::ProjectState, ::daw::api::LoadProjectRequest, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_LoadProject_, context, request); +} + +::grpc::ClientAsyncResponseReader< ::daw::api::ProjectState>* ProjectService::Stub::AsyncLoadProjectRaw(::grpc::ClientContext* context, const ::daw::api::LoadProjectRequest& request, ::grpc::CompletionQueue* cq) { + auto* result = + this->PrepareAsyncLoadProjectRaw(context, request, cq); + result->StartCall(); + return result; +} + +::grpc::Status ProjectService::Stub::SaveProject(::grpc::ClientContext* context, const ::daw::api::SaveProjectRequest& request, ::daw::api::StatusResponse* response) { + return ::grpc::internal::BlockingUnaryCall< ::daw::api::SaveProjectRequest, ::daw::api::StatusResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_SaveProject_, context, request, response); +} + +void ProjectService::Stub::async::SaveProject(::grpc::ClientContext* context, const ::daw::api::SaveProjectRequest* request, ::daw::api::StatusResponse* response, std::function f) { + ::grpc::internal::CallbackUnaryCall< ::daw::api::SaveProjectRequest, ::daw::api::StatusResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_SaveProject_, context, request, response, std::move(f)); +} + +void ProjectService::Stub::async::SaveProject(::grpc::ClientContext* context, const ::daw::api::SaveProjectRequest* request, ::daw::api::StatusResponse* response, ::grpc::ClientUnaryReactor* reactor) { + ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_SaveProject_, context, request, response, reactor); +} + +::grpc::ClientAsyncResponseReader< ::daw::api::StatusResponse>* ProjectService::Stub::PrepareAsyncSaveProjectRaw(::grpc::ClientContext* context, const ::daw::api::SaveProjectRequest& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::daw::api::StatusResponse, ::daw::api::SaveProjectRequest, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_SaveProject_, context, request); +} + +::grpc::ClientAsyncResponseReader< ::daw::api::StatusResponse>* ProjectService::Stub::AsyncSaveProjectRaw(::grpc::ClientContext* context, const ::daw::api::SaveProjectRequest& request, ::grpc::CompletionQueue* cq) { + auto* result = + this->PrepareAsyncSaveProjectRaw(context, request, cq); + result->StartCall(); + return result; +} + +ProjectService::Service::Service() { + AddMethod(new ::grpc::internal::RpcServiceMethod( + ProjectService_method_names[0], + ::grpc::internal::RpcMethod::NORMAL_RPC, + new ::grpc::internal::RpcMethodHandler< ProjectService::Service, ::daw::api::Empty, ::daw::api::ProjectState, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>( + [](ProjectService::Service* service, + ::grpc::ServerContext* ctx, + const ::daw::api::Empty* req, + ::daw::api::ProjectState* resp) { + return service->NewProject(ctx, req, resp); + }, this))); + AddMethod(new ::grpc::internal::RpcServiceMethod( + ProjectService_method_names[1], + ::grpc::internal::RpcMethod::NORMAL_RPC, + new ::grpc::internal::RpcMethodHandler< ProjectService::Service, ::daw::api::LoadProjectRequest, ::daw::api::ProjectState, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>( + [](ProjectService::Service* service, + ::grpc::ServerContext* ctx, + const ::daw::api::LoadProjectRequest* req, + ::daw::api::ProjectState* resp) { + return service->LoadProject(ctx, req, resp); + }, this))); + AddMethod(new ::grpc::internal::RpcServiceMethod( + ProjectService_method_names[2], + ::grpc::internal::RpcMethod::NORMAL_RPC, + new ::grpc::internal::RpcMethodHandler< ProjectService::Service, ::daw::api::SaveProjectRequest, ::daw::api::StatusResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>( + [](ProjectService::Service* service, + ::grpc::ServerContext* ctx, + const ::daw::api::SaveProjectRequest* req, + ::daw::api::StatusResponse* resp) { + return service->SaveProject(ctx, req, resp); + }, this))); +} + +ProjectService::Service::~Service() { +} + +::grpc::Status ProjectService::Service::NewProject(::grpc::ServerContext* context, const ::daw::api::Empty* request, ::daw::api::ProjectState* response) { + (void) context; + (void) request; + (void) response; + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); +} + +::grpc::Status ProjectService::Service::LoadProject(::grpc::ServerContext* context, const ::daw::api::LoadProjectRequest* request, ::daw::api::ProjectState* response) { + (void) context; + (void) request; + (void) response; + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); +} + +::grpc::Status ProjectService::Service::SaveProject(::grpc::ServerContext* context, const ::daw::api::SaveProjectRequest* request, ::daw::api::StatusResponse* response) { + (void) context; + (void) request; + (void) response; + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); +} + + +static const char* TrackService_method_names[] = { + "/daw.api.TrackService/AddTrack", + "/daw.api.TrackService/RemoveTrack", + "/daw.api.TrackService/SetTrackVolume", + "/daw.api.TrackService/SetTrackPan", +}; + +std::unique_ptr< TrackService::Stub> TrackService::NewStub(const std::shared_ptr< ::grpc::ChannelInterface>& channel, const ::grpc::StubOptions& options) { + (void)options; + std::unique_ptr< TrackService::Stub> stub(new TrackService::Stub(channel, options)); + return stub; +} + +TrackService::Stub::Stub(const std::shared_ptr< ::grpc::ChannelInterface>& channel, const ::grpc::StubOptions& options) + : channel_(channel), rpcmethod_AddTrack_(TrackService_method_names[0], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_RemoveTrack_(TrackService_method_names[1], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_SetTrackVolume_(TrackService_method_names[2], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_SetTrackPan_(TrackService_method_names[3], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) + {} + +::grpc::Status TrackService::Stub::AddTrack(::grpc::ClientContext* context, const ::daw::api::AddTrackRequest& request, ::daw::api::TrackInfo* response) { + return ::grpc::internal::BlockingUnaryCall< ::daw::api::AddTrackRequest, ::daw::api::TrackInfo, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_AddTrack_, context, request, response); +} + +void TrackService::Stub::async::AddTrack(::grpc::ClientContext* context, const ::daw::api::AddTrackRequest* request, ::daw::api::TrackInfo* response, std::function f) { + ::grpc::internal::CallbackUnaryCall< ::daw::api::AddTrackRequest, ::daw::api::TrackInfo, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_AddTrack_, context, request, response, std::move(f)); +} + +void TrackService::Stub::async::AddTrack(::grpc::ClientContext* context, const ::daw::api::AddTrackRequest* request, ::daw::api::TrackInfo* response, ::grpc::ClientUnaryReactor* reactor) { + ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_AddTrack_, context, request, response, reactor); +} + +::grpc::ClientAsyncResponseReader< ::daw::api::TrackInfo>* TrackService::Stub::PrepareAsyncAddTrackRaw(::grpc::ClientContext* context, const ::daw::api::AddTrackRequest& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::daw::api::TrackInfo, ::daw::api::AddTrackRequest, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_AddTrack_, context, request); +} + +::grpc::ClientAsyncResponseReader< ::daw::api::TrackInfo>* TrackService::Stub::AsyncAddTrackRaw(::grpc::ClientContext* context, const ::daw::api::AddTrackRequest& request, ::grpc::CompletionQueue* cq) { + auto* result = + this->PrepareAsyncAddTrackRaw(context, request, cq); + result->StartCall(); + return result; +} + +::grpc::Status TrackService::Stub::RemoveTrack(::grpc::ClientContext* context, const ::daw::api::TrackIdRequest& request, ::daw::api::StatusResponse* response) { + return ::grpc::internal::BlockingUnaryCall< ::daw::api::TrackIdRequest, ::daw::api::StatusResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_RemoveTrack_, context, request, response); +} + +void TrackService::Stub::async::RemoveTrack(::grpc::ClientContext* context, const ::daw::api::TrackIdRequest* request, ::daw::api::StatusResponse* response, std::function f) { + ::grpc::internal::CallbackUnaryCall< ::daw::api::TrackIdRequest, ::daw::api::StatusResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_RemoveTrack_, context, request, response, std::move(f)); +} + +void TrackService::Stub::async::RemoveTrack(::grpc::ClientContext* context, const ::daw::api::TrackIdRequest* request, ::daw::api::StatusResponse* response, ::grpc::ClientUnaryReactor* reactor) { + ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_RemoveTrack_, context, request, response, reactor); +} + +::grpc::ClientAsyncResponseReader< ::daw::api::StatusResponse>* TrackService::Stub::PrepareAsyncRemoveTrackRaw(::grpc::ClientContext* context, const ::daw::api::TrackIdRequest& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::daw::api::StatusResponse, ::daw::api::TrackIdRequest, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_RemoveTrack_, context, request); +} + +::grpc::ClientAsyncResponseReader< ::daw::api::StatusResponse>* TrackService::Stub::AsyncRemoveTrackRaw(::grpc::ClientContext* context, const ::daw::api::TrackIdRequest& request, ::grpc::CompletionQueue* cq) { + auto* result = + this->PrepareAsyncRemoveTrackRaw(context, request, cq); + result->StartCall(); + return result; +} + +::grpc::Status TrackService::Stub::SetTrackVolume(::grpc::ClientContext* context, const ::daw::api::SetTrackVolumeRequest& request, ::daw::api::StatusResponse* response) { + return ::grpc::internal::BlockingUnaryCall< ::daw::api::SetTrackVolumeRequest, ::daw::api::StatusResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_SetTrackVolume_, context, request, response); +} + +void TrackService::Stub::async::SetTrackVolume(::grpc::ClientContext* context, const ::daw::api::SetTrackVolumeRequest* request, ::daw::api::StatusResponse* response, std::function f) { + ::grpc::internal::CallbackUnaryCall< ::daw::api::SetTrackVolumeRequest, ::daw::api::StatusResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_SetTrackVolume_, context, request, response, std::move(f)); +} + +void TrackService::Stub::async::SetTrackVolume(::grpc::ClientContext* context, const ::daw::api::SetTrackVolumeRequest* request, ::daw::api::StatusResponse* response, ::grpc::ClientUnaryReactor* reactor) { + ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_SetTrackVolume_, context, request, response, reactor); +} + +::grpc::ClientAsyncResponseReader< ::daw::api::StatusResponse>* TrackService::Stub::PrepareAsyncSetTrackVolumeRaw(::grpc::ClientContext* context, const ::daw::api::SetTrackVolumeRequest& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::daw::api::StatusResponse, ::daw::api::SetTrackVolumeRequest, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_SetTrackVolume_, context, request); +} + +::grpc::ClientAsyncResponseReader< ::daw::api::StatusResponse>* TrackService::Stub::AsyncSetTrackVolumeRaw(::grpc::ClientContext* context, const ::daw::api::SetTrackVolumeRequest& request, ::grpc::CompletionQueue* cq) { + auto* result = + this->PrepareAsyncSetTrackVolumeRaw(context, request, cq); + result->StartCall(); + return result; +} + +::grpc::Status TrackService::Stub::SetTrackPan(::grpc::ClientContext* context, const ::daw::api::SetTrackPanRequest& request, ::daw::api::StatusResponse* response) { + return ::grpc::internal::BlockingUnaryCall< ::daw::api::SetTrackPanRequest, ::daw::api::StatusResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_SetTrackPan_, context, request, response); +} + +void TrackService::Stub::async::SetTrackPan(::grpc::ClientContext* context, const ::daw::api::SetTrackPanRequest* request, ::daw::api::StatusResponse* response, std::function f) { + ::grpc::internal::CallbackUnaryCall< ::daw::api::SetTrackPanRequest, ::daw::api::StatusResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_SetTrackPan_, context, request, response, std::move(f)); +} + +void TrackService::Stub::async::SetTrackPan(::grpc::ClientContext* context, const ::daw::api::SetTrackPanRequest* request, ::daw::api::StatusResponse* response, ::grpc::ClientUnaryReactor* reactor) { + ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_SetTrackPan_, context, request, response, reactor); +} + +::grpc::ClientAsyncResponseReader< ::daw::api::StatusResponse>* TrackService::Stub::PrepareAsyncSetTrackPanRaw(::grpc::ClientContext* context, const ::daw::api::SetTrackPanRequest& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::daw::api::StatusResponse, ::daw::api::SetTrackPanRequest, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_SetTrackPan_, context, request); +} + +::grpc::ClientAsyncResponseReader< ::daw::api::StatusResponse>* TrackService::Stub::AsyncSetTrackPanRaw(::grpc::ClientContext* context, const ::daw::api::SetTrackPanRequest& request, ::grpc::CompletionQueue* cq) { + auto* result = + this->PrepareAsyncSetTrackPanRaw(context, request, cq); + result->StartCall(); + return result; +} + +TrackService::Service::Service() { + AddMethod(new ::grpc::internal::RpcServiceMethod( + TrackService_method_names[0], + ::grpc::internal::RpcMethod::NORMAL_RPC, + new ::grpc::internal::RpcMethodHandler< TrackService::Service, ::daw::api::AddTrackRequest, ::daw::api::TrackInfo, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>( + [](TrackService::Service* service, + ::grpc::ServerContext* ctx, + const ::daw::api::AddTrackRequest* req, + ::daw::api::TrackInfo* resp) { + return service->AddTrack(ctx, req, resp); + }, this))); + AddMethod(new ::grpc::internal::RpcServiceMethod( + TrackService_method_names[1], + ::grpc::internal::RpcMethod::NORMAL_RPC, + new ::grpc::internal::RpcMethodHandler< TrackService::Service, ::daw::api::TrackIdRequest, ::daw::api::StatusResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>( + [](TrackService::Service* service, + ::grpc::ServerContext* ctx, + const ::daw::api::TrackIdRequest* req, + ::daw::api::StatusResponse* resp) { + return service->RemoveTrack(ctx, req, resp); + }, this))); + AddMethod(new ::grpc::internal::RpcServiceMethod( + TrackService_method_names[2], + ::grpc::internal::RpcMethod::NORMAL_RPC, + new ::grpc::internal::RpcMethodHandler< TrackService::Service, ::daw::api::SetTrackVolumeRequest, ::daw::api::StatusResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>( + [](TrackService::Service* service, + ::grpc::ServerContext* ctx, + const ::daw::api::SetTrackVolumeRequest* req, + ::daw::api::StatusResponse* resp) { + return service->SetTrackVolume(ctx, req, resp); + }, this))); + AddMethod(new ::grpc::internal::RpcServiceMethod( + TrackService_method_names[3], + ::grpc::internal::RpcMethod::NORMAL_RPC, + new ::grpc::internal::RpcMethodHandler< TrackService::Service, ::daw::api::SetTrackPanRequest, ::daw::api::StatusResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>( + [](TrackService::Service* service, + ::grpc::ServerContext* ctx, + const ::daw::api::SetTrackPanRequest* req, + ::daw::api::StatusResponse* resp) { + return service->SetTrackPan(ctx, req, resp); + }, this))); +} + +TrackService::Service::~Service() { +} + +::grpc::Status TrackService::Service::AddTrack(::grpc::ServerContext* context, const ::daw::api::AddTrackRequest* request, ::daw::api::TrackInfo* response) { + (void) context; + (void) request; + (void) response; + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); +} + +::grpc::Status TrackService::Service::RemoveTrack(::grpc::ServerContext* context, const ::daw::api::TrackIdRequest* request, ::daw::api::StatusResponse* response) { + (void) context; + (void) request; + (void) response; + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); +} + +::grpc::Status TrackService::Service::SetTrackVolume(::grpc::ServerContext* context, const ::daw::api::SetTrackVolumeRequest* request, ::daw::api::StatusResponse* response) { + (void) context; + (void) request; + (void) response; + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); +} + +::grpc::Status TrackService::Service::SetTrackPan(::grpc::ServerContext* context, const ::daw::api::SetTrackPanRequest* request, ::daw::api::StatusResponse* response) { + (void) context; + (void) request; + (void) response; + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); +} + + +static const char* PluginService_method_names[] = { + "/daw.api.PluginService/LoadPlugin", + "/daw.api.PluginService/SetPluginParameter", +}; + +std::unique_ptr< PluginService::Stub> PluginService::NewStub(const std::shared_ptr< ::grpc::ChannelInterface>& channel, const ::grpc::StubOptions& options) { + (void)options; + std::unique_ptr< PluginService::Stub> stub(new PluginService::Stub(channel, options)); + return stub; +} + +PluginService::Stub::Stub(const std::shared_ptr< ::grpc::ChannelInterface>& channel, const ::grpc::StubOptions& options) + : channel_(channel), rpcmethod_LoadPlugin_(PluginService_method_names[0], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_SetPluginParameter_(PluginService_method_names[1], options.suffix_for_stats(),::grpc::internal::RpcMethod::NORMAL_RPC, channel) + {} + +::grpc::Status PluginService::Stub::LoadPlugin(::grpc::ClientContext* context, const ::daw::api::LoadPluginRequest& request, ::daw::api::PluginInfo* response) { + return ::grpc::internal::BlockingUnaryCall< ::daw::api::LoadPluginRequest, ::daw::api::PluginInfo, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_LoadPlugin_, context, request, response); +} + +void PluginService::Stub::async::LoadPlugin(::grpc::ClientContext* context, const ::daw::api::LoadPluginRequest* request, ::daw::api::PluginInfo* response, std::function f) { + ::grpc::internal::CallbackUnaryCall< ::daw::api::LoadPluginRequest, ::daw::api::PluginInfo, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_LoadPlugin_, context, request, response, std::move(f)); +} + +void PluginService::Stub::async::LoadPlugin(::grpc::ClientContext* context, const ::daw::api::LoadPluginRequest* request, ::daw::api::PluginInfo* response, ::grpc::ClientUnaryReactor* reactor) { + ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_LoadPlugin_, context, request, response, reactor); +} + +::grpc::ClientAsyncResponseReader< ::daw::api::PluginInfo>* PluginService::Stub::PrepareAsyncLoadPluginRaw(::grpc::ClientContext* context, const ::daw::api::LoadPluginRequest& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::daw::api::PluginInfo, ::daw::api::LoadPluginRequest, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_LoadPlugin_, context, request); +} + +::grpc::ClientAsyncResponseReader< ::daw::api::PluginInfo>* PluginService::Stub::AsyncLoadPluginRaw(::grpc::ClientContext* context, const ::daw::api::LoadPluginRequest& request, ::grpc::CompletionQueue* cq) { + auto* result = + this->PrepareAsyncLoadPluginRaw(context, request, cq); + result->StartCall(); + return result; +} + +::grpc::Status PluginService::Stub::SetPluginParameter(::grpc::ClientContext* context, const ::daw::api::SetPluginParameterRequest& request, ::daw::api::StatusResponse* response) { + return ::grpc::internal::BlockingUnaryCall< ::daw::api::SetPluginParameterRequest, ::daw::api::StatusResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), rpcmethod_SetPluginParameter_, context, request, response); +} + +void PluginService::Stub::async::SetPluginParameter(::grpc::ClientContext* context, const ::daw::api::SetPluginParameterRequest* request, ::daw::api::StatusResponse* response, std::function f) { + ::grpc::internal::CallbackUnaryCall< ::daw::api::SetPluginParameterRequest, ::daw::api::StatusResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_SetPluginParameter_, context, request, response, std::move(f)); +} + +void PluginService::Stub::async::SetPluginParameter(::grpc::ClientContext* context, const ::daw::api::SetPluginParameterRequest* request, ::daw::api::StatusResponse* response, ::grpc::ClientUnaryReactor* reactor) { + ::grpc::internal::ClientCallbackUnaryFactory::Create< ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(stub_->channel_.get(), stub_->rpcmethod_SetPluginParameter_, context, request, response, reactor); +} + +::grpc::ClientAsyncResponseReader< ::daw::api::StatusResponse>* PluginService::Stub::PrepareAsyncSetPluginParameterRaw(::grpc::ClientContext* context, const ::daw::api::SetPluginParameterRequest& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncResponseReaderHelper::Create< ::daw::api::StatusResponse, ::daw::api::SetPluginParameterRequest, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>(channel_.get(), cq, rpcmethod_SetPluginParameter_, context, request); +} + +::grpc::ClientAsyncResponseReader< ::daw::api::StatusResponse>* PluginService::Stub::AsyncSetPluginParameterRaw(::grpc::ClientContext* context, const ::daw::api::SetPluginParameterRequest& request, ::grpc::CompletionQueue* cq) { + auto* result = + this->PrepareAsyncSetPluginParameterRaw(context, request, cq); + result->StartCall(); + return result; +} + +PluginService::Service::Service() { + AddMethod(new ::grpc::internal::RpcServiceMethod( + PluginService_method_names[0], + ::grpc::internal::RpcMethod::NORMAL_RPC, + new ::grpc::internal::RpcMethodHandler< PluginService::Service, ::daw::api::LoadPluginRequest, ::daw::api::PluginInfo, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>( + [](PluginService::Service* service, + ::grpc::ServerContext* ctx, + const ::daw::api::LoadPluginRequest* req, + ::daw::api::PluginInfo* resp) { + return service->LoadPlugin(ctx, req, resp); + }, this))); + AddMethod(new ::grpc::internal::RpcServiceMethod( + PluginService_method_names[1], + ::grpc::internal::RpcMethod::NORMAL_RPC, + new ::grpc::internal::RpcMethodHandler< PluginService::Service, ::daw::api::SetPluginParameterRequest, ::daw::api::StatusResponse, ::grpc::protobuf::MessageLite, ::grpc::protobuf::MessageLite>( + [](PluginService::Service* service, + ::grpc::ServerContext* ctx, + const ::daw::api::SetPluginParameterRequest* req, + ::daw::api::StatusResponse* resp) { + return service->SetPluginParameter(ctx, req, resp); + }, this))); +} + +PluginService::Service::~Service() { +} + +::grpc::Status PluginService::Service::LoadPlugin(::grpc::ServerContext* context, const ::daw::api::LoadPluginRequest* request, ::daw::api::PluginInfo* response) { + (void) context; + (void) request; + (void) response; + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); +} + +::grpc::Status PluginService::Service::SetPluginParameter(::grpc::ServerContext* context, const ::daw::api::SetPluginParameterRequest* request, ::daw::api::StatusResponse* response) { + (void) context; + (void) request; + (void) response; + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); +} + + +} // namespace daw +} // namespace api + diff --git a/src/backend/src/proto/daw_api.grpc.pb.h b/src/backend/src/proto/daw_api.grpc.pb.h new file mode 100644 index 0000000..02cbf07 --- /dev/null +++ b/src/backend/src/proto/daw_api.grpc.pb.h @@ -0,0 +1,2282 @@ +// Generated by the gRPC C++ plugin. +// If you make any local change, they will be lost. +// source: daw_api.proto +#ifndef GRPC_daw_5fapi_2eproto__INCLUDED +#define GRPC_daw_5fapi_2eproto__INCLUDED + +#include "daw_api.pb.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace daw { +namespace api { + +// =================================================================== +// Service Definitions (gRPC Control Plane) +// =================================================================== +// +class TransportService final { + public: + static constexpr char const* service_full_name() { + return "daw.api.TransportService"; + } + class StubInterface { + public: + virtual ~StubInterface() {} + virtual ::grpc::Status Play(::grpc::ClientContext* context, const ::daw::api::Empty& request, ::daw::api::StatusResponse* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::daw::api::StatusResponse>> AsyncPlay(::grpc::ClientContext* context, const ::daw::api::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::daw::api::StatusResponse>>(AsyncPlayRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::daw::api::StatusResponse>> PrepareAsyncPlay(::grpc::ClientContext* context, const ::daw::api::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::daw::api::StatusResponse>>(PrepareAsyncPlayRaw(context, request, cq)); + } + virtual ::grpc::Status Pause(::grpc::ClientContext* context, const ::daw::api::Empty& request, ::daw::api::StatusResponse* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::daw::api::StatusResponse>> AsyncPause(::grpc::ClientContext* context, const ::daw::api::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::daw::api::StatusResponse>>(AsyncPauseRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::daw::api::StatusResponse>> PrepareAsyncPause(::grpc::ClientContext* context, const ::daw::api::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::daw::api::StatusResponse>>(PrepareAsyncPauseRaw(context, request, cq)); + } + virtual ::grpc::Status Stop(::grpc::ClientContext* context, const ::daw::api::Empty& request, ::daw::api::StatusResponse* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::daw::api::StatusResponse>> AsyncStop(::grpc::ClientContext* context, const ::daw::api::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::daw::api::StatusResponse>>(AsyncStopRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::daw::api::StatusResponse>> PrepareAsyncStop(::grpc::ClientContext* context, const ::daw::api::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::daw::api::StatusResponse>>(PrepareAsyncStopRaw(context, request, cq)); + } + virtual ::grpc::Status SetTempo(::grpc::ClientContext* context, const ::daw::api::SetTempoRequest& request, ::daw::api::StatusResponse* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::daw::api::StatusResponse>> AsyncSetTempo(::grpc::ClientContext* context, const ::daw::api::SetTempoRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::daw::api::StatusResponse>>(AsyncSetTempoRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::daw::api::StatusResponse>> PrepareAsyncSetTempo(::grpc::ClientContext* context, const ::daw::api::SetTempoRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::daw::api::StatusResponse>>(PrepareAsyncSetTempoRaw(context, request, cq)); + } + class async_interface { + public: + virtual ~async_interface() {} + virtual void Play(::grpc::ClientContext* context, const ::daw::api::Empty* request, ::daw::api::StatusResponse* response, std::function) = 0; + virtual void Play(::grpc::ClientContext* context, const ::daw::api::Empty* request, ::daw::api::StatusResponse* response, ::grpc::ClientUnaryReactor* reactor) = 0; + virtual void Pause(::grpc::ClientContext* context, const ::daw::api::Empty* request, ::daw::api::StatusResponse* response, std::function) = 0; + virtual void Pause(::grpc::ClientContext* context, const ::daw::api::Empty* request, ::daw::api::StatusResponse* response, ::grpc::ClientUnaryReactor* reactor) = 0; + virtual void Stop(::grpc::ClientContext* context, const ::daw::api::Empty* request, ::daw::api::StatusResponse* response, std::function) = 0; + virtual void Stop(::grpc::ClientContext* context, const ::daw::api::Empty* request, ::daw::api::StatusResponse* response, ::grpc::ClientUnaryReactor* reactor) = 0; + virtual void SetTempo(::grpc::ClientContext* context, const ::daw::api::SetTempoRequest* request, ::daw::api::StatusResponse* response, std::function) = 0; + virtual void SetTempo(::grpc::ClientContext* context, const ::daw::api::SetTempoRequest* request, ::daw::api::StatusResponse* response, ::grpc::ClientUnaryReactor* reactor) = 0; + }; + typedef class async_interface experimental_async_interface; + virtual class async_interface* async() { return nullptr; } + class async_interface* experimental_async() { return async(); } + private: + virtual ::grpc::ClientAsyncResponseReaderInterface< ::daw::api::StatusResponse>* AsyncPlayRaw(::grpc::ClientContext* context, const ::daw::api::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::daw::api::StatusResponse>* PrepareAsyncPlayRaw(::grpc::ClientContext* context, const ::daw::api::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::daw::api::StatusResponse>* AsyncPauseRaw(::grpc::ClientContext* context, const ::daw::api::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::daw::api::StatusResponse>* PrepareAsyncPauseRaw(::grpc::ClientContext* context, const ::daw::api::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::daw::api::StatusResponse>* AsyncStopRaw(::grpc::ClientContext* context, const ::daw::api::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::daw::api::StatusResponse>* PrepareAsyncStopRaw(::grpc::ClientContext* context, const ::daw::api::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::daw::api::StatusResponse>* AsyncSetTempoRaw(::grpc::ClientContext* context, const ::daw::api::SetTempoRequest& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::daw::api::StatusResponse>* PrepareAsyncSetTempoRaw(::grpc::ClientContext* context, const ::daw::api::SetTempoRequest& request, ::grpc::CompletionQueue* cq) = 0; + }; + class Stub final : public StubInterface { + public: + Stub(const std::shared_ptr< ::grpc::ChannelInterface>& channel, const ::grpc::StubOptions& options = ::grpc::StubOptions()); + ::grpc::Status Play(::grpc::ClientContext* context, const ::daw::api::Empty& request, ::daw::api::StatusResponse* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::daw::api::StatusResponse>> AsyncPlay(::grpc::ClientContext* context, const ::daw::api::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::daw::api::StatusResponse>>(AsyncPlayRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::daw::api::StatusResponse>> PrepareAsyncPlay(::grpc::ClientContext* context, const ::daw::api::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::daw::api::StatusResponse>>(PrepareAsyncPlayRaw(context, request, cq)); + } + ::grpc::Status Pause(::grpc::ClientContext* context, const ::daw::api::Empty& request, ::daw::api::StatusResponse* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::daw::api::StatusResponse>> AsyncPause(::grpc::ClientContext* context, const ::daw::api::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::daw::api::StatusResponse>>(AsyncPauseRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::daw::api::StatusResponse>> PrepareAsyncPause(::grpc::ClientContext* context, const ::daw::api::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::daw::api::StatusResponse>>(PrepareAsyncPauseRaw(context, request, cq)); + } + ::grpc::Status Stop(::grpc::ClientContext* context, const ::daw::api::Empty& request, ::daw::api::StatusResponse* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::daw::api::StatusResponse>> AsyncStop(::grpc::ClientContext* context, const ::daw::api::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::daw::api::StatusResponse>>(AsyncStopRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::daw::api::StatusResponse>> PrepareAsyncStop(::grpc::ClientContext* context, const ::daw::api::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::daw::api::StatusResponse>>(PrepareAsyncStopRaw(context, request, cq)); + } + ::grpc::Status SetTempo(::grpc::ClientContext* context, const ::daw::api::SetTempoRequest& request, ::daw::api::StatusResponse* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::daw::api::StatusResponse>> AsyncSetTempo(::grpc::ClientContext* context, const ::daw::api::SetTempoRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::daw::api::StatusResponse>>(AsyncSetTempoRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::daw::api::StatusResponse>> PrepareAsyncSetTempo(::grpc::ClientContext* context, const ::daw::api::SetTempoRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::daw::api::StatusResponse>>(PrepareAsyncSetTempoRaw(context, request, cq)); + } + class async final : + public StubInterface::async_interface { + public: + void Play(::grpc::ClientContext* context, const ::daw::api::Empty* request, ::daw::api::StatusResponse* response, std::function) override; + void Play(::grpc::ClientContext* context, const ::daw::api::Empty* request, ::daw::api::StatusResponse* response, ::grpc::ClientUnaryReactor* reactor) override; + void Pause(::grpc::ClientContext* context, const ::daw::api::Empty* request, ::daw::api::StatusResponse* response, std::function) override; + void Pause(::grpc::ClientContext* context, const ::daw::api::Empty* request, ::daw::api::StatusResponse* response, ::grpc::ClientUnaryReactor* reactor) override; + void Stop(::grpc::ClientContext* context, const ::daw::api::Empty* request, ::daw::api::StatusResponse* response, std::function) override; + void Stop(::grpc::ClientContext* context, const ::daw::api::Empty* request, ::daw::api::StatusResponse* response, ::grpc::ClientUnaryReactor* reactor) override; + void SetTempo(::grpc::ClientContext* context, const ::daw::api::SetTempoRequest* request, ::daw::api::StatusResponse* response, std::function) override; + void SetTempo(::grpc::ClientContext* context, const ::daw::api::SetTempoRequest* request, ::daw::api::StatusResponse* response, ::grpc::ClientUnaryReactor* reactor) override; + private: + friend class Stub; + explicit async(Stub* stub): stub_(stub) { } + Stub* stub() { return stub_; } + Stub* stub_; + }; + class async* async() override { return &async_stub_; } + + private: + std::shared_ptr< ::grpc::ChannelInterface> channel_; + class async async_stub_{this}; + ::grpc::ClientAsyncResponseReader< ::daw::api::StatusResponse>* AsyncPlayRaw(::grpc::ClientContext* context, const ::daw::api::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::daw::api::StatusResponse>* PrepareAsyncPlayRaw(::grpc::ClientContext* context, const ::daw::api::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::daw::api::StatusResponse>* AsyncPauseRaw(::grpc::ClientContext* context, const ::daw::api::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::daw::api::StatusResponse>* PrepareAsyncPauseRaw(::grpc::ClientContext* context, const ::daw::api::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::daw::api::StatusResponse>* AsyncStopRaw(::grpc::ClientContext* context, const ::daw::api::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::daw::api::StatusResponse>* PrepareAsyncStopRaw(::grpc::ClientContext* context, const ::daw::api::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::daw::api::StatusResponse>* AsyncSetTempoRaw(::grpc::ClientContext* context, const ::daw::api::SetTempoRequest& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::daw::api::StatusResponse>* PrepareAsyncSetTempoRaw(::grpc::ClientContext* context, const ::daw::api::SetTempoRequest& request, ::grpc::CompletionQueue* cq) override; + const ::grpc::internal::RpcMethod rpcmethod_Play_; + const ::grpc::internal::RpcMethod rpcmethod_Pause_; + const ::grpc::internal::RpcMethod rpcmethod_Stop_; + const ::grpc::internal::RpcMethod rpcmethod_SetTempo_; + }; + static std::unique_ptr NewStub(const std::shared_ptr< ::grpc::ChannelInterface>& channel, const ::grpc::StubOptions& options = ::grpc::StubOptions()); + + class Service : public ::grpc::Service { + public: + Service(); + virtual ~Service(); + virtual ::grpc::Status Play(::grpc::ServerContext* context, const ::daw::api::Empty* request, ::daw::api::StatusResponse* response); + virtual ::grpc::Status Pause(::grpc::ServerContext* context, const ::daw::api::Empty* request, ::daw::api::StatusResponse* response); + virtual ::grpc::Status Stop(::grpc::ServerContext* context, const ::daw::api::Empty* request, ::daw::api::StatusResponse* response); + virtual ::grpc::Status SetTempo(::grpc::ServerContext* context, const ::daw::api::SetTempoRequest* request, ::daw::api::StatusResponse* response); + }; + template + class WithAsyncMethod_Play : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithAsyncMethod_Play() { + ::grpc::Service::MarkMethodAsync(0); + } + ~WithAsyncMethod_Play() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status Play(::grpc::ServerContext* /*context*/, const ::daw::api::Empty* /*request*/, ::daw::api::StatusResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestPlay(::grpc::ServerContext* context, ::daw::api::Empty* request, ::grpc::ServerAsyncResponseWriter< ::daw::api::StatusResponse>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(0, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template + class WithAsyncMethod_Pause : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithAsyncMethod_Pause() { + ::grpc::Service::MarkMethodAsync(1); + } + ~WithAsyncMethod_Pause() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status Pause(::grpc::ServerContext* /*context*/, const ::daw::api::Empty* /*request*/, ::daw::api::StatusResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestPause(::grpc::ServerContext* context, ::daw::api::Empty* request, ::grpc::ServerAsyncResponseWriter< ::daw::api::StatusResponse>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(1, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template + class WithAsyncMethod_Stop : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithAsyncMethod_Stop() { + ::grpc::Service::MarkMethodAsync(2); + } + ~WithAsyncMethod_Stop() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status Stop(::grpc::ServerContext* /*context*/, const ::daw::api::Empty* /*request*/, ::daw::api::StatusResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestStop(::grpc::ServerContext* context, ::daw::api::Empty* request, ::grpc::ServerAsyncResponseWriter< ::daw::api::StatusResponse>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(2, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template + class WithAsyncMethod_SetTempo : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithAsyncMethod_SetTempo() { + ::grpc::Service::MarkMethodAsync(3); + } + ~WithAsyncMethod_SetTempo() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status SetTempo(::grpc::ServerContext* /*context*/, const ::daw::api::SetTempoRequest* /*request*/, ::daw::api::StatusResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestSetTempo(::grpc::ServerContext* context, ::daw::api::SetTempoRequest* request, ::grpc::ServerAsyncResponseWriter< ::daw::api::StatusResponse>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(3, context, request, response, new_call_cq, notification_cq, tag); + } + }; + typedef WithAsyncMethod_Play > > > AsyncService; + template + class WithCallbackMethod_Play : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithCallbackMethod_Play() { + ::grpc::Service::MarkMethodCallback(0, + new ::grpc::internal::CallbackUnaryHandler< ::daw::api::Empty, ::daw::api::StatusResponse>( + [this]( + ::grpc::CallbackServerContext* context, const ::daw::api::Empty* request, ::daw::api::StatusResponse* response) { return this->Play(context, request, response); }));} + void SetMessageAllocatorFor_Play( + ::grpc::MessageAllocator< ::daw::api::Empty, ::daw::api::StatusResponse>* allocator) { + ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(0); + static_cast<::grpc::internal::CallbackUnaryHandler< ::daw::api::Empty, ::daw::api::StatusResponse>*>(handler) + ->SetMessageAllocator(allocator); + } + ~WithCallbackMethod_Play() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status Play(::grpc::ServerContext* /*context*/, const ::daw::api::Empty* /*request*/, ::daw::api::StatusResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual ::grpc::ServerUnaryReactor* Play( + ::grpc::CallbackServerContext* /*context*/, const ::daw::api::Empty* /*request*/, ::daw::api::StatusResponse* /*response*/) { return nullptr; } + }; + template + class WithCallbackMethod_Pause : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithCallbackMethod_Pause() { + ::grpc::Service::MarkMethodCallback(1, + new ::grpc::internal::CallbackUnaryHandler< ::daw::api::Empty, ::daw::api::StatusResponse>( + [this]( + ::grpc::CallbackServerContext* context, const ::daw::api::Empty* request, ::daw::api::StatusResponse* response) { return this->Pause(context, request, response); }));} + void SetMessageAllocatorFor_Pause( + ::grpc::MessageAllocator< ::daw::api::Empty, ::daw::api::StatusResponse>* allocator) { + ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(1); + static_cast<::grpc::internal::CallbackUnaryHandler< ::daw::api::Empty, ::daw::api::StatusResponse>*>(handler) + ->SetMessageAllocator(allocator); + } + ~WithCallbackMethod_Pause() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status Pause(::grpc::ServerContext* /*context*/, const ::daw::api::Empty* /*request*/, ::daw::api::StatusResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual ::grpc::ServerUnaryReactor* Pause( + ::grpc::CallbackServerContext* /*context*/, const ::daw::api::Empty* /*request*/, ::daw::api::StatusResponse* /*response*/) { return nullptr; } + }; + template + class WithCallbackMethod_Stop : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithCallbackMethod_Stop() { + ::grpc::Service::MarkMethodCallback(2, + new ::grpc::internal::CallbackUnaryHandler< ::daw::api::Empty, ::daw::api::StatusResponse>( + [this]( + ::grpc::CallbackServerContext* context, const ::daw::api::Empty* request, ::daw::api::StatusResponse* response) { return this->Stop(context, request, response); }));} + void SetMessageAllocatorFor_Stop( + ::grpc::MessageAllocator< ::daw::api::Empty, ::daw::api::StatusResponse>* allocator) { + ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(2); + static_cast<::grpc::internal::CallbackUnaryHandler< ::daw::api::Empty, ::daw::api::StatusResponse>*>(handler) + ->SetMessageAllocator(allocator); + } + ~WithCallbackMethod_Stop() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status Stop(::grpc::ServerContext* /*context*/, const ::daw::api::Empty* /*request*/, ::daw::api::StatusResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual ::grpc::ServerUnaryReactor* Stop( + ::grpc::CallbackServerContext* /*context*/, const ::daw::api::Empty* /*request*/, ::daw::api::StatusResponse* /*response*/) { return nullptr; } + }; + template + class WithCallbackMethod_SetTempo : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithCallbackMethod_SetTempo() { + ::grpc::Service::MarkMethodCallback(3, + new ::grpc::internal::CallbackUnaryHandler< ::daw::api::SetTempoRequest, ::daw::api::StatusResponse>( + [this]( + ::grpc::CallbackServerContext* context, const ::daw::api::SetTempoRequest* request, ::daw::api::StatusResponse* response) { return this->SetTempo(context, request, response); }));} + void SetMessageAllocatorFor_SetTempo( + ::grpc::MessageAllocator< ::daw::api::SetTempoRequest, ::daw::api::StatusResponse>* allocator) { + ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(3); + static_cast<::grpc::internal::CallbackUnaryHandler< ::daw::api::SetTempoRequest, ::daw::api::StatusResponse>*>(handler) + ->SetMessageAllocator(allocator); + } + ~WithCallbackMethod_SetTempo() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status SetTempo(::grpc::ServerContext* /*context*/, const ::daw::api::SetTempoRequest* /*request*/, ::daw::api::StatusResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual ::grpc::ServerUnaryReactor* SetTempo( + ::grpc::CallbackServerContext* /*context*/, const ::daw::api::SetTempoRequest* /*request*/, ::daw::api::StatusResponse* /*response*/) { return nullptr; } + }; + typedef WithCallbackMethod_Play > > > CallbackService; + typedef CallbackService ExperimentalCallbackService; + template + class WithGenericMethod_Play : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithGenericMethod_Play() { + ::grpc::Service::MarkMethodGeneric(0); + } + ~WithGenericMethod_Play() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status Play(::grpc::ServerContext* /*context*/, const ::daw::api::Empty* /*request*/, ::daw::api::StatusResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + }; + template + class WithGenericMethod_Pause : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithGenericMethod_Pause() { + ::grpc::Service::MarkMethodGeneric(1); + } + ~WithGenericMethod_Pause() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status Pause(::grpc::ServerContext* /*context*/, const ::daw::api::Empty* /*request*/, ::daw::api::StatusResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + }; + template + class WithGenericMethod_Stop : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithGenericMethod_Stop() { + ::grpc::Service::MarkMethodGeneric(2); + } + ~WithGenericMethod_Stop() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status Stop(::grpc::ServerContext* /*context*/, const ::daw::api::Empty* /*request*/, ::daw::api::StatusResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + }; + template + class WithGenericMethod_SetTempo : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithGenericMethod_SetTempo() { + ::grpc::Service::MarkMethodGeneric(3); + } + ~WithGenericMethod_SetTempo() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status SetTempo(::grpc::ServerContext* /*context*/, const ::daw::api::SetTempoRequest* /*request*/, ::daw::api::StatusResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + }; + template + class WithRawMethod_Play : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithRawMethod_Play() { + ::grpc::Service::MarkMethodRaw(0); + } + ~WithRawMethod_Play() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status Play(::grpc::ServerContext* /*context*/, const ::daw::api::Empty* /*request*/, ::daw::api::StatusResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestPlay(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(0, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template + class WithRawMethod_Pause : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithRawMethod_Pause() { + ::grpc::Service::MarkMethodRaw(1); + } + ~WithRawMethod_Pause() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status Pause(::grpc::ServerContext* /*context*/, const ::daw::api::Empty* /*request*/, ::daw::api::StatusResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestPause(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(1, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template + class WithRawMethod_Stop : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithRawMethod_Stop() { + ::grpc::Service::MarkMethodRaw(2); + } + ~WithRawMethod_Stop() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status Stop(::grpc::ServerContext* /*context*/, const ::daw::api::Empty* /*request*/, ::daw::api::StatusResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestStop(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(2, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template + class WithRawMethod_SetTempo : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithRawMethod_SetTempo() { + ::grpc::Service::MarkMethodRaw(3); + } + ~WithRawMethod_SetTempo() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status SetTempo(::grpc::ServerContext* /*context*/, const ::daw::api::SetTempoRequest* /*request*/, ::daw::api::StatusResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestSetTempo(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(3, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template + class WithRawCallbackMethod_Play : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithRawCallbackMethod_Play() { + ::grpc::Service::MarkMethodRawCallback(0, + new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( + [this]( + ::grpc::CallbackServerContext* context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->Play(context, request, response); })); + } + ~WithRawCallbackMethod_Play() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status Play(::grpc::ServerContext* /*context*/, const ::daw::api::Empty* /*request*/, ::daw::api::StatusResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual ::grpc::ServerUnaryReactor* Play( + ::grpc::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/) { return nullptr; } + }; + template + class WithRawCallbackMethod_Pause : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithRawCallbackMethod_Pause() { + ::grpc::Service::MarkMethodRawCallback(1, + new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( + [this]( + ::grpc::CallbackServerContext* context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->Pause(context, request, response); })); + } + ~WithRawCallbackMethod_Pause() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status Pause(::grpc::ServerContext* /*context*/, const ::daw::api::Empty* /*request*/, ::daw::api::StatusResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual ::grpc::ServerUnaryReactor* Pause( + ::grpc::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/) { return nullptr; } + }; + template + class WithRawCallbackMethod_Stop : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithRawCallbackMethod_Stop() { + ::grpc::Service::MarkMethodRawCallback(2, + new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( + [this]( + ::grpc::CallbackServerContext* context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->Stop(context, request, response); })); + } + ~WithRawCallbackMethod_Stop() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status Stop(::grpc::ServerContext* /*context*/, const ::daw::api::Empty* /*request*/, ::daw::api::StatusResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual ::grpc::ServerUnaryReactor* Stop( + ::grpc::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/) { return nullptr; } + }; + template + class WithRawCallbackMethod_SetTempo : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithRawCallbackMethod_SetTempo() { + ::grpc::Service::MarkMethodRawCallback(3, + new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( + [this]( + ::grpc::CallbackServerContext* context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->SetTempo(context, request, response); })); + } + ~WithRawCallbackMethod_SetTempo() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status SetTempo(::grpc::ServerContext* /*context*/, const ::daw::api::SetTempoRequest* /*request*/, ::daw::api::StatusResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual ::grpc::ServerUnaryReactor* SetTempo( + ::grpc::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/) { return nullptr; } + }; + template + class WithStreamedUnaryMethod_Play : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithStreamedUnaryMethod_Play() { + ::grpc::Service::MarkMethodStreamed(0, + new ::grpc::internal::StreamedUnaryHandler< + ::daw::api::Empty, ::daw::api::StatusResponse>( + [this](::grpc::ServerContext* context, + ::grpc::ServerUnaryStreamer< + ::daw::api::Empty, ::daw::api::StatusResponse>* streamer) { + return this->StreamedPlay(context, + streamer); + })); + } + ~WithStreamedUnaryMethod_Play() override { + BaseClassMustBeDerivedFromService(this); + } + // disable regular version of this method + ::grpc::Status Play(::grpc::ServerContext* /*context*/, const ::daw::api::Empty* /*request*/, ::daw::api::StatusResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + // replace default version of method with streamed unary + virtual ::grpc::Status StreamedPlay(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::daw::api::Empty,::daw::api::StatusResponse>* server_unary_streamer) = 0; + }; + template + class WithStreamedUnaryMethod_Pause : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithStreamedUnaryMethod_Pause() { + ::grpc::Service::MarkMethodStreamed(1, + new ::grpc::internal::StreamedUnaryHandler< + ::daw::api::Empty, ::daw::api::StatusResponse>( + [this](::grpc::ServerContext* context, + ::grpc::ServerUnaryStreamer< + ::daw::api::Empty, ::daw::api::StatusResponse>* streamer) { + return this->StreamedPause(context, + streamer); + })); + } + ~WithStreamedUnaryMethod_Pause() override { + BaseClassMustBeDerivedFromService(this); + } + // disable regular version of this method + ::grpc::Status Pause(::grpc::ServerContext* /*context*/, const ::daw::api::Empty* /*request*/, ::daw::api::StatusResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + // replace default version of method with streamed unary + virtual ::grpc::Status StreamedPause(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::daw::api::Empty,::daw::api::StatusResponse>* server_unary_streamer) = 0; + }; + template + class WithStreamedUnaryMethod_Stop : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithStreamedUnaryMethod_Stop() { + ::grpc::Service::MarkMethodStreamed(2, + new ::grpc::internal::StreamedUnaryHandler< + ::daw::api::Empty, ::daw::api::StatusResponse>( + [this](::grpc::ServerContext* context, + ::grpc::ServerUnaryStreamer< + ::daw::api::Empty, ::daw::api::StatusResponse>* streamer) { + return this->StreamedStop(context, + streamer); + })); + } + ~WithStreamedUnaryMethod_Stop() override { + BaseClassMustBeDerivedFromService(this); + } + // disable regular version of this method + ::grpc::Status Stop(::grpc::ServerContext* /*context*/, const ::daw::api::Empty* /*request*/, ::daw::api::StatusResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + // replace default version of method with streamed unary + virtual ::grpc::Status StreamedStop(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::daw::api::Empty,::daw::api::StatusResponse>* server_unary_streamer) = 0; + }; + template + class WithStreamedUnaryMethod_SetTempo : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithStreamedUnaryMethod_SetTempo() { + ::grpc::Service::MarkMethodStreamed(3, + new ::grpc::internal::StreamedUnaryHandler< + ::daw::api::SetTempoRequest, ::daw::api::StatusResponse>( + [this](::grpc::ServerContext* context, + ::grpc::ServerUnaryStreamer< + ::daw::api::SetTempoRequest, ::daw::api::StatusResponse>* streamer) { + return this->StreamedSetTempo(context, + streamer); + })); + } + ~WithStreamedUnaryMethod_SetTempo() override { + BaseClassMustBeDerivedFromService(this); + } + // disable regular version of this method + ::grpc::Status SetTempo(::grpc::ServerContext* /*context*/, const ::daw::api::SetTempoRequest* /*request*/, ::daw::api::StatusResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + // replace default version of method with streamed unary + virtual ::grpc::Status StreamedSetTempo(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::daw::api::SetTempoRequest,::daw::api::StatusResponse>* server_unary_streamer) = 0; + }; + typedef WithStreamedUnaryMethod_Play > > > StreamedUnaryService; + typedef Service SplitStreamedService; + typedef WithStreamedUnaryMethod_Play > > > StreamedService; +}; + +class ProjectService final { + public: + static constexpr char const* service_full_name() { + return "daw.api.ProjectService"; + } + class StubInterface { + public: + virtual ~StubInterface() {} + virtual ::grpc::Status NewProject(::grpc::ClientContext* context, const ::daw::api::Empty& request, ::daw::api::ProjectState* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::daw::api::ProjectState>> AsyncNewProject(::grpc::ClientContext* context, const ::daw::api::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::daw::api::ProjectState>>(AsyncNewProjectRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::daw::api::ProjectState>> PrepareAsyncNewProject(::grpc::ClientContext* context, const ::daw::api::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::daw::api::ProjectState>>(PrepareAsyncNewProjectRaw(context, request, cq)); + } + virtual ::grpc::Status LoadProject(::grpc::ClientContext* context, const ::daw::api::LoadProjectRequest& request, ::daw::api::ProjectState* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::daw::api::ProjectState>> AsyncLoadProject(::grpc::ClientContext* context, const ::daw::api::LoadProjectRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::daw::api::ProjectState>>(AsyncLoadProjectRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::daw::api::ProjectState>> PrepareAsyncLoadProject(::grpc::ClientContext* context, const ::daw::api::LoadProjectRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::daw::api::ProjectState>>(PrepareAsyncLoadProjectRaw(context, request, cq)); + } + virtual ::grpc::Status SaveProject(::grpc::ClientContext* context, const ::daw::api::SaveProjectRequest& request, ::daw::api::StatusResponse* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::daw::api::StatusResponse>> AsyncSaveProject(::grpc::ClientContext* context, const ::daw::api::SaveProjectRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::daw::api::StatusResponse>>(AsyncSaveProjectRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::daw::api::StatusResponse>> PrepareAsyncSaveProject(::grpc::ClientContext* context, const ::daw::api::SaveProjectRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::daw::api::StatusResponse>>(PrepareAsyncSaveProjectRaw(context, request, cq)); + } + class async_interface { + public: + virtual ~async_interface() {} + virtual void NewProject(::grpc::ClientContext* context, const ::daw::api::Empty* request, ::daw::api::ProjectState* response, std::function) = 0; + virtual void NewProject(::grpc::ClientContext* context, const ::daw::api::Empty* request, ::daw::api::ProjectState* response, ::grpc::ClientUnaryReactor* reactor) = 0; + virtual void LoadProject(::grpc::ClientContext* context, const ::daw::api::LoadProjectRequest* request, ::daw::api::ProjectState* response, std::function) = 0; + virtual void LoadProject(::grpc::ClientContext* context, const ::daw::api::LoadProjectRequest* request, ::daw::api::ProjectState* response, ::grpc::ClientUnaryReactor* reactor) = 0; + virtual void SaveProject(::grpc::ClientContext* context, const ::daw::api::SaveProjectRequest* request, ::daw::api::StatusResponse* response, std::function) = 0; + virtual void SaveProject(::grpc::ClientContext* context, const ::daw::api::SaveProjectRequest* request, ::daw::api::StatusResponse* response, ::grpc::ClientUnaryReactor* reactor) = 0; + }; + typedef class async_interface experimental_async_interface; + virtual class async_interface* async() { return nullptr; } + class async_interface* experimental_async() { return async(); } + private: + virtual ::grpc::ClientAsyncResponseReaderInterface< ::daw::api::ProjectState>* AsyncNewProjectRaw(::grpc::ClientContext* context, const ::daw::api::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::daw::api::ProjectState>* PrepareAsyncNewProjectRaw(::grpc::ClientContext* context, const ::daw::api::Empty& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::daw::api::ProjectState>* AsyncLoadProjectRaw(::grpc::ClientContext* context, const ::daw::api::LoadProjectRequest& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::daw::api::ProjectState>* PrepareAsyncLoadProjectRaw(::grpc::ClientContext* context, const ::daw::api::LoadProjectRequest& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::daw::api::StatusResponse>* AsyncSaveProjectRaw(::grpc::ClientContext* context, const ::daw::api::SaveProjectRequest& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::daw::api::StatusResponse>* PrepareAsyncSaveProjectRaw(::grpc::ClientContext* context, const ::daw::api::SaveProjectRequest& request, ::grpc::CompletionQueue* cq) = 0; + }; + class Stub final : public StubInterface { + public: + Stub(const std::shared_ptr< ::grpc::ChannelInterface>& channel, const ::grpc::StubOptions& options = ::grpc::StubOptions()); + ::grpc::Status NewProject(::grpc::ClientContext* context, const ::daw::api::Empty& request, ::daw::api::ProjectState* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::daw::api::ProjectState>> AsyncNewProject(::grpc::ClientContext* context, const ::daw::api::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::daw::api::ProjectState>>(AsyncNewProjectRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::daw::api::ProjectState>> PrepareAsyncNewProject(::grpc::ClientContext* context, const ::daw::api::Empty& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::daw::api::ProjectState>>(PrepareAsyncNewProjectRaw(context, request, cq)); + } + ::grpc::Status LoadProject(::grpc::ClientContext* context, const ::daw::api::LoadProjectRequest& request, ::daw::api::ProjectState* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::daw::api::ProjectState>> AsyncLoadProject(::grpc::ClientContext* context, const ::daw::api::LoadProjectRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::daw::api::ProjectState>>(AsyncLoadProjectRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::daw::api::ProjectState>> PrepareAsyncLoadProject(::grpc::ClientContext* context, const ::daw::api::LoadProjectRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::daw::api::ProjectState>>(PrepareAsyncLoadProjectRaw(context, request, cq)); + } + ::grpc::Status SaveProject(::grpc::ClientContext* context, const ::daw::api::SaveProjectRequest& request, ::daw::api::StatusResponse* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::daw::api::StatusResponse>> AsyncSaveProject(::grpc::ClientContext* context, const ::daw::api::SaveProjectRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::daw::api::StatusResponse>>(AsyncSaveProjectRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::daw::api::StatusResponse>> PrepareAsyncSaveProject(::grpc::ClientContext* context, const ::daw::api::SaveProjectRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::daw::api::StatusResponse>>(PrepareAsyncSaveProjectRaw(context, request, cq)); + } + class async final : + public StubInterface::async_interface { + public: + void NewProject(::grpc::ClientContext* context, const ::daw::api::Empty* request, ::daw::api::ProjectState* response, std::function) override; + void NewProject(::grpc::ClientContext* context, const ::daw::api::Empty* request, ::daw::api::ProjectState* response, ::grpc::ClientUnaryReactor* reactor) override; + void LoadProject(::grpc::ClientContext* context, const ::daw::api::LoadProjectRequest* request, ::daw::api::ProjectState* response, std::function) override; + void LoadProject(::grpc::ClientContext* context, const ::daw::api::LoadProjectRequest* request, ::daw::api::ProjectState* response, ::grpc::ClientUnaryReactor* reactor) override; + void SaveProject(::grpc::ClientContext* context, const ::daw::api::SaveProjectRequest* request, ::daw::api::StatusResponse* response, std::function) override; + void SaveProject(::grpc::ClientContext* context, const ::daw::api::SaveProjectRequest* request, ::daw::api::StatusResponse* response, ::grpc::ClientUnaryReactor* reactor) override; + private: + friend class Stub; + explicit async(Stub* stub): stub_(stub) { } + Stub* stub() { return stub_; } + Stub* stub_; + }; + class async* async() override { return &async_stub_; } + + private: + std::shared_ptr< ::grpc::ChannelInterface> channel_; + class async async_stub_{this}; + ::grpc::ClientAsyncResponseReader< ::daw::api::ProjectState>* AsyncNewProjectRaw(::grpc::ClientContext* context, const ::daw::api::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::daw::api::ProjectState>* PrepareAsyncNewProjectRaw(::grpc::ClientContext* context, const ::daw::api::Empty& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::daw::api::ProjectState>* AsyncLoadProjectRaw(::grpc::ClientContext* context, const ::daw::api::LoadProjectRequest& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::daw::api::ProjectState>* PrepareAsyncLoadProjectRaw(::grpc::ClientContext* context, const ::daw::api::LoadProjectRequest& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::daw::api::StatusResponse>* AsyncSaveProjectRaw(::grpc::ClientContext* context, const ::daw::api::SaveProjectRequest& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::daw::api::StatusResponse>* PrepareAsyncSaveProjectRaw(::grpc::ClientContext* context, const ::daw::api::SaveProjectRequest& request, ::grpc::CompletionQueue* cq) override; + const ::grpc::internal::RpcMethod rpcmethod_NewProject_; + const ::grpc::internal::RpcMethod rpcmethod_LoadProject_; + const ::grpc::internal::RpcMethod rpcmethod_SaveProject_; + }; + static std::unique_ptr NewStub(const std::shared_ptr< ::grpc::ChannelInterface>& channel, const ::grpc::StubOptions& options = ::grpc::StubOptions()); + + class Service : public ::grpc::Service { + public: + Service(); + virtual ~Service(); + virtual ::grpc::Status NewProject(::grpc::ServerContext* context, const ::daw::api::Empty* request, ::daw::api::ProjectState* response); + virtual ::grpc::Status LoadProject(::grpc::ServerContext* context, const ::daw::api::LoadProjectRequest* request, ::daw::api::ProjectState* response); + virtual ::grpc::Status SaveProject(::grpc::ServerContext* context, const ::daw::api::SaveProjectRequest* request, ::daw::api::StatusResponse* response); + }; + template + class WithAsyncMethod_NewProject : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithAsyncMethod_NewProject() { + ::grpc::Service::MarkMethodAsync(0); + } + ~WithAsyncMethod_NewProject() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status NewProject(::grpc::ServerContext* /*context*/, const ::daw::api::Empty* /*request*/, ::daw::api::ProjectState* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestNewProject(::grpc::ServerContext* context, ::daw::api::Empty* request, ::grpc::ServerAsyncResponseWriter< ::daw::api::ProjectState>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(0, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template + class WithAsyncMethod_LoadProject : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithAsyncMethod_LoadProject() { + ::grpc::Service::MarkMethodAsync(1); + } + ~WithAsyncMethod_LoadProject() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status LoadProject(::grpc::ServerContext* /*context*/, const ::daw::api::LoadProjectRequest* /*request*/, ::daw::api::ProjectState* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestLoadProject(::grpc::ServerContext* context, ::daw::api::LoadProjectRequest* request, ::grpc::ServerAsyncResponseWriter< ::daw::api::ProjectState>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(1, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template + class WithAsyncMethod_SaveProject : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithAsyncMethod_SaveProject() { + ::grpc::Service::MarkMethodAsync(2); + } + ~WithAsyncMethod_SaveProject() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status SaveProject(::grpc::ServerContext* /*context*/, const ::daw::api::SaveProjectRequest* /*request*/, ::daw::api::StatusResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestSaveProject(::grpc::ServerContext* context, ::daw::api::SaveProjectRequest* request, ::grpc::ServerAsyncResponseWriter< ::daw::api::StatusResponse>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(2, context, request, response, new_call_cq, notification_cq, tag); + } + }; + typedef WithAsyncMethod_NewProject > > AsyncService; + template + class WithCallbackMethod_NewProject : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithCallbackMethod_NewProject() { + ::grpc::Service::MarkMethodCallback(0, + new ::grpc::internal::CallbackUnaryHandler< ::daw::api::Empty, ::daw::api::ProjectState>( + [this]( + ::grpc::CallbackServerContext* context, const ::daw::api::Empty* request, ::daw::api::ProjectState* response) { return this->NewProject(context, request, response); }));} + void SetMessageAllocatorFor_NewProject( + ::grpc::MessageAllocator< ::daw::api::Empty, ::daw::api::ProjectState>* allocator) { + ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(0); + static_cast<::grpc::internal::CallbackUnaryHandler< ::daw::api::Empty, ::daw::api::ProjectState>*>(handler) + ->SetMessageAllocator(allocator); + } + ~WithCallbackMethod_NewProject() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status NewProject(::grpc::ServerContext* /*context*/, const ::daw::api::Empty* /*request*/, ::daw::api::ProjectState* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual ::grpc::ServerUnaryReactor* NewProject( + ::grpc::CallbackServerContext* /*context*/, const ::daw::api::Empty* /*request*/, ::daw::api::ProjectState* /*response*/) { return nullptr; } + }; + template + class WithCallbackMethod_LoadProject : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithCallbackMethod_LoadProject() { + ::grpc::Service::MarkMethodCallback(1, + new ::grpc::internal::CallbackUnaryHandler< ::daw::api::LoadProjectRequest, ::daw::api::ProjectState>( + [this]( + ::grpc::CallbackServerContext* context, const ::daw::api::LoadProjectRequest* request, ::daw::api::ProjectState* response) { return this->LoadProject(context, request, response); }));} + void SetMessageAllocatorFor_LoadProject( + ::grpc::MessageAllocator< ::daw::api::LoadProjectRequest, ::daw::api::ProjectState>* allocator) { + ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(1); + static_cast<::grpc::internal::CallbackUnaryHandler< ::daw::api::LoadProjectRequest, ::daw::api::ProjectState>*>(handler) + ->SetMessageAllocator(allocator); + } + ~WithCallbackMethod_LoadProject() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status LoadProject(::grpc::ServerContext* /*context*/, const ::daw::api::LoadProjectRequest* /*request*/, ::daw::api::ProjectState* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual ::grpc::ServerUnaryReactor* LoadProject( + ::grpc::CallbackServerContext* /*context*/, const ::daw::api::LoadProjectRequest* /*request*/, ::daw::api::ProjectState* /*response*/) { return nullptr; } + }; + template + class WithCallbackMethod_SaveProject : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithCallbackMethod_SaveProject() { + ::grpc::Service::MarkMethodCallback(2, + new ::grpc::internal::CallbackUnaryHandler< ::daw::api::SaveProjectRequest, ::daw::api::StatusResponse>( + [this]( + ::grpc::CallbackServerContext* context, const ::daw::api::SaveProjectRequest* request, ::daw::api::StatusResponse* response) { return this->SaveProject(context, request, response); }));} + void SetMessageAllocatorFor_SaveProject( + ::grpc::MessageAllocator< ::daw::api::SaveProjectRequest, ::daw::api::StatusResponse>* allocator) { + ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(2); + static_cast<::grpc::internal::CallbackUnaryHandler< ::daw::api::SaveProjectRequest, ::daw::api::StatusResponse>*>(handler) + ->SetMessageAllocator(allocator); + } + ~WithCallbackMethod_SaveProject() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status SaveProject(::grpc::ServerContext* /*context*/, const ::daw::api::SaveProjectRequest* /*request*/, ::daw::api::StatusResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual ::grpc::ServerUnaryReactor* SaveProject( + ::grpc::CallbackServerContext* /*context*/, const ::daw::api::SaveProjectRequest* /*request*/, ::daw::api::StatusResponse* /*response*/) { return nullptr; } + }; + typedef WithCallbackMethod_NewProject > > CallbackService; + typedef CallbackService ExperimentalCallbackService; + template + class WithGenericMethod_NewProject : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithGenericMethod_NewProject() { + ::grpc::Service::MarkMethodGeneric(0); + } + ~WithGenericMethod_NewProject() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status NewProject(::grpc::ServerContext* /*context*/, const ::daw::api::Empty* /*request*/, ::daw::api::ProjectState* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + }; + template + class WithGenericMethod_LoadProject : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithGenericMethod_LoadProject() { + ::grpc::Service::MarkMethodGeneric(1); + } + ~WithGenericMethod_LoadProject() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status LoadProject(::grpc::ServerContext* /*context*/, const ::daw::api::LoadProjectRequest* /*request*/, ::daw::api::ProjectState* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + }; + template + class WithGenericMethod_SaveProject : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithGenericMethod_SaveProject() { + ::grpc::Service::MarkMethodGeneric(2); + } + ~WithGenericMethod_SaveProject() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status SaveProject(::grpc::ServerContext* /*context*/, const ::daw::api::SaveProjectRequest* /*request*/, ::daw::api::StatusResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + }; + template + class WithRawMethod_NewProject : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithRawMethod_NewProject() { + ::grpc::Service::MarkMethodRaw(0); + } + ~WithRawMethod_NewProject() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status NewProject(::grpc::ServerContext* /*context*/, const ::daw::api::Empty* /*request*/, ::daw::api::ProjectState* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestNewProject(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(0, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template + class WithRawMethod_LoadProject : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithRawMethod_LoadProject() { + ::grpc::Service::MarkMethodRaw(1); + } + ~WithRawMethod_LoadProject() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status LoadProject(::grpc::ServerContext* /*context*/, const ::daw::api::LoadProjectRequest* /*request*/, ::daw::api::ProjectState* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestLoadProject(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(1, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template + class WithRawMethod_SaveProject : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithRawMethod_SaveProject() { + ::grpc::Service::MarkMethodRaw(2); + } + ~WithRawMethod_SaveProject() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status SaveProject(::grpc::ServerContext* /*context*/, const ::daw::api::SaveProjectRequest* /*request*/, ::daw::api::StatusResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestSaveProject(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(2, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template + class WithRawCallbackMethod_NewProject : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithRawCallbackMethod_NewProject() { + ::grpc::Service::MarkMethodRawCallback(0, + new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( + [this]( + ::grpc::CallbackServerContext* context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->NewProject(context, request, response); })); + } + ~WithRawCallbackMethod_NewProject() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status NewProject(::grpc::ServerContext* /*context*/, const ::daw::api::Empty* /*request*/, ::daw::api::ProjectState* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual ::grpc::ServerUnaryReactor* NewProject( + ::grpc::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/) { return nullptr; } + }; + template + class WithRawCallbackMethod_LoadProject : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithRawCallbackMethod_LoadProject() { + ::grpc::Service::MarkMethodRawCallback(1, + new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( + [this]( + ::grpc::CallbackServerContext* context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->LoadProject(context, request, response); })); + } + ~WithRawCallbackMethod_LoadProject() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status LoadProject(::grpc::ServerContext* /*context*/, const ::daw::api::LoadProjectRequest* /*request*/, ::daw::api::ProjectState* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual ::grpc::ServerUnaryReactor* LoadProject( + ::grpc::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/) { return nullptr; } + }; + template + class WithRawCallbackMethod_SaveProject : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithRawCallbackMethod_SaveProject() { + ::grpc::Service::MarkMethodRawCallback(2, + new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( + [this]( + ::grpc::CallbackServerContext* context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->SaveProject(context, request, response); })); + } + ~WithRawCallbackMethod_SaveProject() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status SaveProject(::grpc::ServerContext* /*context*/, const ::daw::api::SaveProjectRequest* /*request*/, ::daw::api::StatusResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual ::grpc::ServerUnaryReactor* SaveProject( + ::grpc::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/) { return nullptr; } + }; + template + class WithStreamedUnaryMethod_NewProject : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithStreamedUnaryMethod_NewProject() { + ::grpc::Service::MarkMethodStreamed(0, + new ::grpc::internal::StreamedUnaryHandler< + ::daw::api::Empty, ::daw::api::ProjectState>( + [this](::grpc::ServerContext* context, + ::grpc::ServerUnaryStreamer< + ::daw::api::Empty, ::daw::api::ProjectState>* streamer) { + return this->StreamedNewProject(context, + streamer); + })); + } + ~WithStreamedUnaryMethod_NewProject() override { + BaseClassMustBeDerivedFromService(this); + } + // disable regular version of this method + ::grpc::Status NewProject(::grpc::ServerContext* /*context*/, const ::daw::api::Empty* /*request*/, ::daw::api::ProjectState* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + // replace default version of method with streamed unary + virtual ::grpc::Status StreamedNewProject(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::daw::api::Empty,::daw::api::ProjectState>* server_unary_streamer) = 0; + }; + template + class WithStreamedUnaryMethod_LoadProject : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithStreamedUnaryMethod_LoadProject() { + ::grpc::Service::MarkMethodStreamed(1, + new ::grpc::internal::StreamedUnaryHandler< + ::daw::api::LoadProjectRequest, ::daw::api::ProjectState>( + [this](::grpc::ServerContext* context, + ::grpc::ServerUnaryStreamer< + ::daw::api::LoadProjectRequest, ::daw::api::ProjectState>* streamer) { + return this->StreamedLoadProject(context, + streamer); + })); + } + ~WithStreamedUnaryMethod_LoadProject() override { + BaseClassMustBeDerivedFromService(this); + } + // disable regular version of this method + ::grpc::Status LoadProject(::grpc::ServerContext* /*context*/, const ::daw::api::LoadProjectRequest* /*request*/, ::daw::api::ProjectState* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + // replace default version of method with streamed unary + virtual ::grpc::Status StreamedLoadProject(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::daw::api::LoadProjectRequest,::daw::api::ProjectState>* server_unary_streamer) = 0; + }; + template + class WithStreamedUnaryMethod_SaveProject : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithStreamedUnaryMethod_SaveProject() { + ::grpc::Service::MarkMethodStreamed(2, + new ::grpc::internal::StreamedUnaryHandler< + ::daw::api::SaveProjectRequest, ::daw::api::StatusResponse>( + [this](::grpc::ServerContext* context, + ::grpc::ServerUnaryStreamer< + ::daw::api::SaveProjectRequest, ::daw::api::StatusResponse>* streamer) { + return this->StreamedSaveProject(context, + streamer); + })); + } + ~WithStreamedUnaryMethod_SaveProject() override { + BaseClassMustBeDerivedFromService(this); + } + // disable regular version of this method + ::grpc::Status SaveProject(::grpc::ServerContext* /*context*/, const ::daw::api::SaveProjectRequest* /*request*/, ::daw::api::StatusResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + // replace default version of method with streamed unary + virtual ::grpc::Status StreamedSaveProject(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::daw::api::SaveProjectRequest,::daw::api::StatusResponse>* server_unary_streamer) = 0; + }; + typedef WithStreamedUnaryMethod_NewProject > > StreamedUnaryService; + typedef Service SplitStreamedService; + typedef WithStreamedUnaryMethod_NewProject > > StreamedService; +}; + +class TrackService final { + public: + static constexpr char const* service_full_name() { + return "daw.api.TrackService"; + } + class StubInterface { + public: + virtual ~StubInterface() {} + virtual ::grpc::Status AddTrack(::grpc::ClientContext* context, const ::daw::api::AddTrackRequest& request, ::daw::api::TrackInfo* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::daw::api::TrackInfo>> AsyncAddTrack(::grpc::ClientContext* context, const ::daw::api::AddTrackRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::daw::api::TrackInfo>>(AsyncAddTrackRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::daw::api::TrackInfo>> PrepareAsyncAddTrack(::grpc::ClientContext* context, const ::daw::api::AddTrackRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::daw::api::TrackInfo>>(PrepareAsyncAddTrackRaw(context, request, cq)); + } + virtual ::grpc::Status RemoveTrack(::grpc::ClientContext* context, const ::daw::api::TrackIdRequest& request, ::daw::api::StatusResponse* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::daw::api::StatusResponse>> AsyncRemoveTrack(::grpc::ClientContext* context, const ::daw::api::TrackIdRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::daw::api::StatusResponse>>(AsyncRemoveTrackRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::daw::api::StatusResponse>> PrepareAsyncRemoveTrack(::grpc::ClientContext* context, const ::daw::api::TrackIdRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::daw::api::StatusResponse>>(PrepareAsyncRemoveTrackRaw(context, request, cq)); + } + virtual ::grpc::Status SetTrackVolume(::grpc::ClientContext* context, const ::daw::api::SetTrackVolumeRequest& request, ::daw::api::StatusResponse* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::daw::api::StatusResponse>> AsyncSetTrackVolume(::grpc::ClientContext* context, const ::daw::api::SetTrackVolumeRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::daw::api::StatusResponse>>(AsyncSetTrackVolumeRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::daw::api::StatusResponse>> PrepareAsyncSetTrackVolume(::grpc::ClientContext* context, const ::daw::api::SetTrackVolumeRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::daw::api::StatusResponse>>(PrepareAsyncSetTrackVolumeRaw(context, request, cq)); + } + virtual ::grpc::Status SetTrackPan(::grpc::ClientContext* context, const ::daw::api::SetTrackPanRequest& request, ::daw::api::StatusResponse* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::daw::api::StatusResponse>> AsyncSetTrackPan(::grpc::ClientContext* context, const ::daw::api::SetTrackPanRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::daw::api::StatusResponse>>(AsyncSetTrackPanRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::daw::api::StatusResponse>> PrepareAsyncSetTrackPan(::grpc::ClientContext* context, const ::daw::api::SetTrackPanRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::daw::api::StatusResponse>>(PrepareAsyncSetTrackPanRaw(context, request, cq)); + } + class async_interface { + public: + virtual ~async_interface() {} + virtual void AddTrack(::grpc::ClientContext* context, const ::daw::api::AddTrackRequest* request, ::daw::api::TrackInfo* response, std::function) = 0; + virtual void AddTrack(::grpc::ClientContext* context, const ::daw::api::AddTrackRequest* request, ::daw::api::TrackInfo* response, ::grpc::ClientUnaryReactor* reactor) = 0; + virtual void RemoveTrack(::grpc::ClientContext* context, const ::daw::api::TrackIdRequest* request, ::daw::api::StatusResponse* response, std::function) = 0; + virtual void RemoveTrack(::grpc::ClientContext* context, const ::daw::api::TrackIdRequest* request, ::daw::api::StatusResponse* response, ::grpc::ClientUnaryReactor* reactor) = 0; + virtual void SetTrackVolume(::grpc::ClientContext* context, const ::daw::api::SetTrackVolumeRequest* request, ::daw::api::StatusResponse* response, std::function) = 0; + virtual void SetTrackVolume(::grpc::ClientContext* context, const ::daw::api::SetTrackVolumeRequest* request, ::daw::api::StatusResponse* response, ::grpc::ClientUnaryReactor* reactor) = 0; + virtual void SetTrackPan(::grpc::ClientContext* context, const ::daw::api::SetTrackPanRequest* request, ::daw::api::StatusResponse* response, std::function) = 0; + virtual void SetTrackPan(::grpc::ClientContext* context, const ::daw::api::SetTrackPanRequest* request, ::daw::api::StatusResponse* response, ::grpc::ClientUnaryReactor* reactor) = 0; + }; + typedef class async_interface experimental_async_interface; + virtual class async_interface* async() { return nullptr; } + class async_interface* experimental_async() { return async(); } + private: + virtual ::grpc::ClientAsyncResponseReaderInterface< ::daw::api::TrackInfo>* AsyncAddTrackRaw(::grpc::ClientContext* context, const ::daw::api::AddTrackRequest& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::daw::api::TrackInfo>* PrepareAsyncAddTrackRaw(::grpc::ClientContext* context, const ::daw::api::AddTrackRequest& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::daw::api::StatusResponse>* AsyncRemoveTrackRaw(::grpc::ClientContext* context, const ::daw::api::TrackIdRequest& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::daw::api::StatusResponse>* PrepareAsyncRemoveTrackRaw(::grpc::ClientContext* context, const ::daw::api::TrackIdRequest& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::daw::api::StatusResponse>* AsyncSetTrackVolumeRaw(::grpc::ClientContext* context, const ::daw::api::SetTrackVolumeRequest& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::daw::api::StatusResponse>* PrepareAsyncSetTrackVolumeRaw(::grpc::ClientContext* context, const ::daw::api::SetTrackVolumeRequest& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::daw::api::StatusResponse>* AsyncSetTrackPanRaw(::grpc::ClientContext* context, const ::daw::api::SetTrackPanRequest& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::daw::api::StatusResponse>* PrepareAsyncSetTrackPanRaw(::grpc::ClientContext* context, const ::daw::api::SetTrackPanRequest& request, ::grpc::CompletionQueue* cq) = 0; + }; + class Stub final : public StubInterface { + public: + Stub(const std::shared_ptr< ::grpc::ChannelInterface>& channel, const ::grpc::StubOptions& options = ::grpc::StubOptions()); + ::grpc::Status AddTrack(::grpc::ClientContext* context, const ::daw::api::AddTrackRequest& request, ::daw::api::TrackInfo* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::daw::api::TrackInfo>> AsyncAddTrack(::grpc::ClientContext* context, const ::daw::api::AddTrackRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::daw::api::TrackInfo>>(AsyncAddTrackRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::daw::api::TrackInfo>> PrepareAsyncAddTrack(::grpc::ClientContext* context, const ::daw::api::AddTrackRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::daw::api::TrackInfo>>(PrepareAsyncAddTrackRaw(context, request, cq)); + } + ::grpc::Status RemoveTrack(::grpc::ClientContext* context, const ::daw::api::TrackIdRequest& request, ::daw::api::StatusResponse* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::daw::api::StatusResponse>> AsyncRemoveTrack(::grpc::ClientContext* context, const ::daw::api::TrackIdRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::daw::api::StatusResponse>>(AsyncRemoveTrackRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::daw::api::StatusResponse>> PrepareAsyncRemoveTrack(::grpc::ClientContext* context, const ::daw::api::TrackIdRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::daw::api::StatusResponse>>(PrepareAsyncRemoveTrackRaw(context, request, cq)); + } + ::grpc::Status SetTrackVolume(::grpc::ClientContext* context, const ::daw::api::SetTrackVolumeRequest& request, ::daw::api::StatusResponse* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::daw::api::StatusResponse>> AsyncSetTrackVolume(::grpc::ClientContext* context, const ::daw::api::SetTrackVolumeRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::daw::api::StatusResponse>>(AsyncSetTrackVolumeRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::daw::api::StatusResponse>> PrepareAsyncSetTrackVolume(::grpc::ClientContext* context, const ::daw::api::SetTrackVolumeRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::daw::api::StatusResponse>>(PrepareAsyncSetTrackVolumeRaw(context, request, cq)); + } + ::grpc::Status SetTrackPan(::grpc::ClientContext* context, const ::daw::api::SetTrackPanRequest& request, ::daw::api::StatusResponse* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::daw::api::StatusResponse>> AsyncSetTrackPan(::grpc::ClientContext* context, const ::daw::api::SetTrackPanRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::daw::api::StatusResponse>>(AsyncSetTrackPanRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::daw::api::StatusResponse>> PrepareAsyncSetTrackPan(::grpc::ClientContext* context, const ::daw::api::SetTrackPanRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::daw::api::StatusResponse>>(PrepareAsyncSetTrackPanRaw(context, request, cq)); + } + class async final : + public StubInterface::async_interface { + public: + void AddTrack(::grpc::ClientContext* context, const ::daw::api::AddTrackRequest* request, ::daw::api::TrackInfo* response, std::function) override; + void AddTrack(::grpc::ClientContext* context, const ::daw::api::AddTrackRequest* request, ::daw::api::TrackInfo* response, ::grpc::ClientUnaryReactor* reactor) override; + void RemoveTrack(::grpc::ClientContext* context, const ::daw::api::TrackIdRequest* request, ::daw::api::StatusResponse* response, std::function) override; + void RemoveTrack(::grpc::ClientContext* context, const ::daw::api::TrackIdRequest* request, ::daw::api::StatusResponse* response, ::grpc::ClientUnaryReactor* reactor) override; + void SetTrackVolume(::grpc::ClientContext* context, const ::daw::api::SetTrackVolumeRequest* request, ::daw::api::StatusResponse* response, std::function) override; + void SetTrackVolume(::grpc::ClientContext* context, const ::daw::api::SetTrackVolumeRequest* request, ::daw::api::StatusResponse* response, ::grpc::ClientUnaryReactor* reactor) override; + void SetTrackPan(::grpc::ClientContext* context, const ::daw::api::SetTrackPanRequest* request, ::daw::api::StatusResponse* response, std::function) override; + void SetTrackPan(::grpc::ClientContext* context, const ::daw::api::SetTrackPanRequest* request, ::daw::api::StatusResponse* response, ::grpc::ClientUnaryReactor* reactor) override; + private: + friend class Stub; + explicit async(Stub* stub): stub_(stub) { } + Stub* stub() { return stub_; } + Stub* stub_; + }; + class async* async() override { return &async_stub_; } + + private: + std::shared_ptr< ::grpc::ChannelInterface> channel_; + class async async_stub_{this}; + ::grpc::ClientAsyncResponseReader< ::daw::api::TrackInfo>* AsyncAddTrackRaw(::grpc::ClientContext* context, const ::daw::api::AddTrackRequest& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::daw::api::TrackInfo>* PrepareAsyncAddTrackRaw(::grpc::ClientContext* context, const ::daw::api::AddTrackRequest& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::daw::api::StatusResponse>* AsyncRemoveTrackRaw(::grpc::ClientContext* context, const ::daw::api::TrackIdRequest& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::daw::api::StatusResponse>* PrepareAsyncRemoveTrackRaw(::grpc::ClientContext* context, const ::daw::api::TrackIdRequest& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::daw::api::StatusResponse>* AsyncSetTrackVolumeRaw(::grpc::ClientContext* context, const ::daw::api::SetTrackVolumeRequest& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::daw::api::StatusResponse>* PrepareAsyncSetTrackVolumeRaw(::grpc::ClientContext* context, const ::daw::api::SetTrackVolumeRequest& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::daw::api::StatusResponse>* AsyncSetTrackPanRaw(::grpc::ClientContext* context, const ::daw::api::SetTrackPanRequest& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::daw::api::StatusResponse>* PrepareAsyncSetTrackPanRaw(::grpc::ClientContext* context, const ::daw::api::SetTrackPanRequest& request, ::grpc::CompletionQueue* cq) override; + const ::grpc::internal::RpcMethod rpcmethod_AddTrack_; + const ::grpc::internal::RpcMethod rpcmethod_RemoveTrack_; + const ::grpc::internal::RpcMethod rpcmethod_SetTrackVolume_; + const ::grpc::internal::RpcMethod rpcmethod_SetTrackPan_; + }; + static std::unique_ptr NewStub(const std::shared_ptr< ::grpc::ChannelInterface>& channel, const ::grpc::StubOptions& options = ::grpc::StubOptions()); + + class Service : public ::grpc::Service { + public: + Service(); + virtual ~Service(); + virtual ::grpc::Status AddTrack(::grpc::ServerContext* context, const ::daw::api::AddTrackRequest* request, ::daw::api::TrackInfo* response); + virtual ::grpc::Status RemoveTrack(::grpc::ServerContext* context, const ::daw::api::TrackIdRequest* request, ::daw::api::StatusResponse* response); + virtual ::grpc::Status SetTrackVolume(::grpc::ServerContext* context, const ::daw::api::SetTrackVolumeRequest* request, ::daw::api::StatusResponse* response); + virtual ::grpc::Status SetTrackPan(::grpc::ServerContext* context, const ::daw::api::SetTrackPanRequest* request, ::daw::api::StatusResponse* response); + }; + template + class WithAsyncMethod_AddTrack : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithAsyncMethod_AddTrack() { + ::grpc::Service::MarkMethodAsync(0); + } + ~WithAsyncMethod_AddTrack() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status AddTrack(::grpc::ServerContext* /*context*/, const ::daw::api::AddTrackRequest* /*request*/, ::daw::api::TrackInfo* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestAddTrack(::grpc::ServerContext* context, ::daw::api::AddTrackRequest* request, ::grpc::ServerAsyncResponseWriter< ::daw::api::TrackInfo>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(0, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template + class WithAsyncMethod_RemoveTrack : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithAsyncMethod_RemoveTrack() { + ::grpc::Service::MarkMethodAsync(1); + } + ~WithAsyncMethod_RemoveTrack() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status RemoveTrack(::grpc::ServerContext* /*context*/, const ::daw::api::TrackIdRequest* /*request*/, ::daw::api::StatusResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestRemoveTrack(::grpc::ServerContext* context, ::daw::api::TrackIdRequest* request, ::grpc::ServerAsyncResponseWriter< ::daw::api::StatusResponse>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(1, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template + class WithAsyncMethod_SetTrackVolume : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithAsyncMethod_SetTrackVolume() { + ::grpc::Service::MarkMethodAsync(2); + } + ~WithAsyncMethod_SetTrackVolume() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status SetTrackVolume(::grpc::ServerContext* /*context*/, const ::daw::api::SetTrackVolumeRequest* /*request*/, ::daw::api::StatusResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestSetTrackVolume(::grpc::ServerContext* context, ::daw::api::SetTrackVolumeRequest* request, ::grpc::ServerAsyncResponseWriter< ::daw::api::StatusResponse>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(2, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template + class WithAsyncMethod_SetTrackPan : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithAsyncMethod_SetTrackPan() { + ::grpc::Service::MarkMethodAsync(3); + } + ~WithAsyncMethod_SetTrackPan() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status SetTrackPan(::grpc::ServerContext* /*context*/, const ::daw::api::SetTrackPanRequest* /*request*/, ::daw::api::StatusResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestSetTrackPan(::grpc::ServerContext* context, ::daw::api::SetTrackPanRequest* request, ::grpc::ServerAsyncResponseWriter< ::daw::api::StatusResponse>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(3, context, request, response, new_call_cq, notification_cq, tag); + } + }; + typedef WithAsyncMethod_AddTrack > > > AsyncService; + template + class WithCallbackMethod_AddTrack : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithCallbackMethod_AddTrack() { + ::grpc::Service::MarkMethodCallback(0, + new ::grpc::internal::CallbackUnaryHandler< ::daw::api::AddTrackRequest, ::daw::api::TrackInfo>( + [this]( + ::grpc::CallbackServerContext* context, const ::daw::api::AddTrackRequest* request, ::daw::api::TrackInfo* response) { return this->AddTrack(context, request, response); }));} + void SetMessageAllocatorFor_AddTrack( + ::grpc::MessageAllocator< ::daw::api::AddTrackRequest, ::daw::api::TrackInfo>* allocator) { + ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(0); + static_cast<::grpc::internal::CallbackUnaryHandler< ::daw::api::AddTrackRequest, ::daw::api::TrackInfo>*>(handler) + ->SetMessageAllocator(allocator); + } + ~WithCallbackMethod_AddTrack() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status AddTrack(::grpc::ServerContext* /*context*/, const ::daw::api::AddTrackRequest* /*request*/, ::daw::api::TrackInfo* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual ::grpc::ServerUnaryReactor* AddTrack( + ::grpc::CallbackServerContext* /*context*/, const ::daw::api::AddTrackRequest* /*request*/, ::daw::api::TrackInfo* /*response*/) { return nullptr; } + }; + template + class WithCallbackMethod_RemoveTrack : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithCallbackMethod_RemoveTrack() { + ::grpc::Service::MarkMethodCallback(1, + new ::grpc::internal::CallbackUnaryHandler< ::daw::api::TrackIdRequest, ::daw::api::StatusResponse>( + [this]( + ::grpc::CallbackServerContext* context, const ::daw::api::TrackIdRequest* request, ::daw::api::StatusResponse* response) { return this->RemoveTrack(context, request, response); }));} + void SetMessageAllocatorFor_RemoveTrack( + ::grpc::MessageAllocator< ::daw::api::TrackIdRequest, ::daw::api::StatusResponse>* allocator) { + ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(1); + static_cast<::grpc::internal::CallbackUnaryHandler< ::daw::api::TrackIdRequest, ::daw::api::StatusResponse>*>(handler) + ->SetMessageAllocator(allocator); + } + ~WithCallbackMethod_RemoveTrack() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status RemoveTrack(::grpc::ServerContext* /*context*/, const ::daw::api::TrackIdRequest* /*request*/, ::daw::api::StatusResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual ::grpc::ServerUnaryReactor* RemoveTrack( + ::grpc::CallbackServerContext* /*context*/, const ::daw::api::TrackIdRequest* /*request*/, ::daw::api::StatusResponse* /*response*/) { return nullptr; } + }; + template + class WithCallbackMethod_SetTrackVolume : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithCallbackMethod_SetTrackVolume() { + ::grpc::Service::MarkMethodCallback(2, + new ::grpc::internal::CallbackUnaryHandler< ::daw::api::SetTrackVolumeRequest, ::daw::api::StatusResponse>( + [this]( + ::grpc::CallbackServerContext* context, const ::daw::api::SetTrackVolumeRequest* request, ::daw::api::StatusResponse* response) { return this->SetTrackVolume(context, request, response); }));} + void SetMessageAllocatorFor_SetTrackVolume( + ::grpc::MessageAllocator< ::daw::api::SetTrackVolumeRequest, ::daw::api::StatusResponse>* allocator) { + ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(2); + static_cast<::grpc::internal::CallbackUnaryHandler< ::daw::api::SetTrackVolumeRequest, ::daw::api::StatusResponse>*>(handler) + ->SetMessageAllocator(allocator); + } + ~WithCallbackMethod_SetTrackVolume() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status SetTrackVolume(::grpc::ServerContext* /*context*/, const ::daw::api::SetTrackVolumeRequest* /*request*/, ::daw::api::StatusResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual ::grpc::ServerUnaryReactor* SetTrackVolume( + ::grpc::CallbackServerContext* /*context*/, const ::daw::api::SetTrackVolumeRequest* /*request*/, ::daw::api::StatusResponse* /*response*/) { return nullptr; } + }; + template + class WithCallbackMethod_SetTrackPan : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithCallbackMethod_SetTrackPan() { + ::grpc::Service::MarkMethodCallback(3, + new ::grpc::internal::CallbackUnaryHandler< ::daw::api::SetTrackPanRequest, ::daw::api::StatusResponse>( + [this]( + ::grpc::CallbackServerContext* context, const ::daw::api::SetTrackPanRequest* request, ::daw::api::StatusResponse* response) { return this->SetTrackPan(context, request, response); }));} + void SetMessageAllocatorFor_SetTrackPan( + ::grpc::MessageAllocator< ::daw::api::SetTrackPanRequest, ::daw::api::StatusResponse>* allocator) { + ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(3); + static_cast<::grpc::internal::CallbackUnaryHandler< ::daw::api::SetTrackPanRequest, ::daw::api::StatusResponse>*>(handler) + ->SetMessageAllocator(allocator); + } + ~WithCallbackMethod_SetTrackPan() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status SetTrackPan(::grpc::ServerContext* /*context*/, const ::daw::api::SetTrackPanRequest* /*request*/, ::daw::api::StatusResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual ::grpc::ServerUnaryReactor* SetTrackPan( + ::grpc::CallbackServerContext* /*context*/, const ::daw::api::SetTrackPanRequest* /*request*/, ::daw::api::StatusResponse* /*response*/) { return nullptr; } + }; + typedef WithCallbackMethod_AddTrack > > > CallbackService; + typedef CallbackService ExperimentalCallbackService; + template + class WithGenericMethod_AddTrack : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithGenericMethod_AddTrack() { + ::grpc::Service::MarkMethodGeneric(0); + } + ~WithGenericMethod_AddTrack() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status AddTrack(::grpc::ServerContext* /*context*/, const ::daw::api::AddTrackRequest* /*request*/, ::daw::api::TrackInfo* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + }; + template + class WithGenericMethod_RemoveTrack : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithGenericMethod_RemoveTrack() { + ::grpc::Service::MarkMethodGeneric(1); + } + ~WithGenericMethod_RemoveTrack() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status RemoveTrack(::grpc::ServerContext* /*context*/, const ::daw::api::TrackIdRequest* /*request*/, ::daw::api::StatusResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + }; + template + class WithGenericMethod_SetTrackVolume : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithGenericMethod_SetTrackVolume() { + ::grpc::Service::MarkMethodGeneric(2); + } + ~WithGenericMethod_SetTrackVolume() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status SetTrackVolume(::grpc::ServerContext* /*context*/, const ::daw::api::SetTrackVolumeRequest* /*request*/, ::daw::api::StatusResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + }; + template + class WithGenericMethod_SetTrackPan : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithGenericMethod_SetTrackPan() { + ::grpc::Service::MarkMethodGeneric(3); + } + ~WithGenericMethod_SetTrackPan() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status SetTrackPan(::grpc::ServerContext* /*context*/, const ::daw::api::SetTrackPanRequest* /*request*/, ::daw::api::StatusResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + }; + template + class WithRawMethod_AddTrack : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithRawMethod_AddTrack() { + ::grpc::Service::MarkMethodRaw(0); + } + ~WithRawMethod_AddTrack() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status AddTrack(::grpc::ServerContext* /*context*/, const ::daw::api::AddTrackRequest* /*request*/, ::daw::api::TrackInfo* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestAddTrack(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(0, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template + class WithRawMethod_RemoveTrack : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithRawMethod_RemoveTrack() { + ::grpc::Service::MarkMethodRaw(1); + } + ~WithRawMethod_RemoveTrack() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status RemoveTrack(::grpc::ServerContext* /*context*/, const ::daw::api::TrackIdRequest* /*request*/, ::daw::api::StatusResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestRemoveTrack(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(1, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template + class WithRawMethod_SetTrackVolume : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithRawMethod_SetTrackVolume() { + ::grpc::Service::MarkMethodRaw(2); + } + ~WithRawMethod_SetTrackVolume() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status SetTrackVolume(::grpc::ServerContext* /*context*/, const ::daw::api::SetTrackVolumeRequest* /*request*/, ::daw::api::StatusResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestSetTrackVolume(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(2, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template + class WithRawMethod_SetTrackPan : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithRawMethod_SetTrackPan() { + ::grpc::Service::MarkMethodRaw(3); + } + ~WithRawMethod_SetTrackPan() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status SetTrackPan(::grpc::ServerContext* /*context*/, const ::daw::api::SetTrackPanRequest* /*request*/, ::daw::api::StatusResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestSetTrackPan(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(3, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template + class WithRawCallbackMethod_AddTrack : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithRawCallbackMethod_AddTrack() { + ::grpc::Service::MarkMethodRawCallback(0, + new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( + [this]( + ::grpc::CallbackServerContext* context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->AddTrack(context, request, response); })); + } + ~WithRawCallbackMethod_AddTrack() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status AddTrack(::grpc::ServerContext* /*context*/, const ::daw::api::AddTrackRequest* /*request*/, ::daw::api::TrackInfo* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual ::grpc::ServerUnaryReactor* AddTrack( + ::grpc::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/) { return nullptr; } + }; + template + class WithRawCallbackMethod_RemoveTrack : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithRawCallbackMethod_RemoveTrack() { + ::grpc::Service::MarkMethodRawCallback(1, + new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( + [this]( + ::grpc::CallbackServerContext* context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->RemoveTrack(context, request, response); })); + } + ~WithRawCallbackMethod_RemoveTrack() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status RemoveTrack(::grpc::ServerContext* /*context*/, const ::daw::api::TrackIdRequest* /*request*/, ::daw::api::StatusResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual ::grpc::ServerUnaryReactor* RemoveTrack( + ::grpc::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/) { return nullptr; } + }; + template + class WithRawCallbackMethod_SetTrackVolume : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithRawCallbackMethod_SetTrackVolume() { + ::grpc::Service::MarkMethodRawCallback(2, + new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( + [this]( + ::grpc::CallbackServerContext* context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->SetTrackVolume(context, request, response); })); + } + ~WithRawCallbackMethod_SetTrackVolume() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status SetTrackVolume(::grpc::ServerContext* /*context*/, const ::daw::api::SetTrackVolumeRequest* /*request*/, ::daw::api::StatusResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual ::grpc::ServerUnaryReactor* SetTrackVolume( + ::grpc::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/) { return nullptr; } + }; + template + class WithRawCallbackMethod_SetTrackPan : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithRawCallbackMethod_SetTrackPan() { + ::grpc::Service::MarkMethodRawCallback(3, + new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( + [this]( + ::grpc::CallbackServerContext* context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->SetTrackPan(context, request, response); })); + } + ~WithRawCallbackMethod_SetTrackPan() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status SetTrackPan(::grpc::ServerContext* /*context*/, const ::daw::api::SetTrackPanRequest* /*request*/, ::daw::api::StatusResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual ::grpc::ServerUnaryReactor* SetTrackPan( + ::grpc::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/) { return nullptr; } + }; + template + class WithStreamedUnaryMethod_AddTrack : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithStreamedUnaryMethod_AddTrack() { + ::grpc::Service::MarkMethodStreamed(0, + new ::grpc::internal::StreamedUnaryHandler< + ::daw::api::AddTrackRequest, ::daw::api::TrackInfo>( + [this](::grpc::ServerContext* context, + ::grpc::ServerUnaryStreamer< + ::daw::api::AddTrackRequest, ::daw::api::TrackInfo>* streamer) { + return this->StreamedAddTrack(context, + streamer); + })); + } + ~WithStreamedUnaryMethod_AddTrack() override { + BaseClassMustBeDerivedFromService(this); + } + // disable regular version of this method + ::grpc::Status AddTrack(::grpc::ServerContext* /*context*/, const ::daw::api::AddTrackRequest* /*request*/, ::daw::api::TrackInfo* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + // replace default version of method with streamed unary + virtual ::grpc::Status StreamedAddTrack(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::daw::api::AddTrackRequest,::daw::api::TrackInfo>* server_unary_streamer) = 0; + }; + template + class WithStreamedUnaryMethod_RemoveTrack : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithStreamedUnaryMethod_RemoveTrack() { + ::grpc::Service::MarkMethodStreamed(1, + new ::grpc::internal::StreamedUnaryHandler< + ::daw::api::TrackIdRequest, ::daw::api::StatusResponse>( + [this](::grpc::ServerContext* context, + ::grpc::ServerUnaryStreamer< + ::daw::api::TrackIdRequest, ::daw::api::StatusResponse>* streamer) { + return this->StreamedRemoveTrack(context, + streamer); + })); + } + ~WithStreamedUnaryMethod_RemoveTrack() override { + BaseClassMustBeDerivedFromService(this); + } + // disable regular version of this method + ::grpc::Status RemoveTrack(::grpc::ServerContext* /*context*/, const ::daw::api::TrackIdRequest* /*request*/, ::daw::api::StatusResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + // replace default version of method with streamed unary + virtual ::grpc::Status StreamedRemoveTrack(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::daw::api::TrackIdRequest,::daw::api::StatusResponse>* server_unary_streamer) = 0; + }; + template + class WithStreamedUnaryMethod_SetTrackVolume : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithStreamedUnaryMethod_SetTrackVolume() { + ::grpc::Service::MarkMethodStreamed(2, + new ::grpc::internal::StreamedUnaryHandler< + ::daw::api::SetTrackVolumeRequest, ::daw::api::StatusResponse>( + [this](::grpc::ServerContext* context, + ::grpc::ServerUnaryStreamer< + ::daw::api::SetTrackVolumeRequest, ::daw::api::StatusResponse>* streamer) { + return this->StreamedSetTrackVolume(context, + streamer); + })); + } + ~WithStreamedUnaryMethod_SetTrackVolume() override { + BaseClassMustBeDerivedFromService(this); + } + // disable regular version of this method + ::grpc::Status SetTrackVolume(::grpc::ServerContext* /*context*/, const ::daw::api::SetTrackVolumeRequest* /*request*/, ::daw::api::StatusResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + // replace default version of method with streamed unary + virtual ::grpc::Status StreamedSetTrackVolume(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::daw::api::SetTrackVolumeRequest,::daw::api::StatusResponse>* server_unary_streamer) = 0; + }; + template + class WithStreamedUnaryMethod_SetTrackPan : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithStreamedUnaryMethod_SetTrackPan() { + ::grpc::Service::MarkMethodStreamed(3, + new ::grpc::internal::StreamedUnaryHandler< + ::daw::api::SetTrackPanRequest, ::daw::api::StatusResponse>( + [this](::grpc::ServerContext* context, + ::grpc::ServerUnaryStreamer< + ::daw::api::SetTrackPanRequest, ::daw::api::StatusResponse>* streamer) { + return this->StreamedSetTrackPan(context, + streamer); + })); + } + ~WithStreamedUnaryMethod_SetTrackPan() override { + BaseClassMustBeDerivedFromService(this); + } + // disable regular version of this method + ::grpc::Status SetTrackPan(::grpc::ServerContext* /*context*/, const ::daw::api::SetTrackPanRequest* /*request*/, ::daw::api::StatusResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + // replace default version of method with streamed unary + virtual ::grpc::Status StreamedSetTrackPan(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::daw::api::SetTrackPanRequest,::daw::api::StatusResponse>* server_unary_streamer) = 0; + }; + typedef WithStreamedUnaryMethod_AddTrack > > > StreamedUnaryService; + typedef Service SplitStreamedService; + typedef WithStreamedUnaryMethod_AddTrack > > > StreamedService; +}; + +class PluginService final { + public: + static constexpr char const* service_full_name() { + return "daw.api.PluginService"; + } + class StubInterface { + public: + virtual ~StubInterface() {} + virtual ::grpc::Status LoadPlugin(::grpc::ClientContext* context, const ::daw::api::LoadPluginRequest& request, ::daw::api::PluginInfo* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::daw::api::PluginInfo>> AsyncLoadPlugin(::grpc::ClientContext* context, const ::daw::api::LoadPluginRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::daw::api::PluginInfo>>(AsyncLoadPluginRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::daw::api::PluginInfo>> PrepareAsyncLoadPlugin(::grpc::ClientContext* context, const ::daw::api::LoadPluginRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::daw::api::PluginInfo>>(PrepareAsyncLoadPluginRaw(context, request, cq)); + } + virtual ::grpc::Status SetPluginParameter(::grpc::ClientContext* context, const ::daw::api::SetPluginParameterRequest& request, ::daw::api::StatusResponse* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::daw::api::StatusResponse>> AsyncSetPluginParameter(::grpc::ClientContext* context, const ::daw::api::SetPluginParameterRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::daw::api::StatusResponse>>(AsyncSetPluginParameterRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::daw::api::StatusResponse>> PrepareAsyncSetPluginParameter(::grpc::ClientContext* context, const ::daw::api::SetPluginParameterRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::daw::api::StatusResponse>>(PrepareAsyncSetPluginParameterRaw(context, request, cq)); + } + class async_interface { + public: + virtual ~async_interface() {} + virtual void LoadPlugin(::grpc::ClientContext* context, const ::daw::api::LoadPluginRequest* request, ::daw::api::PluginInfo* response, std::function) = 0; + virtual void LoadPlugin(::grpc::ClientContext* context, const ::daw::api::LoadPluginRequest* request, ::daw::api::PluginInfo* response, ::grpc::ClientUnaryReactor* reactor) = 0; + virtual void SetPluginParameter(::grpc::ClientContext* context, const ::daw::api::SetPluginParameterRequest* request, ::daw::api::StatusResponse* response, std::function) = 0; + virtual void SetPluginParameter(::grpc::ClientContext* context, const ::daw::api::SetPluginParameterRequest* request, ::daw::api::StatusResponse* response, ::grpc::ClientUnaryReactor* reactor) = 0; + }; + typedef class async_interface experimental_async_interface; + virtual class async_interface* async() { return nullptr; } + class async_interface* experimental_async() { return async(); } + private: + virtual ::grpc::ClientAsyncResponseReaderInterface< ::daw::api::PluginInfo>* AsyncLoadPluginRaw(::grpc::ClientContext* context, const ::daw::api::LoadPluginRequest& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::daw::api::PluginInfo>* PrepareAsyncLoadPluginRaw(::grpc::ClientContext* context, const ::daw::api::LoadPluginRequest& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::daw::api::StatusResponse>* AsyncSetPluginParameterRaw(::grpc::ClientContext* context, const ::daw::api::SetPluginParameterRequest& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::daw::api::StatusResponse>* PrepareAsyncSetPluginParameterRaw(::grpc::ClientContext* context, const ::daw::api::SetPluginParameterRequest& request, ::grpc::CompletionQueue* cq) = 0; + }; + class Stub final : public StubInterface { + public: + Stub(const std::shared_ptr< ::grpc::ChannelInterface>& channel, const ::grpc::StubOptions& options = ::grpc::StubOptions()); + ::grpc::Status LoadPlugin(::grpc::ClientContext* context, const ::daw::api::LoadPluginRequest& request, ::daw::api::PluginInfo* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::daw::api::PluginInfo>> AsyncLoadPlugin(::grpc::ClientContext* context, const ::daw::api::LoadPluginRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::daw::api::PluginInfo>>(AsyncLoadPluginRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::daw::api::PluginInfo>> PrepareAsyncLoadPlugin(::grpc::ClientContext* context, const ::daw::api::LoadPluginRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::daw::api::PluginInfo>>(PrepareAsyncLoadPluginRaw(context, request, cq)); + } + ::grpc::Status SetPluginParameter(::grpc::ClientContext* context, const ::daw::api::SetPluginParameterRequest& request, ::daw::api::StatusResponse* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::daw::api::StatusResponse>> AsyncSetPluginParameter(::grpc::ClientContext* context, const ::daw::api::SetPluginParameterRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::daw::api::StatusResponse>>(AsyncSetPluginParameterRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::daw::api::StatusResponse>> PrepareAsyncSetPluginParameter(::grpc::ClientContext* context, const ::daw::api::SetPluginParameterRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::daw::api::StatusResponse>>(PrepareAsyncSetPluginParameterRaw(context, request, cq)); + } + class async final : + public StubInterface::async_interface { + public: + void LoadPlugin(::grpc::ClientContext* context, const ::daw::api::LoadPluginRequest* request, ::daw::api::PluginInfo* response, std::function) override; + void LoadPlugin(::grpc::ClientContext* context, const ::daw::api::LoadPluginRequest* request, ::daw::api::PluginInfo* response, ::grpc::ClientUnaryReactor* reactor) override; + void SetPluginParameter(::grpc::ClientContext* context, const ::daw::api::SetPluginParameterRequest* request, ::daw::api::StatusResponse* response, std::function) override; + void SetPluginParameter(::grpc::ClientContext* context, const ::daw::api::SetPluginParameterRequest* request, ::daw::api::StatusResponse* response, ::grpc::ClientUnaryReactor* reactor) override; + private: + friend class Stub; + explicit async(Stub* stub): stub_(stub) { } + Stub* stub() { return stub_; } + Stub* stub_; + }; + class async* async() override { return &async_stub_; } + + private: + std::shared_ptr< ::grpc::ChannelInterface> channel_; + class async async_stub_{this}; + ::grpc::ClientAsyncResponseReader< ::daw::api::PluginInfo>* AsyncLoadPluginRaw(::grpc::ClientContext* context, const ::daw::api::LoadPluginRequest& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::daw::api::PluginInfo>* PrepareAsyncLoadPluginRaw(::grpc::ClientContext* context, const ::daw::api::LoadPluginRequest& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::daw::api::StatusResponse>* AsyncSetPluginParameterRaw(::grpc::ClientContext* context, const ::daw::api::SetPluginParameterRequest& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::daw::api::StatusResponse>* PrepareAsyncSetPluginParameterRaw(::grpc::ClientContext* context, const ::daw::api::SetPluginParameterRequest& request, ::grpc::CompletionQueue* cq) override; + const ::grpc::internal::RpcMethod rpcmethod_LoadPlugin_; + const ::grpc::internal::RpcMethod rpcmethod_SetPluginParameter_; + }; + static std::unique_ptr NewStub(const std::shared_ptr< ::grpc::ChannelInterface>& channel, const ::grpc::StubOptions& options = ::grpc::StubOptions()); + + class Service : public ::grpc::Service { + public: + Service(); + virtual ~Service(); + virtual ::grpc::Status LoadPlugin(::grpc::ServerContext* context, const ::daw::api::LoadPluginRequest* request, ::daw::api::PluginInfo* response); + virtual ::grpc::Status SetPluginParameter(::grpc::ServerContext* context, const ::daw::api::SetPluginParameterRequest* request, ::daw::api::StatusResponse* response); + }; + template + class WithAsyncMethod_LoadPlugin : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithAsyncMethod_LoadPlugin() { + ::grpc::Service::MarkMethodAsync(0); + } + ~WithAsyncMethod_LoadPlugin() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status LoadPlugin(::grpc::ServerContext* /*context*/, const ::daw::api::LoadPluginRequest* /*request*/, ::daw::api::PluginInfo* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestLoadPlugin(::grpc::ServerContext* context, ::daw::api::LoadPluginRequest* request, ::grpc::ServerAsyncResponseWriter< ::daw::api::PluginInfo>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(0, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template + class WithAsyncMethod_SetPluginParameter : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithAsyncMethod_SetPluginParameter() { + ::grpc::Service::MarkMethodAsync(1); + } + ~WithAsyncMethod_SetPluginParameter() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status SetPluginParameter(::grpc::ServerContext* /*context*/, const ::daw::api::SetPluginParameterRequest* /*request*/, ::daw::api::StatusResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestSetPluginParameter(::grpc::ServerContext* context, ::daw::api::SetPluginParameterRequest* request, ::grpc::ServerAsyncResponseWriter< ::daw::api::StatusResponse>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(1, context, request, response, new_call_cq, notification_cq, tag); + } + }; + typedef WithAsyncMethod_LoadPlugin > AsyncService; + template + class WithCallbackMethod_LoadPlugin : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithCallbackMethod_LoadPlugin() { + ::grpc::Service::MarkMethodCallback(0, + new ::grpc::internal::CallbackUnaryHandler< ::daw::api::LoadPluginRequest, ::daw::api::PluginInfo>( + [this]( + ::grpc::CallbackServerContext* context, const ::daw::api::LoadPluginRequest* request, ::daw::api::PluginInfo* response) { return this->LoadPlugin(context, request, response); }));} + void SetMessageAllocatorFor_LoadPlugin( + ::grpc::MessageAllocator< ::daw::api::LoadPluginRequest, ::daw::api::PluginInfo>* allocator) { + ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(0); + static_cast<::grpc::internal::CallbackUnaryHandler< ::daw::api::LoadPluginRequest, ::daw::api::PluginInfo>*>(handler) + ->SetMessageAllocator(allocator); + } + ~WithCallbackMethod_LoadPlugin() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status LoadPlugin(::grpc::ServerContext* /*context*/, const ::daw::api::LoadPluginRequest* /*request*/, ::daw::api::PluginInfo* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual ::grpc::ServerUnaryReactor* LoadPlugin( + ::grpc::CallbackServerContext* /*context*/, const ::daw::api::LoadPluginRequest* /*request*/, ::daw::api::PluginInfo* /*response*/) { return nullptr; } + }; + template + class WithCallbackMethod_SetPluginParameter : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithCallbackMethod_SetPluginParameter() { + ::grpc::Service::MarkMethodCallback(1, + new ::grpc::internal::CallbackUnaryHandler< ::daw::api::SetPluginParameterRequest, ::daw::api::StatusResponse>( + [this]( + ::grpc::CallbackServerContext* context, const ::daw::api::SetPluginParameterRequest* request, ::daw::api::StatusResponse* response) { return this->SetPluginParameter(context, request, response); }));} + void SetMessageAllocatorFor_SetPluginParameter( + ::grpc::MessageAllocator< ::daw::api::SetPluginParameterRequest, ::daw::api::StatusResponse>* allocator) { + ::grpc::internal::MethodHandler* const handler = ::grpc::Service::GetHandler(1); + static_cast<::grpc::internal::CallbackUnaryHandler< ::daw::api::SetPluginParameterRequest, ::daw::api::StatusResponse>*>(handler) + ->SetMessageAllocator(allocator); + } + ~WithCallbackMethod_SetPluginParameter() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status SetPluginParameter(::grpc::ServerContext* /*context*/, const ::daw::api::SetPluginParameterRequest* /*request*/, ::daw::api::StatusResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual ::grpc::ServerUnaryReactor* SetPluginParameter( + ::grpc::CallbackServerContext* /*context*/, const ::daw::api::SetPluginParameterRequest* /*request*/, ::daw::api::StatusResponse* /*response*/) { return nullptr; } + }; + typedef WithCallbackMethod_LoadPlugin > CallbackService; + typedef CallbackService ExperimentalCallbackService; + template + class WithGenericMethod_LoadPlugin : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithGenericMethod_LoadPlugin() { + ::grpc::Service::MarkMethodGeneric(0); + } + ~WithGenericMethod_LoadPlugin() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status LoadPlugin(::grpc::ServerContext* /*context*/, const ::daw::api::LoadPluginRequest* /*request*/, ::daw::api::PluginInfo* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + }; + template + class WithGenericMethod_SetPluginParameter : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithGenericMethod_SetPluginParameter() { + ::grpc::Service::MarkMethodGeneric(1); + } + ~WithGenericMethod_SetPluginParameter() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status SetPluginParameter(::grpc::ServerContext* /*context*/, const ::daw::api::SetPluginParameterRequest* /*request*/, ::daw::api::StatusResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + }; + template + class WithRawMethod_LoadPlugin : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithRawMethod_LoadPlugin() { + ::grpc::Service::MarkMethodRaw(0); + } + ~WithRawMethod_LoadPlugin() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status LoadPlugin(::grpc::ServerContext* /*context*/, const ::daw::api::LoadPluginRequest* /*request*/, ::daw::api::PluginInfo* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestLoadPlugin(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(0, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template + class WithRawMethod_SetPluginParameter : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithRawMethod_SetPluginParameter() { + ::grpc::Service::MarkMethodRaw(1); + } + ~WithRawMethod_SetPluginParameter() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status SetPluginParameter(::grpc::ServerContext* /*context*/, const ::daw::api::SetPluginParameterRequest* /*request*/, ::daw::api::StatusResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestSetPluginParameter(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(1, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template + class WithRawCallbackMethod_LoadPlugin : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithRawCallbackMethod_LoadPlugin() { + ::grpc::Service::MarkMethodRawCallback(0, + new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( + [this]( + ::grpc::CallbackServerContext* context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->LoadPlugin(context, request, response); })); + } + ~WithRawCallbackMethod_LoadPlugin() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status LoadPlugin(::grpc::ServerContext* /*context*/, const ::daw::api::LoadPluginRequest* /*request*/, ::daw::api::PluginInfo* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual ::grpc::ServerUnaryReactor* LoadPlugin( + ::grpc::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/) { return nullptr; } + }; + template + class WithRawCallbackMethod_SetPluginParameter : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithRawCallbackMethod_SetPluginParameter() { + ::grpc::Service::MarkMethodRawCallback(1, + new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( + [this]( + ::grpc::CallbackServerContext* context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response) { return this->SetPluginParameter(context, request, response); })); + } + ~WithRawCallbackMethod_SetPluginParameter() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status SetPluginParameter(::grpc::ServerContext* /*context*/, const ::daw::api::SetPluginParameterRequest* /*request*/, ::daw::api::StatusResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual ::grpc::ServerUnaryReactor* SetPluginParameter( + ::grpc::CallbackServerContext* /*context*/, const ::grpc::ByteBuffer* /*request*/, ::grpc::ByteBuffer* /*response*/) { return nullptr; } + }; + template + class WithStreamedUnaryMethod_LoadPlugin : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithStreamedUnaryMethod_LoadPlugin() { + ::grpc::Service::MarkMethodStreamed(0, + new ::grpc::internal::StreamedUnaryHandler< + ::daw::api::LoadPluginRequest, ::daw::api::PluginInfo>( + [this](::grpc::ServerContext* context, + ::grpc::ServerUnaryStreamer< + ::daw::api::LoadPluginRequest, ::daw::api::PluginInfo>* streamer) { + return this->StreamedLoadPlugin(context, + streamer); + })); + } + ~WithStreamedUnaryMethod_LoadPlugin() override { + BaseClassMustBeDerivedFromService(this); + } + // disable regular version of this method + ::grpc::Status LoadPlugin(::grpc::ServerContext* /*context*/, const ::daw::api::LoadPluginRequest* /*request*/, ::daw::api::PluginInfo* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + // replace default version of method with streamed unary + virtual ::grpc::Status StreamedLoadPlugin(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::daw::api::LoadPluginRequest,::daw::api::PluginInfo>* server_unary_streamer) = 0; + }; + template + class WithStreamedUnaryMethod_SetPluginParameter : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service* /*service*/) {} + public: + WithStreamedUnaryMethod_SetPluginParameter() { + ::grpc::Service::MarkMethodStreamed(1, + new ::grpc::internal::StreamedUnaryHandler< + ::daw::api::SetPluginParameterRequest, ::daw::api::StatusResponse>( + [this](::grpc::ServerContext* context, + ::grpc::ServerUnaryStreamer< + ::daw::api::SetPluginParameterRequest, ::daw::api::StatusResponse>* streamer) { + return this->StreamedSetPluginParameter(context, + streamer); + })); + } + ~WithStreamedUnaryMethod_SetPluginParameter() override { + BaseClassMustBeDerivedFromService(this); + } + // disable regular version of this method + ::grpc::Status SetPluginParameter(::grpc::ServerContext* /*context*/, const ::daw::api::SetPluginParameterRequest* /*request*/, ::daw::api::StatusResponse* /*response*/) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + // replace default version of method with streamed unary + virtual ::grpc::Status StreamedSetPluginParameter(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::daw::api::SetPluginParameterRequest,::daw::api::StatusResponse>* server_unary_streamer) = 0; + }; + typedef WithStreamedUnaryMethod_LoadPlugin > StreamedUnaryService; + typedef Service SplitStreamedService; + typedef WithStreamedUnaryMethod_LoadPlugin > StreamedService; +}; + +} // namespace api +} // namespace daw + + +#include +#endif // GRPC_daw_5fapi_2eproto__INCLUDED diff --git a/src/backend/src/proto/daw_api.pb.cc b/src/backend/src/proto/daw_api.pb.cc new file mode 100644 index 0000000..1277fe3 --- /dev/null +++ b/src/backend/src/proto/daw_api.pb.cc @@ -0,0 +1,5972 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: daw_api.proto +// Protobuf C++ Version: 5.29.3 + +#include "daw_api.pb.h" + +#include +#include +#include "google/protobuf/io/coded_stream.h" +#include "google/protobuf/generated_message_tctable_impl.h" +#include "google/protobuf/extension_set.h" +#include "google/protobuf/generated_message_util.h" +#include "google/protobuf/wire_format_lite.h" +#include "google/protobuf/descriptor.h" +#include "google/protobuf/generated_message_reflection.h" +#include "google/protobuf/reflection_ops.h" +#include "google/protobuf/wire_format.h" +// @@protoc_insertion_point(includes) + +// Must be included last. +#include "google/protobuf/port_def.inc" +PROTOBUF_PRAGMA_INIT_SEG +namespace _pb = ::google::protobuf; +namespace _pbi = ::google::protobuf::internal; +namespace _fl = ::google::protobuf::internal::field_layout; +namespace daw { +namespace api { + +inline constexpr VUMeterUpdate::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : track_id_( + &::google::protobuf::internal::fixed_address_empty_string, + ::_pbi::ConstantInitialized()), + peak_dbfs_{0}, + rms_dbfs_{0}, + _cached_size_{0} {} + +template +PROTOBUF_CONSTEXPR VUMeterUpdate::VUMeterUpdate(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct VUMeterUpdateDefaultTypeInternal { + PROTOBUF_CONSTEXPR VUMeterUpdateDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~VUMeterUpdateDefaultTypeInternal() {} + union { + VUMeterUpdate _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 VUMeterUpdateDefaultTypeInternal _VUMeterUpdate_default_instance_; + +inline constexpr TrackIdRequest::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : track_id_( + &::google::protobuf::internal::fixed_address_empty_string, + ::_pbi::ConstantInitialized()), + _cached_size_{0} {} + +template +PROTOBUF_CONSTEXPR TrackIdRequest::TrackIdRequest(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct TrackIdRequestDefaultTypeInternal { + PROTOBUF_CONSTEXPR TrackIdRequestDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~TrackIdRequestDefaultTypeInternal() {} + union { + TrackIdRequest _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 TrackIdRequestDefaultTypeInternal _TrackIdRequest_default_instance_; + +inline constexpr StatusResponse::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : error_message_( + &::google::protobuf::internal::fixed_address_empty_string, + ::_pbi::ConstantInitialized()), + success_{false}, + _cached_size_{0} {} + +template +PROTOBUF_CONSTEXPR StatusResponse::StatusResponse(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct StatusResponseDefaultTypeInternal { + PROTOBUF_CONSTEXPR StatusResponseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~StatusResponseDefaultTypeInternal() {} + union { + StatusResponse _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 StatusResponseDefaultTypeInternal _StatusResponse_default_instance_; + +inline constexpr SetTrackVolumeRequest::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : track_id_( + &::google::protobuf::internal::fixed_address_empty_string, + ::_pbi::ConstantInitialized()), + volume_db_{0}, + _cached_size_{0} {} + +template +PROTOBUF_CONSTEXPR SetTrackVolumeRequest::SetTrackVolumeRequest(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct SetTrackVolumeRequestDefaultTypeInternal { + PROTOBUF_CONSTEXPR SetTrackVolumeRequestDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~SetTrackVolumeRequestDefaultTypeInternal() {} + union { + SetTrackVolumeRequest _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SetTrackVolumeRequestDefaultTypeInternal _SetTrackVolumeRequest_default_instance_; + +inline constexpr SetTrackPanRequest::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : track_id_( + &::google::protobuf::internal::fixed_address_empty_string, + ::_pbi::ConstantInitialized()), + pan_{0}, + _cached_size_{0} {} + +template +PROTOBUF_CONSTEXPR SetTrackPanRequest::SetTrackPanRequest(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct SetTrackPanRequestDefaultTypeInternal { + PROTOBUF_CONSTEXPR SetTrackPanRequestDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~SetTrackPanRequestDefaultTypeInternal() {} + union { + SetTrackPanRequest _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SetTrackPanRequestDefaultTypeInternal _SetTrackPanRequest_default_instance_; + +inline constexpr SetTempoRequest::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : bpm_{0}, + _cached_size_{0} {} + +template +PROTOBUF_CONSTEXPR SetTempoRequest::SetTempoRequest(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct SetTempoRequestDefaultTypeInternal { + PROTOBUF_CONSTEXPR SetTempoRequestDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~SetTempoRequestDefaultTypeInternal() {} + union { + SetTempoRequest _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SetTempoRequestDefaultTypeInternal _SetTempoRequest_default_instance_; + +inline constexpr SetPluginParameterRequest::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : instance_id_( + &::google::protobuf::internal::fixed_address_empty_string, + ::_pbi::ConstantInitialized()), + value_{0}, + parameter_id_{0u}, + _cached_size_{0} {} + +template +PROTOBUF_CONSTEXPR SetPluginParameterRequest::SetPluginParameterRequest(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct SetPluginParameterRequestDefaultTypeInternal { + PROTOBUF_CONSTEXPR SetPluginParameterRequestDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~SetPluginParameterRequestDefaultTypeInternal() {} + union { + SetPluginParameterRequest _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SetPluginParameterRequestDefaultTypeInternal _SetPluginParameterRequest_default_instance_; + +inline constexpr SaveProjectRequest::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : file_path_( + &::google::protobuf::internal::fixed_address_empty_string, + ::_pbi::ConstantInitialized()), + _cached_size_{0} {} + +template +PROTOBUF_CONSTEXPR SaveProjectRequest::SaveProjectRequest(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct SaveProjectRequestDefaultTypeInternal { + PROTOBUF_CONSTEXPR SaveProjectRequestDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~SaveProjectRequestDefaultTypeInternal() {} + union { + SaveProjectRequest _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SaveProjectRequestDefaultTypeInternal _SaveProjectRequest_default_instance_; + +inline constexpr RealtimeCursorPosition::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : time_in_seconds_{0}, + absolute_ticks_{::int64_t{0}}, + _cached_size_{0} {} + +template +PROTOBUF_CONSTEXPR RealtimeCursorPosition::RealtimeCursorPosition(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct RealtimeCursorPositionDefaultTypeInternal { + PROTOBUF_CONSTEXPR RealtimeCursorPositionDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~RealtimeCursorPositionDefaultTypeInternal() {} + union { + RealtimeCursorPosition _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RealtimeCursorPositionDefaultTypeInternal _RealtimeCursorPosition_default_instance_; + +inline constexpr PluginParameter::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : name_( + &::google::protobuf::internal::fixed_address_empty_string, + ::_pbi::ConstantInitialized()), + value_{0}, + parameter_id_{0u}, + _cached_size_{0} {} + +template +PROTOBUF_CONSTEXPR PluginParameter::PluginParameter(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct PluginParameterDefaultTypeInternal { + PROTOBUF_CONSTEXPR PluginParameterDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~PluginParameterDefaultTypeInternal() {} + union { + PluginParameter _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PluginParameterDefaultTypeInternal _PluginParameter_default_instance_; + +inline constexpr PlaybackState::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : bar_{0}, + beat_{0}, + bpm_{0}, + tick_{0}, + is_playing_{false}, + _cached_size_{0} {} + +template +PROTOBUF_CONSTEXPR PlaybackState::PlaybackState(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct PlaybackStateDefaultTypeInternal { + PROTOBUF_CONSTEXPR PlaybackStateDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~PlaybackStateDefaultTypeInternal() {} + union { + PlaybackState _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PlaybackStateDefaultTypeInternal _PlaybackState_default_instance_; + +inline constexpr LoadProjectRequest::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : file_path_( + &::google::protobuf::internal::fixed_address_empty_string, + ::_pbi::ConstantInitialized()), + _cached_size_{0} {} + +template +PROTOBUF_CONSTEXPR LoadProjectRequest::LoadProjectRequest(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct LoadProjectRequestDefaultTypeInternal { + PROTOBUF_CONSTEXPR LoadProjectRequestDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~LoadProjectRequestDefaultTypeInternal() {} + union { + LoadProjectRequest _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 LoadProjectRequestDefaultTypeInternal _LoadProjectRequest_default_instance_; + +inline constexpr LoadPluginRequest::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : file_path_( + &::google::protobuf::internal::fixed_address_empty_string, + ::_pbi::ConstantInitialized()), + _cached_size_{0} {} + +template +PROTOBUF_CONSTEXPR LoadPluginRequest::LoadPluginRequest(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct LoadPluginRequestDefaultTypeInternal { + PROTOBUF_CONSTEXPR LoadPluginRequestDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~LoadPluginRequestDefaultTypeInternal() {} + union { + LoadPluginRequest _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 LoadPluginRequestDefaultTypeInternal _LoadPluginRequest_default_instance_; + template +PROTOBUF_CONSTEXPR Empty::Empty(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::internal::ZeroFieldsBase(_class_data_.base()){} +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::internal::ZeroFieldsBase() { +} +#endif // PROTOBUF_CUSTOM_VTABLE +struct EmptyDefaultTypeInternal { + PROTOBUF_CONSTEXPR EmptyDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~EmptyDefaultTypeInternal() {} + union { + Empty _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 EmptyDefaultTypeInternal _Empty_default_instance_; + +inline constexpr AddTrackRequest::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : name_( + &::google::protobuf::internal::fixed_address_empty_string, + ::_pbi::ConstantInitialized()), + type_{static_cast< ::daw::api::TrackType >(0)}, + _cached_size_{0} {} + +template +PROTOBUF_CONSTEXPR AddTrackRequest::AddTrackRequest(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct AddTrackRequestDefaultTypeInternal { + PROTOBUF_CONSTEXPR AddTrackRequestDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~AddTrackRequestDefaultTypeInternal() {} + union { + AddTrackRequest _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AddTrackRequestDefaultTypeInternal _AddTrackRequest_default_instance_; + +inline constexpr VUMeterData::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : updates_{}, + _cached_size_{0} {} + +template +PROTOBUF_CONSTEXPR VUMeterData::VUMeterData(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct VUMeterDataDefaultTypeInternal { + PROTOBUF_CONSTEXPR VUMeterDataDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~VUMeterDataDefaultTypeInternal() {} + union { + VUMeterData _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 VUMeterDataDefaultTypeInternal _VUMeterData_default_instance_; + +inline constexpr PluginInfo::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : parameters_{}, + instance_id_( + &::google::protobuf::internal::fixed_address_empty_string, + ::_pbi::ConstantInitialized()), + name_( + &::google::protobuf::internal::fixed_address_empty_string, + ::_pbi::ConstantInitialized()), + is_bypassed_{false}, + _cached_size_{0} {} + +template +PROTOBUF_CONSTEXPR PluginInfo::PluginInfo(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct PluginInfoDefaultTypeInternal { + PROTOBUF_CONSTEXPR PluginInfoDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~PluginInfoDefaultTypeInternal() {} + union { + PluginInfo _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PluginInfoDefaultTypeInternal _PluginInfo_default_instance_; + +inline constexpr TrackInfo::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : plugins_{}, + track_id_( + &::google::protobuf::internal::fixed_address_empty_string, + ::_pbi::ConstantInitialized()), + name_( + &::google::protobuf::internal::fixed_address_empty_string, + ::_pbi::ConstantInitialized()), + type_{static_cast< ::daw::api::TrackType >(0)}, + volume_db_{0}, + pan_{0}, + is_muted_{false}, + is_soloed_{false}, + _cached_size_{0} {} + +template +PROTOBUF_CONSTEXPR TrackInfo::TrackInfo(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct TrackInfoDefaultTypeInternal { + PROTOBUF_CONSTEXPR TrackInfoDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~TrackInfoDefaultTypeInternal() {} + union { + TrackInfo _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 TrackInfoDefaultTypeInternal _TrackInfo_default_instance_; + +inline constexpr ProjectState::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : _cached_size_{0}, + tracks_{}, + project_id_( + &::google::protobuf::internal::fixed_address_empty_string, + ::_pbi::ConstantInitialized()), + project_name_( + &::google::protobuf::internal::fixed_address_empty_string, + ::_pbi::ConstantInitialized()), + playback_state_{nullptr} {} + +template +PROTOBUF_CONSTEXPR ProjectState::ProjectState(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct ProjectStateDefaultTypeInternal { + PROTOBUF_CONSTEXPR ProjectStateDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~ProjectStateDefaultTypeInternal() {} + union { + ProjectState _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ProjectStateDefaultTypeInternal _ProjectState_default_instance_; +} // namespace api +} // namespace daw +static const ::_pb::EnumDescriptor* file_level_enum_descriptors_daw_5fapi_2eproto[1]; +static constexpr const ::_pb::ServiceDescriptor** + file_level_service_descriptors_daw_5fapi_2eproto = nullptr; +const ::uint32_t + TableStruct_daw_5fapi_2eproto::offsets[] ABSL_ATTRIBUTE_SECTION_VARIABLE( + protodesc_cold) = { + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::daw::api::Empty, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + ~0u, // no _split_ + ~0u, // no sizeof(Split) + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::daw::api::StatusResponse, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + ~0u, // no _split_ + ~0u, // no sizeof(Split) + PROTOBUF_FIELD_OFFSET(::daw::api::StatusResponse, _impl_.success_), + PROTOBUF_FIELD_OFFSET(::daw::api::StatusResponse, _impl_.error_message_), + PROTOBUF_FIELD_OFFSET(::daw::api::ProjectState, _impl_._has_bits_), + PROTOBUF_FIELD_OFFSET(::daw::api::ProjectState, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + ~0u, // no _split_ + ~0u, // no sizeof(Split) + PROTOBUF_FIELD_OFFSET(::daw::api::ProjectState, _impl_.project_id_), + PROTOBUF_FIELD_OFFSET(::daw::api::ProjectState, _impl_.project_name_), + PROTOBUF_FIELD_OFFSET(::daw::api::ProjectState, _impl_.playback_state_), + PROTOBUF_FIELD_OFFSET(::daw::api::ProjectState, _impl_.tracks_), + ~0u, + ~0u, + 0, + ~0u, + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::daw::api::LoadProjectRequest, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + ~0u, // no _split_ + ~0u, // no sizeof(Split) + PROTOBUF_FIELD_OFFSET(::daw::api::LoadProjectRequest, _impl_.file_path_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::daw::api::SaveProjectRequest, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + ~0u, // no _split_ + ~0u, // no sizeof(Split) + PROTOBUF_FIELD_OFFSET(::daw::api::SaveProjectRequest, _impl_.file_path_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::daw::api::PlaybackState, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + ~0u, // no _split_ + ~0u, // no sizeof(Split) + PROTOBUF_FIELD_OFFSET(::daw::api::PlaybackState, _impl_.bar_), + PROTOBUF_FIELD_OFFSET(::daw::api::PlaybackState, _impl_.beat_), + PROTOBUF_FIELD_OFFSET(::daw::api::PlaybackState, _impl_.tick_), + PROTOBUF_FIELD_OFFSET(::daw::api::PlaybackState, _impl_.bpm_), + PROTOBUF_FIELD_OFFSET(::daw::api::PlaybackState, _impl_.is_playing_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::daw::api::SetTempoRequest, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + ~0u, // no _split_ + ~0u, // no sizeof(Split) + PROTOBUF_FIELD_OFFSET(::daw::api::SetTempoRequest, _impl_.bpm_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::daw::api::TrackInfo, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + ~0u, // no _split_ + ~0u, // no sizeof(Split) + PROTOBUF_FIELD_OFFSET(::daw::api::TrackInfo, _impl_.track_id_), + PROTOBUF_FIELD_OFFSET(::daw::api::TrackInfo, _impl_.name_), + PROTOBUF_FIELD_OFFSET(::daw::api::TrackInfo, _impl_.type_), + PROTOBUF_FIELD_OFFSET(::daw::api::TrackInfo, _impl_.volume_db_), + PROTOBUF_FIELD_OFFSET(::daw::api::TrackInfo, _impl_.pan_), + PROTOBUF_FIELD_OFFSET(::daw::api::TrackInfo, _impl_.is_muted_), + PROTOBUF_FIELD_OFFSET(::daw::api::TrackInfo, _impl_.is_soloed_), + PROTOBUF_FIELD_OFFSET(::daw::api::TrackInfo, _impl_.plugins_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::daw::api::AddTrackRequest, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + ~0u, // no _split_ + ~0u, // no sizeof(Split) + PROTOBUF_FIELD_OFFSET(::daw::api::AddTrackRequest, _impl_.name_), + PROTOBUF_FIELD_OFFSET(::daw::api::AddTrackRequest, _impl_.type_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::daw::api::TrackIdRequest, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + ~0u, // no _split_ + ~0u, // no sizeof(Split) + PROTOBUF_FIELD_OFFSET(::daw::api::TrackIdRequest, _impl_.track_id_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::daw::api::SetTrackVolumeRequest, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + ~0u, // no _split_ + ~0u, // no sizeof(Split) + PROTOBUF_FIELD_OFFSET(::daw::api::SetTrackVolumeRequest, _impl_.track_id_), + PROTOBUF_FIELD_OFFSET(::daw::api::SetTrackVolumeRequest, _impl_.volume_db_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::daw::api::SetTrackPanRequest, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + ~0u, // no _split_ + ~0u, // no sizeof(Split) + PROTOBUF_FIELD_OFFSET(::daw::api::SetTrackPanRequest, _impl_.track_id_), + PROTOBUF_FIELD_OFFSET(::daw::api::SetTrackPanRequest, _impl_.pan_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::daw::api::PluginInfo, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + ~0u, // no _split_ + ~0u, // no sizeof(Split) + PROTOBUF_FIELD_OFFSET(::daw::api::PluginInfo, _impl_.instance_id_), + PROTOBUF_FIELD_OFFSET(::daw::api::PluginInfo, _impl_.name_), + PROTOBUF_FIELD_OFFSET(::daw::api::PluginInfo, _impl_.is_bypassed_), + PROTOBUF_FIELD_OFFSET(::daw::api::PluginInfo, _impl_.parameters_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::daw::api::PluginParameter, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + ~0u, // no _split_ + ~0u, // no sizeof(Split) + PROTOBUF_FIELD_OFFSET(::daw::api::PluginParameter, _impl_.parameter_id_), + PROTOBUF_FIELD_OFFSET(::daw::api::PluginParameter, _impl_.name_), + PROTOBUF_FIELD_OFFSET(::daw::api::PluginParameter, _impl_.value_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::daw::api::SetPluginParameterRequest, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + ~0u, // no _split_ + ~0u, // no sizeof(Split) + PROTOBUF_FIELD_OFFSET(::daw::api::SetPluginParameterRequest, _impl_.instance_id_), + PROTOBUF_FIELD_OFFSET(::daw::api::SetPluginParameterRequest, _impl_.parameter_id_), + PROTOBUF_FIELD_OFFSET(::daw::api::SetPluginParameterRequest, _impl_.value_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::daw::api::LoadPluginRequest, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + ~0u, // no _split_ + ~0u, // no sizeof(Split) + PROTOBUF_FIELD_OFFSET(::daw::api::LoadPluginRequest, _impl_.file_path_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::daw::api::VUMeterUpdate, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + ~0u, // no _split_ + ~0u, // no sizeof(Split) + PROTOBUF_FIELD_OFFSET(::daw::api::VUMeterUpdate, _impl_.track_id_), + PROTOBUF_FIELD_OFFSET(::daw::api::VUMeterUpdate, _impl_.peak_dbfs_), + PROTOBUF_FIELD_OFFSET(::daw::api::VUMeterUpdate, _impl_.rms_dbfs_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::daw::api::VUMeterData, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + ~0u, // no _split_ + ~0u, // no sizeof(Split) + PROTOBUF_FIELD_OFFSET(::daw::api::VUMeterData, _impl_.updates_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::daw::api::RealtimeCursorPosition, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + ~0u, // no _split_ + ~0u, // no sizeof(Split) + PROTOBUF_FIELD_OFFSET(::daw::api::RealtimeCursorPosition, _impl_.time_in_seconds_), + PROTOBUF_FIELD_OFFSET(::daw::api::RealtimeCursorPosition, _impl_.absolute_ticks_), +}; + +static const ::_pbi::MigrationSchema + schemas[] ABSL_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = { + {0, -1, -1, sizeof(::daw::api::Empty)}, + {8, -1, -1, sizeof(::daw::api::StatusResponse)}, + {18, 30, -1, sizeof(::daw::api::ProjectState)}, + {34, -1, -1, sizeof(::daw::api::LoadProjectRequest)}, + {43, -1, -1, sizeof(::daw::api::SaveProjectRequest)}, + {52, -1, -1, sizeof(::daw::api::PlaybackState)}, + {65, -1, -1, sizeof(::daw::api::SetTempoRequest)}, + {74, -1, -1, sizeof(::daw::api::TrackInfo)}, + {90, -1, -1, sizeof(::daw::api::AddTrackRequest)}, + {100, -1, -1, sizeof(::daw::api::TrackIdRequest)}, + {109, -1, -1, sizeof(::daw::api::SetTrackVolumeRequest)}, + {119, -1, -1, sizeof(::daw::api::SetTrackPanRequest)}, + {129, -1, -1, sizeof(::daw::api::PluginInfo)}, + {141, -1, -1, sizeof(::daw::api::PluginParameter)}, + {152, -1, -1, sizeof(::daw::api::SetPluginParameterRequest)}, + {163, -1, -1, sizeof(::daw::api::LoadPluginRequest)}, + {172, -1, -1, sizeof(::daw::api::VUMeterUpdate)}, + {183, -1, -1, sizeof(::daw::api::VUMeterData)}, + {192, -1, -1, sizeof(::daw::api::RealtimeCursorPosition)}, +}; +static const ::_pb::Message* const file_default_instances[] = { + &::daw::api::_Empty_default_instance_._instance, + &::daw::api::_StatusResponse_default_instance_._instance, + &::daw::api::_ProjectState_default_instance_._instance, + &::daw::api::_LoadProjectRequest_default_instance_._instance, + &::daw::api::_SaveProjectRequest_default_instance_._instance, + &::daw::api::_PlaybackState_default_instance_._instance, + &::daw::api::_SetTempoRequest_default_instance_._instance, + &::daw::api::_TrackInfo_default_instance_._instance, + &::daw::api::_AddTrackRequest_default_instance_._instance, + &::daw::api::_TrackIdRequest_default_instance_._instance, + &::daw::api::_SetTrackVolumeRequest_default_instance_._instance, + &::daw::api::_SetTrackPanRequest_default_instance_._instance, + &::daw::api::_PluginInfo_default_instance_._instance, + &::daw::api::_PluginParameter_default_instance_._instance, + &::daw::api::_SetPluginParameterRequest_default_instance_._instance, + &::daw::api::_LoadPluginRequest_default_instance_._instance, + &::daw::api::_VUMeterUpdate_default_instance_._instance, + &::daw::api::_VUMeterData_default_instance_._instance, + &::daw::api::_RealtimeCursorPosition_default_instance_._instance, +}; +const char descriptor_table_protodef_daw_5fapi_2eproto[] ABSL_ATTRIBUTE_SECTION_VARIABLE( + protodesc_cold) = { + "\n\rdaw_api.proto\022\007daw.api\"\007\n\005Empty\"8\n\016Sta" + "tusResponse\022\017\n\007success\030\001 \001(\010\022\025\n\rerror_me" + "ssage\030\002 \001(\t\"\214\001\n\014ProjectState\022\022\n\nproject_" + "id\030\001 \001(\t\022\024\n\014project_name\030\002 \001(\t\022.\n\016playba" + "ck_state\030\003 \001(\0132\026.daw.api.PlaybackState\022\"" + "\n\006tracks\030\004 \003(\0132\022.daw.api.TrackInfo\"\'\n\022Lo" + "adProjectRequest\022\021\n\tfile_path\030\001 \001(\t\"\'\n\022S" + "aveProjectRequest\022\021\n\tfile_path\030\001 \001(\t\"Y\n\r" + "PlaybackState\022\013\n\003bar\030\001 \001(\005\022\014\n\004beat\030\002 \001(\005" + "\022\014\n\004tick\030\003 \001(\005\022\013\n\003bpm\030\004 \001(\001\022\022\n\nis_playin" + "g\030\006 \001(\010\"\036\n\017SetTempoRequest\022\013\n\003bpm\030\001 \001(\001\"" + "\270\001\n\tTrackInfo\022\020\n\010track_id\030\001 \001(\t\022\014\n\004name\030" + "\002 \001(\t\022 \n\004type\030\003 \001(\0162\022.daw.api.TrackType\022" + "\021\n\tvolume_db\030\005 \001(\002\022\013\n\003pan\030\006 \001(\002\022\020\n\010is_mu" + "ted\030\007 \001(\010\022\021\n\tis_soloed\030\010 \001(\010\022$\n\007plugins\030" + "\t \003(\0132\023.daw.api.PluginInfo\"A\n\017AddTrackRe" + "quest\022\014\n\004name\030\001 \001(\t\022 \n\004type\030\002 \001(\0162\022.daw." + "api.TrackType\"\"\n\016TrackIdRequest\022\020\n\010track" + "_id\030\001 \001(\t\"<\n\025SetTrackVolumeRequest\022\020\n\010tr" + "ack_id\030\001 \001(\t\022\021\n\tvolume_db\030\002 \001(\002\"3\n\022SetTr" + "ackPanRequest\022\020\n\010track_id\030\001 \001(\t\022\013\n\003pan\030\002" + " \001(\002\"r\n\nPluginInfo\022\023\n\013instance_id\030\001 \001(\t\022" + "\014\n\004name\030\002 \001(\t\022\023\n\013is_bypassed\030\004 \001(\010\022,\n\npa" + "rameters\030\005 \003(\0132\030.daw.api.PluginParameter" + "\"D\n\017PluginParameter\022\024\n\014parameter_id\030\001 \001(" + "\r\022\014\n\004name\030\002 \001(\t\022\r\n\005value\030\003 \001(\001\"U\n\031SetPlu" + "ginParameterRequest\022\023\n\013instance_id\030\001 \001(\t" + "\022\024\n\014parameter_id\030\002 \001(\r\022\r\n\005value\030\003 \001(\001\"&\n" + "\021LoadPluginRequest\022\021\n\tfile_path\030\001 \001(\t\"F\n" + "\rVUMeterUpdate\022\020\n\010track_id\030\001 \001(\t\022\021\n\tpeak" + "_dbfs\030\002 \001(\002\022\020\n\010rms_dbfs\030\003 \001(\002\"6\n\013VUMeter" + "Data\022\'\n\007updates\030\001 \003(\0132\026.daw.api.VUMeterU" + "pdate\"I\n\026RealtimeCursorPosition\022\027\n\017time_" + "in_seconds\030\001 \001(\001\022\026\n\016absolute_ticks\030\002 \001(\003" + "* \n\tTrackType\022\t\n\005AUDIO\020\000\022\010\n\004MIDI\020\0012\345\001\n\020T" + "ransportService\022/\n\004Play\022\016.daw.api.Empty\032" + "\027.daw.api.StatusResponse\0220\n\005Pause\022\016.daw." + "api.Empty\032\027.daw.api.StatusResponse\022/\n\004St" + "op\022\016.daw.api.Empty\032\027.daw.api.StatusRespo" + "nse\022=\n\010SetTempo\022\030.daw.api.SetTempoReques" + "t\032\027.daw.api.StatusResponse2\315\001\n\016ProjectSe" + "rvice\0223\n\nNewProject\022\016.daw.api.Empty\032\025.da" + "w.api.ProjectState\022A\n\013LoadProject\022\033.daw." + "api.LoadProjectRequest\032\025.daw.api.Project" + "State\022C\n\013SaveProject\022\033.daw.api.SaveProje" + "ctRequest\032\027.daw.api.StatusResponse2\231\002\n\014T" + "rackService\0228\n\010AddTrack\022\030.daw.api.AddTra" + "ckRequest\032\022.daw.api.TrackInfo\022\?\n\013RemoveT" + "rack\022\027.daw.api.TrackIdRequest\032\027.daw.api." + "StatusResponse\022I\n\016SetTrackVolume\022\036.daw.a" + "pi.SetTrackVolumeRequest\032\027.daw.api.Statu" + "sResponse\022C\n\013SetTrackPan\022\033.daw.api.SetTr" + "ackPanRequest\032\027.daw.api.StatusResponse2\241" + "\001\n\rPluginService\022=\n\nLoadPlugin\022\032.daw.api" + ".LoadPluginRequest\032\023.daw.api.PluginInfo\022" + "Q\n\022SetPluginParameter\022\".daw.api.SetPlugi" + "nParameterRequest\032\027.daw.api.StatusRespon" + "seb\006proto3" +}; +static ::absl::once_flag descriptor_table_daw_5fapi_2eproto_once; +PROTOBUF_CONSTINIT const ::_pbi::DescriptorTable descriptor_table_daw_5fapi_2eproto = { + false, + false, + 2290, + descriptor_table_protodef_daw_5fapi_2eproto, + "daw_api.proto", + &descriptor_table_daw_5fapi_2eproto_once, + nullptr, + 0, + 19, + schemas, + file_default_instances, + TableStruct_daw_5fapi_2eproto::offsets, + file_level_enum_descriptors_daw_5fapi_2eproto, + file_level_service_descriptors_daw_5fapi_2eproto, +}; +namespace daw { +namespace api { +const ::google::protobuf::EnumDescriptor* TrackType_descriptor() { + ::google::protobuf::internal::AssignDescriptors(&descriptor_table_daw_5fapi_2eproto); + return file_level_enum_descriptors_daw_5fapi_2eproto[0]; +} +PROTOBUF_CONSTINIT const uint32_t TrackType_internal_data_[] = { + 131072u, 0u, }; +bool TrackType_IsValid(int value) { + return 0 <= value && value <= 1; +} +// =================================================================== + +class Empty::_Internal { + public: +}; + +Empty::Empty(::google::protobuf::Arena* arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::internal::ZeroFieldsBase(arena, _class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::internal::ZeroFieldsBase(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(arena_constructor:daw.api.Empty) +} +Empty::Empty( + ::google::protobuf::Arena* arena, + const Empty& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::internal::ZeroFieldsBase(arena, _class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::internal::ZeroFieldsBase(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + Empty* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + + // @@protoc_insertion_point(copy_constructor:daw.api.Empty) +} + +inline void* Empty::PlacementNew_(const void*, void* mem, + ::google::protobuf::Arena* arena) { + return ::new (mem) Empty(arena); +} +constexpr auto Empty::InternalNewImpl_() { + return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(Empty), + alignof(Empty)); +} +PROTOBUF_CONSTINIT +PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::google::protobuf::internal::ClassDataFull Empty::_class_data_ = { + ::google::protobuf::internal::ClassData{ + &_Empty_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &Empty::MergeImpl, + ::google::protobuf::internal::ZeroFieldsBase::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &Empty::SharedDtor, + ::google::protobuf::internal::ZeroFieldsBase::GetClearImpl(), &Empty::ByteSizeLong, + &Empty::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(Empty, _impl_._cached_size_), + false, + }, + &Empty::kDescriptorMethods, + &descriptor_table_daw_5fapi_2eproto, + nullptr, // tracker +}; +const ::google::protobuf::internal::ClassData* Empty::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table); + return _class_data_.base(); +} +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<0, 0, 0, 0, 2> Empty::_table_ = { + { + 0, // no _has_bits_ + 0, // no _extensions_ + 0, 0, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967295, // skipmap + offsetof(decltype(_table_), field_names), // no field_entries + 0, // num_field_entries + 0, // num_aux_entries + offsetof(decltype(_table_), field_names), // no aux_entries + _class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::daw::api::Empty>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + {::_pbi::TcParser::MiniParse, {}}, + }}, {{ + 65535, 65535 + }}, + // no field_entries, or aux_entries + {{ + }}, +}; + + + + + + + + +::google::protobuf::Metadata Empty::GetMetadata() const { + return ::google::protobuf::internal::ZeroFieldsBase::GetMetadataImpl(GetClassData()->full()); +} +// =================================================================== + +class StatusResponse::_Internal { + public: +}; + +StatusResponse::StatusResponse(::google::protobuf::Arena* arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, _class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:daw.api.StatusResponse) +} +inline PROTOBUF_NDEBUG_INLINE StatusResponse::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena, + const Impl_& from, const ::daw::api::StatusResponse& from_msg) + : error_message_(arena, from.error_message_), + _cached_size_{0} {} + +StatusResponse::StatusResponse( + ::google::protobuf::Arena* arena, + const StatusResponse& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, _class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + StatusResponse* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + _impl_.success_ = from._impl_.success_; + + // @@protoc_insertion_point(copy_constructor:daw.api.StatusResponse) +} +inline PROTOBUF_NDEBUG_INLINE StatusResponse::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena) + : error_message_(arena), + _cached_size_{0} {} + +inline void StatusResponse::SharedCtor(::_pb::Arena* arena) { + new (&_impl_) Impl_(internal_visibility(), arena); + _impl_.success_ = {}; +} +StatusResponse::~StatusResponse() { + // @@protoc_insertion_point(destructor:daw.api.StatusResponse) + SharedDtor(*this); +} +inline void StatusResponse::SharedDtor(MessageLite& self) { + StatusResponse& this_ = static_cast(self); + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + this_._impl_.error_message_.Destroy(); + this_._impl_.~Impl_(); +} + +inline void* StatusResponse::PlacementNew_(const void*, void* mem, + ::google::protobuf::Arena* arena) { + return ::new (mem) StatusResponse(arena); +} +constexpr auto StatusResponse::InternalNewImpl_() { + return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(StatusResponse), + alignof(StatusResponse)); +} +PROTOBUF_CONSTINIT +PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::google::protobuf::internal::ClassDataFull StatusResponse::_class_data_ = { + ::google::protobuf::internal::ClassData{ + &_StatusResponse_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &StatusResponse::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &StatusResponse::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &StatusResponse::ByteSizeLong, + &StatusResponse::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(StatusResponse, _impl_._cached_size_), + false, + }, + &StatusResponse::kDescriptorMethods, + &descriptor_table_daw_5fapi_2eproto, + nullptr, // tracker +}; +const ::google::protobuf::internal::ClassData* StatusResponse::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table); + return _class_data_.base(); +} +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<1, 2, 0, 44, 2> StatusResponse::_table_ = { + { + 0, // no _has_bits_ + 0, // no _extensions_ + 2, 8, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967292, // skipmap + offsetof(decltype(_table_), field_entries), + 2, // num_field_entries + 0, // num_aux_entries + offsetof(decltype(_table_), field_names), // no aux_entries + _class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::daw::api::StatusResponse>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + // string error_message = 2; + {::_pbi::TcParser::FastUS1, + {18, 63, 0, PROTOBUF_FIELD_OFFSET(StatusResponse, _impl_.error_message_)}}, + // bool success = 1; + {::_pbi::TcParser::SingularVarintNoZag1(), + {8, 63, 0, PROTOBUF_FIELD_OFFSET(StatusResponse, _impl_.success_)}}, + }}, {{ + 65535, 65535 + }}, {{ + // bool success = 1; + {PROTOBUF_FIELD_OFFSET(StatusResponse, _impl_.success_), 0, 0, + (0 | ::_fl::kFcSingular | ::_fl::kBool)}, + // string error_message = 2; + {PROTOBUF_FIELD_OFFSET(StatusResponse, _impl_.error_message_), 0, 0, + (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)}, + }}, + // no aux_entries + {{ + "\26\0\15\0\0\0\0\0" + "daw.api.StatusResponse" + "error_message" + }}, +}; + +PROTOBUF_NOINLINE void StatusResponse::Clear() { +// @@protoc_insertion_point(message_clear_start:daw.api.StatusResponse) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + _impl_.error_message_.ClearToEmpty(); + _impl_.success_ = false; + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) + ::uint8_t* StatusResponse::_InternalSerialize( + const MessageLite& base, ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) { + const StatusResponse& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE + ::uint8_t* StatusResponse::_InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const { + const StatusResponse& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(serialize_to_array_start:daw.api.StatusResponse) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + // bool success = 1; + if (this_._internal_success() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteBoolToArray( + 1, this_._internal_success(), target); + } + + // string error_message = 2; + if (!this_._internal_error_message().empty()) { + const std::string& _s = this_._internal_error_message(); + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + _s.data(), static_cast(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "daw.api.StatusResponse.error_message"); + target = stream->WriteStringMaybeAliased(2, _s, target); + } + + if (PROTOBUF_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:daw.api.StatusResponse) + return target; + } + +#if defined(PROTOBUF_CUSTOM_VTABLE) + ::size_t StatusResponse::ByteSizeLong(const MessageLite& base) { + const StatusResponse& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE + ::size_t StatusResponse::ByteSizeLong() const { + const StatusResponse& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:daw.api.StatusResponse) + ::size_t total_size = 0; + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + ::_pbi::Prefetch5LinesFrom7Lines(&this_); + { + // string error_message = 2; + if (!this_._internal_error_message().empty()) { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_error_message()); + } + // bool success = 1; + if (this_._internal_success() != 0) { + total_size += 2; + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); + } + +void StatusResponse::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:daw.api.StatusResponse) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + if (!from._internal_error_message().empty()) { + _this->_internal_set_error_message(from._internal_error_message()); + } + if (from._internal_success() != 0) { + _this->_impl_.success_ = from._impl_.success_; + } + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_); +} + +void StatusResponse::CopyFrom(const StatusResponse& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:daw.api.StatusResponse) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + + +void StatusResponse::InternalSwap(StatusResponse* PROTOBUF_RESTRICT other) { + using std::swap; + auto* arena = GetArena(); + ABSL_DCHECK_EQ(arena, other->GetArena()); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.error_message_, &other->_impl_.error_message_, arena); + swap(_impl_.success_, other->_impl_.success_); +} + +::google::protobuf::Metadata StatusResponse::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); +} +// =================================================================== + +class ProjectState::_Internal { + public: + using HasBits = + decltype(std::declval()._impl_._has_bits_); + static constexpr ::int32_t kHasBitsOffset = + 8 * PROTOBUF_FIELD_OFFSET(ProjectState, _impl_._has_bits_); +}; + +ProjectState::ProjectState(::google::protobuf::Arena* arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, _class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:daw.api.ProjectState) +} +inline PROTOBUF_NDEBUG_INLINE ProjectState::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena, + const Impl_& from, const ::daw::api::ProjectState& from_msg) + : _has_bits_{from._has_bits_}, + _cached_size_{0}, + tracks_{visibility, arena, from.tracks_}, + project_id_(arena, from.project_id_), + project_name_(arena, from.project_name_) {} + +ProjectState::ProjectState( + ::google::protobuf::Arena* arena, + const ProjectState& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, _class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + ProjectState* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + ::uint32_t cached_has_bits = _impl_._has_bits_[0]; + _impl_.playback_state_ = (cached_has_bits & 0x00000001u) ? ::google::protobuf::Message::CopyConstruct<::daw::api::PlaybackState>( + arena, *from._impl_.playback_state_) + : nullptr; + + // @@protoc_insertion_point(copy_constructor:daw.api.ProjectState) +} +inline PROTOBUF_NDEBUG_INLINE ProjectState::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena) + : _cached_size_{0}, + tracks_{visibility, arena}, + project_id_(arena), + project_name_(arena) {} + +inline void ProjectState::SharedCtor(::_pb::Arena* arena) { + new (&_impl_) Impl_(internal_visibility(), arena); + _impl_.playback_state_ = {}; +} +ProjectState::~ProjectState() { + // @@protoc_insertion_point(destructor:daw.api.ProjectState) + SharedDtor(*this); +} +inline void ProjectState::SharedDtor(MessageLite& self) { + ProjectState& this_ = static_cast(self); + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + this_._impl_.project_id_.Destroy(); + this_._impl_.project_name_.Destroy(); + delete this_._impl_.playback_state_; + this_._impl_.~Impl_(); +} + +inline void* ProjectState::PlacementNew_(const void*, void* mem, + ::google::protobuf::Arena* arena) { + return ::new (mem) ProjectState(arena); +} +constexpr auto ProjectState::InternalNewImpl_() { + constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({ + PROTOBUF_FIELD_OFFSET(ProjectState, _impl_.tracks_) + + decltype(ProjectState::_impl_.tracks_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + }); + if (arena_bits.has_value()) { + return ::google::protobuf::internal::MessageCreator::CopyInit( + sizeof(ProjectState), alignof(ProjectState), *arena_bits); + } else { + return ::google::protobuf::internal::MessageCreator(&ProjectState::PlacementNew_, + sizeof(ProjectState), + alignof(ProjectState)); + } +} +PROTOBUF_CONSTINIT +PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::google::protobuf::internal::ClassDataFull ProjectState::_class_data_ = { + ::google::protobuf::internal::ClassData{ + &_ProjectState_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &ProjectState::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &ProjectState::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &ProjectState::ByteSizeLong, + &ProjectState::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(ProjectState, _impl_._cached_size_), + false, + }, + &ProjectState::kDescriptorMethods, + &descriptor_table_daw_5fapi_2eproto, + nullptr, // tracker +}; +const ::google::protobuf::internal::ClassData* ProjectState::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table); + return _class_data_.base(); +} +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<2, 4, 2, 51, 2> ProjectState::_table_ = { + { + PROTOBUF_FIELD_OFFSET(ProjectState, _impl_._has_bits_), + 0, // no _extensions_ + 4, 24, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967280, // skipmap + offsetof(decltype(_table_), field_entries), + 4, // num_field_entries + 2, // num_aux_entries + offsetof(decltype(_table_), aux_entries), + _class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::daw::api::ProjectState>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + // repeated .daw.api.TrackInfo tracks = 4; + {::_pbi::TcParser::FastMtR1, + {34, 63, 1, PROTOBUF_FIELD_OFFSET(ProjectState, _impl_.tracks_)}}, + // string project_id = 1; + {::_pbi::TcParser::FastUS1, + {10, 63, 0, PROTOBUF_FIELD_OFFSET(ProjectState, _impl_.project_id_)}}, + // string project_name = 2; + {::_pbi::TcParser::FastUS1, + {18, 63, 0, PROTOBUF_FIELD_OFFSET(ProjectState, _impl_.project_name_)}}, + // .daw.api.PlaybackState playback_state = 3; + {::_pbi::TcParser::FastMtS1, + {26, 0, 0, PROTOBUF_FIELD_OFFSET(ProjectState, _impl_.playback_state_)}}, + }}, {{ + 65535, 65535 + }}, {{ + // string project_id = 1; + {PROTOBUF_FIELD_OFFSET(ProjectState, _impl_.project_id_), -1, 0, + (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)}, + // string project_name = 2; + {PROTOBUF_FIELD_OFFSET(ProjectState, _impl_.project_name_), -1, 0, + (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)}, + // .daw.api.PlaybackState playback_state = 3; + {PROTOBUF_FIELD_OFFSET(ProjectState, _impl_.playback_state_), _Internal::kHasBitsOffset + 0, 0, + (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)}, + // repeated .daw.api.TrackInfo tracks = 4; + {PROTOBUF_FIELD_OFFSET(ProjectState, _impl_.tracks_), -1, 1, + (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)}, + }}, {{ + {::_pbi::TcParser::GetTable<::daw::api::PlaybackState>()}, + {::_pbi::TcParser::GetTable<::daw::api::TrackInfo>()}, + }}, {{ + "\24\12\14\0\0\0\0\0" + "daw.api.ProjectState" + "project_id" + "project_name" + }}, +}; + +PROTOBUF_NOINLINE void ProjectState::Clear() { +// @@protoc_insertion_point(message_clear_start:daw.api.ProjectState) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + _impl_.tracks_.Clear(); + _impl_.project_id_.ClearToEmpty(); + _impl_.project_name_.ClearToEmpty(); + cached_has_bits = _impl_._has_bits_[0]; + if (cached_has_bits & 0x00000001u) { + ABSL_DCHECK(_impl_.playback_state_ != nullptr); + _impl_.playback_state_->Clear(); + } + _impl_._has_bits_.Clear(); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) + ::uint8_t* ProjectState::_InternalSerialize( + const MessageLite& base, ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) { + const ProjectState& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE + ::uint8_t* ProjectState::_InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const { + const ProjectState& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(serialize_to_array_start:daw.api.ProjectState) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + // string project_id = 1; + if (!this_._internal_project_id().empty()) { + const std::string& _s = this_._internal_project_id(); + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + _s.data(), static_cast(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "daw.api.ProjectState.project_id"); + target = stream->WriteStringMaybeAliased(1, _s, target); + } + + // string project_name = 2; + if (!this_._internal_project_name().empty()) { + const std::string& _s = this_._internal_project_name(); + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + _s.data(), static_cast(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "daw.api.ProjectState.project_name"); + target = stream->WriteStringMaybeAliased(2, _s, target); + } + + cached_has_bits = this_._impl_._has_bits_[0]; + // .daw.api.PlaybackState playback_state = 3; + if (cached_has_bits & 0x00000001u) { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 3, *this_._impl_.playback_state_, this_._impl_.playback_state_->GetCachedSize(), target, + stream); + } + + // repeated .daw.api.TrackInfo tracks = 4; + for (unsigned i = 0, n = static_cast( + this_._internal_tracks_size()); + i < n; i++) { + const auto& repfield = this_._internal_tracks().Get(i); + target = + ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 4, repfield, repfield.GetCachedSize(), + target, stream); + } + + if (PROTOBUF_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:daw.api.ProjectState) + return target; + } + +#if defined(PROTOBUF_CUSTOM_VTABLE) + ::size_t ProjectState::ByteSizeLong(const MessageLite& base) { + const ProjectState& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE + ::size_t ProjectState::ByteSizeLong() const { + const ProjectState& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:daw.api.ProjectState) + ::size_t total_size = 0; + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + ::_pbi::Prefetch5LinesFrom7Lines(&this_); + { + // repeated .daw.api.TrackInfo tracks = 4; + { + total_size += 1UL * this_._internal_tracks_size(); + for (const auto& msg : this_._internal_tracks()) { + total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg); + } + } + } + { + // string project_id = 1; + if (!this_._internal_project_id().empty()) { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_project_id()); + } + // string project_name = 2; + if (!this_._internal_project_name().empty()) { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_project_name()); + } + } + { + // .daw.api.PlaybackState playback_state = 3; + cached_has_bits = this_._impl_._has_bits_[0]; + if (cached_has_bits & 0x00000001u) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.playback_state_); + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); + } + +void ProjectState::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + ::google::protobuf::Arena* arena = _this->GetArena(); + // @@protoc_insertion_point(class_specific_merge_from_start:daw.api.ProjectState) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + _this->_internal_mutable_tracks()->MergeFrom( + from._internal_tracks()); + if (!from._internal_project_id().empty()) { + _this->_internal_set_project_id(from._internal_project_id()); + } + if (!from._internal_project_name().empty()) { + _this->_internal_set_project_name(from._internal_project_name()); + } + cached_has_bits = from._impl_._has_bits_[0]; + if (cached_has_bits & 0x00000001u) { + ABSL_DCHECK(from._impl_.playback_state_ != nullptr); + if (_this->_impl_.playback_state_ == nullptr) { + _this->_impl_.playback_state_ = + ::google::protobuf::Message::CopyConstruct<::daw::api::PlaybackState>(arena, *from._impl_.playback_state_); + } else { + _this->_impl_.playback_state_->MergeFrom(*from._impl_.playback_state_); + } + } + _this->_impl_._has_bits_[0] |= cached_has_bits; + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_); +} + +void ProjectState::CopyFrom(const ProjectState& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:daw.api.ProjectState) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + + +void ProjectState::InternalSwap(ProjectState* PROTOBUF_RESTRICT other) { + using std::swap; + auto* arena = GetArena(); + ABSL_DCHECK_EQ(arena, other->GetArena()); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); + _impl_.tracks_.InternalSwap(&other->_impl_.tracks_); + ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.project_id_, &other->_impl_.project_id_, arena); + ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.project_name_, &other->_impl_.project_name_, arena); + swap(_impl_.playback_state_, other->_impl_.playback_state_); +} + +::google::protobuf::Metadata ProjectState::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); +} +// =================================================================== + +class LoadProjectRequest::_Internal { + public: +}; + +LoadProjectRequest::LoadProjectRequest(::google::protobuf::Arena* arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, _class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:daw.api.LoadProjectRequest) +} +inline PROTOBUF_NDEBUG_INLINE LoadProjectRequest::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena, + const Impl_& from, const ::daw::api::LoadProjectRequest& from_msg) + : file_path_(arena, from.file_path_), + _cached_size_{0} {} + +LoadProjectRequest::LoadProjectRequest( + ::google::protobuf::Arena* arena, + const LoadProjectRequest& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, _class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + LoadProjectRequest* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + + // @@protoc_insertion_point(copy_constructor:daw.api.LoadProjectRequest) +} +inline PROTOBUF_NDEBUG_INLINE LoadProjectRequest::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena) + : file_path_(arena), + _cached_size_{0} {} + +inline void LoadProjectRequest::SharedCtor(::_pb::Arena* arena) { + new (&_impl_) Impl_(internal_visibility(), arena); +} +LoadProjectRequest::~LoadProjectRequest() { + // @@protoc_insertion_point(destructor:daw.api.LoadProjectRequest) + SharedDtor(*this); +} +inline void LoadProjectRequest::SharedDtor(MessageLite& self) { + LoadProjectRequest& this_ = static_cast(self); + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + this_._impl_.file_path_.Destroy(); + this_._impl_.~Impl_(); +} + +inline void* LoadProjectRequest::PlacementNew_(const void*, void* mem, + ::google::protobuf::Arena* arena) { + return ::new (mem) LoadProjectRequest(arena); +} +constexpr auto LoadProjectRequest::InternalNewImpl_() { + return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(LoadProjectRequest), + alignof(LoadProjectRequest)); +} +PROTOBUF_CONSTINIT +PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::google::protobuf::internal::ClassDataFull LoadProjectRequest::_class_data_ = { + ::google::protobuf::internal::ClassData{ + &_LoadProjectRequest_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &LoadProjectRequest::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &LoadProjectRequest::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &LoadProjectRequest::ByteSizeLong, + &LoadProjectRequest::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(LoadProjectRequest, _impl_._cached_size_), + false, + }, + &LoadProjectRequest::kDescriptorMethods, + &descriptor_table_daw_5fapi_2eproto, + nullptr, // tracker +}; +const ::google::protobuf::internal::ClassData* LoadProjectRequest::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table); + return _class_data_.base(); +} +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<0, 1, 0, 44, 2> LoadProjectRequest::_table_ = { + { + 0, // no _has_bits_ + 0, // no _extensions_ + 1, 0, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967294, // skipmap + offsetof(decltype(_table_), field_entries), + 1, // num_field_entries + 0, // num_aux_entries + offsetof(decltype(_table_), field_names), // no aux_entries + _class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::daw::api::LoadProjectRequest>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + // string file_path = 1; + {::_pbi::TcParser::FastUS1, + {10, 63, 0, PROTOBUF_FIELD_OFFSET(LoadProjectRequest, _impl_.file_path_)}}, + }}, {{ + 65535, 65535 + }}, {{ + // string file_path = 1; + {PROTOBUF_FIELD_OFFSET(LoadProjectRequest, _impl_.file_path_), 0, 0, + (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)}, + }}, + // no aux_entries + {{ + "\32\11\0\0\0\0\0\0" + "daw.api.LoadProjectRequest" + "file_path" + }}, +}; + +PROTOBUF_NOINLINE void LoadProjectRequest::Clear() { +// @@protoc_insertion_point(message_clear_start:daw.api.LoadProjectRequest) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + _impl_.file_path_.ClearToEmpty(); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) + ::uint8_t* LoadProjectRequest::_InternalSerialize( + const MessageLite& base, ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) { + const LoadProjectRequest& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE + ::uint8_t* LoadProjectRequest::_InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const { + const LoadProjectRequest& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(serialize_to_array_start:daw.api.LoadProjectRequest) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + // string file_path = 1; + if (!this_._internal_file_path().empty()) { + const std::string& _s = this_._internal_file_path(); + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + _s.data(), static_cast(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "daw.api.LoadProjectRequest.file_path"); + target = stream->WriteStringMaybeAliased(1, _s, target); + } + + if (PROTOBUF_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:daw.api.LoadProjectRequest) + return target; + } + +#if defined(PROTOBUF_CUSTOM_VTABLE) + ::size_t LoadProjectRequest::ByteSizeLong(const MessageLite& base) { + const LoadProjectRequest& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE + ::size_t LoadProjectRequest::ByteSizeLong() const { + const LoadProjectRequest& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:daw.api.LoadProjectRequest) + ::size_t total_size = 0; + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + { + // string file_path = 1; + if (!this_._internal_file_path().empty()) { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_file_path()); + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); + } + +void LoadProjectRequest::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:daw.api.LoadProjectRequest) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + if (!from._internal_file_path().empty()) { + _this->_internal_set_file_path(from._internal_file_path()); + } + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_); +} + +void LoadProjectRequest::CopyFrom(const LoadProjectRequest& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:daw.api.LoadProjectRequest) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + + +void LoadProjectRequest::InternalSwap(LoadProjectRequest* PROTOBUF_RESTRICT other) { + using std::swap; + auto* arena = GetArena(); + ABSL_DCHECK_EQ(arena, other->GetArena()); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.file_path_, &other->_impl_.file_path_, arena); +} + +::google::protobuf::Metadata LoadProjectRequest::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); +} +// =================================================================== + +class SaveProjectRequest::_Internal { + public: +}; + +SaveProjectRequest::SaveProjectRequest(::google::protobuf::Arena* arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, _class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:daw.api.SaveProjectRequest) +} +inline PROTOBUF_NDEBUG_INLINE SaveProjectRequest::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena, + const Impl_& from, const ::daw::api::SaveProjectRequest& from_msg) + : file_path_(arena, from.file_path_), + _cached_size_{0} {} + +SaveProjectRequest::SaveProjectRequest( + ::google::protobuf::Arena* arena, + const SaveProjectRequest& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, _class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SaveProjectRequest* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + + // @@protoc_insertion_point(copy_constructor:daw.api.SaveProjectRequest) +} +inline PROTOBUF_NDEBUG_INLINE SaveProjectRequest::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena) + : file_path_(arena), + _cached_size_{0} {} + +inline void SaveProjectRequest::SharedCtor(::_pb::Arena* arena) { + new (&_impl_) Impl_(internal_visibility(), arena); +} +SaveProjectRequest::~SaveProjectRequest() { + // @@protoc_insertion_point(destructor:daw.api.SaveProjectRequest) + SharedDtor(*this); +} +inline void SaveProjectRequest::SharedDtor(MessageLite& self) { + SaveProjectRequest& this_ = static_cast(self); + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + this_._impl_.file_path_.Destroy(); + this_._impl_.~Impl_(); +} + +inline void* SaveProjectRequest::PlacementNew_(const void*, void* mem, + ::google::protobuf::Arena* arena) { + return ::new (mem) SaveProjectRequest(arena); +} +constexpr auto SaveProjectRequest::InternalNewImpl_() { + return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(SaveProjectRequest), + alignof(SaveProjectRequest)); +} +PROTOBUF_CONSTINIT +PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::google::protobuf::internal::ClassDataFull SaveProjectRequest::_class_data_ = { + ::google::protobuf::internal::ClassData{ + &_SaveProjectRequest_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &SaveProjectRequest::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &SaveProjectRequest::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &SaveProjectRequest::ByteSizeLong, + &SaveProjectRequest::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(SaveProjectRequest, _impl_._cached_size_), + false, + }, + &SaveProjectRequest::kDescriptorMethods, + &descriptor_table_daw_5fapi_2eproto, + nullptr, // tracker +}; +const ::google::protobuf::internal::ClassData* SaveProjectRequest::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table); + return _class_data_.base(); +} +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<0, 1, 0, 44, 2> SaveProjectRequest::_table_ = { + { + 0, // no _has_bits_ + 0, // no _extensions_ + 1, 0, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967294, // skipmap + offsetof(decltype(_table_), field_entries), + 1, // num_field_entries + 0, // num_aux_entries + offsetof(decltype(_table_), field_names), // no aux_entries + _class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::daw::api::SaveProjectRequest>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + // string file_path = 1; + {::_pbi::TcParser::FastUS1, + {10, 63, 0, PROTOBUF_FIELD_OFFSET(SaveProjectRequest, _impl_.file_path_)}}, + }}, {{ + 65535, 65535 + }}, {{ + // string file_path = 1; + {PROTOBUF_FIELD_OFFSET(SaveProjectRequest, _impl_.file_path_), 0, 0, + (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)}, + }}, + // no aux_entries + {{ + "\32\11\0\0\0\0\0\0" + "daw.api.SaveProjectRequest" + "file_path" + }}, +}; + +PROTOBUF_NOINLINE void SaveProjectRequest::Clear() { +// @@protoc_insertion_point(message_clear_start:daw.api.SaveProjectRequest) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + _impl_.file_path_.ClearToEmpty(); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) + ::uint8_t* SaveProjectRequest::_InternalSerialize( + const MessageLite& base, ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) { + const SaveProjectRequest& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE + ::uint8_t* SaveProjectRequest::_InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const { + const SaveProjectRequest& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(serialize_to_array_start:daw.api.SaveProjectRequest) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + // string file_path = 1; + if (!this_._internal_file_path().empty()) { + const std::string& _s = this_._internal_file_path(); + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + _s.data(), static_cast(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "daw.api.SaveProjectRequest.file_path"); + target = stream->WriteStringMaybeAliased(1, _s, target); + } + + if (PROTOBUF_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:daw.api.SaveProjectRequest) + return target; + } + +#if defined(PROTOBUF_CUSTOM_VTABLE) + ::size_t SaveProjectRequest::ByteSizeLong(const MessageLite& base) { + const SaveProjectRequest& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE + ::size_t SaveProjectRequest::ByteSizeLong() const { + const SaveProjectRequest& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:daw.api.SaveProjectRequest) + ::size_t total_size = 0; + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + { + // string file_path = 1; + if (!this_._internal_file_path().empty()) { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_file_path()); + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); + } + +void SaveProjectRequest::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:daw.api.SaveProjectRequest) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + if (!from._internal_file_path().empty()) { + _this->_internal_set_file_path(from._internal_file_path()); + } + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_); +} + +void SaveProjectRequest::CopyFrom(const SaveProjectRequest& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:daw.api.SaveProjectRequest) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + + +void SaveProjectRequest::InternalSwap(SaveProjectRequest* PROTOBUF_RESTRICT other) { + using std::swap; + auto* arena = GetArena(); + ABSL_DCHECK_EQ(arena, other->GetArena()); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.file_path_, &other->_impl_.file_path_, arena); +} + +::google::protobuf::Metadata SaveProjectRequest::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); +} +// =================================================================== + +class PlaybackState::_Internal { + public: +}; + +PlaybackState::PlaybackState(::google::protobuf::Arena* arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, _class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:daw.api.PlaybackState) +} +PlaybackState::PlaybackState( + ::google::protobuf::Arena* arena, const PlaybackState& from) + : PlaybackState(arena) { + MergeFrom(from); +} +inline PROTOBUF_NDEBUG_INLINE PlaybackState::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena) + : _cached_size_{0} {} + +inline void PlaybackState::SharedCtor(::_pb::Arena* arena) { + new (&_impl_) Impl_(internal_visibility(), arena); + ::memset(reinterpret_cast(&_impl_) + + offsetof(Impl_, bar_), + 0, + offsetof(Impl_, is_playing_) - + offsetof(Impl_, bar_) + + sizeof(Impl_::is_playing_)); +} +PlaybackState::~PlaybackState() { + // @@protoc_insertion_point(destructor:daw.api.PlaybackState) + SharedDtor(*this); +} +inline void PlaybackState::SharedDtor(MessageLite& self) { + PlaybackState& this_ = static_cast(self); + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + this_._impl_.~Impl_(); +} + +inline void* PlaybackState::PlacementNew_(const void*, void* mem, + ::google::protobuf::Arena* arena) { + return ::new (mem) PlaybackState(arena); +} +constexpr auto PlaybackState::InternalNewImpl_() { + return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(PlaybackState), + alignof(PlaybackState)); +} +PROTOBUF_CONSTINIT +PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::google::protobuf::internal::ClassDataFull PlaybackState::_class_data_ = { + ::google::protobuf::internal::ClassData{ + &_PlaybackState_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &PlaybackState::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &PlaybackState::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &PlaybackState::ByteSizeLong, + &PlaybackState::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(PlaybackState, _impl_._cached_size_), + false, + }, + &PlaybackState::kDescriptorMethods, + &descriptor_table_daw_5fapi_2eproto, + nullptr, // tracker +}; +const ::google::protobuf::internal::ClassData* PlaybackState::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table); + return _class_data_.base(); +} +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<3, 5, 0, 0, 2> PlaybackState::_table_ = { + { + 0, // no _has_bits_ + 0, // no _extensions_ + 6, 56, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967248, // skipmap + offsetof(decltype(_table_), field_entries), + 5, // num_field_entries + 0, // num_aux_entries + offsetof(decltype(_table_), field_names), // no aux_entries + _class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::daw::api::PlaybackState>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + {::_pbi::TcParser::MiniParse, {}}, + // int32 bar = 1; + {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(PlaybackState, _impl_.bar_), 63>(), + {8, 63, 0, PROTOBUF_FIELD_OFFSET(PlaybackState, _impl_.bar_)}}, + // int32 beat = 2; + {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(PlaybackState, _impl_.beat_), 63>(), + {16, 63, 0, PROTOBUF_FIELD_OFFSET(PlaybackState, _impl_.beat_)}}, + // int32 tick = 3; + {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(PlaybackState, _impl_.tick_), 63>(), + {24, 63, 0, PROTOBUF_FIELD_OFFSET(PlaybackState, _impl_.tick_)}}, + // double bpm = 4; + {::_pbi::TcParser::FastF64S1, + {33, 63, 0, PROTOBUF_FIELD_OFFSET(PlaybackState, _impl_.bpm_)}}, + {::_pbi::TcParser::MiniParse, {}}, + // bool is_playing = 6; + {::_pbi::TcParser::SingularVarintNoZag1(), + {48, 63, 0, PROTOBUF_FIELD_OFFSET(PlaybackState, _impl_.is_playing_)}}, + {::_pbi::TcParser::MiniParse, {}}, + }}, {{ + 65535, 65535 + }}, {{ + // int32 bar = 1; + {PROTOBUF_FIELD_OFFSET(PlaybackState, _impl_.bar_), 0, 0, + (0 | ::_fl::kFcSingular | ::_fl::kInt32)}, + // int32 beat = 2; + {PROTOBUF_FIELD_OFFSET(PlaybackState, _impl_.beat_), 0, 0, + (0 | ::_fl::kFcSingular | ::_fl::kInt32)}, + // int32 tick = 3; + {PROTOBUF_FIELD_OFFSET(PlaybackState, _impl_.tick_), 0, 0, + (0 | ::_fl::kFcSingular | ::_fl::kInt32)}, + // double bpm = 4; + {PROTOBUF_FIELD_OFFSET(PlaybackState, _impl_.bpm_), 0, 0, + (0 | ::_fl::kFcSingular | ::_fl::kDouble)}, + // bool is_playing = 6; + {PROTOBUF_FIELD_OFFSET(PlaybackState, _impl_.is_playing_), 0, 0, + (0 | ::_fl::kFcSingular | ::_fl::kBool)}, + }}, + // no aux_entries + {{ + }}, +}; + +PROTOBUF_NOINLINE void PlaybackState::Clear() { +// @@protoc_insertion_point(message_clear_start:daw.api.PlaybackState) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + ::memset(&_impl_.bar_, 0, static_cast<::size_t>( + reinterpret_cast(&_impl_.is_playing_) - + reinterpret_cast(&_impl_.bar_)) + sizeof(_impl_.is_playing_)); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) + ::uint8_t* PlaybackState::_InternalSerialize( + const MessageLite& base, ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) { + const PlaybackState& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE + ::uint8_t* PlaybackState::_InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const { + const PlaybackState& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(serialize_to_array_start:daw.api.PlaybackState) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + // int32 bar = 1; + if (this_._internal_bar() != 0) { + target = ::google::protobuf::internal::WireFormatLite:: + WriteInt32ToArrayWithField<1>( + stream, this_._internal_bar(), target); + } + + // int32 beat = 2; + if (this_._internal_beat() != 0) { + target = ::google::protobuf::internal::WireFormatLite:: + WriteInt32ToArrayWithField<2>( + stream, this_._internal_beat(), target); + } + + // int32 tick = 3; + if (this_._internal_tick() != 0) { + target = ::google::protobuf::internal::WireFormatLite:: + WriteInt32ToArrayWithField<3>( + stream, this_._internal_tick(), target); + } + + // double bpm = 4; + if (::absl::bit_cast<::uint64_t>(this_._internal_bpm()) != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteDoubleToArray( + 4, this_._internal_bpm(), target); + } + + // bool is_playing = 6; + if (this_._internal_is_playing() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteBoolToArray( + 6, this_._internal_is_playing(), target); + } + + if (PROTOBUF_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:daw.api.PlaybackState) + return target; + } + +#if defined(PROTOBUF_CUSTOM_VTABLE) + ::size_t PlaybackState::ByteSizeLong(const MessageLite& base) { + const PlaybackState& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE + ::size_t PlaybackState::ByteSizeLong() const { + const PlaybackState& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:daw.api.PlaybackState) + ::size_t total_size = 0; + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + ::_pbi::Prefetch5LinesFrom7Lines(&this_); + { + // int32 bar = 1; + if (this_._internal_bar() != 0) { + total_size += ::_pbi::WireFormatLite::Int32SizePlusOne( + this_._internal_bar()); + } + // int32 beat = 2; + if (this_._internal_beat() != 0) { + total_size += ::_pbi::WireFormatLite::Int32SizePlusOne( + this_._internal_beat()); + } + // double bpm = 4; + if (::absl::bit_cast<::uint64_t>(this_._internal_bpm()) != 0) { + total_size += 9; + } + // int32 tick = 3; + if (this_._internal_tick() != 0) { + total_size += ::_pbi::WireFormatLite::Int32SizePlusOne( + this_._internal_tick()); + } + // bool is_playing = 6; + if (this_._internal_is_playing() != 0) { + total_size += 2; + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); + } + +void PlaybackState::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:daw.api.PlaybackState) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + if (from._internal_bar() != 0) { + _this->_impl_.bar_ = from._impl_.bar_; + } + if (from._internal_beat() != 0) { + _this->_impl_.beat_ = from._impl_.beat_; + } + if (::absl::bit_cast<::uint64_t>(from._internal_bpm()) != 0) { + _this->_impl_.bpm_ = from._impl_.bpm_; + } + if (from._internal_tick() != 0) { + _this->_impl_.tick_ = from._impl_.tick_; + } + if (from._internal_is_playing() != 0) { + _this->_impl_.is_playing_ = from._impl_.is_playing_; + } + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_); +} + +void PlaybackState::CopyFrom(const PlaybackState& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:daw.api.PlaybackState) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + + +void PlaybackState::InternalSwap(PlaybackState* PROTOBUF_RESTRICT other) { + using std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + ::google::protobuf::internal::memswap< + PROTOBUF_FIELD_OFFSET(PlaybackState, _impl_.is_playing_) + + sizeof(PlaybackState::_impl_.is_playing_) + - PROTOBUF_FIELD_OFFSET(PlaybackState, _impl_.bar_)>( + reinterpret_cast(&_impl_.bar_), + reinterpret_cast(&other->_impl_.bar_)); +} + +::google::protobuf::Metadata PlaybackState::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); +} +// =================================================================== + +class SetTempoRequest::_Internal { + public: +}; + +SetTempoRequest::SetTempoRequest(::google::protobuf::Arena* arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, _class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:daw.api.SetTempoRequest) +} +SetTempoRequest::SetTempoRequest( + ::google::protobuf::Arena* arena, const SetTempoRequest& from) + : SetTempoRequest(arena) { + MergeFrom(from); +} +inline PROTOBUF_NDEBUG_INLINE SetTempoRequest::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena) + : _cached_size_{0} {} + +inline void SetTempoRequest::SharedCtor(::_pb::Arena* arena) { + new (&_impl_) Impl_(internal_visibility(), arena); + _impl_.bpm_ = {}; +} +SetTempoRequest::~SetTempoRequest() { + // @@protoc_insertion_point(destructor:daw.api.SetTempoRequest) + SharedDtor(*this); +} +inline void SetTempoRequest::SharedDtor(MessageLite& self) { + SetTempoRequest& this_ = static_cast(self); + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + this_._impl_.~Impl_(); +} + +inline void* SetTempoRequest::PlacementNew_(const void*, void* mem, + ::google::protobuf::Arena* arena) { + return ::new (mem) SetTempoRequest(arena); +} +constexpr auto SetTempoRequest::InternalNewImpl_() { + return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(SetTempoRequest), + alignof(SetTempoRequest)); +} +PROTOBUF_CONSTINIT +PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::google::protobuf::internal::ClassDataFull SetTempoRequest::_class_data_ = { + ::google::protobuf::internal::ClassData{ + &_SetTempoRequest_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &SetTempoRequest::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &SetTempoRequest::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &SetTempoRequest::ByteSizeLong, + &SetTempoRequest::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(SetTempoRequest, _impl_._cached_size_), + false, + }, + &SetTempoRequest::kDescriptorMethods, + &descriptor_table_daw_5fapi_2eproto, + nullptr, // tracker +}; +const ::google::protobuf::internal::ClassData* SetTempoRequest::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table); + return _class_data_.base(); +} +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<0, 1, 0, 0, 2> SetTempoRequest::_table_ = { + { + 0, // no _has_bits_ + 0, // no _extensions_ + 1, 0, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967294, // skipmap + offsetof(decltype(_table_), field_entries), + 1, // num_field_entries + 0, // num_aux_entries + offsetof(decltype(_table_), field_names), // no aux_entries + _class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::daw::api::SetTempoRequest>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + // double bpm = 1; + {::_pbi::TcParser::FastF64S1, + {9, 63, 0, PROTOBUF_FIELD_OFFSET(SetTempoRequest, _impl_.bpm_)}}, + }}, {{ + 65535, 65535 + }}, {{ + // double bpm = 1; + {PROTOBUF_FIELD_OFFSET(SetTempoRequest, _impl_.bpm_), 0, 0, + (0 | ::_fl::kFcSingular | ::_fl::kDouble)}, + }}, + // no aux_entries + {{ + }}, +}; + +PROTOBUF_NOINLINE void SetTempoRequest::Clear() { +// @@protoc_insertion_point(message_clear_start:daw.api.SetTempoRequest) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + _impl_.bpm_ = 0; + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) + ::uint8_t* SetTempoRequest::_InternalSerialize( + const MessageLite& base, ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) { + const SetTempoRequest& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE + ::uint8_t* SetTempoRequest::_InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const { + const SetTempoRequest& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(serialize_to_array_start:daw.api.SetTempoRequest) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + // double bpm = 1; + if (::absl::bit_cast<::uint64_t>(this_._internal_bpm()) != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteDoubleToArray( + 1, this_._internal_bpm(), target); + } + + if (PROTOBUF_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:daw.api.SetTempoRequest) + return target; + } + +#if defined(PROTOBUF_CUSTOM_VTABLE) + ::size_t SetTempoRequest::ByteSizeLong(const MessageLite& base) { + const SetTempoRequest& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE + ::size_t SetTempoRequest::ByteSizeLong() const { + const SetTempoRequest& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:daw.api.SetTempoRequest) + ::size_t total_size = 0; + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + { + // double bpm = 1; + if (::absl::bit_cast<::uint64_t>(this_._internal_bpm()) != 0) { + total_size += 9; + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); + } + +void SetTempoRequest::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:daw.api.SetTempoRequest) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + if (::absl::bit_cast<::uint64_t>(from._internal_bpm()) != 0) { + _this->_impl_.bpm_ = from._impl_.bpm_; + } + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_); +} + +void SetTempoRequest::CopyFrom(const SetTempoRequest& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:daw.api.SetTempoRequest) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + + +void SetTempoRequest::InternalSwap(SetTempoRequest* PROTOBUF_RESTRICT other) { + using std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_impl_.bpm_, other->_impl_.bpm_); +} + +::google::protobuf::Metadata SetTempoRequest::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); +} +// =================================================================== + +class TrackInfo::_Internal { + public: +}; + +TrackInfo::TrackInfo(::google::protobuf::Arena* arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, _class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:daw.api.TrackInfo) +} +inline PROTOBUF_NDEBUG_INLINE TrackInfo::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena, + const Impl_& from, const ::daw::api::TrackInfo& from_msg) + : plugins_{visibility, arena, from.plugins_}, + track_id_(arena, from.track_id_), + name_(arena, from.name_), + _cached_size_{0} {} + +TrackInfo::TrackInfo( + ::google::protobuf::Arena* arena, + const TrackInfo& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, _class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + TrackInfo* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + ::memcpy(reinterpret_cast(&_impl_) + + offsetof(Impl_, type_), + reinterpret_cast(&from._impl_) + + offsetof(Impl_, type_), + offsetof(Impl_, is_soloed_) - + offsetof(Impl_, type_) + + sizeof(Impl_::is_soloed_)); + + // @@protoc_insertion_point(copy_constructor:daw.api.TrackInfo) +} +inline PROTOBUF_NDEBUG_INLINE TrackInfo::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena) + : plugins_{visibility, arena}, + track_id_(arena), + name_(arena), + _cached_size_{0} {} + +inline void TrackInfo::SharedCtor(::_pb::Arena* arena) { + new (&_impl_) Impl_(internal_visibility(), arena); + ::memset(reinterpret_cast(&_impl_) + + offsetof(Impl_, type_), + 0, + offsetof(Impl_, is_soloed_) - + offsetof(Impl_, type_) + + sizeof(Impl_::is_soloed_)); +} +TrackInfo::~TrackInfo() { + // @@protoc_insertion_point(destructor:daw.api.TrackInfo) + SharedDtor(*this); +} +inline void TrackInfo::SharedDtor(MessageLite& self) { + TrackInfo& this_ = static_cast(self); + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + this_._impl_.track_id_.Destroy(); + this_._impl_.name_.Destroy(); + this_._impl_.~Impl_(); +} + +inline void* TrackInfo::PlacementNew_(const void*, void* mem, + ::google::protobuf::Arena* arena) { + return ::new (mem) TrackInfo(arena); +} +constexpr auto TrackInfo::InternalNewImpl_() { + constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({ + PROTOBUF_FIELD_OFFSET(TrackInfo, _impl_.plugins_) + + decltype(TrackInfo::_impl_.plugins_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + }); + if (arena_bits.has_value()) { + return ::google::protobuf::internal::MessageCreator::CopyInit( + sizeof(TrackInfo), alignof(TrackInfo), *arena_bits); + } else { + return ::google::protobuf::internal::MessageCreator(&TrackInfo::PlacementNew_, + sizeof(TrackInfo), + alignof(TrackInfo)); + } +} +PROTOBUF_CONSTINIT +PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::google::protobuf::internal::ClassDataFull TrackInfo::_class_data_ = { + ::google::protobuf::internal::ClassData{ + &_TrackInfo_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &TrackInfo::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &TrackInfo::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &TrackInfo::ByteSizeLong, + &TrackInfo::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(TrackInfo, _impl_._cached_size_), + false, + }, + &TrackInfo::kDescriptorMethods, + &descriptor_table_daw_5fapi_2eproto, + nullptr, // tracker +}; +const ::google::protobuf::internal::ClassData* TrackInfo::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table); + return _class_data_.base(); +} +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<4, 8, 1, 46, 2> TrackInfo::_table_ = { + { + 0, // no _has_bits_ + 0, // no _extensions_ + 9, 120, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294966792, // skipmap + offsetof(decltype(_table_), field_entries), + 8, // num_field_entries + 1, // num_aux_entries + offsetof(decltype(_table_), aux_entries), + _class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::daw::api::TrackInfo>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + {::_pbi::TcParser::MiniParse, {}}, + // string track_id = 1; + {::_pbi::TcParser::FastUS1, + {10, 63, 0, PROTOBUF_FIELD_OFFSET(TrackInfo, _impl_.track_id_)}}, + // string name = 2; + {::_pbi::TcParser::FastUS1, + {18, 63, 0, PROTOBUF_FIELD_OFFSET(TrackInfo, _impl_.name_)}}, + // .daw.api.TrackType type = 3; + {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(TrackInfo, _impl_.type_), 63>(), + {24, 63, 0, PROTOBUF_FIELD_OFFSET(TrackInfo, _impl_.type_)}}, + {::_pbi::TcParser::MiniParse, {}}, + // float volume_db = 5; + {::_pbi::TcParser::FastF32S1, + {45, 63, 0, PROTOBUF_FIELD_OFFSET(TrackInfo, _impl_.volume_db_)}}, + // float pan = 6; + {::_pbi::TcParser::FastF32S1, + {53, 63, 0, PROTOBUF_FIELD_OFFSET(TrackInfo, _impl_.pan_)}}, + // bool is_muted = 7; + {::_pbi::TcParser::SingularVarintNoZag1(), + {56, 63, 0, PROTOBUF_FIELD_OFFSET(TrackInfo, _impl_.is_muted_)}}, + // bool is_soloed = 8; + {::_pbi::TcParser::SingularVarintNoZag1(), + {64, 63, 0, PROTOBUF_FIELD_OFFSET(TrackInfo, _impl_.is_soloed_)}}, + // repeated .daw.api.PluginInfo plugins = 9; + {::_pbi::TcParser::FastMtR1, + {74, 63, 0, PROTOBUF_FIELD_OFFSET(TrackInfo, _impl_.plugins_)}}, + {::_pbi::TcParser::MiniParse, {}}, + {::_pbi::TcParser::MiniParse, {}}, + {::_pbi::TcParser::MiniParse, {}}, + {::_pbi::TcParser::MiniParse, {}}, + {::_pbi::TcParser::MiniParse, {}}, + {::_pbi::TcParser::MiniParse, {}}, + }}, {{ + 65535, 65535 + }}, {{ + // string track_id = 1; + {PROTOBUF_FIELD_OFFSET(TrackInfo, _impl_.track_id_), 0, 0, + (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)}, + // string name = 2; + {PROTOBUF_FIELD_OFFSET(TrackInfo, _impl_.name_), 0, 0, + (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)}, + // .daw.api.TrackType type = 3; + {PROTOBUF_FIELD_OFFSET(TrackInfo, _impl_.type_), 0, 0, + (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)}, + // float volume_db = 5; + {PROTOBUF_FIELD_OFFSET(TrackInfo, _impl_.volume_db_), 0, 0, + (0 | ::_fl::kFcSingular | ::_fl::kFloat)}, + // float pan = 6; + {PROTOBUF_FIELD_OFFSET(TrackInfo, _impl_.pan_), 0, 0, + (0 | ::_fl::kFcSingular | ::_fl::kFloat)}, + // bool is_muted = 7; + {PROTOBUF_FIELD_OFFSET(TrackInfo, _impl_.is_muted_), 0, 0, + (0 | ::_fl::kFcSingular | ::_fl::kBool)}, + // bool is_soloed = 8; + {PROTOBUF_FIELD_OFFSET(TrackInfo, _impl_.is_soloed_), 0, 0, + (0 | ::_fl::kFcSingular | ::_fl::kBool)}, + // repeated .daw.api.PluginInfo plugins = 9; + {PROTOBUF_FIELD_OFFSET(TrackInfo, _impl_.plugins_), 0, 0, + (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)}, + }}, {{ + {::_pbi::TcParser::GetTable<::daw::api::PluginInfo>()}, + }}, {{ + "\21\10\4\0\0\0\0\0\0\0\0\0\0\0\0\0" + "daw.api.TrackInfo" + "track_id" + "name" + }}, +}; + +PROTOBUF_NOINLINE void TrackInfo::Clear() { +// @@protoc_insertion_point(message_clear_start:daw.api.TrackInfo) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + _impl_.plugins_.Clear(); + _impl_.track_id_.ClearToEmpty(); + _impl_.name_.ClearToEmpty(); + ::memset(&_impl_.type_, 0, static_cast<::size_t>( + reinterpret_cast(&_impl_.is_soloed_) - + reinterpret_cast(&_impl_.type_)) + sizeof(_impl_.is_soloed_)); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) + ::uint8_t* TrackInfo::_InternalSerialize( + const MessageLite& base, ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) { + const TrackInfo& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE + ::uint8_t* TrackInfo::_InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const { + const TrackInfo& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(serialize_to_array_start:daw.api.TrackInfo) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + // string track_id = 1; + if (!this_._internal_track_id().empty()) { + const std::string& _s = this_._internal_track_id(); + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + _s.data(), static_cast(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "daw.api.TrackInfo.track_id"); + target = stream->WriteStringMaybeAliased(1, _s, target); + } + + // string name = 2; + if (!this_._internal_name().empty()) { + const std::string& _s = this_._internal_name(); + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + _s.data(), static_cast(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "daw.api.TrackInfo.name"); + target = stream->WriteStringMaybeAliased(2, _s, target); + } + + // .daw.api.TrackType type = 3; + if (this_._internal_type() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteEnumToArray( + 3, this_._internal_type(), target); + } + + // float volume_db = 5; + if (::absl::bit_cast<::uint32_t>(this_._internal_volume_db()) != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFloatToArray( + 5, this_._internal_volume_db(), target); + } + + // float pan = 6; + if (::absl::bit_cast<::uint32_t>(this_._internal_pan()) != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFloatToArray( + 6, this_._internal_pan(), target); + } + + // bool is_muted = 7; + if (this_._internal_is_muted() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteBoolToArray( + 7, this_._internal_is_muted(), target); + } + + // bool is_soloed = 8; + if (this_._internal_is_soloed() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteBoolToArray( + 8, this_._internal_is_soloed(), target); + } + + // repeated .daw.api.PluginInfo plugins = 9; + for (unsigned i = 0, n = static_cast( + this_._internal_plugins_size()); + i < n; i++) { + const auto& repfield = this_._internal_plugins().Get(i); + target = + ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 9, repfield, repfield.GetCachedSize(), + target, stream); + } + + if (PROTOBUF_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:daw.api.TrackInfo) + return target; + } + +#if defined(PROTOBUF_CUSTOM_VTABLE) + ::size_t TrackInfo::ByteSizeLong(const MessageLite& base) { + const TrackInfo& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE + ::size_t TrackInfo::ByteSizeLong() const { + const TrackInfo& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:daw.api.TrackInfo) + ::size_t total_size = 0; + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + ::_pbi::Prefetch5LinesFrom7Lines(&this_); + { + // repeated .daw.api.PluginInfo plugins = 9; + { + total_size += 1UL * this_._internal_plugins_size(); + for (const auto& msg : this_._internal_plugins()) { + total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg); + } + } + } + { + // string track_id = 1; + if (!this_._internal_track_id().empty()) { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_track_id()); + } + // string name = 2; + if (!this_._internal_name().empty()) { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_name()); + } + // .daw.api.TrackType type = 3; + if (this_._internal_type() != 0) { + total_size += 1 + + ::_pbi::WireFormatLite::EnumSize(this_._internal_type()); + } + // float volume_db = 5; + if (::absl::bit_cast<::uint32_t>(this_._internal_volume_db()) != 0) { + total_size += 5; + } + // float pan = 6; + if (::absl::bit_cast<::uint32_t>(this_._internal_pan()) != 0) { + total_size += 5; + } + // bool is_muted = 7; + if (this_._internal_is_muted() != 0) { + total_size += 2; + } + // bool is_soloed = 8; + if (this_._internal_is_soloed() != 0) { + total_size += 2; + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); + } + +void TrackInfo::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:daw.api.TrackInfo) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + _this->_internal_mutable_plugins()->MergeFrom( + from._internal_plugins()); + if (!from._internal_track_id().empty()) { + _this->_internal_set_track_id(from._internal_track_id()); + } + if (!from._internal_name().empty()) { + _this->_internal_set_name(from._internal_name()); + } + if (from._internal_type() != 0) { + _this->_impl_.type_ = from._impl_.type_; + } + if (::absl::bit_cast<::uint32_t>(from._internal_volume_db()) != 0) { + _this->_impl_.volume_db_ = from._impl_.volume_db_; + } + if (::absl::bit_cast<::uint32_t>(from._internal_pan()) != 0) { + _this->_impl_.pan_ = from._impl_.pan_; + } + if (from._internal_is_muted() != 0) { + _this->_impl_.is_muted_ = from._impl_.is_muted_; + } + if (from._internal_is_soloed() != 0) { + _this->_impl_.is_soloed_ = from._impl_.is_soloed_; + } + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_); +} + +void TrackInfo::CopyFrom(const TrackInfo& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:daw.api.TrackInfo) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + + +void TrackInfo::InternalSwap(TrackInfo* PROTOBUF_RESTRICT other) { + using std::swap; + auto* arena = GetArena(); + ABSL_DCHECK_EQ(arena, other->GetArena()); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + _impl_.plugins_.InternalSwap(&other->_impl_.plugins_); + ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.track_id_, &other->_impl_.track_id_, arena); + ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.name_, &other->_impl_.name_, arena); + ::google::protobuf::internal::memswap< + PROTOBUF_FIELD_OFFSET(TrackInfo, _impl_.is_soloed_) + + sizeof(TrackInfo::_impl_.is_soloed_) + - PROTOBUF_FIELD_OFFSET(TrackInfo, _impl_.type_)>( + reinterpret_cast(&_impl_.type_), + reinterpret_cast(&other->_impl_.type_)); +} + +::google::protobuf::Metadata TrackInfo::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); +} +// =================================================================== + +class AddTrackRequest::_Internal { + public: +}; + +AddTrackRequest::AddTrackRequest(::google::protobuf::Arena* arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, _class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:daw.api.AddTrackRequest) +} +inline PROTOBUF_NDEBUG_INLINE AddTrackRequest::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena, + const Impl_& from, const ::daw::api::AddTrackRequest& from_msg) + : name_(arena, from.name_), + _cached_size_{0} {} + +AddTrackRequest::AddTrackRequest( + ::google::protobuf::Arena* arena, + const AddTrackRequest& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, _class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + AddTrackRequest* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + _impl_.type_ = from._impl_.type_; + + // @@protoc_insertion_point(copy_constructor:daw.api.AddTrackRequest) +} +inline PROTOBUF_NDEBUG_INLINE AddTrackRequest::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena) + : name_(arena), + _cached_size_{0} {} + +inline void AddTrackRequest::SharedCtor(::_pb::Arena* arena) { + new (&_impl_) Impl_(internal_visibility(), arena); + _impl_.type_ = {}; +} +AddTrackRequest::~AddTrackRequest() { + // @@protoc_insertion_point(destructor:daw.api.AddTrackRequest) + SharedDtor(*this); +} +inline void AddTrackRequest::SharedDtor(MessageLite& self) { + AddTrackRequest& this_ = static_cast(self); + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + this_._impl_.name_.Destroy(); + this_._impl_.~Impl_(); +} + +inline void* AddTrackRequest::PlacementNew_(const void*, void* mem, + ::google::protobuf::Arena* arena) { + return ::new (mem) AddTrackRequest(arena); +} +constexpr auto AddTrackRequest::InternalNewImpl_() { + return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(AddTrackRequest), + alignof(AddTrackRequest)); +} +PROTOBUF_CONSTINIT +PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::google::protobuf::internal::ClassDataFull AddTrackRequest::_class_data_ = { + ::google::protobuf::internal::ClassData{ + &_AddTrackRequest_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &AddTrackRequest::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &AddTrackRequest::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &AddTrackRequest::ByteSizeLong, + &AddTrackRequest::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(AddTrackRequest, _impl_._cached_size_), + false, + }, + &AddTrackRequest::kDescriptorMethods, + &descriptor_table_daw_5fapi_2eproto, + nullptr, // tracker +}; +const ::google::protobuf::internal::ClassData* AddTrackRequest::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table); + return _class_data_.base(); +} +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<1, 2, 0, 36, 2> AddTrackRequest::_table_ = { + { + 0, // no _has_bits_ + 0, // no _extensions_ + 2, 8, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967292, // skipmap + offsetof(decltype(_table_), field_entries), + 2, // num_field_entries + 0, // num_aux_entries + offsetof(decltype(_table_), field_names), // no aux_entries + _class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::daw::api::AddTrackRequest>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + // .daw.api.TrackType type = 2; + {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(AddTrackRequest, _impl_.type_), 63>(), + {16, 63, 0, PROTOBUF_FIELD_OFFSET(AddTrackRequest, _impl_.type_)}}, + // string name = 1; + {::_pbi::TcParser::FastUS1, + {10, 63, 0, PROTOBUF_FIELD_OFFSET(AddTrackRequest, _impl_.name_)}}, + }}, {{ + 65535, 65535 + }}, {{ + // string name = 1; + {PROTOBUF_FIELD_OFFSET(AddTrackRequest, _impl_.name_), 0, 0, + (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)}, + // .daw.api.TrackType type = 2; + {PROTOBUF_FIELD_OFFSET(AddTrackRequest, _impl_.type_), 0, 0, + (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)}, + }}, + // no aux_entries + {{ + "\27\4\0\0\0\0\0\0" + "daw.api.AddTrackRequest" + "name" + }}, +}; + +PROTOBUF_NOINLINE void AddTrackRequest::Clear() { +// @@protoc_insertion_point(message_clear_start:daw.api.AddTrackRequest) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + _impl_.name_.ClearToEmpty(); + _impl_.type_ = 0; + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) + ::uint8_t* AddTrackRequest::_InternalSerialize( + const MessageLite& base, ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) { + const AddTrackRequest& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE + ::uint8_t* AddTrackRequest::_InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const { + const AddTrackRequest& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(serialize_to_array_start:daw.api.AddTrackRequest) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + // string name = 1; + if (!this_._internal_name().empty()) { + const std::string& _s = this_._internal_name(); + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + _s.data(), static_cast(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "daw.api.AddTrackRequest.name"); + target = stream->WriteStringMaybeAliased(1, _s, target); + } + + // .daw.api.TrackType type = 2; + if (this_._internal_type() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteEnumToArray( + 2, this_._internal_type(), target); + } + + if (PROTOBUF_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:daw.api.AddTrackRequest) + return target; + } + +#if defined(PROTOBUF_CUSTOM_VTABLE) + ::size_t AddTrackRequest::ByteSizeLong(const MessageLite& base) { + const AddTrackRequest& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE + ::size_t AddTrackRequest::ByteSizeLong() const { + const AddTrackRequest& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:daw.api.AddTrackRequest) + ::size_t total_size = 0; + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + ::_pbi::Prefetch5LinesFrom7Lines(&this_); + { + // string name = 1; + if (!this_._internal_name().empty()) { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_name()); + } + // .daw.api.TrackType type = 2; + if (this_._internal_type() != 0) { + total_size += 1 + + ::_pbi::WireFormatLite::EnumSize(this_._internal_type()); + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); + } + +void AddTrackRequest::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:daw.api.AddTrackRequest) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + if (!from._internal_name().empty()) { + _this->_internal_set_name(from._internal_name()); + } + if (from._internal_type() != 0) { + _this->_impl_.type_ = from._impl_.type_; + } + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_); +} + +void AddTrackRequest::CopyFrom(const AddTrackRequest& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:daw.api.AddTrackRequest) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + + +void AddTrackRequest::InternalSwap(AddTrackRequest* PROTOBUF_RESTRICT other) { + using std::swap; + auto* arena = GetArena(); + ABSL_DCHECK_EQ(arena, other->GetArena()); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.name_, &other->_impl_.name_, arena); + swap(_impl_.type_, other->_impl_.type_); +} + +::google::protobuf::Metadata AddTrackRequest::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); +} +// =================================================================== + +class TrackIdRequest::_Internal { + public: +}; + +TrackIdRequest::TrackIdRequest(::google::protobuf::Arena* arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, _class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:daw.api.TrackIdRequest) +} +inline PROTOBUF_NDEBUG_INLINE TrackIdRequest::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena, + const Impl_& from, const ::daw::api::TrackIdRequest& from_msg) + : track_id_(arena, from.track_id_), + _cached_size_{0} {} + +TrackIdRequest::TrackIdRequest( + ::google::protobuf::Arena* arena, + const TrackIdRequest& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, _class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + TrackIdRequest* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + + // @@protoc_insertion_point(copy_constructor:daw.api.TrackIdRequest) +} +inline PROTOBUF_NDEBUG_INLINE TrackIdRequest::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena) + : track_id_(arena), + _cached_size_{0} {} + +inline void TrackIdRequest::SharedCtor(::_pb::Arena* arena) { + new (&_impl_) Impl_(internal_visibility(), arena); +} +TrackIdRequest::~TrackIdRequest() { + // @@protoc_insertion_point(destructor:daw.api.TrackIdRequest) + SharedDtor(*this); +} +inline void TrackIdRequest::SharedDtor(MessageLite& self) { + TrackIdRequest& this_ = static_cast(self); + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + this_._impl_.track_id_.Destroy(); + this_._impl_.~Impl_(); +} + +inline void* TrackIdRequest::PlacementNew_(const void*, void* mem, + ::google::protobuf::Arena* arena) { + return ::new (mem) TrackIdRequest(arena); +} +constexpr auto TrackIdRequest::InternalNewImpl_() { + return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(TrackIdRequest), + alignof(TrackIdRequest)); +} +PROTOBUF_CONSTINIT +PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::google::protobuf::internal::ClassDataFull TrackIdRequest::_class_data_ = { + ::google::protobuf::internal::ClassData{ + &_TrackIdRequest_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &TrackIdRequest::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &TrackIdRequest::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &TrackIdRequest::ByteSizeLong, + &TrackIdRequest::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(TrackIdRequest, _impl_._cached_size_), + false, + }, + &TrackIdRequest::kDescriptorMethods, + &descriptor_table_daw_5fapi_2eproto, + nullptr, // tracker +}; +const ::google::protobuf::internal::ClassData* TrackIdRequest::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table); + return _class_data_.base(); +} +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<0, 1, 0, 39, 2> TrackIdRequest::_table_ = { + { + 0, // no _has_bits_ + 0, // no _extensions_ + 1, 0, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967294, // skipmap + offsetof(decltype(_table_), field_entries), + 1, // num_field_entries + 0, // num_aux_entries + offsetof(decltype(_table_), field_names), // no aux_entries + _class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::daw::api::TrackIdRequest>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + // string track_id = 1; + {::_pbi::TcParser::FastUS1, + {10, 63, 0, PROTOBUF_FIELD_OFFSET(TrackIdRequest, _impl_.track_id_)}}, + }}, {{ + 65535, 65535 + }}, {{ + // string track_id = 1; + {PROTOBUF_FIELD_OFFSET(TrackIdRequest, _impl_.track_id_), 0, 0, + (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)}, + }}, + // no aux_entries + {{ + "\26\10\0\0\0\0\0\0" + "daw.api.TrackIdRequest" + "track_id" + }}, +}; + +PROTOBUF_NOINLINE void TrackIdRequest::Clear() { +// @@protoc_insertion_point(message_clear_start:daw.api.TrackIdRequest) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + _impl_.track_id_.ClearToEmpty(); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) + ::uint8_t* TrackIdRequest::_InternalSerialize( + const MessageLite& base, ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) { + const TrackIdRequest& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE + ::uint8_t* TrackIdRequest::_InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const { + const TrackIdRequest& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(serialize_to_array_start:daw.api.TrackIdRequest) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + // string track_id = 1; + if (!this_._internal_track_id().empty()) { + const std::string& _s = this_._internal_track_id(); + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + _s.data(), static_cast(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "daw.api.TrackIdRequest.track_id"); + target = stream->WriteStringMaybeAliased(1, _s, target); + } + + if (PROTOBUF_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:daw.api.TrackIdRequest) + return target; + } + +#if defined(PROTOBUF_CUSTOM_VTABLE) + ::size_t TrackIdRequest::ByteSizeLong(const MessageLite& base) { + const TrackIdRequest& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE + ::size_t TrackIdRequest::ByteSizeLong() const { + const TrackIdRequest& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:daw.api.TrackIdRequest) + ::size_t total_size = 0; + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + { + // string track_id = 1; + if (!this_._internal_track_id().empty()) { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_track_id()); + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); + } + +void TrackIdRequest::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:daw.api.TrackIdRequest) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + if (!from._internal_track_id().empty()) { + _this->_internal_set_track_id(from._internal_track_id()); + } + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_); +} + +void TrackIdRequest::CopyFrom(const TrackIdRequest& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:daw.api.TrackIdRequest) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + + +void TrackIdRequest::InternalSwap(TrackIdRequest* PROTOBUF_RESTRICT other) { + using std::swap; + auto* arena = GetArena(); + ABSL_DCHECK_EQ(arena, other->GetArena()); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.track_id_, &other->_impl_.track_id_, arena); +} + +::google::protobuf::Metadata TrackIdRequest::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); +} +// =================================================================== + +class SetTrackVolumeRequest::_Internal { + public: +}; + +SetTrackVolumeRequest::SetTrackVolumeRequest(::google::protobuf::Arena* arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, _class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:daw.api.SetTrackVolumeRequest) +} +inline PROTOBUF_NDEBUG_INLINE SetTrackVolumeRequest::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena, + const Impl_& from, const ::daw::api::SetTrackVolumeRequest& from_msg) + : track_id_(arena, from.track_id_), + _cached_size_{0} {} + +SetTrackVolumeRequest::SetTrackVolumeRequest( + ::google::protobuf::Arena* arena, + const SetTrackVolumeRequest& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, _class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SetTrackVolumeRequest* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + _impl_.volume_db_ = from._impl_.volume_db_; + + // @@protoc_insertion_point(copy_constructor:daw.api.SetTrackVolumeRequest) +} +inline PROTOBUF_NDEBUG_INLINE SetTrackVolumeRequest::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena) + : track_id_(arena), + _cached_size_{0} {} + +inline void SetTrackVolumeRequest::SharedCtor(::_pb::Arena* arena) { + new (&_impl_) Impl_(internal_visibility(), arena); + _impl_.volume_db_ = {}; +} +SetTrackVolumeRequest::~SetTrackVolumeRequest() { + // @@protoc_insertion_point(destructor:daw.api.SetTrackVolumeRequest) + SharedDtor(*this); +} +inline void SetTrackVolumeRequest::SharedDtor(MessageLite& self) { + SetTrackVolumeRequest& this_ = static_cast(self); + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + this_._impl_.track_id_.Destroy(); + this_._impl_.~Impl_(); +} + +inline void* SetTrackVolumeRequest::PlacementNew_(const void*, void* mem, + ::google::protobuf::Arena* arena) { + return ::new (mem) SetTrackVolumeRequest(arena); +} +constexpr auto SetTrackVolumeRequest::InternalNewImpl_() { + return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(SetTrackVolumeRequest), + alignof(SetTrackVolumeRequest)); +} +PROTOBUF_CONSTINIT +PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::google::protobuf::internal::ClassDataFull SetTrackVolumeRequest::_class_data_ = { + ::google::protobuf::internal::ClassData{ + &_SetTrackVolumeRequest_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &SetTrackVolumeRequest::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &SetTrackVolumeRequest::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &SetTrackVolumeRequest::ByteSizeLong, + &SetTrackVolumeRequest::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(SetTrackVolumeRequest, _impl_._cached_size_), + false, + }, + &SetTrackVolumeRequest::kDescriptorMethods, + &descriptor_table_daw_5fapi_2eproto, + nullptr, // tracker +}; +const ::google::protobuf::internal::ClassData* SetTrackVolumeRequest::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table); + return _class_data_.base(); +} +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<1, 2, 0, 46, 2> SetTrackVolumeRequest::_table_ = { + { + 0, // no _has_bits_ + 0, // no _extensions_ + 2, 8, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967292, // skipmap + offsetof(decltype(_table_), field_entries), + 2, // num_field_entries + 0, // num_aux_entries + offsetof(decltype(_table_), field_names), // no aux_entries + _class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::daw::api::SetTrackVolumeRequest>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + // float volume_db = 2; + {::_pbi::TcParser::FastF32S1, + {21, 63, 0, PROTOBUF_FIELD_OFFSET(SetTrackVolumeRequest, _impl_.volume_db_)}}, + // string track_id = 1; + {::_pbi::TcParser::FastUS1, + {10, 63, 0, PROTOBUF_FIELD_OFFSET(SetTrackVolumeRequest, _impl_.track_id_)}}, + }}, {{ + 65535, 65535 + }}, {{ + // string track_id = 1; + {PROTOBUF_FIELD_OFFSET(SetTrackVolumeRequest, _impl_.track_id_), 0, 0, + (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)}, + // float volume_db = 2; + {PROTOBUF_FIELD_OFFSET(SetTrackVolumeRequest, _impl_.volume_db_), 0, 0, + (0 | ::_fl::kFcSingular | ::_fl::kFloat)}, + }}, + // no aux_entries + {{ + "\35\10\0\0\0\0\0\0" + "daw.api.SetTrackVolumeRequest" + "track_id" + }}, +}; + +PROTOBUF_NOINLINE void SetTrackVolumeRequest::Clear() { +// @@protoc_insertion_point(message_clear_start:daw.api.SetTrackVolumeRequest) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + _impl_.track_id_.ClearToEmpty(); + _impl_.volume_db_ = 0; + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) + ::uint8_t* SetTrackVolumeRequest::_InternalSerialize( + const MessageLite& base, ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) { + const SetTrackVolumeRequest& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE + ::uint8_t* SetTrackVolumeRequest::_InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const { + const SetTrackVolumeRequest& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(serialize_to_array_start:daw.api.SetTrackVolumeRequest) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + // string track_id = 1; + if (!this_._internal_track_id().empty()) { + const std::string& _s = this_._internal_track_id(); + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + _s.data(), static_cast(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "daw.api.SetTrackVolumeRequest.track_id"); + target = stream->WriteStringMaybeAliased(1, _s, target); + } + + // float volume_db = 2; + if (::absl::bit_cast<::uint32_t>(this_._internal_volume_db()) != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFloatToArray( + 2, this_._internal_volume_db(), target); + } + + if (PROTOBUF_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:daw.api.SetTrackVolumeRequest) + return target; + } + +#if defined(PROTOBUF_CUSTOM_VTABLE) + ::size_t SetTrackVolumeRequest::ByteSizeLong(const MessageLite& base) { + const SetTrackVolumeRequest& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE + ::size_t SetTrackVolumeRequest::ByteSizeLong() const { + const SetTrackVolumeRequest& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:daw.api.SetTrackVolumeRequest) + ::size_t total_size = 0; + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + ::_pbi::Prefetch5LinesFrom7Lines(&this_); + { + // string track_id = 1; + if (!this_._internal_track_id().empty()) { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_track_id()); + } + // float volume_db = 2; + if (::absl::bit_cast<::uint32_t>(this_._internal_volume_db()) != 0) { + total_size += 5; + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); + } + +void SetTrackVolumeRequest::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:daw.api.SetTrackVolumeRequest) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + if (!from._internal_track_id().empty()) { + _this->_internal_set_track_id(from._internal_track_id()); + } + if (::absl::bit_cast<::uint32_t>(from._internal_volume_db()) != 0) { + _this->_impl_.volume_db_ = from._impl_.volume_db_; + } + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_); +} + +void SetTrackVolumeRequest::CopyFrom(const SetTrackVolumeRequest& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:daw.api.SetTrackVolumeRequest) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + + +void SetTrackVolumeRequest::InternalSwap(SetTrackVolumeRequest* PROTOBUF_RESTRICT other) { + using std::swap; + auto* arena = GetArena(); + ABSL_DCHECK_EQ(arena, other->GetArena()); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.track_id_, &other->_impl_.track_id_, arena); + swap(_impl_.volume_db_, other->_impl_.volume_db_); +} + +::google::protobuf::Metadata SetTrackVolumeRequest::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); +} +// =================================================================== + +class SetTrackPanRequest::_Internal { + public: +}; + +SetTrackPanRequest::SetTrackPanRequest(::google::protobuf::Arena* arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, _class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:daw.api.SetTrackPanRequest) +} +inline PROTOBUF_NDEBUG_INLINE SetTrackPanRequest::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena, + const Impl_& from, const ::daw::api::SetTrackPanRequest& from_msg) + : track_id_(arena, from.track_id_), + _cached_size_{0} {} + +SetTrackPanRequest::SetTrackPanRequest( + ::google::protobuf::Arena* arena, + const SetTrackPanRequest& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, _class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SetTrackPanRequest* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + _impl_.pan_ = from._impl_.pan_; + + // @@protoc_insertion_point(copy_constructor:daw.api.SetTrackPanRequest) +} +inline PROTOBUF_NDEBUG_INLINE SetTrackPanRequest::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena) + : track_id_(arena), + _cached_size_{0} {} + +inline void SetTrackPanRequest::SharedCtor(::_pb::Arena* arena) { + new (&_impl_) Impl_(internal_visibility(), arena); + _impl_.pan_ = {}; +} +SetTrackPanRequest::~SetTrackPanRequest() { + // @@protoc_insertion_point(destructor:daw.api.SetTrackPanRequest) + SharedDtor(*this); +} +inline void SetTrackPanRequest::SharedDtor(MessageLite& self) { + SetTrackPanRequest& this_ = static_cast(self); + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + this_._impl_.track_id_.Destroy(); + this_._impl_.~Impl_(); +} + +inline void* SetTrackPanRequest::PlacementNew_(const void*, void* mem, + ::google::protobuf::Arena* arena) { + return ::new (mem) SetTrackPanRequest(arena); +} +constexpr auto SetTrackPanRequest::InternalNewImpl_() { + return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(SetTrackPanRequest), + alignof(SetTrackPanRequest)); +} +PROTOBUF_CONSTINIT +PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::google::protobuf::internal::ClassDataFull SetTrackPanRequest::_class_data_ = { + ::google::protobuf::internal::ClassData{ + &_SetTrackPanRequest_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &SetTrackPanRequest::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &SetTrackPanRequest::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &SetTrackPanRequest::ByteSizeLong, + &SetTrackPanRequest::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(SetTrackPanRequest, _impl_._cached_size_), + false, + }, + &SetTrackPanRequest::kDescriptorMethods, + &descriptor_table_daw_5fapi_2eproto, + nullptr, // tracker +}; +const ::google::protobuf::internal::ClassData* SetTrackPanRequest::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table); + return _class_data_.base(); +} +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<1, 2, 0, 43, 2> SetTrackPanRequest::_table_ = { + { + 0, // no _has_bits_ + 0, // no _extensions_ + 2, 8, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967292, // skipmap + offsetof(decltype(_table_), field_entries), + 2, // num_field_entries + 0, // num_aux_entries + offsetof(decltype(_table_), field_names), // no aux_entries + _class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::daw::api::SetTrackPanRequest>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + // float pan = 2; + {::_pbi::TcParser::FastF32S1, + {21, 63, 0, PROTOBUF_FIELD_OFFSET(SetTrackPanRequest, _impl_.pan_)}}, + // string track_id = 1; + {::_pbi::TcParser::FastUS1, + {10, 63, 0, PROTOBUF_FIELD_OFFSET(SetTrackPanRequest, _impl_.track_id_)}}, + }}, {{ + 65535, 65535 + }}, {{ + // string track_id = 1; + {PROTOBUF_FIELD_OFFSET(SetTrackPanRequest, _impl_.track_id_), 0, 0, + (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)}, + // float pan = 2; + {PROTOBUF_FIELD_OFFSET(SetTrackPanRequest, _impl_.pan_), 0, 0, + (0 | ::_fl::kFcSingular | ::_fl::kFloat)}, + }}, + // no aux_entries + {{ + "\32\10\0\0\0\0\0\0" + "daw.api.SetTrackPanRequest" + "track_id" + }}, +}; + +PROTOBUF_NOINLINE void SetTrackPanRequest::Clear() { +// @@protoc_insertion_point(message_clear_start:daw.api.SetTrackPanRequest) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + _impl_.track_id_.ClearToEmpty(); + _impl_.pan_ = 0; + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) + ::uint8_t* SetTrackPanRequest::_InternalSerialize( + const MessageLite& base, ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) { + const SetTrackPanRequest& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE + ::uint8_t* SetTrackPanRequest::_InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const { + const SetTrackPanRequest& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(serialize_to_array_start:daw.api.SetTrackPanRequest) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + // string track_id = 1; + if (!this_._internal_track_id().empty()) { + const std::string& _s = this_._internal_track_id(); + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + _s.data(), static_cast(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "daw.api.SetTrackPanRequest.track_id"); + target = stream->WriteStringMaybeAliased(1, _s, target); + } + + // float pan = 2; + if (::absl::bit_cast<::uint32_t>(this_._internal_pan()) != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFloatToArray( + 2, this_._internal_pan(), target); + } + + if (PROTOBUF_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:daw.api.SetTrackPanRequest) + return target; + } + +#if defined(PROTOBUF_CUSTOM_VTABLE) + ::size_t SetTrackPanRequest::ByteSizeLong(const MessageLite& base) { + const SetTrackPanRequest& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE + ::size_t SetTrackPanRequest::ByteSizeLong() const { + const SetTrackPanRequest& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:daw.api.SetTrackPanRequest) + ::size_t total_size = 0; + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + ::_pbi::Prefetch5LinesFrom7Lines(&this_); + { + // string track_id = 1; + if (!this_._internal_track_id().empty()) { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_track_id()); + } + // float pan = 2; + if (::absl::bit_cast<::uint32_t>(this_._internal_pan()) != 0) { + total_size += 5; + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); + } + +void SetTrackPanRequest::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:daw.api.SetTrackPanRequest) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + if (!from._internal_track_id().empty()) { + _this->_internal_set_track_id(from._internal_track_id()); + } + if (::absl::bit_cast<::uint32_t>(from._internal_pan()) != 0) { + _this->_impl_.pan_ = from._impl_.pan_; + } + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_); +} + +void SetTrackPanRequest::CopyFrom(const SetTrackPanRequest& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:daw.api.SetTrackPanRequest) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + + +void SetTrackPanRequest::InternalSwap(SetTrackPanRequest* PROTOBUF_RESTRICT other) { + using std::swap; + auto* arena = GetArena(); + ABSL_DCHECK_EQ(arena, other->GetArena()); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.track_id_, &other->_impl_.track_id_, arena); + swap(_impl_.pan_, other->_impl_.pan_); +} + +::google::protobuf::Metadata SetTrackPanRequest::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); +} +// =================================================================== + +class PluginInfo::_Internal { + public: +}; + +PluginInfo::PluginInfo(::google::protobuf::Arena* arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, _class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:daw.api.PluginInfo) +} +inline PROTOBUF_NDEBUG_INLINE PluginInfo::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena, + const Impl_& from, const ::daw::api::PluginInfo& from_msg) + : parameters_{visibility, arena, from.parameters_}, + instance_id_(arena, from.instance_id_), + name_(arena, from.name_), + _cached_size_{0} {} + +PluginInfo::PluginInfo( + ::google::protobuf::Arena* arena, + const PluginInfo& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, _class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + PluginInfo* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + _impl_.is_bypassed_ = from._impl_.is_bypassed_; + + // @@protoc_insertion_point(copy_constructor:daw.api.PluginInfo) +} +inline PROTOBUF_NDEBUG_INLINE PluginInfo::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena) + : parameters_{visibility, arena}, + instance_id_(arena), + name_(arena), + _cached_size_{0} {} + +inline void PluginInfo::SharedCtor(::_pb::Arena* arena) { + new (&_impl_) Impl_(internal_visibility(), arena); + _impl_.is_bypassed_ = {}; +} +PluginInfo::~PluginInfo() { + // @@protoc_insertion_point(destructor:daw.api.PluginInfo) + SharedDtor(*this); +} +inline void PluginInfo::SharedDtor(MessageLite& self) { + PluginInfo& this_ = static_cast(self); + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + this_._impl_.instance_id_.Destroy(); + this_._impl_.name_.Destroy(); + this_._impl_.~Impl_(); +} + +inline void* PluginInfo::PlacementNew_(const void*, void* mem, + ::google::protobuf::Arena* arena) { + return ::new (mem) PluginInfo(arena); +} +constexpr auto PluginInfo::InternalNewImpl_() { + constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({ + PROTOBUF_FIELD_OFFSET(PluginInfo, _impl_.parameters_) + + decltype(PluginInfo::_impl_.parameters_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + }); + if (arena_bits.has_value()) { + return ::google::protobuf::internal::MessageCreator::CopyInit( + sizeof(PluginInfo), alignof(PluginInfo), *arena_bits); + } else { + return ::google::protobuf::internal::MessageCreator(&PluginInfo::PlacementNew_, + sizeof(PluginInfo), + alignof(PluginInfo)); + } +} +PROTOBUF_CONSTINIT +PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::google::protobuf::internal::ClassDataFull PluginInfo::_class_data_ = { + ::google::protobuf::internal::ClassData{ + &_PluginInfo_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &PluginInfo::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &PluginInfo::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &PluginInfo::ByteSizeLong, + &PluginInfo::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(PluginInfo, _impl_._cached_size_), + false, + }, + &PluginInfo::kDescriptorMethods, + &descriptor_table_daw_5fapi_2eproto, + nullptr, // tracker +}; +const ::google::protobuf::internal::ClassData* PluginInfo::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table); + return _class_data_.base(); +} +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<3, 4, 1, 42, 2> PluginInfo::_table_ = { + { + 0, // no _has_bits_ + 0, // no _extensions_ + 5, 56, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967268, // skipmap + offsetof(decltype(_table_), field_entries), + 4, // num_field_entries + 1, // num_aux_entries + offsetof(decltype(_table_), aux_entries), + _class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::daw::api::PluginInfo>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + {::_pbi::TcParser::MiniParse, {}}, + // string instance_id = 1; + {::_pbi::TcParser::FastUS1, + {10, 63, 0, PROTOBUF_FIELD_OFFSET(PluginInfo, _impl_.instance_id_)}}, + // string name = 2; + {::_pbi::TcParser::FastUS1, + {18, 63, 0, PROTOBUF_FIELD_OFFSET(PluginInfo, _impl_.name_)}}, + {::_pbi::TcParser::MiniParse, {}}, + // bool is_bypassed = 4; + {::_pbi::TcParser::SingularVarintNoZag1(), + {32, 63, 0, PROTOBUF_FIELD_OFFSET(PluginInfo, _impl_.is_bypassed_)}}, + // repeated .daw.api.PluginParameter parameters = 5; + {::_pbi::TcParser::FastMtR1, + {42, 63, 0, PROTOBUF_FIELD_OFFSET(PluginInfo, _impl_.parameters_)}}, + {::_pbi::TcParser::MiniParse, {}}, + {::_pbi::TcParser::MiniParse, {}}, + }}, {{ + 65535, 65535 + }}, {{ + // string instance_id = 1; + {PROTOBUF_FIELD_OFFSET(PluginInfo, _impl_.instance_id_), 0, 0, + (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)}, + // string name = 2; + {PROTOBUF_FIELD_OFFSET(PluginInfo, _impl_.name_), 0, 0, + (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)}, + // bool is_bypassed = 4; + {PROTOBUF_FIELD_OFFSET(PluginInfo, _impl_.is_bypassed_), 0, 0, + (0 | ::_fl::kFcSingular | ::_fl::kBool)}, + // repeated .daw.api.PluginParameter parameters = 5; + {PROTOBUF_FIELD_OFFSET(PluginInfo, _impl_.parameters_), 0, 0, + (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)}, + }}, {{ + {::_pbi::TcParser::GetTable<::daw::api::PluginParameter>()}, + }}, {{ + "\22\13\4\0\0\0\0\0" + "daw.api.PluginInfo" + "instance_id" + "name" + }}, +}; + +PROTOBUF_NOINLINE void PluginInfo::Clear() { +// @@protoc_insertion_point(message_clear_start:daw.api.PluginInfo) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + _impl_.parameters_.Clear(); + _impl_.instance_id_.ClearToEmpty(); + _impl_.name_.ClearToEmpty(); + _impl_.is_bypassed_ = false; + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) + ::uint8_t* PluginInfo::_InternalSerialize( + const MessageLite& base, ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) { + const PluginInfo& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE + ::uint8_t* PluginInfo::_InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const { + const PluginInfo& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(serialize_to_array_start:daw.api.PluginInfo) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + // string instance_id = 1; + if (!this_._internal_instance_id().empty()) { + const std::string& _s = this_._internal_instance_id(); + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + _s.data(), static_cast(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "daw.api.PluginInfo.instance_id"); + target = stream->WriteStringMaybeAliased(1, _s, target); + } + + // string name = 2; + if (!this_._internal_name().empty()) { + const std::string& _s = this_._internal_name(); + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + _s.data(), static_cast(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "daw.api.PluginInfo.name"); + target = stream->WriteStringMaybeAliased(2, _s, target); + } + + // bool is_bypassed = 4; + if (this_._internal_is_bypassed() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteBoolToArray( + 4, this_._internal_is_bypassed(), target); + } + + // repeated .daw.api.PluginParameter parameters = 5; + for (unsigned i = 0, n = static_cast( + this_._internal_parameters_size()); + i < n; i++) { + const auto& repfield = this_._internal_parameters().Get(i); + target = + ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 5, repfield, repfield.GetCachedSize(), + target, stream); + } + + if (PROTOBUF_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:daw.api.PluginInfo) + return target; + } + +#if defined(PROTOBUF_CUSTOM_VTABLE) + ::size_t PluginInfo::ByteSizeLong(const MessageLite& base) { + const PluginInfo& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE + ::size_t PluginInfo::ByteSizeLong() const { + const PluginInfo& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:daw.api.PluginInfo) + ::size_t total_size = 0; + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + ::_pbi::Prefetch5LinesFrom7Lines(&this_); + { + // repeated .daw.api.PluginParameter parameters = 5; + { + total_size += 1UL * this_._internal_parameters_size(); + for (const auto& msg : this_._internal_parameters()) { + total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg); + } + } + } + { + // string instance_id = 1; + if (!this_._internal_instance_id().empty()) { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_instance_id()); + } + // string name = 2; + if (!this_._internal_name().empty()) { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_name()); + } + // bool is_bypassed = 4; + if (this_._internal_is_bypassed() != 0) { + total_size += 2; + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); + } + +void PluginInfo::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:daw.api.PluginInfo) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + _this->_internal_mutable_parameters()->MergeFrom( + from._internal_parameters()); + if (!from._internal_instance_id().empty()) { + _this->_internal_set_instance_id(from._internal_instance_id()); + } + if (!from._internal_name().empty()) { + _this->_internal_set_name(from._internal_name()); + } + if (from._internal_is_bypassed() != 0) { + _this->_impl_.is_bypassed_ = from._impl_.is_bypassed_; + } + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_); +} + +void PluginInfo::CopyFrom(const PluginInfo& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:daw.api.PluginInfo) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + + +void PluginInfo::InternalSwap(PluginInfo* PROTOBUF_RESTRICT other) { + using std::swap; + auto* arena = GetArena(); + ABSL_DCHECK_EQ(arena, other->GetArena()); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + _impl_.parameters_.InternalSwap(&other->_impl_.parameters_); + ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.instance_id_, &other->_impl_.instance_id_, arena); + ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.name_, &other->_impl_.name_, arena); + swap(_impl_.is_bypassed_, other->_impl_.is_bypassed_); +} + +::google::protobuf::Metadata PluginInfo::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); +} +// =================================================================== + +class PluginParameter::_Internal { + public: +}; + +PluginParameter::PluginParameter(::google::protobuf::Arena* arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, _class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:daw.api.PluginParameter) +} +inline PROTOBUF_NDEBUG_INLINE PluginParameter::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena, + const Impl_& from, const ::daw::api::PluginParameter& from_msg) + : name_(arena, from.name_), + _cached_size_{0} {} + +PluginParameter::PluginParameter( + ::google::protobuf::Arena* arena, + const PluginParameter& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, _class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + PluginParameter* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + ::memcpy(reinterpret_cast(&_impl_) + + offsetof(Impl_, value_), + reinterpret_cast(&from._impl_) + + offsetof(Impl_, value_), + offsetof(Impl_, parameter_id_) - + offsetof(Impl_, value_) + + sizeof(Impl_::parameter_id_)); + + // @@protoc_insertion_point(copy_constructor:daw.api.PluginParameter) +} +inline PROTOBUF_NDEBUG_INLINE PluginParameter::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena) + : name_(arena), + _cached_size_{0} {} + +inline void PluginParameter::SharedCtor(::_pb::Arena* arena) { + new (&_impl_) Impl_(internal_visibility(), arena); + ::memset(reinterpret_cast(&_impl_) + + offsetof(Impl_, value_), + 0, + offsetof(Impl_, parameter_id_) - + offsetof(Impl_, value_) + + sizeof(Impl_::parameter_id_)); +} +PluginParameter::~PluginParameter() { + // @@protoc_insertion_point(destructor:daw.api.PluginParameter) + SharedDtor(*this); +} +inline void PluginParameter::SharedDtor(MessageLite& self) { + PluginParameter& this_ = static_cast(self); + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + this_._impl_.name_.Destroy(); + this_._impl_.~Impl_(); +} + +inline void* PluginParameter::PlacementNew_(const void*, void* mem, + ::google::protobuf::Arena* arena) { + return ::new (mem) PluginParameter(arena); +} +constexpr auto PluginParameter::InternalNewImpl_() { + return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(PluginParameter), + alignof(PluginParameter)); +} +PROTOBUF_CONSTINIT +PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::google::protobuf::internal::ClassDataFull PluginParameter::_class_data_ = { + ::google::protobuf::internal::ClassData{ + &_PluginParameter_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &PluginParameter::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &PluginParameter::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &PluginParameter::ByteSizeLong, + &PluginParameter::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(PluginParameter, _impl_._cached_size_), + false, + }, + &PluginParameter::kDescriptorMethods, + &descriptor_table_daw_5fapi_2eproto, + nullptr, // tracker +}; +const ::google::protobuf::internal::ClassData* PluginParameter::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table); + return _class_data_.base(); +} +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<2, 3, 0, 36, 2> PluginParameter::_table_ = { + { + 0, // no _has_bits_ + 0, // no _extensions_ + 3, 24, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967288, // skipmap + offsetof(decltype(_table_), field_entries), + 3, // num_field_entries + 0, // num_aux_entries + offsetof(decltype(_table_), field_names), // no aux_entries + _class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::daw::api::PluginParameter>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + {::_pbi::TcParser::MiniParse, {}}, + // uint32 parameter_id = 1; + {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(PluginParameter, _impl_.parameter_id_), 63>(), + {8, 63, 0, PROTOBUF_FIELD_OFFSET(PluginParameter, _impl_.parameter_id_)}}, + // string name = 2; + {::_pbi::TcParser::FastUS1, + {18, 63, 0, PROTOBUF_FIELD_OFFSET(PluginParameter, _impl_.name_)}}, + // double value = 3; + {::_pbi::TcParser::FastF64S1, + {25, 63, 0, PROTOBUF_FIELD_OFFSET(PluginParameter, _impl_.value_)}}, + }}, {{ + 65535, 65535 + }}, {{ + // uint32 parameter_id = 1; + {PROTOBUF_FIELD_OFFSET(PluginParameter, _impl_.parameter_id_), 0, 0, + (0 | ::_fl::kFcSingular | ::_fl::kUInt32)}, + // string name = 2; + {PROTOBUF_FIELD_OFFSET(PluginParameter, _impl_.name_), 0, 0, + (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)}, + // double value = 3; + {PROTOBUF_FIELD_OFFSET(PluginParameter, _impl_.value_), 0, 0, + (0 | ::_fl::kFcSingular | ::_fl::kDouble)}, + }}, + // no aux_entries + {{ + "\27\0\4\0\0\0\0\0" + "daw.api.PluginParameter" + "name" + }}, +}; + +PROTOBUF_NOINLINE void PluginParameter::Clear() { +// @@protoc_insertion_point(message_clear_start:daw.api.PluginParameter) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + _impl_.name_.ClearToEmpty(); + ::memset(&_impl_.value_, 0, static_cast<::size_t>( + reinterpret_cast(&_impl_.parameter_id_) - + reinterpret_cast(&_impl_.value_)) + sizeof(_impl_.parameter_id_)); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) + ::uint8_t* PluginParameter::_InternalSerialize( + const MessageLite& base, ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) { + const PluginParameter& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE + ::uint8_t* PluginParameter::_InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const { + const PluginParameter& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(serialize_to_array_start:daw.api.PluginParameter) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + // uint32 parameter_id = 1; + if (this_._internal_parameter_id() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteUInt32ToArray( + 1, this_._internal_parameter_id(), target); + } + + // string name = 2; + if (!this_._internal_name().empty()) { + const std::string& _s = this_._internal_name(); + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + _s.data(), static_cast(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "daw.api.PluginParameter.name"); + target = stream->WriteStringMaybeAliased(2, _s, target); + } + + // double value = 3; + if (::absl::bit_cast<::uint64_t>(this_._internal_value()) != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteDoubleToArray( + 3, this_._internal_value(), target); + } + + if (PROTOBUF_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:daw.api.PluginParameter) + return target; + } + +#if defined(PROTOBUF_CUSTOM_VTABLE) + ::size_t PluginParameter::ByteSizeLong(const MessageLite& base) { + const PluginParameter& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE + ::size_t PluginParameter::ByteSizeLong() const { + const PluginParameter& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:daw.api.PluginParameter) + ::size_t total_size = 0; + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + ::_pbi::Prefetch5LinesFrom7Lines(&this_); + { + // string name = 2; + if (!this_._internal_name().empty()) { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_name()); + } + // double value = 3; + if (::absl::bit_cast<::uint64_t>(this_._internal_value()) != 0) { + total_size += 9; + } + // uint32 parameter_id = 1; + if (this_._internal_parameter_id() != 0) { + total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne( + this_._internal_parameter_id()); + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); + } + +void PluginParameter::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:daw.api.PluginParameter) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + if (!from._internal_name().empty()) { + _this->_internal_set_name(from._internal_name()); + } + if (::absl::bit_cast<::uint64_t>(from._internal_value()) != 0) { + _this->_impl_.value_ = from._impl_.value_; + } + if (from._internal_parameter_id() != 0) { + _this->_impl_.parameter_id_ = from._impl_.parameter_id_; + } + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_); +} + +void PluginParameter::CopyFrom(const PluginParameter& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:daw.api.PluginParameter) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + + +void PluginParameter::InternalSwap(PluginParameter* PROTOBUF_RESTRICT other) { + using std::swap; + auto* arena = GetArena(); + ABSL_DCHECK_EQ(arena, other->GetArena()); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.name_, &other->_impl_.name_, arena); + ::google::protobuf::internal::memswap< + PROTOBUF_FIELD_OFFSET(PluginParameter, _impl_.parameter_id_) + + sizeof(PluginParameter::_impl_.parameter_id_) + - PROTOBUF_FIELD_OFFSET(PluginParameter, _impl_.value_)>( + reinterpret_cast(&_impl_.value_), + reinterpret_cast(&other->_impl_.value_)); +} + +::google::protobuf::Metadata PluginParameter::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); +} +// =================================================================== + +class SetPluginParameterRequest::_Internal { + public: +}; + +SetPluginParameterRequest::SetPluginParameterRequest(::google::protobuf::Arena* arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, _class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:daw.api.SetPluginParameterRequest) +} +inline PROTOBUF_NDEBUG_INLINE SetPluginParameterRequest::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena, + const Impl_& from, const ::daw::api::SetPluginParameterRequest& from_msg) + : instance_id_(arena, from.instance_id_), + _cached_size_{0} {} + +SetPluginParameterRequest::SetPluginParameterRequest( + ::google::protobuf::Arena* arena, + const SetPluginParameterRequest& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, _class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SetPluginParameterRequest* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + ::memcpy(reinterpret_cast(&_impl_) + + offsetof(Impl_, value_), + reinterpret_cast(&from._impl_) + + offsetof(Impl_, value_), + offsetof(Impl_, parameter_id_) - + offsetof(Impl_, value_) + + sizeof(Impl_::parameter_id_)); + + // @@protoc_insertion_point(copy_constructor:daw.api.SetPluginParameterRequest) +} +inline PROTOBUF_NDEBUG_INLINE SetPluginParameterRequest::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena) + : instance_id_(arena), + _cached_size_{0} {} + +inline void SetPluginParameterRequest::SharedCtor(::_pb::Arena* arena) { + new (&_impl_) Impl_(internal_visibility(), arena); + ::memset(reinterpret_cast(&_impl_) + + offsetof(Impl_, value_), + 0, + offsetof(Impl_, parameter_id_) - + offsetof(Impl_, value_) + + sizeof(Impl_::parameter_id_)); +} +SetPluginParameterRequest::~SetPluginParameterRequest() { + // @@protoc_insertion_point(destructor:daw.api.SetPluginParameterRequest) + SharedDtor(*this); +} +inline void SetPluginParameterRequest::SharedDtor(MessageLite& self) { + SetPluginParameterRequest& this_ = static_cast(self); + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + this_._impl_.instance_id_.Destroy(); + this_._impl_.~Impl_(); +} + +inline void* SetPluginParameterRequest::PlacementNew_(const void*, void* mem, + ::google::protobuf::Arena* arena) { + return ::new (mem) SetPluginParameterRequest(arena); +} +constexpr auto SetPluginParameterRequest::InternalNewImpl_() { + return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(SetPluginParameterRequest), + alignof(SetPluginParameterRequest)); +} +PROTOBUF_CONSTINIT +PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::google::protobuf::internal::ClassDataFull SetPluginParameterRequest::_class_data_ = { + ::google::protobuf::internal::ClassData{ + &_SetPluginParameterRequest_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &SetPluginParameterRequest::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &SetPluginParameterRequest::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &SetPluginParameterRequest::ByteSizeLong, + &SetPluginParameterRequest::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(SetPluginParameterRequest, _impl_._cached_size_), + false, + }, + &SetPluginParameterRequest::kDescriptorMethods, + &descriptor_table_daw_5fapi_2eproto, + nullptr, // tracker +}; +const ::google::protobuf::internal::ClassData* SetPluginParameterRequest::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table); + return _class_data_.base(); +} +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<2, 3, 0, 53, 2> SetPluginParameterRequest::_table_ = { + { + 0, // no _has_bits_ + 0, // no _extensions_ + 3, 24, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967288, // skipmap + offsetof(decltype(_table_), field_entries), + 3, // num_field_entries + 0, // num_aux_entries + offsetof(decltype(_table_), field_names), // no aux_entries + _class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::daw::api::SetPluginParameterRequest>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + {::_pbi::TcParser::MiniParse, {}}, + // string instance_id = 1; + {::_pbi::TcParser::FastUS1, + {10, 63, 0, PROTOBUF_FIELD_OFFSET(SetPluginParameterRequest, _impl_.instance_id_)}}, + // uint32 parameter_id = 2; + {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(SetPluginParameterRequest, _impl_.parameter_id_), 63>(), + {16, 63, 0, PROTOBUF_FIELD_OFFSET(SetPluginParameterRequest, _impl_.parameter_id_)}}, + // double value = 3; + {::_pbi::TcParser::FastF64S1, + {25, 63, 0, PROTOBUF_FIELD_OFFSET(SetPluginParameterRequest, _impl_.value_)}}, + }}, {{ + 65535, 65535 + }}, {{ + // string instance_id = 1; + {PROTOBUF_FIELD_OFFSET(SetPluginParameterRequest, _impl_.instance_id_), 0, 0, + (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)}, + // uint32 parameter_id = 2; + {PROTOBUF_FIELD_OFFSET(SetPluginParameterRequest, _impl_.parameter_id_), 0, 0, + (0 | ::_fl::kFcSingular | ::_fl::kUInt32)}, + // double value = 3; + {PROTOBUF_FIELD_OFFSET(SetPluginParameterRequest, _impl_.value_), 0, 0, + (0 | ::_fl::kFcSingular | ::_fl::kDouble)}, + }}, + // no aux_entries + {{ + "\41\13\0\0\0\0\0\0" + "daw.api.SetPluginParameterRequest" + "instance_id" + }}, +}; + +PROTOBUF_NOINLINE void SetPluginParameterRequest::Clear() { +// @@protoc_insertion_point(message_clear_start:daw.api.SetPluginParameterRequest) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + _impl_.instance_id_.ClearToEmpty(); + ::memset(&_impl_.value_, 0, static_cast<::size_t>( + reinterpret_cast(&_impl_.parameter_id_) - + reinterpret_cast(&_impl_.value_)) + sizeof(_impl_.parameter_id_)); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) + ::uint8_t* SetPluginParameterRequest::_InternalSerialize( + const MessageLite& base, ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) { + const SetPluginParameterRequest& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE + ::uint8_t* SetPluginParameterRequest::_InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const { + const SetPluginParameterRequest& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(serialize_to_array_start:daw.api.SetPluginParameterRequest) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + // string instance_id = 1; + if (!this_._internal_instance_id().empty()) { + const std::string& _s = this_._internal_instance_id(); + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + _s.data(), static_cast(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "daw.api.SetPluginParameterRequest.instance_id"); + target = stream->WriteStringMaybeAliased(1, _s, target); + } + + // uint32 parameter_id = 2; + if (this_._internal_parameter_id() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteUInt32ToArray( + 2, this_._internal_parameter_id(), target); + } + + // double value = 3; + if (::absl::bit_cast<::uint64_t>(this_._internal_value()) != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteDoubleToArray( + 3, this_._internal_value(), target); + } + + if (PROTOBUF_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:daw.api.SetPluginParameterRequest) + return target; + } + +#if defined(PROTOBUF_CUSTOM_VTABLE) + ::size_t SetPluginParameterRequest::ByteSizeLong(const MessageLite& base) { + const SetPluginParameterRequest& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE + ::size_t SetPluginParameterRequest::ByteSizeLong() const { + const SetPluginParameterRequest& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:daw.api.SetPluginParameterRequest) + ::size_t total_size = 0; + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + ::_pbi::Prefetch5LinesFrom7Lines(&this_); + { + // string instance_id = 1; + if (!this_._internal_instance_id().empty()) { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_instance_id()); + } + // double value = 3; + if (::absl::bit_cast<::uint64_t>(this_._internal_value()) != 0) { + total_size += 9; + } + // uint32 parameter_id = 2; + if (this_._internal_parameter_id() != 0) { + total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne( + this_._internal_parameter_id()); + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); + } + +void SetPluginParameterRequest::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:daw.api.SetPluginParameterRequest) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + if (!from._internal_instance_id().empty()) { + _this->_internal_set_instance_id(from._internal_instance_id()); + } + if (::absl::bit_cast<::uint64_t>(from._internal_value()) != 0) { + _this->_impl_.value_ = from._impl_.value_; + } + if (from._internal_parameter_id() != 0) { + _this->_impl_.parameter_id_ = from._impl_.parameter_id_; + } + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_); +} + +void SetPluginParameterRequest::CopyFrom(const SetPluginParameterRequest& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:daw.api.SetPluginParameterRequest) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + + +void SetPluginParameterRequest::InternalSwap(SetPluginParameterRequest* PROTOBUF_RESTRICT other) { + using std::swap; + auto* arena = GetArena(); + ABSL_DCHECK_EQ(arena, other->GetArena()); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.instance_id_, &other->_impl_.instance_id_, arena); + ::google::protobuf::internal::memswap< + PROTOBUF_FIELD_OFFSET(SetPluginParameterRequest, _impl_.parameter_id_) + + sizeof(SetPluginParameterRequest::_impl_.parameter_id_) + - PROTOBUF_FIELD_OFFSET(SetPluginParameterRequest, _impl_.value_)>( + reinterpret_cast(&_impl_.value_), + reinterpret_cast(&other->_impl_.value_)); +} + +::google::protobuf::Metadata SetPluginParameterRequest::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); +} +// =================================================================== + +class LoadPluginRequest::_Internal { + public: +}; + +LoadPluginRequest::LoadPluginRequest(::google::protobuf::Arena* arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, _class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:daw.api.LoadPluginRequest) +} +inline PROTOBUF_NDEBUG_INLINE LoadPluginRequest::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena, + const Impl_& from, const ::daw::api::LoadPluginRequest& from_msg) + : file_path_(arena, from.file_path_), + _cached_size_{0} {} + +LoadPluginRequest::LoadPluginRequest( + ::google::protobuf::Arena* arena, + const LoadPluginRequest& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, _class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + LoadPluginRequest* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + + // @@protoc_insertion_point(copy_constructor:daw.api.LoadPluginRequest) +} +inline PROTOBUF_NDEBUG_INLINE LoadPluginRequest::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena) + : file_path_(arena), + _cached_size_{0} {} + +inline void LoadPluginRequest::SharedCtor(::_pb::Arena* arena) { + new (&_impl_) Impl_(internal_visibility(), arena); +} +LoadPluginRequest::~LoadPluginRequest() { + // @@protoc_insertion_point(destructor:daw.api.LoadPluginRequest) + SharedDtor(*this); +} +inline void LoadPluginRequest::SharedDtor(MessageLite& self) { + LoadPluginRequest& this_ = static_cast(self); + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + this_._impl_.file_path_.Destroy(); + this_._impl_.~Impl_(); +} + +inline void* LoadPluginRequest::PlacementNew_(const void*, void* mem, + ::google::protobuf::Arena* arena) { + return ::new (mem) LoadPluginRequest(arena); +} +constexpr auto LoadPluginRequest::InternalNewImpl_() { + return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(LoadPluginRequest), + alignof(LoadPluginRequest)); +} +PROTOBUF_CONSTINIT +PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::google::protobuf::internal::ClassDataFull LoadPluginRequest::_class_data_ = { + ::google::protobuf::internal::ClassData{ + &_LoadPluginRequest_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &LoadPluginRequest::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &LoadPluginRequest::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &LoadPluginRequest::ByteSizeLong, + &LoadPluginRequest::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(LoadPluginRequest, _impl_._cached_size_), + false, + }, + &LoadPluginRequest::kDescriptorMethods, + &descriptor_table_daw_5fapi_2eproto, + nullptr, // tracker +}; +const ::google::protobuf::internal::ClassData* LoadPluginRequest::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table); + return _class_data_.base(); +} +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<0, 1, 0, 43, 2> LoadPluginRequest::_table_ = { + { + 0, // no _has_bits_ + 0, // no _extensions_ + 1, 0, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967294, // skipmap + offsetof(decltype(_table_), field_entries), + 1, // num_field_entries + 0, // num_aux_entries + offsetof(decltype(_table_), field_names), // no aux_entries + _class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::daw::api::LoadPluginRequest>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + // string file_path = 1; + {::_pbi::TcParser::FastUS1, + {10, 63, 0, PROTOBUF_FIELD_OFFSET(LoadPluginRequest, _impl_.file_path_)}}, + }}, {{ + 65535, 65535 + }}, {{ + // string file_path = 1; + {PROTOBUF_FIELD_OFFSET(LoadPluginRequest, _impl_.file_path_), 0, 0, + (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)}, + }}, + // no aux_entries + {{ + "\31\11\0\0\0\0\0\0" + "daw.api.LoadPluginRequest" + "file_path" + }}, +}; + +PROTOBUF_NOINLINE void LoadPluginRequest::Clear() { +// @@protoc_insertion_point(message_clear_start:daw.api.LoadPluginRequest) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + _impl_.file_path_.ClearToEmpty(); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) + ::uint8_t* LoadPluginRequest::_InternalSerialize( + const MessageLite& base, ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) { + const LoadPluginRequest& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE + ::uint8_t* LoadPluginRequest::_InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const { + const LoadPluginRequest& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(serialize_to_array_start:daw.api.LoadPluginRequest) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + // string file_path = 1; + if (!this_._internal_file_path().empty()) { + const std::string& _s = this_._internal_file_path(); + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + _s.data(), static_cast(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "daw.api.LoadPluginRequest.file_path"); + target = stream->WriteStringMaybeAliased(1, _s, target); + } + + if (PROTOBUF_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:daw.api.LoadPluginRequest) + return target; + } + +#if defined(PROTOBUF_CUSTOM_VTABLE) + ::size_t LoadPluginRequest::ByteSizeLong(const MessageLite& base) { + const LoadPluginRequest& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE + ::size_t LoadPluginRequest::ByteSizeLong() const { + const LoadPluginRequest& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:daw.api.LoadPluginRequest) + ::size_t total_size = 0; + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + { + // string file_path = 1; + if (!this_._internal_file_path().empty()) { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_file_path()); + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); + } + +void LoadPluginRequest::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:daw.api.LoadPluginRequest) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + if (!from._internal_file_path().empty()) { + _this->_internal_set_file_path(from._internal_file_path()); + } + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_); +} + +void LoadPluginRequest::CopyFrom(const LoadPluginRequest& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:daw.api.LoadPluginRequest) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + + +void LoadPluginRequest::InternalSwap(LoadPluginRequest* PROTOBUF_RESTRICT other) { + using std::swap; + auto* arena = GetArena(); + ABSL_DCHECK_EQ(arena, other->GetArena()); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.file_path_, &other->_impl_.file_path_, arena); +} + +::google::protobuf::Metadata LoadPluginRequest::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); +} +// =================================================================== + +class VUMeterUpdate::_Internal { + public: +}; + +VUMeterUpdate::VUMeterUpdate(::google::protobuf::Arena* arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, _class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:daw.api.VUMeterUpdate) +} +inline PROTOBUF_NDEBUG_INLINE VUMeterUpdate::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena, + const Impl_& from, const ::daw::api::VUMeterUpdate& from_msg) + : track_id_(arena, from.track_id_), + _cached_size_{0} {} + +VUMeterUpdate::VUMeterUpdate( + ::google::protobuf::Arena* arena, + const VUMeterUpdate& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, _class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + VUMeterUpdate* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + ::memcpy(reinterpret_cast(&_impl_) + + offsetof(Impl_, peak_dbfs_), + reinterpret_cast(&from._impl_) + + offsetof(Impl_, peak_dbfs_), + offsetof(Impl_, rms_dbfs_) - + offsetof(Impl_, peak_dbfs_) + + sizeof(Impl_::rms_dbfs_)); + + // @@protoc_insertion_point(copy_constructor:daw.api.VUMeterUpdate) +} +inline PROTOBUF_NDEBUG_INLINE VUMeterUpdate::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena) + : track_id_(arena), + _cached_size_{0} {} + +inline void VUMeterUpdate::SharedCtor(::_pb::Arena* arena) { + new (&_impl_) Impl_(internal_visibility(), arena); + ::memset(reinterpret_cast(&_impl_) + + offsetof(Impl_, peak_dbfs_), + 0, + offsetof(Impl_, rms_dbfs_) - + offsetof(Impl_, peak_dbfs_) + + sizeof(Impl_::rms_dbfs_)); +} +VUMeterUpdate::~VUMeterUpdate() { + // @@protoc_insertion_point(destructor:daw.api.VUMeterUpdate) + SharedDtor(*this); +} +inline void VUMeterUpdate::SharedDtor(MessageLite& self) { + VUMeterUpdate& this_ = static_cast(self); + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + this_._impl_.track_id_.Destroy(); + this_._impl_.~Impl_(); +} + +inline void* VUMeterUpdate::PlacementNew_(const void*, void* mem, + ::google::protobuf::Arena* arena) { + return ::new (mem) VUMeterUpdate(arena); +} +constexpr auto VUMeterUpdate::InternalNewImpl_() { + return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(VUMeterUpdate), + alignof(VUMeterUpdate)); +} +PROTOBUF_CONSTINIT +PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::google::protobuf::internal::ClassDataFull VUMeterUpdate::_class_data_ = { + ::google::protobuf::internal::ClassData{ + &_VUMeterUpdate_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &VUMeterUpdate::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &VUMeterUpdate::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &VUMeterUpdate::ByteSizeLong, + &VUMeterUpdate::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(VUMeterUpdate, _impl_._cached_size_), + false, + }, + &VUMeterUpdate::kDescriptorMethods, + &descriptor_table_daw_5fapi_2eproto, + nullptr, // tracker +}; +const ::google::protobuf::internal::ClassData* VUMeterUpdate::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table); + return _class_data_.base(); +} +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<2, 3, 0, 38, 2> VUMeterUpdate::_table_ = { + { + 0, // no _has_bits_ + 0, // no _extensions_ + 3, 24, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967288, // skipmap + offsetof(decltype(_table_), field_entries), + 3, // num_field_entries + 0, // num_aux_entries + offsetof(decltype(_table_), field_names), // no aux_entries + _class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::daw::api::VUMeterUpdate>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + {::_pbi::TcParser::MiniParse, {}}, + // string track_id = 1; + {::_pbi::TcParser::FastUS1, + {10, 63, 0, PROTOBUF_FIELD_OFFSET(VUMeterUpdate, _impl_.track_id_)}}, + // float peak_dbfs = 2; + {::_pbi::TcParser::FastF32S1, + {21, 63, 0, PROTOBUF_FIELD_OFFSET(VUMeterUpdate, _impl_.peak_dbfs_)}}, + // float rms_dbfs = 3; + {::_pbi::TcParser::FastF32S1, + {29, 63, 0, PROTOBUF_FIELD_OFFSET(VUMeterUpdate, _impl_.rms_dbfs_)}}, + }}, {{ + 65535, 65535 + }}, {{ + // string track_id = 1; + {PROTOBUF_FIELD_OFFSET(VUMeterUpdate, _impl_.track_id_), 0, 0, + (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)}, + // float peak_dbfs = 2; + {PROTOBUF_FIELD_OFFSET(VUMeterUpdate, _impl_.peak_dbfs_), 0, 0, + (0 | ::_fl::kFcSingular | ::_fl::kFloat)}, + // float rms_dbfs = 3; + {PROTOBUF_FIELD_OFFSET(VUMeterUpdate, _impl_.rms_dbfs_), 0, 0, + (0 | ::_fl::kFcSingular | ::_fl::kFloat)}, + }}, + // no aux_entries + {{ + "\25\10\0\0\0\0\0\0" + "daw.api.VUMeterUpdate" + "track_id" + }}, +}; + +PROTOBUF_NOINLINE void VUMeterUpdate::Clear() { +// @@protoc_insertion_point(message_clear_start:daw.api.VUMeterUpdate) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + _impl_.track_id_.ClearToEmpty(); + ::memset(&_impl_.peak_dbfs_, 0, static_cast<::size_t>( + reinterpret_cast(&_impl_.rms_dbfs_) - + reinterpret_cast(&_impl_.peak_dbfs_)) + sizeof(_impl_.rms_dbfs_)); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) + ::uint8_t* VUMeterUpdate::_InternalSerialize( + const MessageLite& base, ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) { + const VUMeterUpdate& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE + ::uint8_t* VUMeterUpdate::_InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const { + const VUMeterUpdate& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(serialize_to_array_start:daw.api.VUMeterUpdate) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + // string track_id = 1; + if (!this_._internal_track_id().empty()) { + const std::string& _s = this_._internal_track_id(); + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + _s.data(), static_cast(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "daw.api.VUMeterUpdate.track_id"); + target = stream->WriteStringMaybeAliased(1, _s, target); + } + + // float peak_dbfs = 2; + if (::absl::bit_cast<::uint32_t>(this_._internal_peak_dbfs()) != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFloatToArray( + 2, this_._internal_peak_dbfs(), target); + } + + // float rms_dbfs = 3; + if (::absl::bit_cast<::uint32_t>(this_._internal_rms_dbfs()) != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteFloatToArray( + 3, this_._internal_rms_dbfs(), target); + } + + if (PROTOBUF_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:daw.api.VUMeterUpdate) + return target; + } + +#if defined(PROTOBUF_CUSTOM_VTABLE) + ::size_t VUMeterUpdate::ByteSizeLong(const MessageLite& base) { + const VUMeterUpdate& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE + ::size_t VUMeterUpdate::ByteSizeLong() const { + const VUMeterUpdate& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:daw.api.VUMeterUpdate) + ::size_t total_size = 0; + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + ::_pbi::Prefetch5LinesFrom7Lines(&this_); + { + // string track_id = 1; + if (!this_._internal_track_id().empty()) { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_track_id()); + } + // float peak_dbfs = 2; + if (::absl::bit_cast<::uint32_t>(this_._internal_peak_dbfs()) != 0) { + total_size += 5; + } + // float rms_dbfs = 3; + if (::absl::bit_cast<::uint32_t>(this_._internal_rms_dbfs()) != 0) { + total_size += 5; + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); + } + +void VUMeterUpdate::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:daw.api.VUMeterUpdate) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + if (!from._internal_track_id().empty()) { + _this->_internal_set_track_id(from._internal_track_id()); + } + if (::absl::bit_cast<::uint32_t>(from._internal_peak_dbfs()) != 0) { + _this->_impl_.peak_dbfs_ = from._impl_.peak_dbfs_; + } + if (::absl::bit_cast<::uint32_t>(from._internal_rms_dbfs()) != 0) { + _this->_impl_.rms_dbfs_ = from._impl_.rms_dbfs_; + } + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_); +} + +void VUMeterUpdate::CopyFrom(const VUMeterUpdate& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:daw.api.VUMeterUpdate) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + + +void VUMeterUpdate::InternalSwap(VUMeterUpdate* PROTOBUF_RESTRICT other) { + using std::swap; + auto* arena = GetArena(); + ABSL_DCHECK_EQ(arena, other->GetArena()); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.track_id_, &other->_impl_.track_id_, arena); + ::google::protobuf::internal::memswap< + PROTOBUF_FIELD_OFFSET(VUMeterUpdate, _impl_.rms_dbfs_) + + sizeof(VUMeterUpdate::_impl_.rms_dbfs_) + - PROTOBUF_FIELD_OFFSET(VUMeterUpdate, _impl_.peak_dbfs_)>( + reinterpret_cast(&_impl_.peak_dbfs_), + reinterpret_cast(&other->_impl_.peak_dbfs_)); +} + +::google::protobuf::Metadata VUMeterUpdate::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); +} +// =================================================================== + +class VUMeterData::_Internal { + public: +}; + +VUMeterData::VUMeterData(::google::protobuf::Arena* arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, _class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:daw.api.VUMeterData) +} +inline PROTOBUF_NDEBUG_INLINE VUMeterData::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena, + const Impl_& from, const ::daw::api::VUMeterData& from_msg) + : updates_{visibility, arena, from.updates_}, + _cached_size_{0} {} + +VUMeterData::VUMeterData( + ::google::protobuf::Arena* arena, + const VUMeterData& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, _class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + VUMeterData* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + + // @@protoc_insertion_point(copy_constructor:daw.api.VUMeterData) +} +inline PROTOBUF_NDEBUG_INLINE VUMeterData::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena) + : updates_{visibility, arena}, + _cached_size_{0} {} + +inline void VUMeterData::SharedCtor(::_pb::Arena* arena) { + new (&_impl_) Impl_(internal_visibility(), arena); +} +VUMeterData::~VUMeterData() { + // @@protoc_insertion_point(destructor:daw.api.VUMeterData) + SharedDtor(*this); +} +inline void VUMeterData::SharedDtor(MessageLite& self) { + VUMeterData& this_ = static_cast(self); + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + this_._impl_.~Impl_(); +} + +inline void* VUMeterData::PlacementNew_(const void*, void* mem, + ::google::protobuf::Arena* arena) { + return ::new (mem) VUMeterData(arena); +} +constexpr auto VUMeterData::InternalNewImpl_() { + constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({ + PROTOBUF_FIELD_OFFSET(VUMeterData, _impl_.updates_) + + decltype(VUMeterData::_impl_.updates_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + }); + if (arena_bits.has_value()) { + return ::google::protobuf::internal::MessageCreator::ZeroInit( + sizeof(VUMeterData), alignof(VUMeterData), *arena_bits); + } else { + return ::google::protobuf::internal::MessageCreator(&VUMeterData::PlacementNew_, + sizeof(VUMeterData), + alignof(VUMeterData)); + } +} +PROTOBUF_CONSTINIT +PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::google::protobuf::internal::ClassDataFull VUMeterData::_class_data_ = { + ::google::protobuf::internal::ClassData{ + &_VUMeterData_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &VUMeterData::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &VUMeterData::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &VUMeterData::ByteSizeLong, + &VUMeterData::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(VUMeterData, _impl_._cached_size_), + false, + }, + &VUMeterData::kDescriptorMethods, + &descriptor_table_daw_5fapi_2eproto, + nullptr, // tracker +}; +const ::google::protobuf::internal::ClassData* VUMeterData::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table); + return _class_data_.base(); +} +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<0, 1, 1, 0, 2> VUMeterData::_table_ = { + { + 0, // no _has_bits_ + 0, // no _extensions_ + 1, 0, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967294, // skipmap + offsetof(decltype(_table_), field_entries), + 1, // num_field_entries + 1, // num_aux_entries + offsetof(decltype(_table_), aux_entries), + _class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::daw::api::VUMeterData>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + // repeated .daw.api.VUMeterUpdate updates = 1; + {::_pbi::TcParser::FastMtR1, + {10, 63, 0, PROTOBUF_FIELD_OFFSET(VUMeterData, _impl_.updates_)}}, + }}, {{ + 65535, 65535 + }}, {{ + // repeated .daw.api.VUMeterUpdate updates = 1; + {PROTOBUF_FIELD_OFFSET(VUMeterData, _impl_.updates_), 0, 0, + (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)}, + }}, {{ + {::_pbi::TcParser::GetTable<::daw::api::VUMeterUpdate>()}, + }}, {{ + }}, +}; + +PROTOBUF_NOINLINE void VUMeterData::Clear() { +// @@protoc_insertion_point(message_clear_start:daw.api.VUMeterData) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + _impl_.updates_.Clear(); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) + ::uint8_t* VUMeterData::_InternalSerialize( + const MessageLite& base, ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) { + const VUMeterData& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE + ::uint8_t* VUMeterData::_InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const { + const VUMeterData& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(serialize_to_array_start:daw.api.VUMeterData) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + // repeated .daw.api.VUMeterUpdate updates = 1; + for (unsigned i = 0, n = static_cast( + this_._internal_updates_size()); + i < n; i++) { + const auto& repfield = this_._internal_updates().Get(i); + target = + ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 1, repfield, repfield.GetCachedSize(), + target, stream); + } + + if (PROTOBUF_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:daw.api.VUMeterData) + return target; + } + +#if defined(PROTOBUF_CUSTOM_VTABLE) + ::size_t VUMeterData::ByteSizeLong(const MessageLite& base) { + const VUMeterData& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE + ::size_t VUMeterData::ByteSizeLong() const { + const VUMeterData& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:daw.api.VUMeterData) + ::size_t total_size = 0; + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + ::_pbi::Prefetch5LinesFrom7Lines(&this_); + { + // repeated .daw.api.VUMeterUpdate updates = 1; + { + total_size += 1UL * this_._internal_updates_size(); + for (const auto& msg : this_._internal_updates()) { + total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg); + } + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); + } + +void VUMeterData::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:daw.api.VUMeterData) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + _this->_internal_mutable_updates()->MergeFrom( + from._internal_updates()); + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_); +} + +void VUMeterData::CopyFrom(const VUMeterData& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:daw.api.VUMeterData) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + + +void VUMeterData::InternalSwap(VUMeterData* PROTOBUF_RESTRICT other) { + using std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + _impl_.updates_.InternalSwap(&other->_impl_.updates_); +} + +::google::protobuf::Metadata VUMeterData::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); +} +// =================================================================== + +class RealtimeCursorPosition::_Internal { + public: +}; + +RealtimeCursorPosition::RealtimeCursorPosition(::google::protobuf::Arena* arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, _class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:daw.api.RealtimeCursorPosition) +} +RealtimeCursorPosition::RealtimeCursorPosition( + ::google::protobuf::Arena* arena, const RealtimeCursorPosition& from) + : RealtimeCursorPosition(arena) { + MergeFrom(from); +} +inline PROTOBUF_NDEBUG_INLINE RealtimeCursorPosition::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena) + : _cached_size_{0} {} + +inline void RealtimeCursorPosition::SharedCtor(::_pb::Arena* arena) { + new (&_impl_) Impl_(internal_visibility(), arena); + ::memset(reinterpret_cast(&_impl_) + + offsetof(Impl_, time_in_seconds_), + 0, + offsetof(Impl_, absolute_ticks_) - + offsetof(Impl_, time_in_seconds_) + + sizeof(Impl_::absolute_ticks_)); +} +RealtimeCursorPosition::~RealtimeCursorPosition() { + // @@protoc_insertion_point(destructor:daw.api.RealtimeCursorPosition) + SharedDtor(*this); +} +inline void RealtimeCursorPosition::SharedDtor(MessageLite& self) { + RealtimeCursorPosition& this_ = static_cast(self); + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + this_._impl_.~Impl_(); +} + +inline void* RealtimeCursorPosition::PlacementNew_(const void*, void* mem, + ::google::protobuf::Arena* arena) { + return ::new (mem) RealtimeCursorPosition(arena); +} +constexpr auto RealtimeCursorPosition::InternalNewImpl_() { + return ::google::protobuf::internal::MessageCreator::ZeroInit(sizeof(RealtimeCursorPosition), + alignof(RealtimeCursorPosition)); +} +PROTOBUF_CONSTINIT +PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::google::protobuf::internal::ClassDataFull RealtimeCursorPosition::_class_data_ = { + ::google::protobuf::internal::ClassData{ + &_RealtimeCursorPosition_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &RealtimeCursorPosition::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &RealtimeCursorPosition::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &RealtimeCursorPosition::ByteSizeLong, + &RealtimeCursorPosition::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(RealtimeCursorPosition, _impl_._cached_size_), + false, + }, + &RealtimeCursorPosition::kDescriptorMethods, + &descriptor_table_daw_5fapi_2eproto, + nullptr, // tracker +}; +const ::google::protobuf::internal::ClassData* RealtimeCursorPosition::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table); + return _class_data_.base(); +} +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<1, 2, 0, 0, 2> RealtimeCursorPosition::_table_ = { + { + 0, // no _has_bits_ + 0, // no _extensions_ + 2, 8, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967292, // skipmap + offsetof(decltype(_table_), field_entries), + 2, // num_field_entries + 0, // num_aux_entries + offsetof(decltype(_table_), field_names), // no aux_entries + _class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::daw::api::RealtimeCursorPosition>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + // int64 absolute_ticks = 2; + {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(RealtimeCursorPosition, _impl_.absolute_ticks_), 63>(), + {16, 63, 0, PROTOBUF_FIELD_OFFSET(RealtimeCursorPosition, _impl_.absolute_ticks_)}}, + // double time_in_seconds = 1; + {::_pbi::TcParser::FastF64S1, + {9, 63, 0, PROTOBUF_FIELD_OFFSET(RealtimeCursorPosition, _impl_.time_in_seconds_)}}, + }}, {{ + 65535, 65535 + }}, {{ + // double time_in_seconds = 1; + {PROTOBUF_FIELD_OFFSET(RealtimeCursorPosition, _impl_.time_in_seconds_), 0, 0, + (0 | ::_fl::kFcSingular | ::_fl::kDouble)}, + // int64 absolute_ticks = 2; + {PROTOBUF_FIELD_OFFSET(RealtimeCursorPosition, _impl_.absolute_ticks_), 0, 0, + (0 | ::_fl::kFcSingular | ::_fl::kInt64)}, + }}, + // no aux_entries + {{ + }}, +}; + +PROTOBUF_NOINLINE void RealtimeCursorPosition::Clear() { +// @@protoc_insertion_point(message_clear_start:daw.api.RealtimeCursorPosition) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + ::memset(&_impl_.time_in_seconds_, 0, static_cast<::size_t>( + reinterpret_cast(&_impl_.absolute_ticks_) - + reinterpret_cast(&_impl_.time_in_seconds_)) + sizeof(_impl_.absolute_ticks_)); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) + ::uint8_t* RealtimeCursorPosition::_InternalSerialize( + const MessageLite& base, ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) { + const RealtimeCursorPosition& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE + ::uint8_t* RealtimeCursorPosition::_InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const { + const RealtimeCursorPosition& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(serialize_to_array_start:daw.api.RealtimeCursorPosition) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + // double time_in_seconds = 1; + if (::absl::bit_cast<::uint64_t>(this_._internal_time_in_seconds()) != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteDoubleToArray( + 1, this_._internal_time_in_seconds(), target); + } + + // int64 absolute_ticks = 2; + if (this_._internal_absolute_ticks() != 0) { + target = ::google::protobuf::internal::WireFormatLite:: + WriteInt64ToArrayWithField<2>( + stream, this_._internal_absolute_ticks(), target); + } + + if (PROTOBUF_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:daw.api.RealtimeCursorPosition) + return target; + } + +#if defined(PROTOBUF_CUSTOM_VTABLE) + ::size_t RealtimeCursorPosition::ByteSizeLong(const MessageLite& base) { + const RealtimeCursorPosition& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE + ::size_t RealtimeCursorPosition::ByteSizeLong() const { + const RealtimeCursorPosition& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:daw.api.RealtimeCursorPosition) + ::size_t total_size = 0; + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + ::_pbi::Prefetch5LinesFrom7Lines(&this_); + { + // double time_in_seconds = 1; + if (::absl::bit_cast<::uint64_t>(this_._internal_time_in_seconds()) != 0) { + total_size += 9; + } + // int64 absolute_ticks = 2; + if (this_._internal_absolute_ticks() != 0) { + total_size += ::_pbi::WireFormatLite::Int64SizePlusOne( + this_._internal_absolute_ticks()); + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); + } + +void RealtimeCursorPosition::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:daw.api.RealtimeCursorPosition) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + if (::absl::bit_cast<::uint64_t>(from._internal_time_in_seconds()) != 0) { + _this->_impl_.time_in_seconds_ = from._impl_.time_in_seconds_; + } + if (from._internal_absolute_ticks() != 0) { + _this->_impl_.absolute_ticks_ = from._impl_.absolute_ticks_; + } + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_); +} + +void RealtimeCursorPosition::CopyFrom(const RealtimeCursorPosition& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:daw.api.RealtimeCursorPosition) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + + +void RealtimeCursorPosition::InternalSwap(RealtimeCursorPosition* PROTOBUF_RESTRICT other) { + using std::swap; + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + ::google::protobuf::internal::memswap< + PROTOBUF_FIELD_OFFSET(RealtimeCursorPosition, _impl_.absolute_ticks_) + + sizeof(RealtimeCursorPosition::_impl_.absolute_ticks_) + - PROTOBUF_FIELD_OFFSET(RealtimeCursorPosition, _impl_.time_in_seconds_)>( + reinterpret_cast(&_impl_.time_in_seconds_), + reinterpret_cast(&other->_impl_.time_in_seconds_)); +} + +::google::protobuf::Metadata RealtimeCursorPosition::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); +} +// @@protoc_insertion_point(namespace_scope) +} // namespace api +} // namespace daw +namespace google { +namespace protobuf { +} // namespace protobuf +} // namespace google +// @@protoc_insertion_point(global_scope) +PROTOBUF_ATTRIBUTE_INIT_PRIORITY2 static ::std::false_type + _static_init2_ PROTOBUF_UNUSED = + (::_pbi::AddDescriptors(&descriptor_table_daw_5fapi_2eproto), + ::std::false_type{}); +#include "google/protobuf/port_undef.inc" diff --git a/src/backend/src/proto/daw_api.pb.h b/src/backend/src/proto/daw_api.pb.h new file mode 100644 index 0000000..89f2b77 --- /dev/null +++ b/src/backend/src/proto/daw_api.pb.h @@ -0,0 +1,5949 @@ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// NO CHECKED-IN PROTOBUF GENCODE +// source: daw_api.proto +// Protobuf C++ Version: 5.29.3 + +#ifndef daw_5fapi_2eproto_2epb_2eh +#define daw_5fapi_2eproto_2epb_2eh + +#include +#include +#include +#include + +#include "google/protobuf/runtime_version.h" +#if PROTOBUF_VERSION != 5029003 +#error "Protobuf C++ gencode is built with an incompatible version of" +#error "Protobuf C++ headers/runtime. See" +#error "https://protobuf.dev/support/cross-version-runtime-guarantee/#cpp" +#endif +#include "google/protobuf/io/coded_stream.h" +#include "google/protobuf/arena.h" +#include "google/protobuf/arenastring.h" +#include "google/protobuf/generated_message_bases.h" +#include "google/protobuf/generated_message_tctable_decl.h" +#include "google/protobuf/generated_message_util.h" +#include "google/protobuf/metadata_lite.h" +#include "google/protobuf/generated_message_reflection.h" +#include "google/protobuf/message.h" +#include "google/protobuf/message_lite.h" +#include "google/protobuf/repeated_field.h" // IWYU pragma: export +#include "google/protobuf/extension_set.h" // IWYU pragma: export +#include "google/protobuf/generated_enum_reflection.h" +#include "google/protobuf/unknown_field_set.h" +// @@protoc_insertion_point(includes) + +// Must be included last. +#include "google/protobuf/port_def.inc" + +#define PROTOBUF_INTERNAL_EXPORT_daw_5fapi_2eproto + +namespace google { +namespace protobuf { +namespace internal { +template +::absl::string_view GetAnyMessageName(); +} // namespace internal +} // namespace protobuf +} // namespace google + +// Internal implementation detail -- do not use these members. +struct TableStruct_daw_5fapi_2eproto { + static const ::uint32_t offsets[]; +}; +extern const ::google::protobuf::internal::DescriptorTable + descriptor_table_daw_5fapi_2eproto; +namespace daw { +namespace api { +class AddTrackRequest; +struct AddTrackRequestDefaultTypeInternal; +extern AddTrackRequestDefaultTypeInternal _AddTrackRequest_default_instance_; +class Empty; +struct EmptyDefaultTypeInternal; +extern EmptyDefaultTypeInternal _Empty_default_instance_; +class LoadPluginRequest; +struct LoadPluginRequestDefaultTypeInternal; +extern LoadPluginRequestDefaultTypeInternal _LoadPluginRequest_default_instance_; +class LoadProjectRequest; +struct LoadProjectRequestDefaultTypeInternal; +extern LoadProjectRequestDefaultTypeInternal _LoadProjectRequest_default_instance_; +class PlaybackState; +struct PlaybackStateDefaultTypeInternal; +extern PlaybackStateDefaultTypeInternal _PlaybackState_default_instance_; +class PluginInfo; +struct PluginInfoDefaultTypeInternal; +extern PluginInfoDefaultTypeInternal _PluginInfo_default_instance_; +class PluginParameter; +struct PluginParameterDefaultTypeInternal; +extern PluginParameterDefaultTypeInternal _PluginParameter_default_instance_; +class ProjectState; +struct ProjectStateDefaultTypeInternal; +extern ProjectStateDefaultTypeInternal _ProjectState_default_instance_; +class RealtimeCursorPosition; +struct RealtimeCursorPositionDefaultTypeInternal; +extern RealtimeCursorPositionDefaultTypeInternal _RealtimeCursorPosition_default_instance_; +class SaveProjectRequest; +struct SaveProjectRequestDefaultTypeInternal; +extern SaveProjectRequestDefaultTypeInternal _SaveProjectRequest_default_instance_; +class SetPluginParameterRequest; +struct SetPluginParameterRequestDefaultTypeInternal; +extern SetPluginParameterRequestDefaultTypeInternal _SetPluginParameterRequest_default_instance_; +class SetTempoRequest; +struct SetTempoRequestDefaultTypeInternal; +extern SetTempoRequestDefaultTypeInternal _SetTempoRequest_default_instance_; +class SetTrackPanRequest; +struct SetTrackPanRequestDefaultTypeInternal; +extern SetTrackPanRequestDefaultTypeInternal _SetTrackPanRequest_default_instance_; +class SetTrackVolumeRequest; +struct SetTrackVolumeRequestDefaultTypeInternal; +extern SetTrackVolumeRequestDefaultTypeInternal _SetTrackVolumeRequest_default_instance_; +class StatusResponse; +struct StatusResponseDefaultTypeInternal; +extern StatusResponseDefaultTypeInternal _StatusResponse_default_instance_; +class TrackIdRequest; +struct TrackIdRequestDefaultTypeInternal; +extern TrackIdRequestDefaultTypeInternal _TrackIdRequest_default_instance_; +class TrackInfo; +struct TrackInfoDefaultTypeInternal; +extern TrackInfoDefaultTypeInternal _TrackInfo_default_instance_; +class VUMeterData; +struct VUMeterDataDefaultTypeInternal; +extern VUMeterDataDefaultTypeInternal _VUMeterData_default_instance_; +class VUMeterUpdate; +struct VUMeterUpdateDefaultTypeInternal; +extern VUMeterUpdateDefaultTypeInternal _VUMeterUpdate_default_instance_; +} // namespace api +} // namespace daw +namespace google { +namespace protobuf { +} // namespace protobuf +} // namespace google + +namespace daw { +namespace api { +enum TrackType : int { + AUDIO = 0, + MIDI = 1, + TrackType_INT_MIN_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::min(), + TrackType_INT_MAX_SENTINEL_DO_NOT_USE_ = + std::numeric_limits<::int32_t>::max(), +}; + +bool TrackType_IsValid(int value); +extern const uint32_t TrackType_internal_data_[]; +constexpr TrackType TrackType_MIN = static_cast(0); +constexpr TrackType TrackType_MAX = static_cast(1); +constexpr int TrackType_ARRAYSIZE = 1 + 1; +const ::google::protobuf::EnumDescriptor* +TrackType_descriptor(); +template +const std::string& TrackType_Name(T value) { + static_assert(std::is_same::value || + std::is_integral::value, + "Incorrect type passed to TrackType_Name()."); + return TrackType_Name(static_cast(value)); +} +template <> +inline const std::string& TrackType_Name(TrackType value) { + return ::google::protobuf::internal::NameOfDenseEnum( + static_cast(value)); +} +inline bool TrackType_Parse(absl::string_view name, TrackType* value) { + return ::google::protobuf::internal::ParseNamedEnum( + TrackType_descriptor(), name, value); +} + +// =================================================================== + + +// ------------------------------------------------------------------- + +class VUMeterUpdate final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:daw.api.VUMeterUpdate) */ { + public: + inline VUMeterUpdate() : VUMeterUpdate(nullptr) {} + ~VUMeterUpdate() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(VUMeterUpdate* msg, std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(VUMeterUpdate)); + } +#endif + + template + explicit PROTOBUF_CONSTEXPR VUMeterUpdate( + ::google::protobuf::internal::ConstantInitialized); + + inline VUMeterUpdate(const VUMeterUpdate& from) : VUMeterUpdate(nullptr, from) {} + inline VUMeterUpdate(VUMeterUpdate&& from) noexcept + : VUMeterUpdate(nullptr, std::move(from)) {} + inline VUMeterUpdate& operator=(const VUMeterUpdate& from) { + CopyFrom(from); + return *this; + } + inline VUMeterUpdate& operator=(VUMeterUpdate&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const VUMeterUpdate& default_instance() { + return *internal_default_instance(); + } + static inline const VUMeterUpdate* internal_default_instance() { + return reinterpret_cast( + &_VUMeterUpdate_default_instance_); + } + static constexpr int kIndexInFileMessages = 16; + friend void swap(VUMeterUpdate& a, VUMeterUpdate& b) { a.Swap(&b); } + inline void Swap(VUMeterUpdate* other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(VUMeterUpdate* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + VUMeterUpdate* New(::google::protobuf::Arena* arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const VUMeterUpdate& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const VUMeterUpdate& from) { VUMeterUpdate::MergeImpl(*this, from); } + + private: + static void MergeImpl( + ::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return true; + } + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* _InternalSerialize( + const MessageLite& msg, ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream); + + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* _InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::google::protobuf::Arena* arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(VUMeterUpdate* other); + private: + template + friend ::absl::string_view( + ::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "daw.api.VUMeterUpdate"; } + + protected: + explicit VUMeterUpdate(::google::protobuf::Arena* arena); + VUMeterUpdate(::google::protobuf::Arena* arena, const VUMeterUpdate& from); + VUMeterUpdate(::google::protobuf::Arena* arena, VUMeterUpdate&& from) noexcept + : VUMeterUpdate(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* GetClassData() const PROTOBUF_FINAL; + static void* PlacementNew_(const void*, void* mem, + ::google::protobuf::Arena* arena); + static constexpr auto InternalNewImpl_(); + static const ::google::protobuf::internal::ClassDataFull _class_data_; + + public: + ::google::protobuf::Metadata GetMetadata() const; + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + enum : int { + kTrackIdFieldNumber = 1, + kPeakDbfsFieldNumber = 2, + kRmsDbfsFieldNumber = 3, + }; + // string track_id = 1; + void clear_track_id() ; + const std::string& track_id() const; + template + void set_track_id(Arg_&& arg, Args_... args); + std::string* mutable_track_id(); + PROTOBUF_NODISCARD std::string* release_track_id(); + void set_allocated_track_id(std::string* value); + + private: + const std::string& _internal_track_id() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_track_id( + const std::string& value); + std::string* _internal_mutable_track_id(); + + public: + // float peak_dbfs = 2; + void clear_peak_dbfs() ; + float peak_dbfs() const; + void set_peak_dbfs(float value); + + private: + float _internal_peak_dbfs() const; + void _internal_set_peak_dbfs(float value); + + public: + // float rms_dbfs = 3; + void clear_rms_dbfs() ; + float rms_dbfs() const; + void set_rms_dbfs(float value); + + private: + float _internal_rms_dbfs() const; + void _internal_set_rms_dbfs(float value); + + public: + // @@protoc_insertion_point(class_scope:daw.api.VUMeterUpdate) + private: + class _Internal; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 3, 0, + 38, 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from, + const VUMeterUpdate& from_msg); + ::google::protobuf::internal::ArenaStringPtr track_id_; + float peak_dbfs_; + float rms_dbfs_; + ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_daw_5fapi_2eproto; +}; +// ------------------------------------------------------------------- + +class TrackIdRequest final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:daw.api.TrackIdRequest) */ { + public: + inline TrackIdRequest() : TrackIdRequest(nullptr) {} + ~TrackIdRequest() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(TrackIdRequest* msg, std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(TrackIdRequest)); + } +#endif + + template + explicit PROTOBUF_CONSTEXPR TrackIdRequest( + ::google::protobuf::internal::ConstantInitialized); + + inline TrackIdRequest(const TrackIdRequest& from) : TrackIdRequest(nullptr, from) {} + inline TrackIdRequest(TrackIdRequest&& from) noexcept + : TrackIdRequest(nullptr, std::move(from)) {} + inline TrackIdRequest& operator=(const TrackIdRequest& from) { + CopyFrom(from); + return *this; + } + inline TrackIdRequest& operator=(TrackIdRequest&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const TrackIdRequest& default_instance() { + return *internal_default_instance(); + } + static inline const TrackIdRequest* internal_default_instance() { + return reinterpret_cast( + &_TrackIdRequest_default_instance_); + } + static constexpr int kIndexInFileMessages = 9; + friend void swap(TrackIdRequest& a, TrackIdRequest& b) { a.Swap(&b); } + inline void Swap(TrackIdRequest* other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(TrackIdRequest* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + TrackIdRequest* New(::google::protobuf::Arena* arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const TrackIdRequest& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const TrackIdRequest& from) { TrackIdRequest::MergeImpl(*this, from); } + + private: + static void MergeImpl( + ::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return true; + } + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* _InternalSerialize( + const MessageLite& msg, ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream); + + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* _InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::google::protobuf::Arena* arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(TrackIdRequest* other); + private: + template + friend ::absl::string_view( + ::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "daw.api.TrackIdRequest"; } + + protected: + explicit TrackIdRequest(::google::protobuf::Arena* arena); + TrackIdRequest(::google::protobuf::Arena* arena, const TrackIdRequest& from); + TrackIdRequest(::google::protobuf::Arena* arena, TrackIdRequest&& from) noexcept + : TrackIdRequest(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* GetClassData() const PROTOBUF_FINAL; + static void* PlacementNew_(const void*, void* mem, + ::google::protobuf::Arena* arena); + static constexpr auto InternalNewImpl_(); + static const ::google::protobuf::internal::ClassDataFull _class_data_; + + public: + ::google::protobuf::Metadata GetMetadata() const; + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + enum : int { + kTrackIdFieldNumber = 1, + }; + // string track_id = 1; + void clear_track_id() ; + const std::string& track_id() const; + template + void set_track_id(Arg_&& arg, Args_... args); + std::string* mutable_track_id(); + PROTOBUF_NODISCARD std::string* release_track_id(); + void set_allocated_track_id(std::string* value); + + private: + const std::string& _internal_track_id() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_track_id( + const std::string& value); + std::string* _internal_mutable_track_id(); + + public: + // @@protoc_insertion_point(class_scope:daw.api.TrackIdRequest) + private: + class _Internal; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 0, 1, 0, + 39, 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from, + const TrackIdRequest& from_msg); + ::google::protobuf::internal::ArenaStringPtr track_id_; + ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_daw_5fapi_2eproto; +}; +// ------------------------------------------------------------------- + +class StatusResponse final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:daw.api.StatusResponse) */ { + public: + inline StatusResponse() : StatusResponse(nullptr) {} + ~StatusResponse() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(StatusResponse* msg, std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(StatusResponse)); + } +#endif + + template + explicit PROTOBUF_CONSTEXPR StatusResponse( + ::google::protobuf::internal::ConstantInitialized); + + inline StatusResponse(const StatusResponse& from) : StatusResponse(nullptr, from) {} + inline StatusResponse(StatusResponse&& from) noexcept + : StatusResponse(nullptr, std::move(from)) {} + inline StatusResponse& operator=(const StatusResponse& from) { + CopyFrom(from); + return *this; + } + inline StatusResponse& operator=(StatusResponse&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const StatusResponse& default_instance() { + return *internal_default_instance(); + } + static inline const StatusResponse* internal_default_instance() { + return reinterpret_cast( + &_StatusResponse_default_instance_); + } + static constexpr int kIndexInFileMessages = 1; + friend void swap(StatusResponse& a, StatusResponse& b) { a.Swap(&b); } + inline void Swap(StatusResponse* other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(StatusResponse* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + StatusResponse* New(::google::protobuf::Arena* arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const StatusResponse& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const StatusResponse& from) { StatusResponse::MergeImpl(*this, from); } + + private: + static void MergeImpl( + ::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return true; + } + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* _InternalSerialize( + const MessageLite& msg, ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream); + + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* _InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::google::protobuf::Arena* arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(StatusResponse* other); + private: + template + friend ::absl::string_view( + ::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "daw.api.StatusResponse"; } + + protected: + explicit StatusResponse(::google::protobuf::Arena* arena); + StatusResponse(::google::protobuf::Arena* arena, const StatusResponse& from); + StatusResponse(::google::protobuf::Arena* arena, StatusResponse&& from) noexcept + : StatusResponse(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* GetClassData() const PROTOBUF_FINAL; + static void* PlacementNew_(const void*, void* mem, + ::google::protobuf::Arena* arena); + static constexpr auto InternalNewImpl_(); + static const ::google::protobuf::internal::ClassDataFull _class_data_; + + public: + ::google::protobuf::Metadata GetMetadata() const; + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + enum : int { + kErrorMessageFieldNumber = 2, + kSuccessFieldNumber = 1, + }; + // string error_message = 2; + void clear_error_message() ; + const std::string& error_message() const; + template + void set_error_message(Arg_&& arg, Args_... args); + std::string* mutable_error_message(); + PROTOBUF_NODISCARD std::string* release_error_message(); + void set_allocated_error_message(std::string* value); + + private: + const std::string& _internal_error_message() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_error_message( + const std::string& value); + std::string* _internal_mutable_error_message(); + + public: + // bool success = 1; + void clear_success() ; + bool success() const; + void set_success(bool value); + + private: + bool _internal_success() const; + void _internal_set_success(bool value); + + public: + // @@protoc_insertion_point(class_scope:daw.api.StatusResponse) + private: + class _Internal; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 1, 2, 0, + 44, 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from, + const StatusResponse& from_msg); + ::google::protobuf::internal::ArenaStringPtr error_message_; + bool success_; + ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_daw_5fapi_2eproto; +}; +// ------------------------------------------------------------------- + +class SetTrackVolumeRequest final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:daw.api.SetTrackVolumeRequest) */ { + public: + inline SetTrackVolumeRequest() : SetTrackVolumeRequest(nullptr) {} + ~SetTrackVolumeRequest() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(SetTrackVolumeRequest* msg, std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(SetTrackVolumeRequest)); + } +#endif + + template + explicit PROTOBUF_CONSTEXPR SetTrackVolumeRequest( + ::google::protobuf::internal::ConstantInitialized); + + inline SetTrackVolumeRequest(const SetTrackVolumeRequest& from) : SetTrackVolumeRequest(nullptr, from) {} + inline SetTrackVolumeRequest(SetTrackVolumeRequest&& from) noexcept + : SetTrackVolumeRequest(nullptr, std::move(from)) {} + inline SetTrackVolumeRequest& operator=(const SetTrackVolumeRequest& from) { + CopyFrom(from); + return *this; + } + inline SetTrackVolumeRequest& operator=(SetTrackVolumeRequest&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const SetTrackVolumeRequest& default_instance() { + return *internal_default_instance(); + } + static inline const SetTrackVolumeRequest* internal_default_instance() { + return reinterpret_cast( + &_SetTrackVolumeRequest_default_instance_); + } + static constexpr int kIndexInFileMessages = 10; + friend void swap(SetTrackVolumeRequest& a, SetTrackVolumeRequest& b) { a.Swap(&b); } + inline void Swap(SetTrackVolumeRequest* other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(SetTrackVolumeRequest* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + SetTrackVolumeRequest* New(::google::protobuf::Arena* arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const SetTrackVolumeRequest& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const SetTrackVolumeRequest& from) { SetTrackVolumeRequest::MergeImpl(*this, from); } + + private: + static void MergeImpl( + ::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return true; + } + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* _InternalSerialize( + const MessageLite& msg, ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream); + + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* _InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::google::protobuf::Arena* arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(SetTrackVolumeRequest* other); + private: + template + friend ::absl::string_view( + ::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "daw.api.SetTrackVolumeRequest"; } + + protected: + explicit SetTrackVolumeRequest(::google::protobuf::Arena* arena); + SetTrackVolumeRequest(::google::protobuf::Arena* arena, const SetTrackVolumeRequest& from); + SetTrackVolumeRequest(::google::protobuf::Arena* arena, SetTrackVolumeRequest&& from) noexcept + : SetTrackVolumeRequest(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* GetClassData() const PROTOBUF_FINAL; + static void* PlacementNew_(const void*, void* mem, + ::google::protobuf::Arena* arena); + static constexpr auto InternalNewImpl_(); + static const ::google::protobuf::internal::ClassDataFull _class_data_; + + public: + ::google::protobuf::Metadata GetMetadata() const; + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + enum : int { + kTrackIdFieldNumber = 1, + kVolumeDbFieldNumber = 2, + }; + // string track_id = 1; + void clear_track_id() ; + const std::string& track_id() const; + template + void set_track_id(Arg_&& arg, Args_... args); + std::string* mutable_track_id(); + PROTOBUF_NODISCARD std::string* release_track_id(); + void set_allocated_track_id(std::string* value); + + private: + const std::string& _internal_track_id() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_track_id( + const std::string& value); + std::string* _internal_mutable_track_id(); + + public: + // float volume_db = 2; + void clear_volume_db() ; + float volume_db() const; + void set_volume_db(float value); + + private: + float _internal_volume_db() const; + void _internal_set_volume_db(float value); + + public: + // @@protoc_insertion_point(class_scope:daw.api.SetTrackVolumeRequest) + private: + class _Internal; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 1, 2, 0, + 46, 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from, + const SetTrackVolumeRequest& from_msg); + ::google::protobuf::internal::ArenaStringPtr track_id_; + float volume_db_; + ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_daw_5fapi_2eproto; +}; +// ------------------------------------------------------------------- + +class SetTrackPanRequest final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:daw.api.SetTrackPanRequest) */ { + public: + inline SetTrackPanRequest() : SetTrackPanRequest(nullptr) {} + ~SetTrackPanRequest() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(SetTrackPanRequest* msg, std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(SetTrackPanRequest)); + } +#endif + + template + explicit PROTOBUF_CONSTEXPR SetTrackPanRequest( + ::google::protobuf::internal::ConstantInitialized); + + inline SetTrackPanRequest(const SetTrackPanRequest& from) : SetTrackPanRequest(nullptr, from) {} + inline SetTrackPanRequest(SetTrackPanRequest&& from) noexcept + : SetTrackPanRequest(nullptr, std::move(from)) {} + inline SetTrackPanRequest& operator=(const SetTrackPanRequest& from) { + CopyFrom(from); + return *this; + } + inline SetTrackPanRequest& operator=(SetTrackPanRequest&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const SetTrackPanRequest& default_instance() { + return *internal_default_instance(); + } + static inline const SetTrackPanRequest* internal_default_instance() { + return reinterpret_cast( + &_SetTrackPanRequest_default_instance_); + } + static constexpr int kIndexInFileMessages = 11; + friend void swap(SetTrackPanRequest& a, SetTrackPanRequest& b) { a.Swap(&b); } + inline void Swap(SetTrackPanRequest* other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(SetTrackPanRequest* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + SetTrackPanRequest* New(::google::protobuf::Arena* arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const SetTrackPanRequest& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const SetTrackPanRequest& from) { SetTrackPanRequest::MergeImpl(*this, from); } + + private: + static void MergeImpl( + ::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return true; + } + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* _InternalSerialize( + const MessageLite& msg, ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream); + + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* _InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::google::protobuf::Arena* arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(SetTrackPanRequest* other); + private: + template + friend ::absl::string_view( + ::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "daw.api.SetTrackPanRequest"; } + + protected: + explicit SetTrackPanRequest(::google::protobuf::Arena* arena); + SetTrackPanRequest(::google::protobuf::Arena* arena, const SetTrackPanRequest& from); + SetTrackPanRequest(::google::protobuf::Arena* arena, SetTrackPanRequest&& from) noexcept + : SetTrackPanRequest(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* GetClassData() const PROTOBUF_FINAL; + static void* PlacementNew_(const void*, void* mem, + ::google::protobuf::Arena* arena); + static constexpr auto InternalNewImpl_(); + static const ::google::protobuf::internal::ClassDataFull _class_data_; + + public: + ::google::protobuf::Metadata GetMetadata() const; + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + enum : int { + kTrackIdFieldNumber = 1, + kPanFieldNumber = 2, + }; + // string track_id = 1; + void clear_track_id() ; + const std::string& track_id() const; + template + void set_track_id(Arg_&& arg, Args_... args); + std::string* mutable_track_id(); + PROTOBUF_NODISCARD std::string* release_track_id(); + void set_allocated_track_id(std::string* value); + + private: + const std::string& _internal_track_id() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_track_id( + const std::string& value); + std::string* _internal_mutable_track_id(); + + public: + // float pan = 2; + void clear_pan() ; + float pan() const; + void set_pan(float value); + + private: + float _internal_pan() const; + void _internal_set_pan(float value); + + public: + // @@protoc_insertion_point(class_scope:daw.api.SetTrackPanRequest) + private: + class _Internal; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 1, 2, 0, + 43, 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from, + const SetTrackPanRequest& from_msg); + ::google::protobuf::internal::ArenaStringPtr track_id_; + float pan_; + ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_daw_5fapi_2eproto; +}; +// ------------------------------------------------------------------- + +class SetTempoRequest final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:daw.api.SetTempoRequest) */ { + public: + inline SetTempoRequest() : SetTempoRequest(nullptr) {} + ~SetTempoRequest() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(SetTempoRequest* msg, std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(SetTempoRequest)); + } +#endif + + template + explicit PROTOBUF_CONSTEXPR SetTempoRequest( + ::google::protobuf::internal::ConstantInitialized); + + inline SetTempoRequest(const SetTempoRequest& from) : SetTempoRequest(nullptr, from) {} + inline SetTempoRequest(SetTempoRequest&& from) noexcept + : SetTempoRequest(nullptr, std::move(from)) {} + inline SetTempoRequest& operator=(const SetTempoRequest& from) { + CopyFrom(from); + return *this; + } + inline SetTempoRequest& operator=(SetTempoRequest&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const SetTempoRequest& default_instance() { + return *internal_default_instance(); + } + static inline const SetTempoRequest* internal_default_instance() { + return reinterpret_cast( + &_SetTempoRequest_default_instance_); + } + static constexpr int kIndexInFileMessages = 6; + friend void swap(SetTempoRequest& a, SetTempoRequest& b) { a.Swap(&b); } + inline void Swap(SetTempoRequest* other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(SetTempoRequest* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + SetTempoRequest* New(::google::protobuf::Arena* arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const SetTempoRequest& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const SetTempoRequest& from) { SetTempoRequest::MergeImpl(*this, from); } + + private: + static void MergeImpl( + ::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return true; + } + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* _InternalSerialize( + const MessageLite& msg, ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream); + + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* _InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::google::protobuf::Arena* arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(SetTempoRequest* other); + private: + template + friend ::absl::string_view( + ::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "daw.api.SetTempoRequest"; } + + protected: + explicit SetTempoRequest(::google::protobuf::Arena* arena); + SetTempoRequest(::google::protobuf::Arena* arena, const SetTempoRequest& from); + SetTempoRequest(::google::protobuf::Arena* arena, SetTempoRequest&& from) noexcept + : SetTempoRequest(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* GetClassData() const PROTOBUF_FINAL; + static void* PlacementNew_(const void*, void* mem, + ::google::protobuf::Arena* arena); + static constexpr auto InternalNewImpl_(); + static const ::google::protobuf::internal::ClassDataFull _class_data_; + + public: + ::google::protobuf::Metadata GetMetadata() const; + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + enum : int { + kBpmFieldNumber = 1, + }; + // double bpm = 1; + void clear_bpm() ; + double bpm() const; + void set_bpm(double value); + + private: + double _internal_bpm() const; + void _internal_set_bpm(double value); + + public: + // @@protoc_insertion_point(class_scope:daw.api.SetTempoRequest) + private: + class _Internal; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 0, 1, 0, + 0, 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from, + const SetTempoRequest& from_msg); + double bpm_; + ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_daw_5fapi_2eproto; +}; +// ------------------------------------------------------------------- + +class SetPluginParameterRequest final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:daw.api.SetPluginParameterRequest) */ { + public: + inline SetPluginParameterRequest() : SetPluginParameterRequest(nullptr) {} + ~SetPluginParameterRequest() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(SetPluginParameterRequest* msg, std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(SetPluginParameterRequest)); + } +#endif + + template + explicit PROTOBUF_CONSTEXPR SetPluginParameterRequest( + ::google::protobuf::internal::ConstantInitialized); + + inline SetPluginParameterRequest(const SetPluginParameterRequest& from) : SetPluginParameterRequest(nullptr, from) {} + inline SetPluginParameterRequest(SetPluginParameterRequest&& from) noexcept + : SetPluginParameterRequest(nullptr, std::move(from)) {} + inline SetPluginParameterRequest& operator=(const SetPluginParameterRequest& from) { + CopyFrom(from); + return *this; + } + inline SetPluginParameterRequest& operator=(SetPluginParameterRequest&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const SetPluginParameterRequest& default_instance() { + return *internal_default_instance(); + } + static inline const SetPluginParameterRequest* internal_default_instance() { + return reinterpret_cast( + &_SetPluginParameterRequest_default_instance_); + } + static constexpr int kIndexInFileMessages = 14; + friend void swap(SetPluginParameterRequest& a, SetPluginParameterRequest& b) { a.Swap(&b); } + inline void Swap(SetPluginParameterRequest* other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(SetPluginParameterRequest* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + SetPluginParameterRequest* New(::google::protobuf::Arena* arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const SetPluginParameterRequest& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const SetPluginParameterRequest& from) { SetPluginParameterRequest::MergeImpl(*this, from); } + + private: + static void MergeImpl( + ::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return true; + } + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* _InternalSerialize( + const MessageLite& msg, ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream); + + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* _InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::google::protobuf::Arena* arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(SetPluginParameterRequest* other); + private: + template + friend ::absl::string_view( + ::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "daw.api.SetPluginParameterRequest"; } + + protected: + explicit SetPluginParameterRequest(::google::protobuf::Arena* arena); + SetPluginParameterRequest(::google::protobuf::Arena* arena, const SetPluginParameterRequest& from); + SetPluginParameterRequest(::google::protobuf::Arena* arena, SetPluginParameterRequest&& from) noexcept + : SetPluginParameterRequest(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* GetClassData() const PROTOBUF_FINAL; + static void* PlacementNew_(const void*, void* mem, + ::google::protobuf::Arena* arena); + static constexpr auto InternalNewImpl_(); + static const ::google::protobuf::internal::ClassDataFull _class_data_; + + public: + ::google::protobuf::Metadata GetMetadata() const; + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + enum : int { + kInstanceIdFieldNumber = 1, + kValueFieldNumber = 3, + kParameterIdFieldNumber = 2, + }; + // string instance_id = 1; + void clear_instance_id() ; + const std::string& instance_id() const; + template + void set_instance_id(Arg_&& arg, Args_... args); + std::string* mutable_instance_id(); + PROTOBUF_NODISCARD std::string* release_instance_id(); + void set_allocated_instance_id(std::string* value); + + private: + const std::string& _internal_instance_id() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_instance_id( + const std::string& value); + std::string* _internal_mutable_instance_id(); + + public: + // double value = 3; + void clear_value() ; + double value() const; + void set_value(double value); + + private: + double _internal_value() const; + void _internal_set_value(double value); + + public: + // uint32 parameter_id = 2; + void clear_parameter_id() ; + ::uint32_t parameter_id() const; + void set_parameter_id(::uint32_t value); + + private: + ::uint32_t _internal_parameter_id() const; + void _internal_set_parameter_id(::uint32_t value); + + public: + // @@protoc_insertion_point(class_scope:daw.api.SetPluginParameterRequest) + private: + class _Internal; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 3, 0, + 53, 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from, + const SetPluginParameterRequest& from_msg); + ::google::protobuf::internal::ArenaStringPtr instance_id_; + double value_; + ::uint32_t parameter_id_; + ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_daw_5fapi_2eproto; +}; +// ------------------------------------------------------------------- + +class SaveProjectRequest final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:daw.api.SaveProjectRequest) */ { + public: + inline SaveProjectRequest() : SaveProjectRequest(nullptr) {} + ~SaveProjectRequest() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(SaveProjectRequest* msg, std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(SaveProjectRequest)); + } +#endif + + template + explicit PROTOBUF_CONSTEXPR SaveProjectRequest( + ::google::protobuf::internal::ConstantInitialized); + + inline SaveProjectRequest(const SaveProjectRequest& from) : SaveProjectRequest(nullptr, from) {} + inline SaveProjectRequest(SaveProjectRequest&& from) noexcept + : SaveProjectRequest(nullptr, std::move(from)) {} + inline SaveProjectRequest& operator=(const SaveProjectRequest& from) { + CopyFrom(from); + return *this; + } + inline SaveProjectRequest& operator=(SaveProjectRequest&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const SaveProjectRequest& default_instance() { + return *internal_default_instance(); + } + static inline const SaveProjectRequest* internal_default_instance() { + return reinterpret_cast( + &_SaveProjectRequest_default_instance_); + } + static constexpr int kIndexInFileMessages = 4; + friend void swap(SaveProjectRequest& a, SaveProjectRequest& b) { a.Swap(&b); } + inline void Swap(SaveProjectRequest* other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(SaveProjectRequest* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + SaveProjectRequest* New(::google::protobuf::Arena* arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const SaveProjectRequest& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const SaveProjectRequest& from) { SaveProjectRequest::MergeImpl(*this, from); } + + private: + static void MergeImpl( + ::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return true; + } + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* _InternalSerialize( + const MessageLite& msg, ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream); + + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* _InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::google::protobuf::Arena* arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(SaveProjectRequest* other); + private: + template + friend ::absl::string_view( + ::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "daw.api.SaveProjectRequest"; } + + protected: + explicit SaveProjectRequest(::google::protobuf::Arena* arena); + SaveProjectRequest(::google::protobuf::Arena* arena, const SaveProjectRequest& from); + SaveProjectRequest(::google::protobuf::Arena* arena, SaveProjectRequest&& from) noexcept + : SaveProjectRequest(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* GetClassData() const PROTOBUF_FINAL; + static void* PlacementNew_(const void*, void* mem, + ::google::protobuf::Arena* arena); + static constexpr auto InternalNewImpl_(); + static const ::google::protobuf::internal::ClassDataFull _class_data_; + + public: + ::google::protobuf::Metadata GetMetadata() const; + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + enum : int { + kFilePathFieldNumber = 1, + }; + // string file_path = 1; + void clear_file_path() ; + const std::string& file_path() const; + template + void set_file_path(Arg_&& arg, Args_... args); + std::string* mutable_file_path(); + PROTOBUF_NODISCARD std::string* release_file_path(); + void set_allocated_file_path(std::string* value); + + private: + const std::string& _internal_file_path() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_file_path( + const std::string& value); + std::string* _internal_mutable_file_path(); + + public: + // @@protoc_insertion_point(class_scope:daw.api.SaveProjectRequest) + private: + class _Internal; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 0, 1, 0, + 44, 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from, + const SaveProjectRequest& from_msg); + ::google::protobuf::internal::ArenaStringPtr file_path_; + ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_daw_5fapi_2eproto; +}; +// ------------------------------------------------------------------- + +class RealtimeCursorPosition final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:daw.api.RealtimeCursorPosition) */ { + public: + inline RealtimeCursorPosition() : RealtimeCursorPosition(nullptr) {} + ~RealtimeCursorPosition() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(RealtimeCursorPosition* msg, std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(RealtimeCursorPosition)); + } +#endif + + template + explicit PROTOBUF_CONSTEXPR RealtimeCursorPosition( + ::google::protobuf::internal::ConstantInitialized); + + inline RealtimeCursorPosition(const RealtimeCursorPosition& from) : RealtimeCursorPosition(nullptr, from) {} + inline RealtimeCursorPosition(RealtimeCursorPosition&& from) noexcept + : RealtimeCursorPosition(nullptr, std::move(from)) {} + inline RealtimeCursorPosition& operator=(const RealtimeCursorPosition& from) { + CopyFrom(from); + return *this; + } + inline RealtimeCursorPosition& operator=(RealtimeCursorPosition&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const RealtimeCursorPosition& default_instance() { + return *internal_default_instance(); + } + static inline const RealtimeCursorPosition* internal_default_instance() { + return reinterpret_cast( + &_RealtimeCursorPosition_default_instance_); + } + static constexpr int kIndexInFileMessages = 18; + friend void swap(RealtimeCursorPosition& a, RealtimeCursorPosition& b) { a.Swap(&b); } + inline void Swap(RealtimeCursorPosition* other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(RealtimeCursorPosition* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + RealtimeCursorPosition* New(::google::protobuf::Arena* arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const RealtimeCursorPosition& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const RealtimeCursorPosition& from) { RealtimeCursorPosition::MergeImpl(*this, from); } + + private: + static void MergeImpl( + ::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return true; + } + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* _InternalSerialize( + const MessageLite& msg, ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream); + + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* _InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::google::protobuf::Arena* arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(RealtimeCursorPosition* other); + private: + template + friend ::absl::string_view( + ::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "daw.api.RealtimeCursorPosition"; } + + protected: + explicit RealtimeCursorPosition(::google::protobuf::Arena* arena); + RealtimeCursorPosition(::google::protobuf::Arena* arena, const RealtimeCursorPosition& from); + RealtimeCursorPosition(::google::protobuf::Arena* arena, RealtimeCursorPosition&& from) noexcept + : RealtimeCursorPosition(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* GetClassData() const PROTOBUF_FINAL; + static void* PlacementNew_(const void*, void* mem, + ::google::protobuf::Arena* arena); + static constexpr auto InternalNewImpl_(); + static const ::google::protobuf::internal::ClassDataFull _class_data_; + + public: + ::google::protobuf::Metadata GetMetadata() const; + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + enum : int { + kTimeInSecondsFieldNumber = 1, + kAbsoluteTicksFieldNumber = 2, + }; + // double time_in_seconds = 1; + void clear_time_in_seconds() ; + double time_in_seconds() const; + void set_time_in_seconds(double value); + + private: + double _internal_time_in_seconds() const; + void _internal_set_time_in_seconds(double value); + + public: + // int64 absolute_ticks = 2; + void clear_absolute_ticks() ; + ::int64_t absolute_ticks() const; + void set_absolute_ticks(::int64_t value); + + private: + ::int64_t _internal_absolute_ticks() const; + void _internal_set_absolute_ticks(::int64_t value); + + public: + // @@protoc_insertion_point(class_scope:daw.api.RealtimeCursorPosition) + private: + class _Internal; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 1, 2, 0, + 0, 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from, + const RealtimeCursorPosition& from_msg); + double time_in_seconds_; + ::int64_t absolute_ticks_; + ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_daw_5fapi_2eproto; +}; +// ------------------------------------------------------------------- + +class PluginParameter final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:daw.api.PluginParameter) */ { + public: + inline PluginParameter() : PluginParameter(nullptr) {} + ~PluginParameter() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(PluginParameter* msg, std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(PluginParameter)); + } +#endif + + template + explicit PROTOBUF_CONSTEXPR PluginParameter( + ::google::protobuf::internal::ConstantInitialized); + + inline PluginParameter(const PluginParameter& from) : PluginParameter(nullptr, from) {} + inline PluginParameter(PluginParameter&& from) noexcept + : PluginParameter(nullptr, std::move(from)) {} + inline PluginParameter& operator=(const PluginParameter& from) { + CopyFrom(from); + return *this; + } + inline PluginParameter& operator=(PluginParameter&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const PluginParameter& default_instance() { + return *internal_default_instance(); + } + static inline const PluginParameter* internal_default_instance() { + return reinterpret_cast( + &_PluginParameter_default_instance_); + } + static constexpr int kIndexInFileMessages = 13; + friend void swap(PluginParameter& a, PluginParameter& b) { a.Swap(&b); } + inline void Swap(PluginParameter* other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(PluginParameter* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + PluginParameter* New(::google::protobuf::Arena* arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const PluginParameter& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const PluginParameter& from) { PluginParameter::MergeImpl(*this, from); } + + private: + static void MergeImpl( + ::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return true; + } + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* _InternalSerialize( + const MessageLite& msg, ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream); + + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* _InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::google::protobuf::Arena* arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(PluginParameter* other); + private: + template + friend ::absl::string_view( + ::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "daw.api.PluginParameter"; } + + protected: + explicit PluginParameter(::google::protobuf::Arena* arena); + PluginParameter(::google::protobuf::Arena* arena, const PluginParameter& from); + PluginParameter(::google::protobuf::Arena* arena, PluginParameter&& from) noexcept + : PluginParameter(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* GetClassData() const PROTOBUF_FINAL; + static void* PlacementNew_(const void*, void* mem, + ::google::protobuf::Arena* arena); + static constexpr auto InternalNewImpl_(); + static const ::google::protobuf::internal::ClassDataFull _class_data_; + + public: + ::google::protobuf::Metadata GetMetadata() const; + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + enum : int { + kNameFieldNumber = 2, + kValueFieldNumber = 3, + kParameterIdFieldNumber = 1, + }; + // string name = 2; + void clear_name() ; + const std::string& name() const; + template + void set_name(Arg_&& arg, Args_... args); + std::string* mutable_name(); + PROTOBUF_NODISCARD std::string* release_name(); + void set_allocated_name(std::string* value); + + private: + const std::string& _internal_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_name( + const std::string& value); + std::string* _internal_mutable_name(); + + public: + // double value = 3; + void clear_value() ; + double value() const; + void set_value(double value); + + private: + double _internal_value() const; + void _internal_set_value(double value); + + public: + // uint32 parameter_id = 1; + void clear_parameter_id() ; + ::uint32_t parameter_id() const; + void set_parameter_id(::uint32_t value); + + private: + ::uint32_t _internal_parameter_id() const; + void _internal_set_parameter_id(::uint32_t value); + + public: + // @@protoc_insertion_point(class_scope:daw.api.PluginParameter) + private: + class _Internal; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 3, 0, + 36, 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from, + const PluginParameter& from_msg); + ::google::protobuf::internal::ArenaStringPtr name_; + double value_; + ::uint32_t parameter_id_; + ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_daw_5fapi_2eproto; +}; +// ------------------------------------------------------------------- + +class PlaybackState final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:daw.api.PlaybackState) */ { + public: + inline PlaybackState() : PlaybackState(nullptr) {} + ~PlaybackState() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(PlaybackState* msg, std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(PlaybackState)); + } +#endif + + template + explicit PROTOBUF_CONSTEXPR PlaybackState( + ::google::protobuf::internal::ConstantInitialized); + + inline PlaybackState(const PlaybackState& from) : PlaybackState(nullptr, from) {} + inline PlaybackState(PlaybackState&& from) noexcept + : PlaybackState(nullptr, std::move(from)) {} + inline PlaybackState& operator=(const PlaybackState& from) { + CopyFrom(from); + return *this; + } + inline PlaybackState& operator=(PlaybackState&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const PlaybackState& default_instance() { + return *internal_default_instance(); + } + static inline const PlaybackState* internal_default_instance() { + return reinterpret_cast( + &_PlaybackState_default_instance_); + } + static constexpr int kIndexInFileMessages = 5; + friend void swap(PlaybackState& a, PlaybackState& b) { a.Swap(&b); } + inline void Swap(PlaybackState* other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(PlaybackState* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + PlaybackState* New(::google::protobuf::Arena* arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const PlaybackState& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const PlaybackState& from) { PlaybackState::MergeImpl(*this, from); } + + private: + static void MergeImpl( + ::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return true; + } + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* _InternalSerialize( + const MessageLite& msg, ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream); + + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* _InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::google::protobuf::Arena* arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(PlaybackState* other); + private: + template + friend ::absl::string_view( + ::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "daw.api.PlaybackState"; } + + protected: + explicit PlaybackState(::google::protobuf::Arena* arena); + PlaybackState(::google::protobuf::Arena* arena, const PlaybackState& from); + PlaybackState(::google::protobuf::Arena* arena, PlaybackState&& from) noexcept + : PlaybackState(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* GetClassData() const PROTOBUF_FINAL; + static void* PlacementNew_(const void*, void* mem, + ::google::protobuf::Arena* arena); + static constexpr auto InternalNewImpl_(); + static const ::google::protobuf::internal::ClassDataFull _class_data_; + + public: + ::google::protobuf::Metadata GetMetadata() const; + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + enum : int { + kBarFieldNumber = 1, + kBeatFieldNumber = 2, + kBpmFieldNumber = 4, + kTickFieldNumber = 3, + kIsPlayingFieldNumber = 6, + }; + // int32 bar = 1; + void clear_bar() ; + ::int32_t bar() const; + void set_bar(::int32_t value); + + private: + ::int32_t _internal_bar() const; + void _internal_set_bar(::int32_t value); + + public: + // int32 beat = 2; + void clear_beat() ; + ::int32_t beat() const; + void set_beat(::int32_t value); + + private: + ::int32_t _internal_beat() const; + void _internal_set_beat(::int32_t value); + + public: + // double bpm = 4; + void clear_bpm() ; + double bpm() const; + void set_bpm(double value); + + private: + double _internal_bpm() const; + void _internal_set_bpm(double value); + + public: + // int32 tick = 3; + void clear_tick() ; + ::int32_t tick() const; + void set_tick(::int32_t value); + + private: + ::int32_t _internal_tick() const; + void _internal_set_tick(::int32_t value); + + public: + // bool is_playing = 6; + void clear_is_playing() ; + bool is_playing() const; + void set_is_playing(bool value); + + private: + bool _internal_is_playing() const; + void _internal_set_is_playing(bool value); + + public: + // @@protoc_insertion_point(class_scope:daw.api.PlaybackState) + private: + class _Internal; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 5, 0, + 0, 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from, + const PlaybackState& from_msg); + ::int32_t bar_; + ::int32_t beat_; + double bpm_; + ::int32_t tick_; + bool is_playing_; + ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_daw_5fapi_2eproto; +}; +// ------------------------------------------------------------------- + +class LoadProjectRequest final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:daw.api.LoadProjectRequest) */ { + public: + inline LoadProjectRequest() : LoadProjectRequest(nullptr) {} + ~LoadProjectRequest() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(LoadProjectRequest* msg, std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(LoadProjectRequest)); + } +#endif + + template + explicit PROTOBUF_CONSTEXPR LoadProjectRequest( + ::google::protobuf::internal::ConstantInitialized); + + inline LoadProjectRequest(const LoadProjectRequest& from) : LoadProjectRequest(nullptr, from) {} + inline LoadProjectRequest(LoadProjectRequest&& from) noexcept + : LoadProjectRequest(nullptr, std::move(from)) {} + inline LoadProjectRequest& operator=(const LoadProjectRequest& from) { + CopyFrom(from); + return *this; + } + inline LoadProjectRequest& operator=(LoadProjectRequest&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const LoadProjectRequest& default_instance() { + return *internal_default_instance(); + } + static inline const LoadProjectRequest* internal_default_instance() { + return reinterpret_cast( + &_LoadProjectRequest_default_instance_); + } + static constexpr int kIndexInFileMessages = 3; + friend void swap(LoadProjectRequest& a, LoadProjectRequest& b) { a.Swap(&b); } + inline void Swap(LoadProjectRequest* other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(LoadProjectRequest* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + LoadProjectRequest* New(::google::protobuf::Arena* arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const LoadProjectRequest& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const LoadProjectRequest& from) { LoadProjectRequest::MergeImpl(*this, from); } + + private: + static void MergeImpl( + ::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return true; + } + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* _InternalSerialize( + const MessageLite& msg, ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream); + + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* _InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::google::protobuf::Arena* arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(LoadProjectRequest* other); + private: + template + friend ::absl::string_view( + ::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "daw.api.LoadProjectRequest"; } + + protected: + explicit LoadProjectRequest(::google::protobuf::Arena* arena); + LoadProjectRequest(::google::protobuf::Arena* arena, const LoadProjectRequest& from); + LoadProjectRequest(::google::protobuf::Arena* arena, LoadProjectRequest&& from) noexcept + : LoadProjectRequest(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* GetClassData() const PROTOBUF_FINAL; + static void* PlacementNew_(const void*, void* mem, + ::google::protobuf::Arena* arena); + static constexpr auto InternalNewImpl_(); + static const ::google::protobuf::internal::ClassDataFull _class_data_; + + public: + ::google::protobuf::Metadata GetMetadata() const; + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + enum : int { + kFilePathFieldNumber = 1, + }; + // string file_path = 1; + void clear_file_path() ; + const std::string& file_path() const; + template + void set_file_path(Arg_&& arg, Args_... args); + std::string* mutable_file_path(); + PROTOBUF_NODISCARD std::string* release_file_path(); + void set_allocated_file_path(std::string* value); + + private: + const std::string& _internal_file_path() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_file_path( + const std::string& value); + std::string* _internal_mutable_file_path(); + + public: + // @@protoc_insertion_point(class_scope:daw.api.LoadProjectRequest) + private: + class _Internal; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 0, 1, 0, + 44, 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from, + const LoadProjectRequest& from_msg); + ::google::protobuf::internal::ArenaStringPtr file_path_; + ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_daw_5fapi_2eproto; +}; +// ------------------------------------------------------------------- + +class LoadPluginRequest final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:daw.api.LoadPluginRequest) */ { + public: + inline LoadPluginRequest() : LoadPluginRequest(nullptr) {} + ~LoadPluginRequest() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(LoadPluginRequest* msg, std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(LoadPluginRequest)); + } +#endif + + template + explicit PROTOBUF_CONSTEXPR LoadPluginRequest( + ::google::protobuf::internal::ConstantInitialized); + + inline LoadPluginRequest(const LoadPluginRequest& from) : LoadPluginRequest(nullptr, from) {} + inline LoadPluginRequest(LoadPluginRequest&& from) noexcept + : LoadPluginRequest(nullptr, std::move(from)) {} + inline LoadPluginRequest& operator=(const LoadPluginRequest& from) { + CopyFrom(from); + return *this; + } + inline LoadPluginRequest& operator=(LoadPluginRequest&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const LoadPluginRequest& default_instance() { + return *internal_default_instance(); + } + static inline const LoadPluginRequest* internal_default_instance() { + return reinterpret_cast( + &_LoadPluginRequest_default_instance_); + } + static constexpr int kIndexInFileMessages = 15; + friend void swap(LoadPluginRequest& a, LoadPluginRequest& b) { a.Swap(&b); } + inline void Swap(LoadPluginRequest* other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(LoadPluginRequest* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + LoadPluginRequest* New(::google::protobuf::Arena* arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const LoadPluginRequest& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const LoadPluginRequest& from) { LoadPluginRequest::MergeImpl(*this, from); } + + private: + static void MergeImpl( + ::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return true; + } + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* _InternalSerialize( + const MessageLite& msg, ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream); + + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* _InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::google::protobuf::Arena* arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(LoadPluginRequest* other); + private: + template + friend ::absl::string_view( + ::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "daw.api.LoadPluginRequest"; } + + protected: + explicit LoadPluginRequest(::google::protobuf::Arena* arena); + LoadPluginRequest(::google::protobuf::Arena* arena, const LoadPluginRequest& from); + LoadPluginRequest(::google::protobuf::Arena* arena, LoadPluginRequest&& from) noexcept + : LoadPluginRequest(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* GetClassData() const PROTOBUF_FINAL; + static void* PlacementNew_(const void*, void* mem, + ::google::protobuf::Arena* arena); + static constexpr auto InternalNewImpl_(); + static const ::google::protobuf::internal::ClassDataFull _class_data_; + + public: + ::google::protobuf::Metadata GetMetadata() const; + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + enum : int { + kFilePathFieldNumber = 1, + }; + // string file_path = 1; + void clear_file_path() ; + const std::string& file_path() const; + template + void set_file_path(Arg_&& arg, Args_... args); + std::string* mutable_file_path(); + PROTOBUF_NODISCARD std::string* release_file_path(); + void set_allocated_file_path(std::string* value); + + private: + const std::string& _internal_file_path() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_file_path( + const std::string& value); + std::string* _internal_mutable_file_path(); + + public: + // @@protoc_insertion_point(class_scope:daw.api.LoadPluginRequest) + private: + class _Internal; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 0, 1, 0, + 43, 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from, + const LoadPluginRequest& from_msg); + ::google::protobuf::internal::ArenaStringPtr file_path_; + ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_daw_5fapi_2eproto; +}; +// ------------------------------------------------------------------- + +class Empty final : public ::google::protobuf::internal::ZeroFieldsBase +/* @@protoc_insertion_point(class_definition:daw.api.Empty) */ { + public: + inline Empty() : Empty(nullptr) {} + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(Empty* msg, std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(Empty)); + } +#endif + + template + explicit PROTOBUF_CONSTEXPR Empty( + ::google::protobuf::internal::ConstantInitialized); + + inline Empty(const Empty& from) : Empty(nullptr, from) {} + inline Empty(Empty&& from) noexcept + : Empty(nullptr, std::move(from)) {} + inline Empty& operator=(const Empty& from) { + CopyFrom(from); + return *this; + } + inline Empty& operator=(Empty&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const Empty& default_instance() { + return *internal_default_instance(); + } + static inline const Empty* internal_default_instance() { + return reinterpret_cast( + &_Empty_default_instance_); + } + static constexpr int kIndexInFileMessages = 0; + friend void swap(Empty& a, Empty& b) { a.Swap(&b); } + inline void Swap(Empty* other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(Empty* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + Empty* New(::google::protobuf::Arena* arena = nullptr) const { + return ::google::protobuf::internal::ZeroFieldsBase::DefaultConstruct(arena); + } + using ::google::protobuf::internal::ZeroFieldsBase::CopyFrom; + inline void CopyFrom(const Empty& from) { + ::google::protobuf::internal::ZeroFieldsBase::CopyImpl(*this, from); + } + using ::google::protobuf::internal::ZeroFieldsBase::MergeFrom; + void MergeFrom(const Empty& from) { + ::google::protobuf::internal::ZeroFieldsBase::MergeImpl(*this, from); + } + + public: + bool IsInitialized() const { + return true; + } + private: + template + friend ::absl::string_view( + ::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "daw.api.Empty"; } + + protected: + explicit Empty(::google::protobuf::Arena* arena); + Empty(::google::protobuf::Arena* arena, const Empty& from); + Empty(::google::protobuf::Arena* arena, Empty&& from) noexcept + : Empty(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* GetClassData() const PROTOBUF_FINAL; + static void* PlacementNew_(const void*, void* mem, + ::google::protobuf::Arena* arena); + static constexpr auto InternalNewImpl_(); + static const ::google::protobuf::internal::ClassDataFull _class_data_; + + public: + ::google::protobuf::Metadata GetMetadata() const; + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + // @@protoc_insertion_point(class_scope:daw.api.Empty) + private: + class _Internal; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 0, 0, 0, + 0, 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from, + const Empty& from_msg); + PROTOBUF_TSAN_DECLARE_MEMBER + }; + friend struct ::TableStruct_daw_5fapi_2eproto; +}; +// ------------------------------------------------------------------- + +class AddTrackRequest final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:daw.api.AddTrackRequest) */ { + public: + inline AddTrackRequest() : AddTrackRequest(nullptr) {} + ~AddTrackRequest() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(AddTrackRequest* msg, std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(AddTrackRequest)); + } +#endif + + template + explicit PROTOBUF_CONSTEXPR AddTrackRequest( + ::google::protobuf::internal::ConstantInitialized); + + inline AddTrackRequest(const AddTrackRequest& from) : AddTrackRequest(nullptr, from) {} + inline AddTrackRequest(AddTrackRequest&& from) noexcept + : AddTrackRequest(nullptr, std::move(from)) {} + inline AddTrackRequest& operator=(const AddTrackRequest& from) { + CopyFrom(from); + return *this; + } + inline AddTrackRequest& operator=(AddTrackRequest&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const AddTrackRequest& default_instance() { + return *internal_default_instance(); + } + static inline const AddTrackRequest* internal_default_instance() { + return reinterpret_cast( + &_AddTrackRequest_default_instance_); + } + static constexpr int kIndexInFileMessages = 8; + friend void swap(AddTrackRequest& a, AddTrackRequest& b) { a.Swap(&b); } + inline void Swap(AddTrackRequest* other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(AddTrackRequest* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + AddTrackRequest* New(::google::protobuf::Arena* arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const AddTrackRequest& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const AddTrackRequest& from) { AddTrackRequest::MergeImpl(*this, from); } + + private: + static void MergeImpl( + ::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return true; + } + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* _InternalSerialize( + const MessageLite& msg, ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream); + + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* _InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::google::protobuf::Arena* arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(AddTrackRequest* other); + private: + template + friend ::absl::string_view( + ::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "daw.api.AddTrackRequest"; } + + protected: + explicit AddTrackRequest(::google::protobuf::Arena* arena); + AddTrackRequest(::google::protobuf::Arena* arena, const AddTrackRequest& from); + AddTrackRequest(::google::protobuf::Arena* arena, AddTrackRequest&& from) noexcept + : AddTrackRequest(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* GetClassData() const PROTOBUF_FINAL; + static void* PlacementNew_(const void*, void* mem, + ::google::protobuf::Arena* arena); + static constexpr auto InternalNewImpl_(); + static const ::google::protobuf::internal::ClassDataFull _class_data_; + + public: + ::google::protobuf::Metadata GetMetadata() const; + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + enum : int { + kNameFieldNumber = 1, + kTypeFieldNumber = 2, + }; + // string name = 1; + void clear_name() ; + const std::string& name() const; + template + void set_name(Arg_&& arg, Args_... args); + std::string* mutable_name(); + PROTOBUF_NODISCARD std::string* release_name(); + void set_allocated_name(std::string* value); + + private: + const std::string& _internal_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_name( + const std::string& value); + std::string* _internal_mutable_name(); + + public: + // .daw.api.TrackType type = 2; + void clear_type() ; + ::daw::api::TrackType type() const; + void set_type(::daw::api::TrackType value); + + private: + ::daw::api::TrackType _internal_type() const; + void _internal_set_type(::daw::api::TrackType value); + + public: + // @@protoc_insertion_point(class_scope:daw.api.AddTrackRequest) + private: + class _Internal; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 1, 2, 0, + 36, 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from, + const AddTrackRequest& from_msg); + ::google::protobuf::internal::ArenaStringPtr name_; + int type_; + ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_daw_5fapi_2eproto; +}; +// ------------------------------------------------------------------- + +class VUMeterData final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:daw.api.VUMeterData) */ { + public: + inline VUMeterData() : VUMeterData(nullptr) {} + ~VUMeterData() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(VUMeterData* msg, std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(VUMeterData)); + } +#endif + + template + explicit PROTOBUF_CONSTEXPR VUMeterData( + ::google::protobuf::internal::ConstantInitialized); + + inline VUMeterData(const VUMeterData& from) : VUMeterData(nullptr, from) {} + inline VUMeterData(VUMeterData&& from) noexcept + : VUMeterData(nullptr, std::move(from)) {} + inline VUMeterData& operator=(const VUMeterData& from) { + CopyFrom(from); + return *this; + } + inline VUMeterData& operator=(VUMeterData&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const VUMeterData& default_instance() { + return *internal_default_instance(); + } + static inline const VUMeterData* internal_default_instance() { + return reinterpret_cast( + &_VUMeterData_default_instance_); + } + static constexpr int kIndexInFileMessages = 17; + friend void swap(VUMeterData& a, VUMeterData& b) { a.Swap(&b); } + inline void Swap(VUMeterData* other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(VUMeterData* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + VUMeterData* New(::google::protobuf::Arena* arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const VUMeterData& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const VUMeterData& from) { VUMeterData::MergeImpl(*this, from); } + + private: + static void MergeImpl( + ::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return true; + } + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* _InternalSerialize( + const MessageLite& msg, ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream); + + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* _InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::google::protobuf::Arena* arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(VUMeterData* other); + private: + template + friend ::absl::string_view( + ::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "daw.api.VUMeterData"; } + + protected: + explicit VUMeterData(::google::protobuf::Arena* arena); + VUMeterData(::google::protobuf::Arena* arena, const VUMeterData& from); + VUMeterData(::google::protobuf::Arena* arena, VUMeterData&& from) noexcept + : VUMeterData(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* GetClassData() const PROTOBUF_FINAL; + static void* PlacementNew_(const void*, void* mem, + ::google::protobuf::Arena* arena); + static constexpr auto InternalNewImpl_(); + static const ::google::protobuf::internal::ClassDataFull _class_data_; + + public: + ::google::protobuf::Metadata GetMetadata() const; + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + enum : int { + kUpdatesFieldNumber = 1, + }; + // repeated .daw.api.VUMeterUpdate updates = 1; + int updates_size() const; + private: + int _internal_updates_size() const; + + public: + void clear_updates() ; + ::daw::api::VUMeterUpdate* mutable_updates(int index); + ::google::protobuf::RepeatedPtrField<::daw::api::VUMeterUpdate>* mutable_updates(); + + private: + const ::google::protobuf::RepeatedPtrField<::daw::api::VUMeterUpdate>& _internal_updates() const; + ::google::protobuf::RepeatedPtrField<::daw::api::VUMeterUpdate>* _internal_mutable_updates(); + public: + const ::daw::api::VUMeterUpdate& updates(int index) const; + ::daw::api::VUMeterUpdate* add_updates(); + const ::google::protobuf::RepeatedPtrField<::daw::api::VUMeterUpdate>& updates() const; + // @@protoc_insertion_point(class_scope:daw.api.VUMeterData) + private: + class _Internal; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 0, 1, 1, + 0, 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from, + const VUMeterData& from_msg); + ::google::protobuf::RepeatedPtrField< ::daw::api::VUMeterUpdate > updates_; + ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_daw_5fapi_2eproto; +}; +// ------------------------------------------------------------------- + +class PluginInfo final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:daw.api.PluginInfo) */ { + public: + inline PluginInfo() : PluginInfo(nullptr) {} + ~PluginInfo() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(PluginInfo* msg, std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(PluginInfo)); + } +#endif + + template + explicit PROTOBUF_CONSTEXPR PluginInfo( + ::google::protobuf::internal::ConstantInitialized); + + inline PluginInfo(const PluginInfo& from) : PluginInfo(nullptr, from) {} + inline PluginInfo(PluginInfo&& from) noexcept + : PluginInfo(nullptr, std::move(from)) {} + inline PluginInfo& operator=(const PluginInfo& from) { + CopyFrom(from); + return *this; + } + inline PluginInfo& operator=(PluginInfo&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const PluginInfo& default_instance() { + return *internal_default_instance(); + } + static inline const PluginInfo* internal_default_instance() { + return reinterpret_cast( + &_PluginInfo_default_instance_); + } + static constexpr int kIndexInFileMessages = 12; + friend void swap(PluginInfo& a, PluginInfo& b) { a.Swap(&b); } + inline void Swap(PluginInfo* other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(PluginInfo* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + PluginInfo* New(::google::protobuf::Arena* arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const PluginInfo& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const PluginInfo& from) { PluginInfo::MergeImpl(*this, from); } + + private: + static void MergeImpl( + ::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return true; + } + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* _InternalSerialize( + const MessageLite& msg, ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream); + + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* _InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::google::protobuf::Arena* arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(PluginInfo* other); + private: + template + friend ::absl::string_view( + ::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "daw.api.PluginInfo"; } + + protected: + explicit PluginInfo(::google::protobuf::Arena* arena); + PluginInfo(::google::protobuf::Arena* arena, const PluginInfo& from); + PluginInfo(::google::protobuf::Arena* arena, PluginInfo&& from) noexcept + : PluginInfo(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* GetClassData() const PROTOBUF_FINAL; + static void* PlacementNew_(const void*, void* mem, + ::google::protobuf::Arena* arena); + static constexpr auto InternalNewImpl_(); + static const ::google::protobuf::internal::ClassDataFull _class_data_; + + public: + ::google::protobuf::Metadata GetMetadata() const; + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + enum : int { + kParametersFieldNumber = 5, + kInstanceIdFieldNumber = 1, + kNameFieldNumber = 2, + kIsBypassedFieldNumber = 4, + }; + // repeated .daw.api.PluginParameter parameters = 5; + int parameters_size() const; + private: + int _internal_parameters_size() const; + + public: + void clear_parameters() ; + ::daw::api::PluginParameter* mutable_parameters(int index); + ::google::protobuf::RepeatedPtrField<::daw::api::PluginParameter>* mutable_parameters(); + + private: + const ::google::protobuf::RepeatedPtrField<::daw::api::PluginParameter>& _internal_parameters() const; + ::google::protobuf::RepeatedPtrField<::daw::api::PluginParameter>* _internal_mutable_parameters(); + public: + const ::daw::api::PluginParameter& parameters(int index) const; + ::daw::api::PluginParameter* add_parameters(); + const ::google::protobuf::RepeatedPtrField<::daw::api::PluginParameter>& parameters() const; + // string instance_id = 1; + void clear_instance_id() ; + const std::string& instance_id() const; + template + void set_instance_id(Arg_&& arg, Args_... args); + std::string* mutable_instance_id(); + PROTOBUF_NODISCARD std::string* release_instance_id(); + void set_allocated_instance_id(std::string* value); + + private: + const std::string& _internal_instance_id() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_instance_id( + const std::string& value); + std::string* _internal_mutable_instance_id(); + + public: + // string name = 2; + void clear_name() ; + const std::string& name() const; + template + void set_name(Arg_&& arg, Args_... args); + std::string* mutable_name(); + PROTOBUF_NODISCARD std::string* release_name(); + void set_allocated_name(std::string* value); + + private: + const std::string& _internal_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_name( + const std::string& value); + std::string* _internal_mutable_name(); + + public: + // bool is_bypassed = 4; + void clear_is_bypassed() ; + bool is_bypassed() const; + void set_is_bypassed(bool value); + + private: + bool _internal_is_bypassed() const; + void _internal_set_is_bypassed(bool value); + + public: + // @@protoc_insertion_point(class_scope:daw.api.PluginInfo) + private: + class _Internal; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 3, 4, 1, + 42, 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from, + const PluginInfo& from_msg); + ::google::protobuf::RepeatedPtrField< ::daw::api::PluginParameter > parameters_; + ::google::protobuf::internal::ArenaStringPtr instance_id_; + ::google::protobuf::internal::ArenaStringPtr name_; + bool is_bypassed_; + ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_daw_5fapi_2eproto; +}; +// ------------------------------------------------------------------- + +class TrackInfo final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:daw.api.TrackInfo) */ { + public: + inline TrackInfo() : TrackInfo(nullptr) {} + ~TrackInfo() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(TrackInfo* msg, std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(TrackInfo)); + } +#endif + + template + explicit PROTOBUF_CONSTEXPR TrackInfo( + ::google::protobuf::internal::ConstantInitialized); + + inline TrackInfo(const TrackInfo& from) : TrackInfo(nullptr, from) {} + inline TrackInfo(TrackInfo&& from) noexcept + : TrackInfo(nullptr, std::move(from)) {} + inline TrackInfo& operator=(const TrackInfo& from) { + CopyFrom(from); + return *this; + } + inline TrackInfo& operator=(TrackInfo&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const TrackInfo& default_instance() { + return *internal_default_instance(); + } + static inline const TrackInfo* internal_default_instance() { + return reinterpret_cast( + &_TrackInfo_default_instance_); + } + static constexpr int kIndexInFileMessages = 7; + friend void swap(TrackInfo& a, TrackInfo& b) { a.Swap(&b); } + inline void Swap(TrackInfo* other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(TrackInfo* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + TrackInfo* New(::google::protobuf::Arena* arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const TrackInfo& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const TrackInfo& from) { TrackInfo::MergeImpl(*this, from); } + + private: + static void MergeImpl( + ::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return true; + } + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* _InternalSerialize( + const MessageLite& msg, ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream); + + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* _InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::google::protobuf::Arena* arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(TrackInfo* other); + private: + template + friend ::absl::string_view( + ::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "daw.api.TrackInfo"; } + + protected: + explicit TrackInfo(::google::protobuf::Arena* arena); + TrackInfo(::google::protobuf::Arena* arena, const TrackInfo& from); + TrackInfo(::google::protobuf::Arena* arena, TrackInfo&& from) noexcept + : TrackInfo(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* GetClassData() const PROTOBUF_FINAL; + static void* PlacementNew_(const void*, void* mem, + ::google::protobuf::Arena* arena); + static constexpr auto InternalNewImpl_(); + static const ::google::protobuf::internal::ClassDataFull _class_data_; + + public: + ::google::protobuf::Metadata GetMetadata() const; + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + enum : int { + kPluginsFieldNumber = 9, + kTrackIdFieldNumber = 1, + kNameFieldNumber = 2, + kTypeFieldNumber = 3, + kVolumeDbFieldNumber = 5, + kPanFieldNumber = 6, + kIsMutedFieldNumber = 7, + kIsSoloedFieldNumber = 8, + }; + // repeated .daw.api.PluginInfo plugins = 9; + int plugins_size() const; + private: + int _internal_plugins_size() const; + + public: + void clear_plugins() ; + ::daw::api::PluginInfo* mutable_plugins(int index); + ::google::protobuf::RepeatedPtrField<::daw::api::PluginInfo>* mutable_plugins(); + + private: + const ::google::protobuf::RepeatedPtrField<::daw::api::PluginInfo>& _internal_plugins() const; + ::google::protobuf::RepeatedPtrField<::daw::api::PluginInfo>* _internal_mutable_plugins(); + public: + const ::daw::api::PluginInfo& plugins(int index) const; + ::daw::api::PluginInfo* add_plugins(); + const ::google::protobuf::RepeatedPtrField<::daw::api::PluginInfo>& plugins() const; + // string track_id = 1; + void clear_track_id() ; + const std::string& track_id() const; + template + void set_track_id(Arg_&& arg, Args_... args); + std::string* mutable_track_id(); + PROTOBUF_NODISCARD std::string* release_track_id(); + void set_allocated_track_id(std::string* value); + + private: + const std::string& _internal_track_id() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_track_id( + const std::string& value); + std::string* _internal_mutable_track_id(); + + public: + // string name = 2; + void clear_name() ; + const std::string& name() const; + template + void set_name(Arg_&& arg, Args_... args); + std::string* mutable_name(); + PROTOBUF_NODISCARD std::string* release_name(); + void set_allocated_name(std::string* value); + + private: + const std::string& _internal_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_name( + const std::string& value); + std::string* _internal_mutable_name(); + + public: + // .daw.api.TrackType type = 3; + void clear_type() ; + ::daw::api::TrackType type() const; + void set_type(::daw::api::TrackType value); + + private: + ::daw::api::TrackType _internal_type() const; + void _internal_set_type(::daw::api::TrackType value); + + public: + // float volume_db = 5; + void clear_volume_db() ; + float volume_db() const; + void set_volume_db(float value); + + private: + float _internal_volume_db() const; + void _internal_set_volume_db(float value); + + public: + // float pan = 6; + void clear_pan() ; + float pan() const; + void set_pan(float value); + + private: + float _internal_pan() const; + void _internal_set_pan(float value); + + public: + // bool is_muted = 7; + void clear_is_muted() ; + bool is_muted() const; + void set_is_muted(bool value); + + private: + bool _internal_is_muted() const; + void _internal_set_is_muted(bool value); + + public: + // bool is_soloed = 8; + void clear_is_soloed() ; + bool is_soloed() const; + void set_is_soloed(bool value); + + private: + bool _internal_is_soloed() const; + void _internal_set_is_soloed(bool value); + + public: + // @@protoc_insertion_point(class_scope:daw.api.TrackInfo) + private: + class _Internal; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 4, 8, 1, + 46, 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from, + const TrackInfo& from_msg); + ::google::protobuf::RepeatedPtrField< ::daw::api::PluginInfo > plugins_; + ::google::protobuf::internal::ArenaStringPtr track_id_; + ::google::protobuf::internal::ArenaStringPtr name_; + int type_; + float volume_db_; + float pan_; + bool is_muted_; + bool is_soloed_; + ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_daw_5fapi_2eproto; +}; +// ------------------------------------------------------------------- + +class ProjectState final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:daw.api.ProjectState) */ { + public: + inline ProjectState() : ProjectState(nullptr) {} + ~ProjectState() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(ProjectState* msg, std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(ProjectState)); + } +#endif + + template + explicit PROTOBUF_CONSTEXPR ProjectState( + ::google::protobuf::internal::ConstantInitialized); + + inline ProjectState(const ProjectState& from) : ProjectState(nullptr, from) {} + inline ProjectState(ProjectState&& from) noexcept + : ProjectState(nullptr, std::move(from)) {} + inline ProjectState& operator=(const ProjectState& from) { + CopyFrom(from); + return *this; + } + inline ProjectState& operator=(ProjectState&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const ProjectState& default_instance() { + return *internal_default_instance(); + } + static inline const ProjectState* internal_default_instance() { + return reinterpret_cast( + &_ProjectState_default_instance_); + } + static constexpr int kIndexInFileMessages = 2; + friend void swap(ProjectState& a, ProjectState& b) { a.Swap(&b); } + inline void Swap(ProjectState* other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(ProjectState* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + ProjectState* New(::google::protobuf::Arena* arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const ProjectState& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const ProjectState& from) { ProjectState::MergeImpl(*this, from); } + + private: + static void MergeImpl( + ::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return true; + } + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* _InternalSerialize( + const MessageLite& msg, ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream); + + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* _InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::google::protobuf::Arena* arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(ProjectState* other); + private: + template + friend ::absl::string_view( + ::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "daw.api.ProjectState"; } + + protected: + explicit ProjectState(::google::protobuf::Arena* arena); + ProjectState(::google::protobuf::Arena* arena, const ProjectState& from); + ProjectState(::google::protobuf::Arena* arena, ProjectState&& from) noexcept + : ProjectState(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* GetClassData() const PROTOBUF_FINAL; + static void* PlacementNew_(const void*, void* mem, + ::google::protobuf::Arena* arena); + static constexpr auto InternalNewImpl_(); + static const ::google::protobuf::internal::ClassDataFull _class_data_; + + public: + ::google::protobuf::Metadata GetMetadata() const; + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + enum : int { + kTracksFieldNumber = 4, + kProjectIdFieldNumber = 1, + kProjectNameFieldNumber = 2, + kPlaybackStateFieldNumber = 3, + }; + // repeated .daw.api.TrackInfo tracks = 4; + int tracks_size() const; + private: + int _internal_tracks_size() const; + + public: + void clear_tracks() ; + ::daw::api::TrackInfo* mutable_tracks(int index); + ::google::protobuf::RepeatedPtrField<::daw::api::TrackInfo>* mutable_tracks(); + + private: + const ::google::protobuf::RepeatedPtrField<::daw::api::TrackInfo>& _internal_tracks() const; + ::google::protobuf::RepeatedPtrField<::daw::api::TrackInfo>* _internal_mutable_tracks(); + public: + const ::daw::api::TrackInfo& tracks(int index) const; + ::daw::api::TrackInfo* add_tracks(); + const ::google::protobuf::RepeatedPtrField<::daw::api::TrackInfo>& tracks() const; + // string project_id = 1; + void clear_project_id() ; + const std::string& project_id() const; + template + void set_project_id(Arg_&& arg, Args_... args); + std::string* mutable_project_id(); + PROTOBUF_NODISCARD std::string* release_project_id(); + void set_allocated_project_id(std::string* value); + + private: + const std::string& _internal_project_id() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_project_id( + const std::string& value); + std::string* _internal_mutable_project_id(); + + public: + // string project_name = 2; + void clear_project_name() ; + const std::string& project_name() const; + template + void set_project_name(Arg_&& arg, Args_... args); + std::string* mutable_project_name(); + PROTOBUF_NODISCARD std::string* release_project_name(); + void set_allocated_project_name(std::string* value); + + private: + const std::string& _internal_project_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_project_name( + const std::string& value); + std::string* _internal_mutable_project_name(); + + public: + // .daw.api.PlaybackState playback_state = 3; + bool has_playback_state() const; + void clear_playback_state() ; + const ::daw::api::PlaybackState& playback_state() const; + PROTOBUF_NODISCARD ::daw::api::PlaybackState* release_playback_state(); + ::daw::api::PlaybackState* mutable_playback_state(); + void set_allocated_playback_state(::daw::api::PlaybackState* value); + void unsafe_arena_set_allocated_playback_state(::daw::api::PlaybackState* value); + ::daw::api::PlaybackState* unsafe_arena_release_playback_state(); + + private: + const ::daw::api::PlaybackState& _internal_playback_state() const; + ::daw::api::PlaybackState* _internal_mutable_playback_state(); + + public: + // @@protoc_insertion_point(class_scope:daw.api.ProjectState) + private: + class _Internal; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 4, 2, + 51, 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from, + const ProjectState& from_msg); + ::google::protobuf::internal::HasBits<1> _has_bits_; + ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::RepeatedPtrField< ::daw::api::TrackInfo > tracks_; + ::google::protobuf::internal::ArenaStringPtr project_id_; + ::google::protobuf::internal::ArenaStringPtr project_name_; + ::daw::api::PlaybackState* playback_state_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_daw_5fapi_2eproto; +}; + +// =================================================================== + + + + +// =================================================================== + + +#ifdef __GNUC__ +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wstrict-aliasing" +#endif // __GNUC__ +// ------------------------------------------------------------------- + +// Empty + +// ------------------------------------------------------------------- + +// StatusResponse + +// bool success = 1; +inline void StatusResponse::clear_success() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.success_ = false; +} +inline bool StatusResponse::success() const { + // @@protoc_insertion_point(field_get:daw.api.StatusResponse.success) + return _internal_success(); +} +inline void StatusResponse::set_success(bool value) { + _internal_set_success(value); + // @@protoc_insertion_point(field_set:daw.api.StatusResponse.success) +} +inline bool StatusResponse::_internal_success() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.success_; +} +inline void StatusResponse::_internal_set_success(bool value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.success_ = value; +} + +// string error_message = 2; +inline void StatusResponse::clear_error_message() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.error_message_.ClearToEmpty(); +} +inline const std::string& StatusResponse::error_message() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:daw.api.StatusResponse.error_message) + return _internal_error_message(); +} +template +inline PROTOBUF_ALWAYS_INLINE void StatusResponse::set_error_message(Arg_&& arg, + Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.error_message_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:daw.api.StatusResponse.error_message) +} +inline std::string* StatusResponse::mutable_error_message() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_error_message(); + // @@protoc_insertion_point(field_mutable:daw.api.StatusResponse.error_message) + return _s; +} +inline const std::string& StatusResponse::_internal_error_message() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.error_message_.Get(); +} +inline void StatusResponse::_internal_set_error_message(const std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.error_message_.Set(value, GetArena()); +} +inline std::string* StatusResponse::_internal_mutable_error_message() { + ::google::protobuf::internal::TSanWrite(&_impl_); + return _impl_.error_message_.Mutable( GetArena()); +} +inline std::string* StatusResponse::release_error_message() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:daw.api.StatusResponse.error_message) + return _impl_.error_message_.Release(); +} +inline void StatusResponse::set_allocated_error_message(std::string* value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.error_message_.SetAllocated(value, GetArena()); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.error_message_.IsDefault()) { + _impl_.error_message_.Set("", GetArena()); + } + // @@protoc_insertion_point(field_set_allocated:daw.api.StatusResponse.error_message) +} + +// ------------------------------------------------------------------- + +// ProjectState + +// string project_id = 1; +inline void ProjectState::clear_project_id() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.project_id_.ClearToEmpty(); +} +inline const std::string& ProjectState::project_id() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:daw.api.ProjectState.project_id) + return _internal_project_id(); +} +template +inline PROTOBUF_ALWAYS_INLINE void ProjectState::set_project_id(Arg_&& arg, + Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.project_id_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:daw.api.ProjectState.project_id) +} +inline std::string* ProjectState::mutable_project_id() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_project_id(); + // @@protoc_insertion_point(field_mutable:daw.api.ProjectState.project_id) + return _s; +} +inline const std::string& ProjectState::_internal_project_id() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.project_id_.Get(); +} +inline void ProjectState::_internal_set_project_id(const std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.project_id_.Set(value, GetArena()); +} +inline std::string* ProjectState::_internal_mutable_project_id() { + ::google::protobuf::internal::TSanWrite(&_impl_); + return _impl_.project_id_.Mutable( GetArena()); +} +inline std::string* ProjectState::release_project_id() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:daw.api.ProjectState.project_id) + return _impl_.project_id_.Release(); +} +inline void ProjectState::set_allocated_project_id(std::string* value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.project_id_.SetAllocated(value, GetArena()); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.project_id_.IsDefault()) { + _impl_.project_id_.Set("", GetArena()); + } + // @@protoc_insertion_point(field_set_allocated:daw.api.ProjectState.project_id) +} + +// string project_name = 2; +inline void ProjectState::clear_project_name() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.project_name_.ClearToEmpty(); +} +inline const std::string& ProjectState::project_name() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:daw.api.ProjectState.project_name) + return _internal_project_name(); +} +template +inline PROTOBUF_ALWAYS_INLINE void ProjectState::set_project_name(Arg_&& arg, + Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.project_name_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:daw.api.ProjectState.project_name) +} +inline std::string* ProjectState::mutable_project_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_project_name(); + // @@protoc_insertion_point(field_mutable:daw.api.ProjectState.project_name) + return _s; +} +inline const std::string& ProjectState::_internal_project_name() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.project_name_.Get(); +} +inline void ProjectState::_internal_set_project_name(const std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.project_name_.Set(value, GetArena()); +} +inline std::string* ProjectState::_internal_mutable_project_name() { + ::google::protobuf::internal::TSanWrite(&_impl_); + return _impl_.project_name_.Mutable( GetArena()); +} +inline std::string* ProjectState::release_project_name() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:daw.api.ProjectState.project_name) + return _impl_.project_name_.Release(); +} +inline void ProjectState::set_allocated_project_name(std::string* value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.project_name_.SetAllocated(value, GetArena()); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.project_name_.IsDefault()) { + _impl_.project_name_.Set("", GetArena()); + } + // @@protoc_insertion_point(field_set_allocated:daw.api.ProjectState.project_name) +} + +// .daw.api.PlaybackState playback_state = 3; +inline bool ProjectState::has_playback_state() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.playback_state_ != nullptr); + return value; +} +inline void ProjectState::clear_playback_state() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (_impl_.playback_state_ != nullptr) _impl_.playback_state_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; +} +inline const ::daw::api::PlaybackState& ProjectState::_internal_playback_state() const { + ::google::protobuf::internal::TSanRead(&_impl_); + const ::daw::api::PlaybackState* p = _impl_.playback_state_; + return p != nullptr ? *p : reinterpret_cast(::daw::api::_PlaybackState_default_instance_); +} +inline const ::daw::api::PlaybackState& ProjectState::playback_state() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:daw.api.ProjectState.playback_state) + return _internal_playback_state(); +} +inline void ProjectState::unsafe_arena_set_allocated_playback_state(::daw::api::PlaybackState* value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.playback_state_); + } + _impl_.playback_state_ = reinterpret_cast<::daw::api::PlaybackState*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:daw.api.ProjectState.playback_state) +} +inline ::daw::api::PlaybackState* ProjectState::release_playback_state() { + ::google::protobuf::internal::TSanWrite(&_impl_); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::daw::api::PlaybackState* released = _impl_.playback_state_; + _impl_.playback_state_ = nullptr; + if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) { + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } + } else { + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } + } + return released; +} +inline ::daw::api::PlaybackState* ProjectState::unsafe_arena_release_playback_state() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:daw.api.ProjectState.playback_state) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::daw::api::PlaybackState* temp = _impl_.playback_state_; + _impl_.playback_state_ = nullptr; + return temp; +} +inline ::daw::api::PlaybackState* ProjectState::_internal_mutable_playback_state() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (_impl_.playback_state_ == nullptr) { + auto* p = ::google::protobuf::Message::DefaultConstruct<::daw::api::PlaybackState>(GetArena()); + _impl_.playback_state_ = reinterpret_cast<::daw::api::PlaybackState*>(p); + } + return _impl_.playback_state_; +} +inline ::daw::api::PlaybackState* ProjectState::mutable_playback_state() ABSL_ATTRIBUTE_LIFETIME_BOUND { + _impl_._has_bits_[0] |= 0x00000001u; + ::daw::api::PlaybackState* _msg = _internal_mutable_playback_state(); + // @@protoc_insertion_point(field_mutable:daw.api.ProjectState.playback_state) + return _msg; +} +inline void ProjectState::set_allocated_playback_state(::daw::api::PlaybackState* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + ::google::protobuf::internal::TSanWrite(&_impl_); + if (message_arena == nullptr) { + delete (_impl_.playback_state_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = (value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + + _impl_.playback_state_ = reinterpret_cast<::daw::api::PlaybackState*>(value); + // @@protoc_insertion_point(field_set_allocated:daw.api.ProjectState.playback_state) +} + +// repeated .daw.api.TrackInfo tracks = 4; +inline int ProjectState::_internal_tracks_size() const { + return _internal_tracks().size(); +} +inline int ProjectState::tracks_size() const { + return _internal_tracks_size(); +} +inline void ProjectState::clear_tracks() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.tracks_.Clear(); +} +inline ::daw::api::TrackInfo* ProjectState::mutable_tracks(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:daw.api.ProjectState.tracks) + return _internal_mutable_tracks()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::daw::api::TrackInfo>* ProjectState::mutable_tracks() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:daw.api.ProjectState.tracks) + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_tracks(); +} +inline const ::daw::api::TrackInfo& ProjectState::tracks(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:daw.api.ProjectState.tracks) + return _internal_tracks().Get(index); +} +inline ::daw::api::TrackInfo* ProjectState::add_tracks() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::protobuf::internal::TSanWrite(&_impl_); + ::daw::api::TrackInfo* _add = _internal_mutable_tracks()->Add(); + // @@protoc_insertion_point(field_add:daw.api.ProjectState.tracks) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::daw::api::TrackInfo>& ProjectState::tracks() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:daw.api.ProjectState.tracks) + return _internal_tracks(); +} +inline const ::google::protobuf::RepeatedPtrField<::daw::api::TrackInfo>& +ProjectState::_internal_tracks() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.tracks_; +} +inline ::google::protobuf::RepeatedPtrField<::daw::api::TrackInfo>* +ProjectState::_internal_mutable_tracks() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.tracks_; +} + +// ------------------------------------------------------------------- + +// LoadProjectRequest + +// string file_path = 1; +inline void LoadProjectRequest::clear_file_path() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.file_path_.ClearToEmpty(); +} +inline const std::string& LoadProjectRequest::file_path() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:daw.api.LoadProjectRequest.file_path) + return _internal_file_path(); +} +template +inline PROTOBUF_ALWAYS_INLINE void LoadProjectRequest::set_file_path(Arg_&& arg, + Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.file_path_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:daw.api.LoadProjectRequest.file_path) +} +inline std::string* LoadProjectRequest::mutable_file_path() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_file_path(); + // @@protoc_insertion_point(field_mutable:daw.api.LoadProjectRequest.file_path) + return _s; +} +inline const std::string& LoadProjectRequest::_internal_file_path() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.file_path_.Get(); +} +inline void LoadProjectRequest::_internal_set_file_path(const std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.file_path_.Set(value, GetArena()); +} +inline std::string* LoadProjectRequest::_internal_mutable_file_path() { + ::google::protobuf::internal::TSanWrite(&_impl_); + return _impl_.file_path_.Mutable( GetArena()); +} +inline std::string* LoadProjectRequest::release_file_path() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:daw.api.LoadProjectRequest.file_path) + return _impl_.file_path_.Release(); +} +inline void LoadProjectRequest::set_allocated_file_path(std::string* value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.file_path_.SetAllocated(value, GetArena()); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.file_path_.IsDefault()) { + _impl_.file_path_.Set("", GetArena()); + } + // @@protoc_insertion_point(field_set_allocated:daw.api.LoadProjectRequest.file_path) +} + +// ------------------------------------------------------------------- + +// SaveProjectRequest + +// string file_path = 1; +inline void SaveProjectRequest::clear_file_path() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.file_path_.ClearToEmpty(); +} +inline const std::string& SaveProjectRequest::file_path() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:daw.api.SaveProjectRequest.file_path) + return _internal_file_path(); +} +template +inline PROTOBUF_ALWAYS_INLINE void SaveProjectRequest::set_file_path(Arg_&& arg, + Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.file_path_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:daw.api.SaveProjectRequest.file_path) +} +inline std::string* SaveProjectRequest::mutable_file_path() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_file_path(); + // @@protoc_insertion_point(field_mutable:daw.api.SaveProjectRequest.file_path) + return _s; +} +inline const std::string& SaveProjectRequest::_internal_file_path() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.file_path_.Get(); +} +inline void SaveProjectRequest::_internal_set_file_path(const std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.file_path_.Set(value, GetArena()); +} +inline std::string* SaveProjectRequest::_internal_mutable_file_path() { + ::google::protobuf::internal::TSanWrite(&_impl_); + return _impl_.file_path_.Mutable( GetArena()); +} +inline std::string* SaveProjectRequest::release_file_path() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:daw.api.SaveProjectRequest.file_path) + return _impl_.file_path_.Release(); +} +inline void SaveProjectRequest::set_allocated_file_path(std::string* value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.file_path_.SetAllocated(value, GetArena()); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.file_path_.IsDefault()) { + _impl_.file_path_.Set("", GetArena()); + } + // @@protoc_insertion_point(field_set_allocated:daw.api.SaveProjectRequest.file_path) +} + +// ------------------------------------------------------------------- + +// PlaybackState + +// int32 bar = 1; +inline void PlaybackState::clear_bar() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.bar_ = 0; +} +inline ::int32_t PlaybackState::bar() const { + // @@protoc_insertion_point(field_get:daw.api.PlaybackState.bar) + return _internal_bar(); +} +inline void PlaybackState::set_bar(::int32_t value) { + _internal_set_bar(value); + // @@protoc_insertion_point(field_set:daw.api.PlaybackState.bar) +} +inline ::int32_t PlaybackState::_internal_bar() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.bar_; +} +inline void PlaybackState::_internal_set_bar(::int32_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.bar_ = value; +} + +// int32 beat = 2; +inline void PlaybackState::clear_beat() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.beat_ = 0; +} +inline ::int32_t PlaybackState::beat() const { + // @@protoc_insertion_point(field_get:daw.api.PlaybackState.beat) + return _internal_beat(); +} +inline void PlaybackState::set_beat(::int32_t value) { + _internal_set_beat(value); + // @@protoc_insertion_point(field_set:daw.api.PlaybackState.beat) +} +inline ::int32_t PlaybackState::_internal_beat() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.beat_; +} +inline void PlaybackState::_internal_set_beat(::int32_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.beat_ = value; +} + +// int32 tick = 3; +inline void PlaybackState::clear_tick() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.tick_ = 0; +} +inline ::int32_t PlaybackState::tick() const { + // @@protoc_insertion_point(field_get:daw.api.PlaybackState.tick) + return _internal_tick(); +} +inline void PlaybackState::set_tick(::int32_t value) { + _internal_set_tick(value); + // @@protoc_insertion_point(field_set:daw.api.PlaybackState.tick) +} +inline ::int32_t PlaybackState::_internal_tick() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.tick_; +} +inline void PlaybackState::_internal_set_tick(::int32_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.tick_ = value; +} + +// double bpm = 4; +inline void PlaybackState::clear_bpm() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.bpm_ = 0; +} +inline double PlaybackState::bpm() const { + // @@protoc_insertion_point(field_get:daw.api.PlaybackState.bpm) + return _internal_bpm(); +} +inline void PlaybackState::set_bpm(double value) { + _internal_set_bpm(value); + // @@protoc_insertion_point(field_set:daw.api.PlaybackState.bpm) +} +inline double PlaybackState::_internal_bpm() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.bpm_; +} +inline void PlaybackState::_internal_set_bpm(double value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.bpm_ = value; +} + +// bool is_playing = 6; +inline void PlaybackState::clear_is_playing() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.is_playing_ = false; +} +inline bool PlaybackState::is_playing() const { + // @@protoc_insertion_point(field_get:daw.api.PlaybackState.is_playing) + return _internal_is_playing(); +} +inline void PlaybackState::set_is_playing(bool value) { + _internal_set_is_playing(value); + // @@protoc_insertion_point(field_set:daw.api.PlaybackState.is_playing) +} +inline bool PlaybackState::_internal_is_playing() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.is_playing_; +} +inline void PlaybackState::_internal_set_is_playing(bool value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.is_playing_ = value; +} + +// ------------------------------------------------------------------- + +// SetTempoRequest + +// double bpm = 1; +inline void SetTempoRequest::clear_bpm() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.bpm_ = 0; +} +inline double SetTempoRequest::bpm() const { + // @@protoc_insertion_point(field_get:daw.api.SetTempoRequest.bpm) + return _internal_bpm(); +} +inline void SetTempoRequest::set_bpm(double value) { + _internal_set_bpm(value); + // @@protoc_insertion_point(field_set:daw.api.SetTempoRequest.bpm) +} +inline double SetTempoRequest::_internal_bpm() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.bpm_; +} +inline void SetTempoRequest::_internal_set_bpm(double value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.bpm_ = value; +} + +// ------------------------------------------------------------------- + +// TrackInfo + +// string track_id = 1; +inline void TrackInfo::clear_track_id() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.track_id_.ClearToEmpty(); +} +inline const std::string& TrackInfo::track_id() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:daw.api.TrackInfo.track_id) + return _internal_track_id(); +} +template +inline PROTOBUF_ALWAYS_INLINE void TrackInfo::set_track_id(Arg_&& arg, + Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.track_id_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:daw.api.TrackInfo.track_id) +} +inline std::string* TrackInfo::mutable_track_id() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_track_id(); + // @@protoc_insertion_point(field_mutable:daw.api.TrackInfo.track_id) + return _s; +} +inline const std::string& TrackInfo::_internal_track_id() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.track_id_.Get(); +} +inline void TrackInfo::_internal_set_track_id(const std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.track_id_.Set(value, GetArena()); +} +inline std::string* TrackInfo::_internal_mutable_track_id() { + ::google::protobuf::internal::TSanWrite(&_impl_); + return _impl_.track_id_.Mutable( GetArena()); +} +inline std::string* TrackInfo::release_track_id() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:daw.api.TrackInfo.track_id) + return _impl_.track_id_.Release(); +} +inline void TrackInfo::set_allocated_track_id(std::string* value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.track_id_.SetAllocated(value, GetArena()); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.track_id_.IsDefault()) { + _impl_.track_id_.Set("", GetArena()); + } + // @@protoc_insertion_point(field_set_allocated:daw.api.TrackInfo.track_id) +} + +// string name = 2; +inline void TrackInfo::clear_name() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.name_.ClearToEmpty(); +} +inline const std::string& TrackInfo::name() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:daw.api.TrackInfo.name) + return _internal_name(); +} +template +inline PROTOBUF_ALWAYS_INLINE void TrackInfo::set_name(Arg_&& arg, + Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.name_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:daw.api.TrackInfo.name) +} +inline std::string* TrackInfo::mutable_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_name(); + // @@protoc_insertion_point(field_mutable:daw.api.TrackInfo.name) + return _s; +} +inline const std::string& TrackInfo::_internal_name() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.name_.Get(); +} +inline void TrackInfo::_internal_set_name(const std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.name_.Set(value, GetArena()); +} +inline std::string* TrackInfo::_internal_mutable_name() { + ::google::protobuf::internal::TSanWrite(&_impl_); + return _impl_.name_.Mutable( GetArena()); +} +inline std::string* TrackInfo::release_name() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:daw.api.TrackInfo.name) + return _impl_.name_.Release(); +} +inline void TrackInfo::set_allocated_name(std::string* value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.name_.SetAllocated(value, GetArena()); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.name_.IsDefault()) { + _impl_.name_.Set("", GetArena()); + } + // @@protoc_insertion_point(field_set_allocated:daw.api.TrackInfo.name) +} + +// .daw.api.TrackType type = 3; +inline void TrackInfo::clear_type() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.type_ = 0; +} +inline ::daw::api::TrackType TrackInfo::type() const { + // @@protoc_insertion_point(field_get:daw.api.TrackInfo.type) + return _internal_type(); +} +inline void TrackInfo::set_type(::daw::api::TrackType value) { + _internal_set_type(value); + // @@protoc_insertion_point(field_set:daw.api.TrackInfo.type) +} +inline ::daw::api::TrackType TrackInfo::_internal_type() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return static_cast<::daw::api::TrackType>(_impl_.type_); +} +inline void TrackInfo::_internal_set_type(::daw::api::TrackType value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.type_ = value; +} + +// float volume_db = 5; +inline void TrackInfo::clear_volume_db() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.volume_db_ = 0; +} +inline float TrackInfo::volume_db() const { + // @@protoc_insertion_point(field_get:daw.api.TrackInfo.volume_db) + return _internal_volume_db(); +} +inline void TrackInfo::set_volume_db(float value) { + _internal_set_volume_db(value); + // @@protoc_insertion_point(field_set:daw.api.TrackInfo.volume_db) +} +inline float TrackInfo::_internal_volume_db() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.volume_db_; +} +inline void TrackInfo::_internal_set_volume_db(float value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.volume_db_ = value; +} + +// float pan = 6; +inline void TrackInfo::clear_pan() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.pan_ = 0; +} +inline float TrackInfo::pan() const { + // @@protoc_insertion_point(field_get:daw.api.TrackInfo.pan) + return _internal_pan(); +} +inline void TrackInfo::set_pan(float value) { + _internal_set_pan(value); + // @@protoc_insertion_point(field_set:daw.api.TrackInfo.pan) +} +inline float TrackInfo::_internal_pan() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.pan_; +} +inline void TrackInfo::_internal_set_pan(float value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.pan_ = value; +} + +// bool is_muted = 7; +inline void TrackInfo::clear_is_muted() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.is_muted_ = false; +} +inline bool TrackInfo::is_muted() const { + // @@protoc_insertion_point(field_get:daw.api.TrackInfo.is_muted) + return _internal_is_muted(); +} +inline void TrackInfo::set_is_muted(bool value) { + _internal_set_is_muted(value); + // @@protoc_insertion_point(field_set:daw.api.TrackInfo.is_muted) +} +inline bool TrackInfo::_internal_is_muted() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.is_muted_; +} +inline void TrackInfo::_internal_set_is_muted(bool value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.is_muted_ = value; +} + +// bool is_soloed = 8; +inline void TrackInfo::clear_is_soloed() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.is_soloed_ = false; +} +inline bool TrackInfo::is_soloed() const { + // @@protoc_insertion_point(field_get:daw.api.TrackInfo.is_soloed) + return _internal_is_soloed(); +} +inline void TrackInfo::set_is_soloed(bool value) { + _internal_set_is_soloed(value); + // @@protoc_insertion_point(field_set:daw.api.TrackInfo.is_soloed) +} +inline bool TrackInfo::_internal_is_soloed() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.is_soloed_; +} +inline void TrackInfo::_internal_set_is_soloed(bool value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.is_soloed_ = value; +} + +// repeated .daw.api.PluginInfo plugins = 9; +inline int TrackInfo::_internal_plugins_size() const { + return _internal_plugins().size(); +} +inline int TrackInfo::plugins_size() const { + return _internal_plugins_size(); +} +inline void TrackInfo::clear_plugins() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.plugins_.Clear(); +} +inline ::daw::api::PluginInfo* TrackInfo::mutable_plugins(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:daw.api.TrackInfo.plugins) + return _internal_mutable_plugins()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::daw::api::PluginInfo>* TrackInfo::mutable_plugins() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:daw.api.TrackInfo.plugins) + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_plugins(); +} +inline const ::daw::api::PluginInfo& TrackInfo::plugins(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:daw.api.TrackInfo.plugins) + return _internal_plugins().Get(index); +} +inline ::daw::api::PluginInfo* TrackInfo::add_plugins() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::protobuf::internal::TSanWrite(&_impl_); + ::daw::api::PluginInfo* _add = _internal_mutable_plugins()->Add(); + // @@protoc_insertion_point(field_add:daw.api.TrackInfo.plugins) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::daw::api::PluginInfo>& TrackInfo::plugins() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:daw.api.TrackInfo.plugins) + return _internal_plugins(); +} +inline const ::google::protobuf::RepeatedPtrField<::daw::api::PluginInfo>& +TrackInfo::_internal_plugins() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.plugins_; +} +inline ::google::protobuf::RepeatedPtrField<::daw::api::PluginInfo>* +TrackInfo::_internal_mutable_plugins() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.plugins_; +} + +// ------------------------------------------------------------------- + +// AddTrackRequest + +// string name = 1; +inline void AddTrackRequest::clear_name() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.name_.ClearToEmpty(); +} +inline const std::string& AddTrackRequest::name() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:daw.api.AddTrackRequest.name) + return _internal_name(); +} +template +inline PROTOBUF_ALWAYS_INLINE void AddTrackRequest::set_name(Arg_&& arg, + Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.name_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:daw.api.AddTrackRequest.name) +} +inline std::string* AddTrackRequest::mutable_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_name(); + // @@protoc_insertion_point(field_mutable:daw.api.AddTrackRequest.name) + return _s; +} +inline const std::string& AddTrackRequest::_internal_name() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.name_.Get(); +} +inline void AddTrackRequest::_internal_set_name(const std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.name_.Set(value, GetArena()); +} +inline std::string* AddTrackRequest::_internal_mutable_name() { + ::google::protobuf::internal::TSanWrite(&_impl_); + return _impl_.name_.Mutable( GetArena()); +} +inline std::string* AddTrackRequest::release_name() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:daw.api.AddTrackRequest.name) + return _impl_.name_.Release(); +} +inline void AddTrackRequest::set_allocated_name(std::string* value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.name_.SetAllocated(value, GetArena()); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.name_.IsDefault()) { + _impl_.name_.Set("", GetArena()); + } + // @@protoc_insertion_point(field_set_allocated:daw.api.AddTrackRequest.name) +} + +// .daw.api.TrackType type = 2; +inline void AddTrackRequest::clear_type() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.type_ = 0; +} +inline ::daw::api::TrackType AddTrackRequest::type() const { + // @@protoc_insertion_point(field_get:daw.api.AddTrackRequest.type) + return _internal_type(); +} +inline void AddTrackRequest::set_type(::daw::api::TrackType value) { + _internal_set_type(value); + // @@protoc_insertion_point(field_set:daw.api.AddTrackRequest.type) +} +inline ::daw::api::TrackType AddTrackRequest::_internal_type() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return static_cast<::daw::api::TrackType>(_impl_.type_); +} +inline void AddTrackRequest::_internal_set_type(::daw::api::TrackType value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.type_ = value; +} + +// ------------------------------------------------------------------- + +// TrackIdRequest + +// string track_id = 1; +inline void TrackIdRequest::clear_track_id() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.track_id_.ClearToEmpty(); +} +inline const std::string& TrackIdRequest::track_id() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:daw.api.TrackIdRequest.track_id) + return _internal_track_id(); +} +template +inline PROTOBUF_ALWAYS_INLINE void TrackIdRequest::set_track_id(Arg_&& arg, + Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.track_id_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:daw.api.TrackIdRequest.track_id) +} +inline std::string* TrackIdRequest::mutable_track_id() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_track_id(); + // @@protoc_insertion_point(field_mutable:daw.api.TrackIdRequest.track_id) + return _s; +} +inline const std::string& TrackIdRequest::_internal_track_id() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.track_id_.Get(); +} +inline void TrackIdRequest::_internal_set_track_id(const std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.track_id_.Set(value, GetArena()); +} +inline std::string* TrackIdRequest::_internal_mutable_track_id() { + ::google::protobuf::internal::TSanWrite(&_impl_); + return _impl_.track_id_.Mutable( GetArena()); +} +inline std::string* TrackIdRequest::release_track_id() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:daw.api.TrackIdRequest.track_id) + return _impl_.track_id_.Release(); +} +inline void TrackIdRequest::set_allocated_track_id(std::string* value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.track_id_.SetAllocated(value, GetArena()); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.track_id_.IsDefault()) { + _impl_.track_id_.Set("", GetArena()); + } + // @@protoc_insertion_point(field_set_allocated:daw.api.TrackIdRequest.track_id) +} + +// ------------------------------------------------------------------- + +// SetTrackVolumeRequest + +// string track_id = 1; +inline void SetTrackVolumeRequest::clear_track_id() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.track_id_.ClearToEmpty(); +} +inline const std::string& SetTrackVolumeRequest::track_id() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:daw.api.SetTrackVolumeRequest.track_id) + return _internal_track_id(); +} +template +inline PROTOBUF_ALWAYS_INLINE void SetTrackVolumeRequest::set_track_id(Arg_&& arg, + Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.track_id_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:daw.api.SetTrackVolumeRequest.track_id) +} +inline std::string* SetTrackVolumeRequest::mutable_track_id() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_track_id(); + // @@protoc_insertion_point(field_mutable:daw.api.SetTrackVolumeRequest.track_id) + return _s; +} +inline const std::string& SetTrackVolumeRequest::_internal_track_id() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.track_id_.Get(); +} +inline void SetTrackVolumeRequest::_internal_set_track_id(const std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.track_id_.Set(value, GetArena()); +} +inline std::string* SetTrackVolumeRequest::_internal_mutable_track_id() { + ::google::protobuf::internal::TSanWrite(&_impl_); + return _impl_.track_id_.Mutable( GetArena()); +} +inline std::string* SetTrackVolumeRequest::release_track_id() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:daw.api.SetTrackVolumeRequest.track_id) + return _impl_.track_id_.Release(); +} +inline void SetTrackVolumeRequest::set_allocated_track_id(std::string* value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.track_id_.SetAllocated(value, GetArena()); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.track_id_.IsDefault()) { + _impl_.track_id_.Set("", GetArena()); + } + // @@protoc_insertion_point(field_set_allocated:daw.api.SetTrackVolumeRequest.track_id) +} + +// float volume_db = 2; +inline void SetTrackVolumeRequest::clear_volume_db() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.volume_db_ = 0; +} +inline float SetTrackVolumeRequest::volume_db() const { + // @@protoc_insertion_point(field_get:daw.api.SetTrackVolumeRequest.volume_db) + return _internal_volume_db(); +} +inline void SetTrackVolumeRequest::set_volume_db(float value) { + _internal_set_volume_db(value); + // @@protoc_insertion_point(field_set:daw.api.SetTrackVolumeRequest.volume_db) +} +inline float SetTrackVolumeRequest::_internal_volume_db() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.volume_db_; +} +inline void SetTrackVolumeRequest::_internal_set_volume_db(float value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.volume_db_ = value; +} + +// ------------------------------------------------------------------- + +// SetTrackPanRequest + +// string track_id = 1; +inline void SetTrackPanRequest::clear_track_id() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.track_id_.ClearToEmpty(); +} +inline const std::string& SetTrackPanRequest::track_id() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:daw.api.SetTrackPanRequest.track_id) + return _internal_track_id(); +} +template +inline PROTOBUF_ALWAYS_INLINE void SetTrackPanRequest::set_track_id(Arg_&& arg, + Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.track_id_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:daw.api.SetTrackPanRequest.track_id) +} +inline std::string* SetTrackPanRequest::mutable_track_id() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_track_id(); + // @@protoc_insertion_point(field_mutable:daw.api.SetTrackPanRequest.track_id) + return _s; +} +inline const std::string& SetTrackPanRequest::_internal_track_id() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.track_id_.Get(); +} +inline void SetTrackPanRequest::_internal_set_track_id(const std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.track_id_.Set(value, GetArena()); +} +inline std::string* SetTrackPanRequest::_internal_mutable_track_id() { + ::google::protobuf::internal::TSanWrite(&_impl_); + return _impl_.track_id_.Mutable( GetArena()); +} +inline std::string* SetTrackPanRequest::release_track_id() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:daw.api.SetTrackPanRequest.track_id) + return _impl_.track_id_.Release(); +} +inline void SetTrackPanRequest::set_allocated_track_id(std::string* value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.track_id_.SetAllocated(value, GetArena()); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.track_id_.IsDefault()) { + _impl_.track_id_.Set("", GetArena()); + } + // @@protoc_insertion_point(field_set_allocated:daw.api.SetTrackPanRequest.track_id) +} + +// float pan = 2; +inline void SetTrackPanRequest::clear_pan() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.pan_ = 0; +} +inline float SetTrackPanRequest::pan() const { + // @@protoc_insertion_point(field_get:daw.api.SetTrackPanRequest.pan) + return _internal_pan(); +} +inline void SetTrackPanRequest::set_pan(float value) { + _internal_set_pan(value); + // @@protoc_insertion_point(field_set:daw.api.SetTrackPanRequest.pan) +} +inline float SetTrackPanRequest::_internal_pan() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.pan_; +} +inline void SetTrackPanRequest::_internal_set_pan(float value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.pan_ = value; +} + +// ------------------------------------------------------------------- + +// PluginInfo + +// string instance_id = 1; +inline void PluginInfo::clear_instance_id() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.instance_id_.ClearToEmpty(); +} +inline const std::string& PluginInfo::instance_id() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:daw.api.PluginInfo.instance_id) + return _internal_instance_id(); +} +template +inline PROTOBUF_ALWAYS_INLINE void PluginInfo::set_instance_id(Arg_&& arg, + Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.instance_id_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:daw.api.PluginInfo.instance_id) +} +inline std::string* PluginInfo::mutable_instance_id() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_instance_id(); + // @@protoc_insertion_point(field_mutable:daw.api.PluginInfo.instance_id) + return _s; +} +inline const std::string& PluginInfo::_internal_instance_id() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.instance_id_.Get(); +} +inline void PluginInfo::_internal_set_instance_id(const std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.instance_id_.Set(value, GetArena()); +} +inline std::string* PluginInfo::_internal_mutable_instance_id() { + ::google::protobuf::internal::TSanWrite(&_impl_); + return _impl_.instance_id_.Mutable( GetArena()); +} +inline std::string* PluginInfo::release_instance_id() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:daw.api.PluginInfo.instance_id) + return _impl_.instance_id_.Release(); +} +inline void PluginInfo::set_allocated_instance_id(std::string* value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.instance_id_.SetAllocated(value, GetArena()); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.instance_id_.IsDefault()) { + _impl_.instance_id_.Set("", GetArena()); + } + // @@protoc_insertion_point(field_set_allocated:daw.api.PluginInfo.instance_id) +} + +// string name = 2; +inline void PluginInfo::clear_name() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.name_.ClearToEmpty(); +} +inline const std::string& PluginInfo::name() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:daw.api.PluginInfo.name) + return _internal_name(); +} +template +inline PROTOBUF_ALWAYS_INLINE void PluginInfo::set_name(Arg_&& arg, + Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.name_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:daw.api.PluginInfo.name) +} +inline std::string* PluginInfo::mutable_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_name(); + // @@protoc_insertion_point(field_mutable:daw.api.PluginInfo.name) + return _s; +} +inline const std::string& PluginInfo::_internal_name() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.name_.Get(); +} +inline void PluginInfo::_internal_set_name(const std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.name_.Set(value, GetArena()); +} +inline std::string* PluginInfo::_internal_mutable_name() { + ::google::protobuf::internal::TSanWrite(&_impl_); + return _impl_.name_.Mutable( GetArena()); +} +inline std::string* PluginInfo::release_name() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:daw.api.PluginInfo.name) + return _impl_.name_.Release(); +} +inline void PluginInfo::set_allocated_name(std::string* value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.name_.SetAllocated(value, GetArena()); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.name_.IsDefault()) { + _impl_.name_.Set("", GetArena()); + } + // @@protoc_insertion_point(field_set_allocated:daw.api.PluginInfo.name) +} + +// bool is_bypassed = 4; +inline void PluginInfo::clear_is_bypassed() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.is_bypassed_ = false; +} +inline bool PluginInfo::is_bypassed() const { + // @@protoc_insertion_point(field_get:daw.api.PluginInfo.is_bypassed) + return _internal_is_bypassed(); +} +inline void PluginInfo::set_is_bypassed(bool value) { + _internal_set_is_bypassed(value); + // @@protoc_insertion_point(field_set:daw.api.PluginInfo.is_bypassed) +} +inline bool PluginInfo::_internal_is_bypassed() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.is_bypassed_; +} +inline void PluginInfo::_internal_set_is_bypassed(bool value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.is_bypassed_ = value; +} + +// repeated .daw.api.PluginParameter parameters = 5; +inline int PluginInfo::_internal_parameters_size() const { + return _internal_parameters().size(); +} +inline int PluginInfo::parameters_size() const { + return _internal_parameters_size(); +} +inline void PluginInfo::clear_parameters() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.parameters_.Clear(); +} +inline ::daw::api::PluginParameter* PluginInfo::mutable_parameters(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:daw.api.PluginInfo.parameters) + return _internal_mutable_parameters()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::daw::api::PluginParameter>* PluginInfo::mutable_parameters() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:daw.api.PluginInfo.parameters) + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_parameters(); +} +inline const ::daw::api::PluginParameter& PluginInfo::parameters(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:daw.api.PluginInfo.parameters) + return _internal_parameters().Get(index); +} +inline ::daw::api::PluginParameter* PluginInfo::add_parameters() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::protobuf::internal::TSanWrite(&_impl_); + ::daw::api::PluginParameter* _add = _internal_mutable_parameters()->Add(); + // @@protoc_insertion_point(field_add:daw.api.PluginInfo.parameters) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::daw::api::PluginParameter>& PluginInfo::parameters() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:daw.api.PluginInfo.parameters) + return _internal_parameters(); +} +inline const ::google::protobuf::RepeatedPtrField<::daw::api::PluginParameter>& +PluginInfo::_internal_parameters() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.parameters_; +} +inline ::google::protobuf::RepeatedPtrField<::daw::api::PluginParameter>* +PluginInfo::_internal_mutable_parameters() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.parameters_; +} + +// ------------------------------------------------------------------- + +// PluginParameter + +// uint32 parameter_id = 1; +inline void PluginParameter::clear_parameter_id() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.parameter_id_ = 0u; +} +inline ::uint32_t PluginParameter::parameter_id() const { + // @@protoc_insertion_point(field_get:daw.api.PluginParameter.parameter_id) + return _internal_parameter_id(); +} +inline void PluginParameter::set_parameter_id(::uint32_t value) { + _internal_set_parameter_id(value); + // @@protoc_insertion_point(field_set:daw.api.PluginParameter.parameter_id) +} +inline ::uint32_t PluginParameter::_internal_parameter_id() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.parameter_id_; +} +inline void PluginParameter::_internal_set_parameter_id(::uint32_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.parameter_id_ = value; +} + +// string name = 2; +inline void PluginParameter::clear_name() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.name_.ClearToEmpty(); +} +inline const std::string& PluginParameter::name() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:daw.api.PluginParameter.name) + return _internal_name(); +} +template +inline PROTOBUF_ALWAYS_INLINE void PluginParameter::set_name(Arg_&& arg, + Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.name_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:daw.api.PluginParameter.name) +} +inline std::string* PluginParameter::mutable_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_name(); + // @@protoc_insertion_point(field_mutable:daw.api.PluginParameter.name) + return _s; +} +inline const std::string& PluginParameter::_internal_name() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.name_.Get(); +} +inline void PluginParameter::_internal_set_name(const std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.name_.Set(value, GetArena()); +} +inline std::string* PluginParameter::_internal_mutable_name() { + ::google::protobuf::internal::TSanWrite(&_impl_); + return _impl_.name_.Mutable( GetArena()); +} +inline std::string* PluginParameter::release_name() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:daw.api.PluginParameter.name) + return _impl_.name_.Release(); +} +inline void PluginParameter::set_allocated_name(std::string* value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.name_.SetAllocated(value, GetArena()); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.name_.IsDefault()) { + _impl_.name_.Set("", GetArena()); + } + // @@protoc_insertion_point(field_set_allocated:daw.api.PluginParameter.name) +} + +// double value = 3; +inline void PluginParameter::clear_value() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.value_ = 0; +} +inline double PluginParameter::value() const { + // @@protoc_insertion_point(field_get:daw.api.PluginParameter.value) + return _internal_value(); +} +inline void PluginParameter::set_value(double value) { + _internal_set_value(value); + // @@protoc_insertion_point(field_set:daw.api.PluginParameter.value) +} +inline double PluginParameter::_internal_value() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.value_; +} +inline void PluginParameter::_internal_set_value(double value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.value_ = value; +} + +// ------------------------------------------------------------------- + +// SetPluginParameterRequest + +// string instance_id = 1; +inline void SetPluginParameterRequest::clear_instance_id() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.instance_id_.ClearToEmpty(); +} +inline const std::string& SetPluginParameterRequest::instance_id() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:daw.api.SetPluginParameterRequest.instance_id) + return _internal_instance_id(); +} +template +inline PROTOBUF_ALWAYS_INLINE void SetPluginParameterRequest::set_instance_id(Arg_&& arg, + Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.instance_id_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:daw.api.SetPluginParameterRequest.instance_id) +} +inline std::string* SetPluginParameterRequest::mutable_instance_id() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_instance_id(); + // @@protoc_insertion_point(field_mutable:daw.api.SetPluginParameterRequest.instance_id) + return _s; +} +inline const std::string& SetPluginParameterRequest::_internal_instance_id() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.instance_id_.Get(); +} +inline void SetPluginParameterRequest::_internal_set_instance_id(const std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.instance_id_.Set(value, GetArena()); +} +inline std::string* SetPluginParameterRequest::_internal_mutable_instance_id() { + ::google::protobuf::internal::TSanWrite(&_impl_); + return _impl_.instance_id_.Mutable( GetArena()); +} +inline std::string* SetPluginParameterRequest::release_instance_id() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:daw.api.SetPluginParameterRequest.instance_id) + return _impl_.instance_id_.Release(); +} +inline void SetPluginParameterRequest::set_allocated_instance_id(std::string* value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.instance_id_.SetAllocated(value, GetArena()); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.instance_id_.IsDefault()) { + _impl_.instance_id_.Set("", GetArena()); + } + // @@protoc_insertion_point(field_set_allocated:daw.api.SetPluginParameterRequest.instance_id) +} + +// uint32 parameter_id = 2; +inline void SetPluginParameterRequest::clear_parameter_id() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.parameter_id_ = 0u; +} +inline ::uint32_t SetPluginParameterRequest::parameter_id() const { + // @@protoc_insertion_point(field_get:daw.api.SetPluginParameterRequest.parameter_id) + return _internal_parameter_id(); +} +inline void SetPluginParameterRequest::set_parameter_id(::uint32_t value) { + _internal_set_parameter_id(value); + // @@protoc_insertion_point(field_set:daw.api.SetPluginParameterRequest.parameter_id) +} +inline ::uint32_t SetPluginParameterRequest::_internal_parameter_id() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.parameter_id_; +} +inline void SetPluginParameterRequest::_internal_set_parameter_id(::uint32_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.parameter_id_ = value; +} + +// double value = 3; +inline void SetPluginParameterRequest::clear_value() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.value_ = 0; +} +inline double SetPluginParameterRequest::value() const { + // @@protoc_insertion_point(field_get:daw.api.SetPluginParameterRequest.value) + return _internal_value(); +} +inline void SetPluginParameterRequest::set_value(double value) { + _internal_set_value(value); + // @@protoc_insertion_point(field_set:daw.api.SetPluginParameterRequest.value) +} +inline double SetPluginParameterRequest::_internal_value() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.value_; +} +inline void SetPluginParameterRequest::_internal_set_value(double value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.value_ = value; +} + +// ------------------------------------------------------------------- + +// LoadPluginRequest + +// string file_path = 1; +inline void LoadPluginRequest::clear_file_path() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.file_path_.ClearToEmpty(); +} +inline const std::string& LoadPluginRequest::file_path() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:daw.api.LoadPluginRequest.file_path) + return _internal_file_path(); +} +template +inline PROTOBUF_ALWAYS_INLINE void LoadPluginRequest::set_file_path(Arg_&& arg, + Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.file_path_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:daw.api.LoadPluginRequest.file_path) +} +inline std::string* LoadPluginRequest::mutable_file_path() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_file_path(); + // @@protoc_insertion_point(field_mutable:daw.api.LoadPluginRequest.file_path) + return _s; +} +inline const std::string& LoadPluginRequest::_internal_file_path() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.file_path_.Get(); +} +inline void LoadPluginRequest::_internal_set_file_path(const std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.file_path_.Set(value, GetArena()); +} +inline std::string* LoadPluginRequest::_internal_mutable_file_path() { + ::google::protobuf::internal::TSanWrite(&_impl_); + return _impl_.file_path_.Mutable( GetArena()); +} +inline std::string* LoadPluginRequest::release_file_path() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:daw.api.LoadPluginRequest.file_path) + return _impl_.file_path_.Release(); +} +inline void LoadPluginRequest::set_allocated_file_path(std::string* value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.file_path_.SetAllocated(value, GetArena()); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.file_path_.IsDefault()) { + _impl_.file_path_.Set("", GetArena()); + } + // @@protoc_insertion_point(field_set_allocated:daw.api.LoadPluginRequest.file_path) +} + +// ------------------------------------------------------------------- + +// VUMeterUpdate + +// string track_id = 1; +inline void VUMeterUpdate::clear_track_id() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.track_id_.ClearToEmpty(); +} +inline const std::string& VUMeterUpdate::track_id() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:daw.api.VUMeterUpdate.track_id) + return _internal_track_id(); +} +template +inline PROTOBUF_ALWAYS_INLINE void VUMeterUpdate::set_track_id(Arg_&& arg, + Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.track_id_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:daw.api.VUMeterUpdate.track_id) +} +inline std::string* VUMeterUpdate::mutable_track_id() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_track_id(); + // @@protoc_insertion_point(field_mutable:daw.api.VUMeterUpdate.track_id) + return _s; +} +inline const std::string& VUMeterUpdate::_internal_track_id() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.track_id_.Get(); +} +inline void VUMeterUpdate::_internal_set_track_id(const std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.track_id_.Set(value, GetArena()); +} +inline std::string* VUMeterUpdate::_internal_mutable_track_id() { + ::google::protobuf::internal::TSanWrite(&_impl_); + return _impl_.track_id_.Mutable( GetArena()); +} +inline std::string* VUMeterUpdate::release_track_id() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:daw.api.VUMeterUpdate.track_id) + return _impl_.track_id_.Release(); +} +inline void VUMeterUpdate::set_allocated_track_id(std::string* value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.track_id_.SetAllocated(value, GetArena()); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.track_id_.IsDefault()) { + _impl_.track_id_.Set("", GetArena()); + } + // @@protoc_insertion_point(field_set_allocated:daw.api.VUMeterUpdate.track_id) +} + +// float peak_dbfs = 2; +inline void VUMeterUpdate::clear_peak_dbfs() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.peak_dbfs_ = 0; +} +inline float VUMeterUpdate::peak_dbfs() const { + // @@protoc_insertion_point(field_get:daw.api.VUMeterUpdate.peak_dbfs) + return _internal_peak_dbfs(); +} +inline void VUMeterUpdate::set_peak_dbfs(float value) { + _internal_set_peak_dbfs(value); + // @@protoc_insertion_point(field_set:daw.api.VUMeterUpdate.peak_dbfs) +} +inline float VUMeterUpdate::_internal_peak_dbfs() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.peak_dbfs_; +} +inline void VUMeterUpdate::_internal_set_peak_dbfs(float value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.peak_dbfs_ = value; +} + +// float rms_dbfs = 3; +inline void VUMeterUpdate::clear_rms_dbfs() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.rms_dbfs_ = 0; +} +inline float VUMeterUpdate::rms_dbfs() const { + // @@protoc_insertion_point(field_get:daw.api.VUMeterUpdate.rms_dbfs) + return _internal_rms_dbfs(); +} +inline void VUMeterUpdate::set_rms_dbfs(float value) { + _internal_set_rms_dbfs(value); + // @@protoc_insertion_point(field_set:daw.api.VUMeterUpdate.rms_dbfs) +} +inline float VUMeterUpdate::_internal_rms_dbfs() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.rms_dbfs_; +} +inline void VUMeterUpdate::_internal_set_rms_dbfs(float value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.rms_dbfs_ = value; +} + +// ------------------------------------------------------------------- + +// VUMeterData + +// repeated .daw.api.VUMeterUpdate updates = 1; +inline int VUMeterData::_internal_updates_size() const { + return _internal_updates().size(); +} +inline int VUMeterData::updates_size() const { + return _internal_updates_size(); +} +inline void VUMeterData::clear_updates() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.updates_.Clear(); +} +inline ::daw::api::VUMeterUpdate* VUMeterData::mutable_updates(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:daw.api.VUMeterData.updates) + return _internal_mutable_updates()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::daw::api::VUMeterUpdate>* VUMeterData::mutable_updates() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:daw.api.VUMeterData.updates) + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_updates(); +} +inline const ::daw::api::VUMeterUpdate& VUMeterData::updates(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:daw.api.VUMeterData.updates) + return _internal_updates().Get(index); +} +inline ::daw::api::VUMeterUpdate* VUMeterData::add_updates() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::protobuf::internal::TSanWrite(&_impl_); + ::daw::api::VUMeterUpdate* _add = _internal_mutable_updates()->Add(); + // @@protoc_insertion_point(field_add:daw.api.VUMeterData.updates) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::daw::api::VUMeterUpdate>& VUMeterData::updates() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:daw.api.VUMeterData.updates) + return _internal_updates(); +} +inline const ::google::protobuf::RepeatedPtrField<::daw::api::VUMeterUpdate>& +VUMeterData::_internal_updates() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.updates_; +} +inline ::google::protobuf::RepeatedPtrField<::daw::api::VUMeterUpdate>* +VUMeterData::_internal_mutable_updates() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.updates_; +} + +// ------------------------------------------------------------------- + +// RealtimeCursorPosition + +// double time_in_seconds = 1; +inline void RealtimeCursorPosition::clear_time_in_seconds() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.time_in_seconds_ = 0; +} +inline double RealtimeCursorPosition::time_in_seconds() const { + // @@protoc_insertion_point(field_get:daw.api.RealtimeCursorPosition.time_in_seconds) + return _internal_time_in_seconds(); +} +inline void RealtimeCursorPosition::set_time_in_seconds(double value) { + _internal_set_time_in_seconds(value); + // @@protoc_insertion_point(field_set:daw.api.RealtimeCursorPosition.time_in_seconds) +} +inline double RealtimeCursorPosition::_internal_time_in_seconds() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.time_in_seconds_; +} +inline void RealtimeCursorPosition::_internal_set_time_in_seconds(double value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.time_in_seconds_ = value; +} + +// int64 absolute_ticks = 2; +inline void RealtimeCursorPosition::clear_absolute_ticks() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.absolute_ticks_ = ::int64_t{0}; +} +inline ::int64_t RealtimeCursorPosition::absolute_ticks() const { + // @@protoc_insertion_point(field_get:daw.api.RealtimeCursorPosition.absolute_ticks) + return _internal_absolute_ticks(); +} +inline void RealtimeCursorPosition::set_absolute_ticks(::int64_t value) { + _internal_set_absolute_ticks(value); + // @@protoc_insertion_point(field_set:daw.api.RealtimeCursorPosition.absolute_ticks) +} +inline ::int64_t RealtimeCursorPosition::_internal_absolute_ticks() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.absolute_ticks_; +} +inline void RealtimeCursorPosition::_internal_set_absolute_ticks(::int64_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.absolute_ticks_ = value; +} + +#ifdef __GNUC__ +#pragma GCC diagnostic pop +#endif // __GNUC__ + +// @@protoc_insertion_point(namespace_scope) +} // namespace api +} // namespace daw + + +namespace google { +namespace protobuf { + +template <> +struct is_proto_enum<::daw::api::TrackType> : std::true_type {}; +template <> +inline const EnumDescriptor* GetEnumDescriptor<::daw::api::TrackType>() { + return ::daw::api::TrackType_descriptor(); +} + +} // namespace protobuf +} // namespace google + +// @@protoc_insertion_point(global_scope) + +#include "google/protobuf/port_undef.inc" + +#endif // daw_5fapi_2eproto_2epb_2eh diff --git a/src/backend/vcpkg.json b/src/backend/vcpkg.json new file mode 100644 index 0000000..5324f2b --- /dev/null +++ b/src/backend/vcpkg.json @@ -0,0 +1,10 @@ +{ + "dependencies": [ + "grpc", + "protobuf", + "zeromq", + "gtest" + ], + "version": "0.0.1", + "name": "ninaengine" +} \ No newline at end of file diff --git a/src/cmake_script/project_cpp_standard.cmake b/src/cmake_script/project_cpp_standard.cmake new file mode 100644 index 0000000..f9058aa --- /dev/null +++ b/src/cmake_script/project_cpp_standard.cmake @@ -0,0 +1,118 @@ +# 文件: cmake/CompilerSetup.cmake + +# ============================================================================== +# 函数:setup_project_options +# 描述:配置项目级的 C++ 标准、编译器警告、定义和依赖。 +# 此函数遵循现代 CMake 实践,将所有配置封装到一个 INTERFACE 库中。 +# +# 参数: +# standard - (必选) C++ 标准版本 (例如 17, 20, 23)。 +# INTERFACE_TARGET - (必选) 用于接收创建的 INTERFACE 库名称的变量名。 +# +# 用法: +# include(cmake/CompilerSetup.cmake) +# setup_project_options( +# STANDARD 20 +# INTERFACE_TARGET my_project_options +# ) +# # ... 定义你的可执行文件或库 +# add_executable(my_app main.cpp) +# # ... 将配置应用到目标上 +# target_link_libraries(my_app PRIVATE ${my_project_options}) +# ============================================================================== +function(setup_project_options) + # --- 参数解析 --- + set(options "") # 无单值选项 + set(oneValueArgs STANDARD INTERFACE_TARGET) # 定义接收单个值的参数 + set(multiValueArgs "") # 无多值选项 + cmake_parse_arguments(ARG "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN}) + + # --- 参数验证 --- + if(NOT ARG_STANDARD OR NOT ARG_INTERFACE_TARGET) + message(FATAL_ERROR "setup_project_options 必须提供 STANDARD 和 INTERFACE_TARGET 参数。") + endif() + + set(VALID_STANDARDS 11 14 17 20 23) + list(FIND VALID_STANDARDS ${ARG_STANDARD} _standard_index) + if(_standard_index EQUAL -1) + message(FATAL_ERROR "不支持的 C++ 标准: ${ARG_STANDARD}。有效值: ${VALID_STANDARDS}") + endif() + + # --- 创建 INTERFACE 库 --- + # 这是现代 CMake 的核心:创建一个虚拟目标来承载所有配置属性。 + add_library(${ARG_INTERFACE_TARGET} INTERFACE) + message(STATUS "创建配置接口库: ${ARG_INTERFACE_TARGET}") + + # --- 设置 C++ 标准 (应用到接口库) --- + target_compile_features(${ARG_INTERFACE_TARGET} INTERFACE cxx_std_${ARG_STANDARD}) + + # --- 设置通用编译定义和选项 --- + # 使用 target_compile_definitions 和 target_compile_options,并指定 INTERFACE + # 这样任何链接到此库的目标都会继承这些属性。 + + # --- 平台特定设置 --- + if(WIN32) + target_compile_definitions(${ARG_INTERFACE_TARGET} INTERFACE UNICODE _UNICODE) + message(STATUS "为 Windows 添加 UNICODE 定义") + endif() + + # --- 编译器特定设置 --- + if(MSVC) + # MSVC 特定选项 + target_compile_options(${ARG_INTERFACE_TARGET} INTERFACE + /W4 # 更高警告等级 + # /WX # 将警告视为错误 (可选,但推荐) + /EHsc + /utf-8 # 源码和执行字符集设为 UTF-8 + /Zc:__cplusplus # 修正 __cplusplus 宏 + /wd4100 # 禁用警告: 未使用的形参 + /wd4996 # 禁用警告: 使用了被标记为否决的函数 + ) + message(STATUS "为 MSVC 添加特定编译选项") + else() # GCC / Clang / AppleClang + # 通用于 GCC 和 Clang 的选项 + target_compile_options(${ARG_INTERFACE_TARGET} INTERFACE + -Wall + -Wextra + -Wpedantic # 更加严格的警告 + -Werror # 将所有警告视为错误 (可选,但推荐) + -Wno-unused-parameter + ) + + # C++17 及以上标准的额外警告 + if(${ARG_STANDARD} GREATER_EQUAL 17) + target_compile_options(${ARG_INTERFACE_TARGET} INTERFACE + -Wshadow + -Wnon-virtual-dtor + ) + endif() + + # 【核心修复】区分处理 AppleClang 和标准 Clang/GCC + # AppleClang 不支持 -finput-charset/-fexec-charset,并默认源码为 UTF-8 + if(NOT CMAKE_CXX_COMPILER_ID MATCHES "AppleClang") + target_compile_options(${ARG_INTERFACE_TARGET} INTERFACE + -finput-charset=UTF-8 + -fexec-charset=UTF-8 + ) + message(STATUS "为 GCC/Clang 添加 UTF-8 字符集选项") + else() + message(STATUS "检测到 AppleClang,源码假定为 UTF-8,跳过字符集选项") + endif() + message(STATUS "为 GCC/Clang 添加特定编译选项") + endif() + + # --- MinGW 特定设置 --- + if(MINGW) + # 为 C++17 及以上的 支持添加链接库 + if(${ARG_STANDARD} GREATER_EQUAL 17) + # 使用 target_link_libraries,这才是正确的方式 + target_link_libraries(${ARG_INTERFACE_TARGET} INTERFACE -lstdc++fs) + message(STATUS "为 MinGW C++${ARG_STANDARD} 添加 libstdc++fs 依赖 (用于 )") + endif() + endif() + + # --- 将 INTERFACE 库的名称返回给调用者 --- + set(${ARG_INTERFACE_TARGET} ${ARG_INTERFACE_TARGET} PARENT_SCOPE) + message(STATUS "C++${ARG_STANDARD} 项目配置完成,请链接到 ${ARG_INTERFACE_TARGET} 目标。") + +endfunction() \ No newline at end of file diff --git a/src/cmake_script/retrieve_files.cmake b/src/cmake_script/retrieve_files.cmake new file mode 100644 index 0000000..42855f0 --- /dev/null +++ b/src/cmake_script/retrieve_files.cmake @@ -0,0 +1,545 @@ +#[=======================================================================[ + 平台匹配检查函数 + 参数: + platform: 平台标识符 (windows|linux|mac|mobile|desktop) + is_match: 输出变量,表示当前平台是否匹配 +#]=======================================================================] +function(is_current_platform platform is_match) + # 设置默认值为TRUE(用于未知平台) + set(matches FALSE) + + if(platform STREQUAL "windows") + if(WIN32 OR CYGWIN) + set(matches TRUE) + endif() + elseif(platform STREQUAL "linux") + if(UNIX AND NOT APPLE) + set(matches TRUE) + endif() + elseif(platform STREQUAL "mac") + if(APPLE AND NOT IOS) + set(matches TRUE) + endif() + elseif(platform STREQUAL "ios") + if(IOS) + set(matches TRUE) + endif() + elseif(platform STREQUAL "android") + if(ANDROID) + set(matches TRUE) + endif() + # 添加对unix平台的支持 + elseif(platform STREQUAL "unix") + if(UNIX) + set(matches TRUE) + endif() + elseif(platform STREQUAL "mobile") + if(ANDROID OR IOS) + set(matches TRUE) + endif() + elseif(platform STREQUAL "desktop") + if(WIN32 OR (UNIX AND NOT APPLE) OR (APPLE AND NOT IOS)) + set(matches TRUE) + endif() + elseif(platform STREQUAL "web") + if(EMSCRIPTEN) + set(matches TRUE) + endif() + else() + # 未知平台标识,默认匹配 + set(matches TRUE) + endif() + + set(${is_match} ${matches} PARENT_SCOPE) +endfunction() + +#[=======================================================================[ + 主文件检索函数 + 参数: + path: 要检索的根目录路径 + extension: 文件扩展名列表 + out_files: 输出变量名,将包含筛选后的文件列表 +#]=======================================================================] +function(retrieve_files_custom path extension out_files) + # 1. 参数验证 + if(NOT IS_DIRECTORY "${path}") + message(WARNING "错误:目录 '${path}' 不存在") + return() + endif() + + message(STATUS "正在检索目录: ${path}") + + # 2. 构建文件匹配模式 + set(file_patterns "") + foreach(ext IN LISTS extension) + list(APPEND file_patterns "${path}/*.${ext}") + endforeach() + + # 3. 递归查找所有匹配的文件 + file(GLOB_RECURSE found_files + RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} + CONFIGURE_DEPENDS ${file_patterns} + ) + + # 4. 处理找到的文件 + set(filtered_files "") + foreach(current_file IN LISTS found_files) + # 4.1 获取文件所在目录 + get_filename_component(file_dir "${current_file}" DIRECTORY) + string(REPLACE "/" ";" dir_components "${file_dir}") + + # 4.2 检查平台兼容性 + set(should_skip_file FALSE) + set(found_platform_dir FALSE) + + foreach(dir_name IN LISTS dir_components) + # 检查是否是平台相关目录 + if(dir_name MATCHES "^(windows|linux|mac|ios|android|unix|mobile|desktop|web)$") + set(found_platform_dir TRUE) + is_current_platform(${dir_name} platform_matches) + if(NOT platform_matches) + set(should_skip_file TRUE) + break() + endif() + endif() + endforeach() + + # 如果文件需要跳过,继续处理下一个文件 + if(should_skip_file) + continue() + endif() + + # 4.3 添加符合条件的文件 + list(APPEND filtered_files "${current_file}") + + # 4.4 设置IDE文件分组 + # 计算相对路径作为分组名称 + get_filename_component(root_abs_path "${path}" ABSOLUTE) + get_filename_component(file_dir_abs_path "${file_dir}" ABSOLUTE) + file(RELATIVE_PATH group_path "${root_abs_path}" "${file_dir_abs_path}") + + # 处理根目录的特殊情况 + if(group_path STREQUAL ".") + set(group_name "") + else() + string(REPLACE "/" "\\" group_name "${group_path}") + endif() + + # 创建IDE分组 + source_group("${group_name}" FILES "${current_file}") + endforeach() + + # 5. 设置输出变量 + set(${out_files} ${filtered_files} PARENT_SCOPE) +endfunction() + +#[=======================================================================[ + 便捷封装函数 + 自动处理常见文件扩展名,针对不同平台添加特定文件类型 +#]=======================================================================] +function(retrieve_files path out_files) + # 设置基础文件类型 + set(file_extensions + "h" # 头文件 + "hpp" # C++头文件 + "ini" # 配置文件 + "cpp" # C++源文件 + "c" # C源文件 + "cc" + "ixx" # C++20模块文件 + ) + + # 针对Mac平台添加额外文件类型 + if(APPLE) + list(APPEND file_extensions "mm") # Objective-C++源文件 + endif() + + # 执行文件检索 + set(temp_files "") + retrieve_files_custom(${path} "${file_extensions}" temp_files) + + # 合并结果到输出变量 + set(${out_files} ${${out_files}} ${temp_files} PARENT_SCOPE) +endfunction() + +#[=======================================================================[ + Proto文件编译和gRPC绑定生成函数 + 参数: + TARGET_NAME: (必需) - 要创建的库目标名称 + PROTO_PATH: (必需) - 包含.proto文件的目录路径 + OUTPUT_PATH: (可选) - 生成文件的输出目录,默认为${CMAKE_CURRENT_BINARY_DIR}/generated + GRPC_ENABLED: (可选) - 是否生成gRPC绑定,默认为TRUE + PROTO_IMPORT_DIRS:(可选) - proto文件的额外导入目录列表 + EXPORT_MACRO: (可选) - 导出宏定义(用于Windows DLL导出) + + 例子: + compile_proto_files( + TARGET_NAME my_proto_lib + PROTO_PATH ${CMAKE_CURRENT_SOURCE_DIR}/protos + OUTPUT_PATH ${CMAKE_BINARY_DIR}/proto_gen + GRPC_ENABLED TRUE + PROTO_IMPORT_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/third_party/protos + ) +#]=======================================================================] +function(compile_proto_files) + # 定义预期的参数 + set(options GRPC_ENABLED) + set(oneValueArgs TARGET_NAME PROTO_PATH OUTPUT_PATH EXPORT_MACRO) + set(multiValueArgs PROTO_IMPORT_DIRS) + + # 解析传递给函数的参数 + cmake_parse_arguments(ARG "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN}) + + # 参数验证 + if(NOT ARG_TARGET_NAME) + message(FATAL_ERROR "**compile_proto_files**: **缺少必需参数** **TARGET_NAME**.") + endif() + if(NOT ARG_PROTO_PATH) + message(FATAL_ERROR "**compile_proto_files**: **缺少必需参数** **PROTO_PATH**.") + endif() + + # 设置默认值 + if(NOT DEFINED ARG_GRPC_ENABLED) + set(ARG_GRPC_ENABLED TRUE) + endif() + if(NOT ARG_OUTPUT_PATH) + set(ARG_OUTPUT_PATH "${CMAKE_CURRENT_BINARY_DIR}/generated") + endif() + + # 查找Protobuf和gRPC + find_package(Protobuf REQUIRED) + if(ARG_GRPC_ENABLED) + find_package(gRPC QUIET) + if(NOT gRPC_FOUND) + # 如果找不到gRPC包,尝试手动查找 + find_program(GRPC_CPP_PLUGIN grpc_cpp_plugin) + if(NOT GRPC_CPP_PLUGIN) + message(FATAL_ERROR "**compile_proto_files**: **找不到gRPC C++插件**. 请确保已安装gRPC.") + endif() + else() + set(GRPC_CPP_PLUGIN $) + endif() + endif() + + # 创建输出目录 + file(MAKE_DIRECTORY ${ARG_OUTPUT_PATH}) + + get_filename_component(PROTO_PATH "${ARG_PROTO_PATH}" ABSOLUTE) + + # 递归查找所有.proto文件 + file(GLOB_RECURSE PROTO_FILES + RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} + CONFIGURE_DEPENDS + "${PROTO_PATH}/*.proto" + ) + + if(NOT PROTO_FILES) + message(WARNING "**compile_proto_files**: 在 '${PROTO_PATH}' 中未找到任何.proto文件") + return() + endif() + + message(STATUS "找到 ${CMAKE_CURRENT_SOURCE_DIR} Proto文件: ${PROTO_FILES}") + + # 准备生成的文件列表 + set(PROTO_SRCS) + set(PROTO_HDRS) + set(GRPC_SRCS) + set(GRPC_HDRS) + + # 构建导入路径参数 + set(PROTO_IMPORT_ARGS) + list(APPEND PROTO_IMPORT_ARGS "-I${PROTO_PATH}") + foreach(IMPORT_DIR ${ARG_PROTO_IMPORT_DIRS}) + list(APPEND PROTO_IMPORT_ARGS "-I${IMPORT_DIR}") + endforeach() + + # 为每个proto文件生成代码 + foreach(PROTO_FILE ${PROTO_FILES}) + # 获取proto文件的绝对路径 + get_filename_component(PROTO_FILE_ABS "${PROTO_FILE}" ABSOLUTE BASE_DIR "${CMAKE_CURRENT_SOURCE_DIR}") + get_filename_component(PROTO_NAME_WE "${PROTO_FILE}" NAME_WE) + get_filename_component(PROTO_DIR "${PROTO_FILE}" DIRECTORY) + + # 计算相对路径以保持目录结构 + if(PROTO_DIR) + file(RELATIVE_PATH REL_DIR "${PROTO_PATH}" "${CMAKE_CURRENT_SOURCE_DIR}/${PROTO_DIR}") + set(OUTPUT_SUBDIR "${ARG_OUTPUT_PATH}/${REL_DIR}") + else() + set(OUTPUT_SUBDIR "${ARG_OUTPUT_PATH}") + endif() + + # 创建输出子目录 + file(MAKE_DIRECTORY ${OUTPUT_SUBDIR}) + + # 生成的文件路径 + set(PROTO_SRC "${OUTPUT_SUBDIR}/${PROTO_NAME_WE}.pb.cc") + set(PROTO_HDR "${OUTPUT_SUBDIR}/${PROTO_NAME_WE}.pb.h") + list(APPEND PROTO_SRCS ${PROTO_SRC}) + list(APPEND PROTO_HDRS ${PROTO_HDR}) + + # 基础protobuf生成命令 + set(PROTOC_ARGS + ${PROTO_IMPORT_ARGS} + "--cpp_out=${ARG_OUTPUT_PATH}" + "${PROTO_FILE_ABS}" + ) + + if(ARG_GRPC_ENABLED) + set(GRPC_SRC "${OUTPUT_SUBDIR}/${PROTO_NAME_WE}.grpc.pb.cc") + set(GRPC_HDR "${OUTPUT_SUBDIR}/${PROTO_NAME_WE}.grpc.pb.h") + list(APPEND GRPC_SRCS ${GRPC_SRC}) + list(APPEND GRPC_HDRS ${GRPC_HDR}) + + # 添加自定义命令生成protobuf和gRPC代码 + add_custom_command( + OUTPUT ${PROTO_SRC} ${PROTO_HDR} ${GRPC_SRC} ${GRPC_HDR} + COMMAND ${Protobuf_PROTOC_EXECUTABLE} + ${PROTOC_ARGS} + COMMAND ${Protobuf_PROTOC_EXECUTABLE} + ${PROTO_IMPORT_ARGS} + "--grpc_out=${ARG_OUTPUT_PATH}" + "--plugin=protoc-gen-grpc=${GRPC_CPP_PLUGIN}" + "${PROTO_FILE_ABS}" + DEPENDS ${PROTO_FILE_ABS} + COMMENT "生成Protobuf和gRPC代码: ${PROTO_FILE}" + VERBATIM + ) + else() + # 只生成protobuf代码 + add_custom_command( + OUTPUT ${PROTO_SRC} ${PROTO_HDR} + COMMAND ${Protobuf_PROTOC_EXECUTABLE} + ${PROTOC_ARGS} + DEPENDS ${PROTO_FILE_ABS} + COMMENT "生成Protobuf代码: ${PROTO_FILE}" + VERBATIM + ) + endif() + endforeach() + + # 创建库目标 + add_library(${ARG_TARGET_NAME} STATIC + ${PROTO_SRCS} + ${PROTO_HDRS} + ${GRPC_SRCS} + ${GRPC_HDRS} + ) + + # 设置包含目录 + target_include_directories(${ARG_TARGET_NAME} + PUBLIC + $ + $ + ) + + # 链接必要的库 + target_link_libraries(${ARG_TARGET_NAME} + PUBLIC + protobuf::libprotobuf + ) + + if(ARG_GRPC_ENABLED) + if(gRPC_FOUND) + target_link_libraries(${ARG_TARGET_NAME} + PUBLIC + gRPC::grpc++ + gRPC::grpc++_reflection + ) + else() + # 手动查找并链接gRPC库 + find_library(GRPC_LIBRARY grpc++) + find_library(GRPC_REFLECTION_LIBRARY grpc++_reflection) + if(GRPC_LIBRARY AND GRPC_REFLECTION_LIBRARY) + target_link_libraries(${ARG_TARGET_NAME} + PUBLIC + ${GRPC_LIBRARY} + ${GRPC_REFLECTION_LIBRARY} + ) + else() + message(WARNING "**compile_proto_files**: 无法找到gRPC库,请手动链接") + endif() + endif() + endif() + + # 设置导出宏(如果提供) + if(ARG_EXPORT_MACRO) + target_compile_definitions(${ARG_TARGET_NAME} + PRIVATE ${ARG_EXPORT_MACRO}_EXPORTS + INTERFACE ${ARG_EXPORT_MACRO}_IMPORTS + ) + endif() + + # 设置C++标准 + target_compile_features(${ARG_TARGET_NAME} PUBLIC cxx_std_11) + + # IDE文件分组 + source_group("Proto Files" FILES ${PROTO_FILES}) + source_group("Generated Files\\Protobuf" FILES ${PROTO_SRCS} ${PROTO_HDRS}) + if(ARG_GRPC_ENABLED) + source_group("Generated Files\\gRPC" FILES ${GRPC_SRCS} ${GRPC_HDRS}) + endif() + + # 输出信息 + message(STATUS "创建Proto库目标: ${ARG_TARGET_NAME}") + message(STATUS " Proto文件数量: ${CMAKE_CURRENT_SOURCE_DIR} list length: ${PROTO_FILES}") + message(STATUS " 输出目录: ${ARG_OUTPUT_PATH}") + message(STATUS " gRPC支持: ${ARG_GRPC_ENABLED}") +endfunction() + +#[=======================================================================[ +# 用于添加资源文件并在编译后复制到最终可执行文件所在目录 +# 注意:此函数依赖于 CMAKE_RUNTIME_OUTPUT_DIRECTORY 或 EXECUTABLE_OUTPUT_PATH +# 变量的设置,以确定可执行文件的输出目录。请确保在项目中设置了其中之一。 +# +# 参数: +# TARGET_NAME: (必需) - 关联的目标 (库或可执行文件) 的名称。 +# 资源复制命令将在 TARGET_NAME 构建后执行。 +# RESOURCE_FILES: (必需) - 一个或多个要复制的资源文件的路径列表 (相对或绝对) +# OUTPUT_SUBDIR: (可选) - 相对于可执行文件输出目录的子目录路径 (例如 "assets") +# +# 例子: +# # 确保设置了可执行文件输出目录 (通常在顶层 CMakeLists.txt) +# set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) +# +# # 添加库 +# add_library(my_lib STATIC src/my_lib.cpp) +# +# # 添加资源到 my_lib,但复制到最终可执行文件的输出目录下的 'config' 子目录 +# add_resource_file( +# TARGET_NAME my_lib +# RESOURCE_FILES config/settings.json config/defaults.ini +# OUTPUT_SUBDIR config +# ) +# +# # 添加可执行文件 +# add_executable(my_app main.cpp) +# target_link_libraries(my_app PRIVATE my_lib) +# +# # 添加 my_app 的资源,复制到可执行文件输出目录的根目录 +# add_resource_file( +# TARGET_NAME my_app +# RESOURCE_FILES assets/icon.png +# ) +#]=======================================================================] +function(add_resource_file) + # 定义预期的参数 + set(options "") # 无布尔选项 + set(oneValueArgs TARGET_NAME OUTPUT_SUBDIR) + set(multiValueArgs RESOURCE_FILES) + + # 解析传递给函数的参数 + cmake_parse_arguments(ARG "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN}) + + # --- 参数验证 --- + if(NOT ARG_TARGET_NAME) + message(FATAL_ERROR "**add_resource_file**: **缺少必需参数** **TARGET_NAME**.") + endif() + if(NOT ARG_RESOURCE_FILES) + message(FATAL_ERROR "**add_resource_file**: **缺少必需参数** **RESOURCE_FILES**.") + endif() + if(NOT TARGET ${ARG_TARGET_NAME}) + message(WARNING "**add_resource_file**: 目标 '${ARG_TARGET_NAME}' (尚)不存在。请确保在调用 add_executable/add_library('${ARG_TARGET_NAME}') 之后调用此函数。") + # 即使目标尚不存在,仍然尝试配置命令。CMake通常能处理好依赖关系。 + endif() + + # --- 确定最终可执行文件的目标基础目录 --- + set(DESTINATION_BASE "") + if(DEFINED CMAKE_RUNTIME_OUTPUT_DIRECTORY AND CMAKE_RUNTIME_OUTPUT_DIRECTORY) + set(DESTINATION_BASE "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}") + elseif(DEFINED EXECUTABLE_OUTPUT_PATH AND EXECUTABLE_OUTPUT_PATH) + # EXECUTABLE_OUTPUT_PATH 是旧变量,但也检查一下 + set(DESTINATION_BASE "${EXECUTABLE_OUTPUT_PATH}") + else() + # 如果是多配置生成器(如 Visual Studio, Xcode),需要考虑配置类型 + get_property(is_multi_config GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) + if(is_multi_config) + # 对于多配置,没有单一的顶级运行时目录变量。 + # 可以考虑使用 $ 配合一个已知的可执行文件名,但这会使函数复杂化。 + # 最好的做法是要求用户设置 CMAKE_RUNTIME_OUTPUT_DIRECTORY_ + # 或者我们直接报错,强制用户设置 CMAKE_RUNTIME_OUTPUT_DIRECTORY + message(FATAL_ERROR "**add_resource_file**: **无法确定可执行文件输出目录**。请在您的项目中设置 **CMAKE_RUNTIME_OUTPUT_DIRECTORY** 变量 (例如 set(CMAKE_RUNTIME_OUTPUT_DIRECTORY \"\${CMAKE_BINARY_DIR}/bin\"))。对于多配置生成器,可能需要设置 CMAKE_RUNTIME_OUTPUT_DIRECTORY_ 变量。") + else() + # 对于单配置生成器(如 Makefiles, Ninja),可以默认到 CMAKE_BINARY_DIR + set(DESTINATION_BASE "${CMAKE_BINARY_DIR}") + message(WARNING "**add_resource_file**: **未设置 CMAKE_RUNTIME_OUTPUT_DIRECTORY**。默认将资源复制到 CMAKE_BINARY_DIR ('${CMAKE_BINARY_DIR}')。强烈建议设置 CMAKE_RUNTIME_OUTPUT_DIRECTORY 以获得可预测的行为。") + endif() + # message(FATAL_ERROR "**add_resource_file**: **无法确定可执行文件输出目录**。请在您的项目中设置 **CMAKE_RUNTIME_OUTPUT_DIRECTORY** 变量 (例如 set(CMAKE_RUNTIME_OUTPUT_DIRECTORY \"\${CMAKE_BINARY_DIR}/bin\"))。") + endif() + + # 处理子目录 + set(DESTINATION_DIR "${DESTINATION_BASE}") # 默认目标目录 + if(ARG_OUTPUT_SUBDIR) + # 清理子目录路径字符串 + string(STRIP "${ARG_OUTPUT_SUBDIR}" _subdir) + if(IS_ABSOLUTE "${_subdir}") + message(FATAL_ERROR "**add_resource_file**: **OUTPUT_SUBDIR** ('${ARG_OUTPUT_SUBDIR}') **必须是相对路径**。") + else() + # 移除可能存在的前导/后导斜杠,以便干净地拼接路径 + string(REGEX REPLACE "^[/\\\\]+" "" _subdir "${_subdir}") + string(REGEX REPLACE "[/\\\\]+$" "" _subdir "${_subdir}") + if(_subdir) # 仅当子目录清理后非空时才追加 + set(DESTINATION_DIR "${DESTINATION_BASE}/${_subdir}") + endif() + endif() + endif() + + # --- 准备源文件路径 --- + set(ABS_RESOURCE_FILES "") + foreach(RESOURCE_FILE ${ARG_RESOURCE_FILES}) + get_filename_component(RESOURCE_FILE_REALPATH "${RESOURCE_FILE}" REALPATH BASE_DIR "${CMAKE_CURRENT_SOURCE_DIR}") + # if(IS_ABSOLUTE "${RESOURCE_FILE}") + # # 如果已经是绝对路径,直接使用 + # list(APPEND ABS_RESOURCE_FILES "${RESOURCE_FILE}") + # else() + # # 如果是相对路径,相对于当前源目录进行解析 + # list(APPEND ABS_RESOURCE_FILES "${CMAKE_CURRENT_SOURCE_DIR}/${RESOURCE_FILE}") + # endif() + list(APPEND ABS_RESOURCE_FILES "${RESOURCE_FILE_REALPATH}") + + # 检查文件是否存在 (在配置时发出警告,有助于早期发现错误) + # list(GET ABS_RESOURCE_FILES -1 _current_abs_file) # 获取刚才添加的绝对路径 + if(NOT EXISTS "${RESOURCE_FILE_REALPATH}") + message(WARNING "**add_resource_file**: **资源文件** '${RESOURCE_FILE}' (解析为 '${RESOURCE_FILE_REALPATH}') **在配置时不存在**。") + endif() + endforeach() + + # --- 添加自定义命令 --- + # 使用 add_custom_command 在目标构建完成后执行复制操作 + if(ABS_RESOURCE_FILES) # 确保有文件需要复制 + # 注意:DESTINATION_DIR 可能包含特定于配置的路径(例如,如果 CMAKE_RUNTIME_OUTPUT_DIRECTORY + # 设置为 ${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/bin)。 + # add_custom_command 的 COMMAND 参数在构建时执行,此时这些变量/生成器表达式已解析。 + add_custom_command( + TARGET ${ARG_TARGET_NAME} + POST_BUILD # 指定在目标构建之后执行 + # 步骤 1: 确保目标目录存在 (copy_if_different 不会创建目录) + COMMAND ${CMAKE_COMMAND} -E make_directory "${DESTINATION_DIR}" + # 步骤 2: 复制文件 + COMMAND ${CMAKE_COMMAND} -E copy_if_different # 使用CMake内置命令复制(仅当文件不同时) + ${ABS_RESOURCE_FILES} # 要复制的源文件列表(绝对路径) + "${DESTINATION_DIR}" # 最终可执行文件所在的目标目录 (带引号以处理空格) + COMMENT "为 ${ARG_TARGET_NAME} 将资源复制到可执行文件目录: ${DESTINATION_DIR}..." # 构建时显示的注释 + VERBATIM # 确保参数(尤其是路径和生成器表达式)被正确处理 + ) + else() + message(WARNING "**add_resource_file**: 没有有效的资源文件提供给目标 '${ARG_TARGET_NAME}'。") + endif() + + # --- 可选: 将资源文件添加到 IDE 项目结构中 --- + if(ABS_RESOURCE_FILES) + set(_source_group_name "Resource Files") # 基础组名 + if(ARG_OUTPUT_SUBDIR) + # 使用与目标目录结构匹配的组名 + string(STRIP "${ARG_OUTPUT_SUBDIR}" _clean_subdir) + string(REPLACE "\\" "/" _clean_subdir "${_clean_subdir}") # 统一使用正斜杠 + string(REGEX REPLACE "^[/]+" "" _clean_subdir "${_clean_subdir}") + string(REGEX REPLACE "[/]+$" "" _clean_subdir "${_clean_subdir}") + if(_clean_subdir) + set(_source_group_name "Resource Files/${_clean_subdir}") + endif() + endif() + # 使用 source_group 将文件添加到 IDE 的指定组下 + source_group(${_source_group_name} FILES ${ABS_RESOURCE_FILES}) + endif() + +endfunction() diff --git a/src/cmake_script/utils.cmake b/src/cmake_script/utils.cmake new file mode 100644 index 0000000..96784a6 --- /dev/null +++ b/src/cmake_script/utils.cmake @@ -0,0 +1,46 @@ + +# 定义一个函数来配置项目的默认设置 +# 这包括设置输出目录和项目根目录变量 +function(configure_project_defaults) + # 检查是否在顶层 CMakeLists.txt 中调用 (可选但推荐) + # 确保 CMAKE_SOURCE_DIR 和 CMAKE_CURRENT_SOURCE_DIR 相同 + if(NOT CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR) + message(WARNING "configure_project_defaults() 应该在项目的根 CMakeLists.txt 中调用。") + # 如果您确实需要在子目录中设置不同的根目录,请调整此逻辑 + endif() + + # --- 配置输出目录 --- + # 使用 CMAKE_BINARY_DIR 作为基础构建目录 + # ${CMAKE_BINARY_DIR} 指向您配置 CMake 时指定的构建目录 + # 例如,在 CLion 中通常是 cmake-build-debug 或 cmake-build-release + # 如果手动运行 cmake ..,它就是您运行 cmake 命令的目录 + + get_filename_component(ABS_BIN_DIR ${CMAKE_BINARY_DIR} ABSOLUTE) + + # **设置可执行文件输出路径**: + # 对于单配置生成器 (如 Makefiles, Ninja), 可执行文件将位于 /bin/ + # 对于多配置生成器 (如 Visual Studio, Xcode), CMake 通常会自动在此路径下附加配置名称 + # (例如 /bin/Debug/, /bin/Release/) + set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${ABS_BIN_DIR}/bin CACHE PATH "Directory for runtime executables") + message(STATUS "运行时输出目录设置为: ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}") + + # **设置库文件输出路径 (共享库和静态库)**: + # 规则同上,库文件将位于 /lib/ 或 /lib// + set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${ABS_BIN_DIR}/lib CACHE PATH "Directory for shared libraries") + set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${ABS_BIN_DIR}/lib CACHE PATH "Directory for static libraries") + message(STATUS "库输出目录设置为: ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}") + message(STATUS "存档输出目录设置为: ${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}") + + # --- 提示 --- + # 这种全局设置输出目录的方法对于中小型项目是常见的。 + # 对于更复杂的项目或需要更细粒度控制的情况,可以考虑为每个目标(target)单独设置输出目录属性: + # 例如: + # add_executable(my_app main.cpp) + # set_target_properties(my_app PROPERTIES + # RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/executables" + # ) + # add_library(my_lib STATIC my_lib.cpp) + # set_target_properties(my_lib PROPERTIES + # ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/static_libs" + # ) +endfunction() \ No newline at end of file diff --git a/src/frontend/App.axaml b/src/frontend/App.axaml new file mode 100644 index 0000000..3bc709f --- /dev/null +++ b/src/frontend/App.axaml @@ -0,0 +1,15 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/src/frontend/App.axaml.cs b/src/frontend/App.axaml.cs new file mode 100644 index 0000000..1f8a855 --- /dev/null +++ b/src/frontend/App.axaml.cs @@ -0,0 +1,47 @@ +using Avalonia; +using Avalonia.Controls.ApplicationLifetimes; +using Avalonia.Data.Core; +using Avalonia.Data.Core.Plugins; +using System.Linq; +using Avalonia.Markup.Xaml; +using frontend.ViewModels; +using frontend.Views; + +namespace frontend; + +public partial class App : Application +{ + public override void Initialize() + { + AvaloniaXamlLoader.Load(this); + } + + public override void OnFrameworkInitializationCompleted() + { + if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop) + { + // Avoid duplicate validations from both Avalonia and the CommunityToolkit. + // More info: https://docs.avaloniaui.net/docs/guides/development-guides/data-validation#manage-validationplugins + DisableAvaloniaDataAnnotationValidation(); + desktop.MainWindow = new MainWindow + { + DataContext = new MainWindowViewModel(), + }; + } + + base.OnFrameworkInitializationCompleted(); + } + + private void DisableAvaloniaDataAnnotationValidation() + { + // Get an array of plugins to remove + var dataValidationPluginsToRemove = + BindingPlugins.DataValidators.OfType().ToArray(); + + // remove each entry found + foreach (var plugin in dataValidationPluginsToRemove) + { + BindingPlugins.DataValidators.Remove(plugin); + } + } +} \ No newline at end of file diff --git a/src/frontend/Assets/avalonia-logo.ico b/src/frontend/Assets/avalonia-logo.ico new file mode 100644 index 0000000000000000000000000000000000000000..f7da8bb5863b7cecec2adcdebd948fe2f9418d0c GIT binary patch literal 175875 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 BuildAvaloniaApp() + .StartWithClassicDesktopLifetime(args); + + // Avalonia configuration, don't remove; also used by visual designer. + public static AppBuilder BuildAvaloniaApp() + => AppBuilder.Configure() + .UsePlatformDetect() + .WithInterFont() + .LogToTrace(); +} \ No newline at end of file diff --git a/src/frontend/ViewLocator.cs b/src/frontend/ViewLocator.cs new file mode 100644 index 0000000..d58769f --- /dev/null +++ b/src/frontend/ViewLocator.cs @@ -0,0 +1,30 @@ +using System; +using Avalonia.Controls; +using Avalonia.Controls.Templates; +using frontend.ViewModels; + +namespace frontend; + +public class ViewLocator : IDataTemplate +{ + public Control? Build(object? param) + { + if (param is null) + return null; + + var name = param.GetType().FullName!.Replace("ViewModel", "View", StringComparison.Ordinal); + var type = Type.GetType(name); + + if (type != null) + { + return (Control)Activator.CreateInstance(type)!; + } + + return new TextBlock { Text = "Not Found: " + name }; + } + + public bool Match(object? data) + { + return data is ViewModelBase; + } +} \ No newline at end of file diff --git a/src/frontend/ViewModels/MainWindowViewModel.cs b/src/frontend/ViewModels/MainWindowViewModel.cs new file mode 100644 index 0000000..329edc9 --- /dev/null +++ b/src/frontend/ViewModels/MainWindowViewModel.cs @@ -0,0 +1,6 @@ +namespace frontend.ViewModels; + +public partial class MainWindowViewModel : ViewModelBase +{ + public string Greeting { get; } = "Welcome to Avalonia!"; +} \ No newline at end of file diff --git a/src/frontend/ViewModels/ViewModelBase.cs b/src/frontend/ViewModels/ViewModelBase.cs new file mode 100644 index 0000000..cd742d0 --- /dev/null +++ b/src/frontend/ViewModels/ViewModelBase.cs @@ -0,0 +1,7 @@ +using CommunityToolkit.Mvvm.ComponentModel; + +namespace frontend.ViewModels; + +public class ViewModelBase : ObservableObject +{ +} \ No newline at end of file diff --git a/src/frontend/Views/MainWindow.axaml b/src/frontend/Views/MainWindow.axaml new file mode 100644 index 0000000..23d9fcf --- /dev/null +++ b/src/frontend/Views/MainWindow.axaml @@ -0,0 +1,20 @@ + + + + + + + + + + diff --git a/src/frontend/Views/MainWindow.axaml.cs b/src/frontend/Views/MainWindow.axaml.cs new file mode 100644 index 0000000..daabb39 --- /dev/null +++ b/src/frontend/Views/MainWindow.axaml.cs @@ -0,0 +1,11 @@ +using Avalonia.Controls; + +namespace frontend.Views; + +public partial class MainWindow : Window +{ + public MainWindow() + { + InitializeComponent(); + } +} \ No newline at end of file diff --git a/src/frontend/app.manifest b/src/frontend/app.manifest new file mode 100644 index 0000000..f344e5f --- /dev/null +++ b/src/frontend/app.manifest @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + diff --git a/src/frontend/frontend.csproj b/src/frontend/frontend.csproj new file mode 100644 index 0000000..974ea02 --- /dev/null +++ b/src/frontend/frontend.csproj @@ -0,0 +1,32 @@ + + + WinExe + net9.0 + enable + true + app.manifest + true + + + + + + + + + + + + + + + None + All + + + + + + + + diff --git a/src/proto/daw_api.proto b/src/proto/daw_api.proto new file mode 100644 index 0000000..7be113c --- /dev/null +++ b/src/proto/daw_api.proto @@ -0,0 +1,147 @@ +syntax = "proto3"; + +package daw.api; + +// =================================================================== +// Service Definitions (gRPC Control Plane) +// =================================================================== + +service TransportService { + rpc Play(Empty) returns (StatusResponse); + rpc Pause(Empty) returns (StatusResponse); + rpc Stop(Empty) returns (StatusResponse); + rpc SetTempo(SetTempoRequest) returns (StatusResponse); +} + +service ProjectService { + rpc NewProject(Empty) returns (ProjectState); + rpc LoadProject(LoadProjectRequest) returns (ProjectState); + rpc SaveProject(SaveProjectRequest) returns (StatusResponse); +} + +service TrackService { + rpc AddTrack(AddTrackRequest) returns (TrackInfo); + rpc RemoveTrack(TrackIdRequest) returns (StatusResponse); + rpc SetTrackVolume(SetTrackVolumeRequest) returns (StatusResponse); + rpc SetTrackPan(SetTrackPanRequest) returns (StatusResponse); +} + +service PluginService { + rpc LoadPlugin(LoadPluginRequest) returns (PluginInfo); + rpc SetPluginParameter(SetPluginParameterRequest) returns (StatusResponse); +} + +// =================================================================== +// Message Definitions +// =================================================================== + +message Empty {} + +message StatusResponse { + bool success = 1; + string error_message = 2; +} + +message ProjectState { + string project_id = 1; + string project_name = 2; + PlaybackState playback_state = 3; + repeated TrackInfo tracks = 4; +} + +message LoadProjectRequest { + string file_path = 1; +} + +message SaveProjectRequest { + string file_path = 1; +} + +message PlaybackState { + int32 bar = 1; + int32 beat = 2; + int32 tick = 3; + double bpm = 4; + bool is_playing = 6; +} + +message SetTempoRequest { + double bpm = 1; +} + +enum TrackType { + AUDIO = 0; + MIDI = 1; +} + +message TrackInfo { + string track_id = 1; + string name = 2; + TrackType type = 3; + float volume_db = 5; + float pan = 6; + bool is_muted = 7; + bool is_soloed = 8; + repeated PluginInfo plugins = 9; +} + +message AddTrackRequest { + string name = 1; + TrackType type = 2; +} + +message TrackIdRequest { + string track_id = 1; +} + +message SetTrackVolumeRequest { + string track_id = 1; + float volume_db = 2; +} + +message SetTrackPanRequest { + string track_id = 1; + float pan = 2; +} + +message PluginInfo { + string instance_id = 1; + string name = 2; + bool is_bypassed = 4; + repeated PluginParameter parameters = 5; +} + +message PluginParameter { + uint32 parameter_id = 1; + string name = 2; + double value = 3; +} + +message SetPluginParameterRequest { + string instance_id = 1; + uint32 parameter_id = 2; + double value = 3; +} + +message LoadPluginRequest { + string file_path = 1; +} + +// =================================================================== +// ZeroMQ High-Frequency Data Messages +// =================================================================== + +message VUMeterUpdate { + string track_id = 1; + float peak_dbfs = 2; + float rms_dbfs = 3; +} + +message VUMeterData { + repeated VUMeterUpdate updates = 1; +} + +message RealtimeCursorPosition { + double time_in_seconds = 1; + int64 absolute_ticks = 2; +} \ No newline at end of file