|
| | MiddleWareImpl (MiddleWare *mw, SYNTH_T synth, Config *config, int preferred_port) |
| | ~MiddleWareImpl (void) |
| void | heartBeat (Master *m) |
| void | doReadOnlyOp (std::function< void()> read_only_fn) |
| void | doReadOnlyOpPlugin (std::function< void()> read_only_fn) |
| bool | doReadOnlyOpNormal (std::function< void()> read_only_fn, bool canfail=false) |
| void | savePart (int npart, const char *filename) |
| void | loadPendingBank (int par, Bank &bank) |
| void | loadPart (int npart, const char *filename, Master *master) |
| void | loadClearPart (int npart) |
| void | loadMaster (const char *filename) |
| void | loadXsz (const char *filename, rtosc::RtData &d) |
| void | saveXsz (const char *filename, rtosc::RtData &d) |
| void | loadScl (const char *filename, rtosc::RtData &d) |
| void | loadKbm (const char *filename, rtosc::RtData &d) |
| void | updateResources (Master *m) |
| void | bToUhandle (const char *rtmsg) |
| void | tick (void) |
| void | kitEnable (const char *msg) |
| void | kitEnable (int part, int kit, int type) |
| void | handleMsg (const char *msg) |
| void | write (const char *path, const char *args,...) |
| void | write (const char *path, const char *args, va_list va) |
| void | currentUrl (string addr) |
| void | sendToRemote (const char *msg, std::string dest) |
| void | sendToCurrentRemote (const char *msg) |
| void | broadcastToRemote (const char *msg) |
◆ MiddleWareImpl()
◆ ~MiddleWareImpl()
| zyncarla::MiddleWareImpl::~MiddleWareImpl |
( |
void | | ) |
|
◆ broadcastToRemote()
| void zyncarla::MiddleWareImpl::broadcastToRemote |
( |
const char * | msg | ) |
|
◆ bToUhandle()
| void zyncarla::MiddleWareImpl::bToUhandle |
( |
const char * | rtmsg | ) |
|
Handle all events coming from the backend
This includes forwarded events which need to be retransmitted to the backend after the snooping code inspects the message
◆ currentUrl()
| void zyncarla::MiddleWareImpl::currentUrl |
( |
string | addr | ) |
|
|
inline |
◆ doReadOnlyOp()
| void zyncarla::MiddleWareImpl::doReadOnlyOp |
( |
std::function< void()> | read_only_fn | ) |
|
Threading When Saving
Procedure Middleware: 1) Middleware sends /freeze_state to backend 2) Middleware waits on /state_frozen from backend All intervening commands are held for out of order execution 3) Aquire memory At this time by the memory barrier we are guarenteed that all old writes are done and assuming the freezing logic is sound, then it is impossible for any other parameter to change at this time 3) Middleware performs saving operation 4) Middleware sends /thaw_state to backend 5) Restore in order execution
Procedure Backend: 1) Observe /freeze_state and disable all mutating events (MIDI CC) 2) Run a memory release to ensure that all writes are complete 3) Send /state_frozen to Middleware time... 4) Observe /thaw_state and resume normal processing
◆ doReadOnlyOpNormal()
| bool zyncarla::MiddleWareImpl::doReadOnlyOpNormal |
( |
std::function< void()> | read_only_fn, |
|
|
bool | canfail = false ) |
◆ doReadOnlyOpPlugin()
| void zyncarla::MiddleWareImpl::doReadOnlyOpPlugin |
( |
std::function< void()> | read_only_fn | ) |
|
◆ handleMsg()
| void zyncarla::MiddleWareImpl::handleMsg |
( |
const char * | msg | ) |
|
◆ heartBeat()
| void zyncarla::MiddleWareImpl::heartBeat |
( |
Master * | m | ) |
|
◆ kitEnable() [1/2]
| void zyncarla::MiddleWareImpl::kitEnable |
( |
const char * | msg | ) |
|
◆ kitEnable() [2/2]
| void zyncarla::MiddleWareImpl::kitEnable |
( |
int | part, |
|
|
int | kit, |
|
|
int | type ) |
◆ loadClearPart()
| void zyncarla::MiddleWareImpl::loadClearPart |
( |
int | npart | ) |
|
|
inline |
◆ loadKbm()
◆ loadMaster()
| void zyncarla::MiddleWareImpl::loadMaster |
( |
const char * | filename | ) |
|
|
inline |
◆ loadPart()
| void zyncarla::MiddleWareImpl::loadPart |
( |
int | npart, |
|
|
const char * | filename, |
|
|
Master * | master ) |
|
inline |
◆ loadPendingBank()
| void zyncarla::MiddleWareImpl::loadPendingBank |
( |
int | par, |
|
|
Bank & | bank ) |
|
inline |
◆ loadScl()
◆ loadXsz()
◆ savePart()
| void zyncarla::MiddleWareImpl::savePart |
( |
int | npart, |
|
|
const char * | filename ) |
|
inline |
◆ saveXsz()
◆ sendToCurrentRemote()
| void zyncarla::MiddleWareImpl::sendToCurrentRemote |
( |
const char * | msg | ) |
|
|
inline |
◆ sendToRemote()
| void zyncarla::MiddleWareImpl::sendToRemote |
( |
const char * | msg, |
|
|
std::string | dest ) |
◆ tick()
| void zyncarla::MiddleWareImpl::tick |
( |
void | | ) |
|
|
inline |
◆ updateResources()
| void zyncarla::MiddleWareImpl::updateResources |
( |
Master * | m | ) |
|
|
inline |
◆ write() [1/2]
| void zyncarla::MiddleWareImpl::write |
( |
const char * | path, |
|
|
const char * | args, |
|
|
va_list | va ) |
◆ write() [2/2]
| void zyncarla::MiddleWareImpl::write |
( |
const char * | path, |
|
|
const char * | args, |
|
|
| ... ) |
◆ actual_load
◆ autoSave
◆ broadcast
| bool zyncarla::MiddleWareImpl::broadcast = false |
◆ bToU
◆ cb
| cb_t zyncarla::MiddleWareImpl::cb |
◆ config
◆ curr_url
| string zyncarla::MiddleWareImpl::curr_url |
◆ forward
| bool zyncarla::MiddleWareImpl::forward = false |
◆ idle
| void(* zyncarla::MiddleWareImpl::idle) (void *) |
◆ idle_ptr
| void* zyncarla::MiddleWareImpl::idle_ptr |
◆ in_order
| bool zyncarla::MiddleWareImpl::in_order = false |
◆ kits
◆ known_remotes
| std::set<string> zyncarla::MiddleWareImpl::known_remotes |
◆ last_url
| string zyncarla::MiddleWareImpl::last_url |
◆ master
| Master* zyncarla::MiddleWareImpl::master |
◆ multi_thread_source
| MultiQueue zyncarla::MiddleWareImpl::multi_thread_source |
◆ obj_store
◆ offline
| bool zyncarla::MiddleWareImpl::offline |
◆ osc
◆ parent
◆ pending_load
| std::atomic_int zyncarla::MiddleWareImpl::pending_load[NUM_MIDI_PARTS] |
◆ presetsstore
◆ recording_undo
| bool zyncarla::MiddleWareImpl::recording_undo = true |
◆ server
| lo_server zyncarla::MiddleWareImpl::server |
◆ start_time_nsec
| int64_t zyncarla::MiddleWareImpl::start_time_nsec |
◆ start_time_sec
| int64_t zyncarla::MiddleWareImpl::start_time_sec |
◆ synth
◆ ui
| void* zyncarla::MiddleWareImpl::ui |
◆ undo
◆ uToB
The documentation for this class was generated from the following file:
- /home/runner/work/lmms-fork/lmms-fork/plugins/CarlaBase/carla/source/native-plugins/external/zynaddsubfx/Misc/MiddleWare.cpp