17#include "JackBridge.hpp"
19#ifdef JACKBRIDGE_DUMMY
20# include "CarlaUtils.hpp"
22# include "CarlaProcessUtils.hpp"
23# include "CarlaSemUtils.hpp"
24# include "CarlaShmUtils.hpp"
25# include "CarlaTimeUtils.hpp"
37#ifndef JACKBRIDGE_DUMMY
38 return carla_sem_create2(*(carla_sem_t*)sem,
true);
46#ifndef JACKBRIDGE_DUMMY
47 carla_sem_destroy2(*(carla_sem_t*)sem);
55#ifdef JACKBRIDGE_DUMMY
58 return carla_sem_connect(*(carla_sem_t*)sem);
66#ifndef JACKBRIDGE_DUMMY
67 carla_sem_post(*(carla_sem_t*)sem,
server);
76#ifdef JACKBRIDGE_DUMMY
79 return carla_sem_timedwait(*(carla_sem_t*)sem, msecs,
server);
90#ifdef JACKBRIDGE_DUMMY
93 return carla_is_shm_valid(*(
const carla_shm_t*)shm);
101#ifndef JACKBRIDGE_DUMMY
102 carla_shm_init(*(carla_shm_t*)shm);
110#ifndef JACKBRIDGE_DUMMY
111 *(carla_shm_t*)shm = carla_shm_attach(
name);
119#ifndef JACKBRIDGE_DUMMY
120 carla_shm_close(*(carla_shm_t*)shm);
128#ifdef JACKBRIDGE_DUMMY
131 return carla_shm_map(*(carla_shm_t*)shm,
static_cast<std::size_t
>(
size));
139#ifndef JACKBRIDGE_DUMMY
140 return carla_shm_unmap(*(carla_shm_t*)shm, ptr);
146#if !defined(JACKBRIDGE_DUMMY) && defined(__WINE__)
147static void discovery_pipe_callback(
void*,
const char*
const msg)
noexcept
149 carla_stdout(
"discovery msgReceived %s",
msg);
155#if defined(JACKBRIDGE_DUMMY) || !defined(__WINE__)
166#if defined(JACKBRIDGE_DUMMY) || !defined(__WINE__)
181#if defined(JACKBRIDGE_DUMMY) || !defined(__WINE__)
199 carla_stderr2(
"jackbridge_discovery_pipe_destroy: pipe is still running!");
209#ifndef JACKBRIDGE_DUMMY
210 carla_terminateProcessOnParentExit(kill);
#define CARLA_SAFE_ASSERT_RETURN(cond, ret)
Definition CarlaDefines.h:190
unsigned int uint
Definition CarlaDefines.h:327
bool jackbridge_sem_connect(void *sem) noexcept
Definition JackBridge2.cpp:51
void jackbridge_discovery_pipe_message(void *pipe, const char *key, const char *value)
Definition JackBridge2.cpp:164
bool jackbridge_shm_is_valid(const void *shm) noexcept
Definition JackBridge2.cpp:86
void jackbridge_sem_destroy(void *sem) noexcept
Definition JackBridge2.cpp:42
void jackbridge_shm_close(void *shm) noexcept
Definition JackBridge2.cpp:115
void jackbridge_shm_attach(void *shm, const char *name) noexcept
Definition JackBridge2.cpp:106
void jackbridge_discovery_pipe_destroy(void *pipe)
Definition JackBridge2.cpp:179
void jackbridge_shm_init(void *shm) noexcept
Definition JackBridge2.cpp:97
void * jackbridge_discovery_pipe_create(const char *argv[])
Definition JackBridge2.cpp:153
bool jackbridge_sem_timedwait(void *sem, uint msecs, bool server) noexcept
Definition JackBridge2.cpp:72
void jackbridge_sem_post(void *sem, bool server) noexcept
Definition JackBridge2.cpp:62
void jackbridge_shm_unmap(void *shm, void *ptr) noexcept
Definition JackBridge2.cpp:135
void jackbridge_parent_deathsig(bool kill) noexcept
Definition JackBridge2.cpp:207
bool jackbridge_sem_init(void *sem) noexcept
Definition JackBridge2.cpp:33
void * jackbridge_shm_map(void *shm, uint64_t size) noexcept
Definition JackBridge2.cpp:124
register unsigned i
Definition inflate.c:1575
CARLA_PLUGIN_EXPORT CarlaPipeClientHandle carla_pipe_client_new(const char *argv[], CarlaPipeCallbackFunc callbackFunc, void *callbackPtr)
Definition PipeClient.cpp:100
CARLA_PLUGIN_EXPORT void carla_pipe_client_idle(CarlaPipeClientHandle handle)
Definition PipeClient.cpp:115
CARLA_PLUGIN_EXPORT bool carla_pipe_client_flush_and_unlock(CarlaPipeClientHandle handle)
Definition PipeClient.cpp:219
CARLA_PLUGIN_EXPORT bool carla_pipe_client_is_running(CarlaPipeClientHandle handle)
Definition PipeClient.cpp:122
CARLA_PLUGIN_EXPORT void carla_pipe_client_destroy(CarlaPipeClientHandle handle)
Definition PipeClient.cpp:202
CARLA_PLUGIN_EXPORT bool carla_pipe_client_write_and_fix_msg(CarlaPipeClientHandle handle, const char *msg)
Definition PipeClient.cpp:178
CARLA_PLUGIN_EXPORT void carla_pipe_client_lock(CarlaPipeClientHandle handle)
Definition PipeClient.cpp:129
CARLA_PLUGIN_EXPORT bool carla_pipe_client_write_msg(CarlaPipeClientHandle handle, const char *msg)
Definition PipeClient.cpp:171
static PuglViewHint int value
Definition pugl.h:1708
char * argv[]
Definition unzip.c:738
static const char * name
Definition pugl.h:1582
lo_server server
Definition guimain.cpp:28
const char * msg
Definition missing_descriptor.c:20
ZCONST char * key
Definition crypt.c:587
#define void
Definition unzip.h:396