#pragma once #include #include NAMESPACE_LIBREMIDI::pipewire_ump { struct input_configuration { std::string client_name = "libremidi client"; pw_main_loop* context{}; pw_filter* filter{}; std::function set_process_func{}; std::function clear_process_func{}; }; struct output_configuration { std::string client_name = "libremidi client"; pw_main_loop* context{}; pw_filter* filter{}; std::function set_process_func{}; std::function clear_process_func{}; int64_t output_buffer_size{65536}; }; struct observer_configuration { std::string client_name = "libremidi client"; pw_main_loop* context{}; }; }