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 "CarlaPatchbayUtils.hpp"
#include "CarlaStringList.hpp" #include "CarlaStringList.hpp"


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

#include "juce_audio_basics.h" #include "juce_audio_basics.h"


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


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

#ifndef __cdecl
# define __cdecl
#endif

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


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


#define handlePtr ((CarlaEngineJack*)arg) #define handlePtr ((CarlaEngineJack*)arg)


static void carla_jack_thread_init_callback(void*)
static void __cdecl carla_jack_thread_init_callback(void*)
{ {
#ifdef __SSE2_MATH__ #ifdef __SSE2_MATH__
// Set FTZ and DAZ flags // Set FTZ and DAZ flags
@@ -2060,65 +2065,65 @@ private:
#endif #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); handlePtr->handleJackBufferSizeCallback(newBufferSize);
return 0; 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); handlePtr->handleJackSampleRateCallback(newSampleRate);
return 0; 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)); 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); handlePtr->handleJackProcessCallback(nframes);
return 0; 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); handlePtr->handleJackLatencyCallback(mode);
} }


#ifndef BUILD_BRIDGE #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)); 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)); 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)); 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); handlePtr->handleJackClientRenameCallback(oldName, newName);
return 0; return 0;
} }


// NOTE: JACK1 returns void, JACK2 returns int // 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); handlePtr->handleJackPortRenameCallback(port, oldName, newName);
return 0; return 0;
} }
#endif #endif


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


#ifndef BUILD_BRIDGE #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); CarlaPlugin* const plugin((CarlaPlugin*)arg);
CARLA_SAFE_ASSERT_RETURN(plugin != nullptr && plugin->isEnabled(), 0); CARLA_SAFE_ASSERT_RETURN(plugin != nullptr && plugin->isEnabled(), 0);
@@ -2147,12 +2152,12 @@ private:
return 0; 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 // 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); CarlaPlugin* const plugin((CarlaPlugin*)arg);
CARLA_SAFE_ASSERT_RETURN(plugin != nullptr,); 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 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 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); 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_close)(void* shm);
typedef void* (__cdecl *jackbridgesym_shm_map)(void* shm, size_t size); typedef void* (__cdecl *jackbridgesym_shm_map)(void* shm, size_t size);


} // extern "C"

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


struct JackBridgeExportedFunctions { 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