we don't use ctor / dtor, because this breaks aggregate-ness...
| 62 | // we don't use ctor / dtor, because |
| 63 | // this breaks aggregate-ness... |
| 64 | void init(int argc, t_atom* argv) |
| 65 | { |
| 66 | /// Pass arguments |
| 67 | if constexpr(avnd::can_initialize<T>) |
| 68 | { |
| 69 | init_setup.process(implementation.effect, argc, argv); |
| 70 | } |
| 71 | |
| 72 | /// Create ports /// |
| 73 | // Create inlets |
| 74 | input_setup.init(implementation, x_obj); |
| 75 | |
| 76 | // Create outlets |
| 77 | output_setup.init(implementation, x_obj); |
| 78 | |
| 79 | // Reserve space for controls |
| 80 | this->control_buffers.reserve_space(implementation, 16); |
| 81 | |
| 82 | /// Initialize controls |
| 83 | if constexpr(avnd::has_inputs<T>) |
| 84 | { |
| 85 | avnd::init_controls(implementation); |
| 86 | } |
| 87 | } |
| 88 | |
| 89 | void destroy() { } |
| 90 |
no test coverage detected