diff --git a/include/avnd/binding/ossia/node.hpp b/include/avnd/binding/ossia/node.hpp index 17f15dcc..b6eb23de 100644 --- a/include/avnd/binding/ossia/node.hpp +++ b/include/avnd/binding/ossia/node.hpp @@ -168,10 +168,12 @@ struct controls_mirror template struct controls_input_queue { + using i_tuple = std::tuple<>; }; template struct controls_output_queue { + using o_tuple = std::tuple<>; }; template requires(avnd::control_input_introspection::size > 0) @@ -821,7 +823,7 @@ class safe_node_base : public safe_node_base_base void process_smooth() { this->smooth.smooth_all(this->impl); } - auto make_controls_in_tuple() + typename controls_input_queue::i_tuple make_controls_in_tuple() { // We only care about the inputs of the first one, since they're all the same for(auto& state : this->impl.full_state()) @@ -829,9 +831,10 @@ class safe_node_base : public safe_node_base_base return avnd::control_input_introspection::filter_tuple( state.inputs, [](auto& field) { return field.value; }); } + return {}; } - auto make_controls_out_tuple() + typename controls_output_queue::o_tuple make_controls_out_tuple() { // Note that this does not yet make a lot of sens for polyphonic effects for(auto& state : this->impl.full_state()) @@ -839,6 +842,7 @@ class safe_node_base : public safe_node_base_base return avnd::control_output_introspection::filter_tuple( state.outputs, [](auto& field) { return field.value; }); } + return {}; } void finish_run()