Browse Source

Misc

tags/1.9.6
falkTX 10 years ago
parent
commit
3de2732846
2 changed files with 31 additions and 18 deletions
  1. +22
    -17
      source/backend/engine/CarlaEngineJack.cpp
  2. +9
    -1
      source/jackbridge/JackBridgeExport.hpp

+ 22
- 17
source/backend/engine/CarlaEngineJack.cpp View File

@@ -25,15 +25,20 @@
#include "CarlaPatchbayUtils.hpp"
#include "CarlaStringList.hpp"

#include "jackbridge/JackBridge.hpp"
#include "jackey.h"

#include "juce_audio_basics.h"

#ifdef __SSE2_MATH__
# include <xmmintrin.h>
#endif

// must be last
#include "jackbridge/JackBridge.hpp"

#ifndef __cdecl
# define __cdecl
#endif

#define URI_CANVAS_ICON "http://kxstudio.sf.net/ns/canvas/icon"

using juce::FloatVectorOperations;
@@ -2052,7 +2057,7 @@ private:

#define handlePtr ((CarlaEngineJack*)arg)

static void carla_jack_thread_init_callback(void*)
static void __cdecl carla_jack_thread_init_callback(void*)
{
#ifdef __SSE2_MATH__
// Set FTZ and DAZ flags
@@ -2060,65 +2065,65 @@ private:
#endif
}

static int carla_jack_bufsize_callback(jack_nframes_t newBufferSize, void* arg)
static int __cdecl carla_jack_bufsize_callback(jack_nframes_t newBufferSize, void* arg)
{
handlePtr->handleJackBufferSizeCallback(newBufferSize);
return 0;
}

static int carla_jack_srate_callback(jack_nframes_t newSampleRate, void* arg)
static int __cdecl carla_jack_srate_callback(jack_nframes_t newSampleRate, void* arg)
{
handlePtr->handleJackSampleRateCallback(newSampleRate);
return 0;
}

static void carla_jack_freewheel_callback(int starting, void* arg)
static void __cdecl carla_jack_freewheel_callback(int starting, void* arg)
{
handlePtr->handleJackFreewheelCallback(bool(starting));
}

static int carla_jack_process_callback(jack_nframes_t nframes, void* arg)
static int __cdecl carla_jack_process_callback(jack_nframes_t nframes, void* arg)
{
handlePtr->handleJackProcessCallback(nframes);
return 0;
}

static void carla_jack_latency_callback(jack_latency_callback_mode_t mode, void* arg)
static void __cdecl carla_jack_latency_callback(jack_latency_callback_mode_t mode, void* arg)
{
handlePtr->handleJackLatencyCallback(mode);
}

#ifndef BUILD_BRIDGE
static void carla_jack_client_registration_callback(const char* name, int reg, void* arg)
static void __cdecl carla_jack_client_registration_callback(const char* name, int reg, void* arg)
{
handlePtr->handleJackClientRegistrationCallback(name, (reg != 0));
}

static void carla_jack_port_registration_callback(jack_port_id_t port, int reg, void* arg)
static void __cdecl carla_jack_port_registration_callback(jack_port_id_t port, int reg, void* arg)
{
handlePtr->handleJackPortRegistrationCallback(port, (reg != 0));
}

static void carla_jack_port_connect_callback(jack_port_id_t a, jack_port_id_t b, int connect, void* arg)
static void __cdecl carla_jack_port_connect_callback(jack_port_id_t a, jack_port_id_t b, int connect, void* arg)
{
handlePtr->handleJackPortConnectCallback(a, b, (connect != 0));
}

static int carla_jack_client_rename_callback(const char* oldName, const char* newName, void* arg)
static int __cdecl carla_jack_client_rename_callback(const char* oldName, const char* newName, void* arg)
{
handlePtr->handleJackClientRenameCallback(oldName, newName);
return 0;
}

// NOTE: JACK1 returns void, JACK2 returns int
static int carla_jack_port_rename_callback(jack_port_id_t port, const char* oldName, const char* newName, void* arg)
static int __cdecl carla_jack_port_rename_callback(jack_port_id_t port, const char* oldName, const char* newName, void* arg)
{
handlePtr->handleJackPortRenameCallback(port, oldName, newName);
return 0;
}
#endif

static void carla_jack_shutdown_callback(void* arg)
static void __cdecl carla_jack_shutdown_callback(void* arg)
{
handlePtr->handleJackShutdownCallback();
}
@@ -2128,7 +2133,7 @@ private:
// -------------------------------------------------------------------

#ifndef BUILD_BRIDGE
static int carla_jack_process_callback_plugin(jack_nframes_t nframes, void* arg)
static int __cdecl carla_jack_process_callback_plugin(jack_nframes_t nframes, void* arg)
{
CarlaPlugin* const plugin((CarlaPlugin*)arg);
CARLA_SAFE_ASSERT_RETURN(plugin != nullptr && plugin->isEnabled(), 0);
@@ -2147,12 +2152,12 @@ private:
return 0;
}

static void carla_jack_latency_callback_plugin(jack_latency_callback_mode_t /*mode*/, void* /*arg*/)
static void __cdecl carla_jack_latency_callback_plugin(jack_latency_callback_mode_t /*mode*/, void* /*arg*/)
{
// TODO
}

static void carla_jack_shutdown_callback_plugin(void* arg)
static void __cdecl carla_jack_shutdown_callback_plugin(void* arg)
{
CarlaPlugin* const plugin((CarlaPlugin*)arg);
CARLA_SAFE_ASSERT_RETURN(plugin != nullptr,);


+ 9
- 1
source/jackbridge/JackBridgeExport.hpp View File

@@ -18,6 +18,8 @@

// -----------------------------------------------------------------------------

extern "C" {

typedef void (__cdecl *jackbridgesym_get_version)(int* major_ptr, int* minor_ptr, int* micro_ptr, int* proto_ptr);
typedef const char* (__cdecl *jackbridgesym_get_version_string)(void);
typedef jack_client_t* (__cdecl *jackbridgesym_client_open)(const char* client_name, jack_options_t options, jack_status_t* status);
@@ -116,6 +118,8 @@ typedef void (__cdecl *jackbridgesym_shm_attach)(void* shm, const char* name);
typedef void (__cdecl *jackbridgesym_shm_close)(void* shm);
typedef void* (__cdecl *jackbridgesym_shm_map)(void* shm, size_t size);

} // extern "C"

// -----------------------------------------------------------------------------

struct JackBridgeExportedFunctions {
@@ -222,6 +226,10 @@ struct JackBridgeExportedFunctions {

// -----------------------------------------------------------------------------

typedef const JackBridgeExportedFunctions* (*jackbridge_exported_function_type)();
extern "C" {

typedef const JackBridgeExportedFunctions* (__cdecl *jackbridge_exported_function_type)();

} // extern "C"

// -----------------------------------------------------------------------------

Loading…
Cancel
Save