Audacity 3.2.0
|
State of an instance of an LV2 Atom port. More...
#include <LV2Ports.h>
Public Member Functions | |
LV2AtomPortState (LV2AtomPortPtr pPort) | |
void | SendToInstance (LV2_Atom_Forge &forge, int64_t frameTime, float speed) |
Transfer incoming events from the ring buffer to the event buffer. More... | |
void | ResetForInstanceOutput () |
void | ReceiveFromInstance () |
Take responses from the instance and send cross-thread for the dialog. More... | |
void | SendToDialog (std::function< void(const LV2_Atom *atom, uint32_t size)> handler) |
Dialog can poll one ring buffer for messages at idle time. More... | |
void | ReceiveFromDialog (const void *buffer, uint32_t buffer_size) |
Dialog pushes to other ring buffer when it gets a user interface event. More... | |
Public Attributes | |
const LV2AtomPortPtr | mpPort |
const Lilv_ptr< ZixRing, zix_ring_free > | mRing |
const std::unique_ptr< uint8_t[]> | mBuffer |
State of an instance of an LV2 Atom port.
Definition at line 79 of file LV2Ports.h.
|
inlineexplicit |
pPort != nullptr
Definition at line 81 of file LV2Ports.h.
References zix_ring_mlock().
void LV2AtomPortState::ReceiveFromDialog | ( | const void * | buffer, |
uint32_t | buffer_size | ||
) |
Dialog pushes to other ring buffer when it gets a user interface event.
Definition at line 121 of file LV2Ports.cpp.
References mRing, and zix_ring_write().
void LV2AtomPortState::ReceiveFromInstance | ( | ) |
Take responses from the instance and send cross-thread for the dialog.
Definition at line 110 of file LV2Ports.cpp.
References mBuffer, mpPort, mRing, and zix_ring_write().
void LV2AtomPortState::ResetForInstanceOutput | ( | ) |
Definition at line 78 of file LV2Ports.cpp.
References mBuffer, and mpPort.
Referenced by SendToInstance().
void LV2AtomPortState::SendToDialog | ( | std::function< void(const LV2_Atom *atom, uint32_t size)> | handler | ) |
Dialog can poll one ring buffer for messages at idle time.
Given function may be called multiple times
Definition at line 87 of file LV2Ports.cpp.
References audacity::cloud::audiocom::anonymous_namespace{AuthorizationHandler.cpp}::handler, mpPort, mRing, size, wxT(), zix_ring_read(), and zix_ring_skip().
void LV2AtomPortState::SendToInstance | ( | LV2_Atom_Forge & | forge, |
int64_t | frameTime, | ||
float | speed | ||
) |
Transfer incoming events from the ring buffer to the event buffer.
These will be made available to each slave in the chain. In addition, reset the output Atom ports.
Definition at line 21 of file LV2Ports.cpp.
References mBuffer, mpPort, mRing, ResetForInstanceOutput(), wxT(), zix_ring_read(), and zix_ring_skip().
const std::unique_ptr<uint8_t[]> LV2AtomPortState::mBuffer |
Definition at line 123 of file LV2Ports.h.
Referenced by ReceiveFromInstance(), ResetForInstanceOutput(), and SendToInstance().
const LV2AtomPortPtr LV2AtomPortState::mpPort |
Definition at line 121 of file LV2Ports.h.
Referenced by ReceiveFromInstance(), ResetForInstanceOutput(), SendToDialog(), and SendToInstance().
const Lilv_ptr<ZixRing, zix_ring_free> LV2AtomPortState::mRing |
Definition at line 122 of file LV2Ports.h.
Referenced by ReceiveFromDialog(), ReceiveFromInstance(), SendToDialog(), and SendToInstance().