|
| | save_var_t (const std::string &name_, const std::string &type_, unsigned num_channels_, const mha_real_t rate_, const lsl::channel_format_t format_, const std::string &source_id_, void *data_) |
| | C'tor of specialization for complex types. More...
|
| |
| virtual void * | get_buf_address () const noexcept override |
| |
| virtual void | set_buf_address (void *data) override |
| |
| virtual lsl::stream_info | info () const noexcept override |
| | Get buffer address as void pointer. More...
|
| |
| virtual unsigned | data_type () const noexcept override |
| | Cast the input pointer to the appropriate type and set the buffer address. More...
|
| |
| virtual | ~save_var_t ()=default |
| |
| virtual void | send_frame (unsigned num_entries) override |
| | Send a frame of complex types. More...
|
| |
| virtual | ~save_var_base_t ()=default |
| |
Template specialization of the ac2lsl bridge to take care of complex numbers.
This specialization is needed because lsl does not support complex numbers. Order is [re(0), im(0), re(1), im(1), ....]
Send a frame of complex types.
Complex numbers are stored as alternating real and imaginary parts. An array of complex numbers in memory can be reinterpreted as a vector of real numbers that correspond to real and imaginary parts. LSL does not support complex types directly. Send one vector containing {buf[0].re,buf[0].im,buf[1].re,buf[1].im,...} instead.
Implements ac2lsl::save_var_base_t.