Guitarix
gx_jack::GxJack Class Reference

#include <gx_jack.h>

Inheritance diagram for gx_jack::GxJack:

Public Member Functions

jack_nframes_t get_jack_sr ()
 
jack_nframes_t get_jack_bs ()
 
float get_jcpu_load ()
 
bool get_is_rt ()
 
jack_nframes_t get_time_is ()
 
 GxJack (gx_engine::GxEngine &engine_)
 
 ~GxJack ()
 
void set_jack_down (bool v)
 
void set_jack_exit (bool v)
 
void set_jack_insert (bool v)
 
bool gx_jack_connection (bool connect, bool startserver, int wait_after_connect, const gx_system::CmdlineOptions &opt)
 
float get_last_xrun ()
 
void * get_midi_buffer (jack_nframes_t nframes)
 
bool send_midi_cc (int cc_num, int pgm_num, int bgn, int num)
 
void read_connections (gx_system::JsonParser &jp)
 
void write_connections (gx_system::JsonWriter &w)
 
const string & get_instancename ()
 
bool is_jack_down ()
 
bool is_jack_exit ()
 
sigc::signal< void > & signal_client_change ()
 
sigc::signal< void, string, string, bool > & signal_connection_changed ()
 
Glib::Dispatcher & signal_portchange ()
 
Glib::Dispatcher & signal_buffersize_change ()
 
void send_connection_changes (bool v)
 
gx_engine::GxEngineget_engine ()
 

Static Public Member Functions

static string get_default_instancename ()
 
static void rt_watchdog_set_limit (int limit)
 

Public Attributes

JackPorts ports
 
jack_client_t * client
 
jack_client_t * client_insert
 
jack_position_t current
 
jack_transport_state_t transport_state
 
jack_transport_state_t old_transport_state
 
string client_name
 
string client_insert_name
 
Glib::Dispatcher session
 
Glib::Dispatcher session_ins
 
Glib::Dispatcher shutdown
 
Glib::Dispatcher connection
 
bool single_client
 

Private Member Functions

void gx_jack_shutdown_callback ()
 
void cleanup_slot (bool otherthread)
 
void fetch_connection_data ()
 
void report_xrun_clear ()
 
void report_xrun ()
 
void write_jack_port_connections (gx_system::JsonWriter &w, const char *key, const PortConnection &pc, bool replace=false)
 
std::string make_clientvar (const std::string &s)
 
std::string replace_clientvar (const std::string &s)
 
int is_power_of_two (unsigned int x)
 
bool gx_jack_init (bool startserver, int wait_after_connect, const gx_system::CmdlineOptions &opt)
 
void gx_jack_init_port_connection (const gx_system::CmdlineOptions &opt)
 
void gx_jack_callbacks ()
 
void gx_jack_cleanup ()
 
void check_overload ()
 
void process_midi_cc (void *buf, jack_nframes_t nframes)
 

Static Private Member Functions

static int gx_jack_srate_callback (jack_nframes_t, void *arg)
 
static int gx_jack_xrun_callback (void *arg)
 
static int gx_jack_buffersize_callback (jack_nframes_t, void *arg)
 
static int gx_jack_process (jack_nframes_t, void *arg)
 
static int gx_jack_insert_process (jack_nframes_t, void *arg)
 
static void shutdown_callback_client (void *arg)
 
static void shutdown_callback_client_insert (void *arg)
 
static void gx_jack_portreg_callback (jack_port_id_t, int, void *arg)
 
static void gx_jack_portconn_callback (jack_port_id_t a, jack_port_id_t b, int connect, void *arg)
 

Private Attributes

gx_engine::GxEngineengine
 
bool jack_is_down
 
bool jack_is_exit
 
bool bypass_insert
 
MidiCC mmessage
 
PortConnRing connection_queue
 
sigc::signal< void, string, string, bool > connection_changed
 
Glib::Dispatcher buffersize_change
 
Glib::Dispatcher client_change_rt
 
sigc::signal< void > client_change
 
string client_instance
 
jack_nframes_t jack_sr
 
jack_nframes_t jack_bs
 
float * insert_buffer
 
Glib::Dispatcher xrun
 
float last_xrun
 
bool xrun_msg_blocked
 

Detailed Description

Definition at line 145 of file gx_jack.h.

Constructor & Destructor Documentation

◆ GxJack()

gx_jack::GxJack::GxJack ( gx_engine::GxEngine engine_)

◆ ~GxJack()

gx_jack::GxJack::~GxJack ( )

Member Function Documentation

◆ check_overload()

void gx_jack::GxJack::check_overload ( )
inlineprivate

◆ cleanup_slot()

void gx_jack::GxJack::cleanup_slot ( bool  otherthread)
private

◆ fetch_connection_data()

void gx_jack::GxJack::fetch_connection_data ( )
private

◆ get_default_instancename()

static string gx_jack::GxJack::get_default_instancename ( )
static

◆ get_engine()

gx_engine::GxEngine & gx_jack::GxJack::get_engine ( )
inline

Definition at line 251 of file gx_jack.h.

◆ get_instancename()

const string & gx_jack::GxJack::get_instancename ( )
inline

Definition at line 236 of file gx_jack.h.

◆ get_is_rt()

bool gx_jack::GxJack::get_is_rt ( )
inline

Definition at line 216 of file gx_jack.h.

◆ get_jack_bs()

jack_nframes_t gx_jack::GxJack::get_jack_bs ( )
inline

Definition at line 214 of file gx_jack.h.

◆ get_jack_sr()

jack_nframes_t gx_jack::GxJack::get_jack_sr ( )
inline

Definition at line 213 of file gx_jack.h.

◆ get_jcpu_load()

float gx_jack::GxJack::get_jcpu_load ( )
inline

Definition at line 215 of file gx_jack.h.

◆ get_last_xrun()

float gx_jack::GxJack::get_last_xrun ( )
inline

Definition at line 229 of file gx_jack.h.

◆ get_midi_buffer()

void * gx_jack::GxJack::get_midi_buffer ( jack_nframes_t  nframes)

◆ get_time_is()

jack_nframes_t gx_jack::GxJack::get_time_is ( )
inline

Definition at line 217 of file gx_jack.h.

◆ gx_jack_buffersize_callback()

static int gx_jack::GxJack::gx_jack_buffersize_callback ( jack_nframes_t  ,
void *  arg 
)
staticprivate

◆ gx_jack_callbacks()

void gx_jack::GxJack::gx_jack_callbacks ( )
private

◆ gx_jack_cleanup()

void gx_jack::GxJack::gx_jack_cleanup ( )
private

◆ gx_jack_connection()

bool gx_jack::GxJack::gx_jack_connection ( bool  connect,
bool  startserver,
int  wait_after_connect,
const gx_system::CmdlineOptions opt 
)

◆ gx_jack_init()

bool gx_jack::GxJack::gx_jack_init ( bool  startserver,
int  wait_after_connect,
const gx_system::CmdlineOptions opt 
)
private

◆ gx_jack_init_port_connection()

void gx_jack::GxJack::gx_jack_init_port_connection ( const gx_system::CmdlineOptions opt)
private

◆ gx_jack_insert_process()

static int gx_jack::GxJack::gx_jack_insert_process ( jack_nframes_t  ,
void *  arg 
)
staticprivate

◆ gx_jack_portconn_callback()

static void gx_jack::GxJack::gx_jack_portconn_callback ( jack_port_id_t  a,
jack_port_id_t  b,
int  connect,
void *  arg 
)
staticprivate

◆ gx_jack_portreg_callback()

static void gx_jack::GxJack::gx_jack_portreg_callback ( jack_port_id_t  ,
int  ,
void *  arg 
)
staticprivate

◆ gx_jack_process()

static int gx_jack::GxJack::gx_jack_process ( jack_nframes_t  ,
void *  arg 
)
staticprivate

◆ gx_jack_shutdown_callback()

void gx_jack::GxJack::gx_jack_shutdown_callback ( )
private

◆ gx_jack_srate_callback()

static int gx_jack::GxJack::gx_jack_srate_callback ( jack_nframes_t  ,
void *  arg 
)
staticprivate

◆ gx_jack_xrun_callback()

static int gx_jack::GxJack::gx_jack_xrun_callback ( void *  arg)
staticprivate

◆ is_jack_down()

bool gx_jack::GxJack::is_jack_down ( )
inline

Definition at line 242 of file gx_jack.h.

◆ is_jack_exit()

bool gx_jack::GxJack::is_jack_exit ( )
inline

Definition at line 244 of file gx_jack.h.

◆ is_power_of_two()

int gx_jack::GxJack::is_power_of_two ( unsigned int  x)
private

◆ make_clientvar()

std::string gx_jack::GxJack::make_clientvar ( const std::string &  s)
private

◆ process_midi_cc()

void gx_jack::GxJack::process_midi_cc ( void *  buf,
jack_nframes_t  nframes 
)
private

◆ read_connections()

void gx_jack::GxJack::read_connections ( gx_system::JsonParser jp)

◆ replace_clientvar()

std::string gx_jack::GxJack::replace_clientvar ( const std::string &  s)
private

◆ report_xrun()

void gx_jack::GxJack::report_xrun ( )
private

◆ report_xrun_clear()

void gx_jack::GxJack::report_xrun_clear ( )
private

◆ rt_watchdog_set_limit()

static void gx_jack::GxJack::rt_watchdog_set_limit ( int  limit)
static

◆ send_connection_changes()

void gx_jack::GxJack::send_connection_changes ( bool  v)
inline

Definition at line 249 of file gx_jack.h.

◆ send_midi_cc()

bool gx_jack::GxJack::send_midi_cc ( int  cc_num,
int  pgm_num,
int  bgn,
int  num 
)
inline

Definition at line 266 of file gx_jack.h.

◆ set_jack_down()

void gx_jack::GxJack::set_jack_down ( bool  v)
inline

Definition at line 223 of file gx_jack.h.

◆ set_jack_exit()

void gx_jack::GxJack::set_jack_exit ( bool  v)
inline

Definition at line 224 of file gx_jack.h.

◆ set_jack_insert()

void gx_jack::GxJack::set_jack_insert ( bool  v)
inline

Definition at line 226 of file gx_jack.h.

◆ shutdown_callback_client()

static void gx_jack::GxJack::shutdown_callback_client ( void *  arg)
staticprivate

◆ shutdown_callback_client_insert()

static void gx_jack::GxJack::shutdown_callback_client_insert ( void *  arg)
staticprivate

◆ signal_buffersize_change()

Glib::Dispatcher & gx_jack::GxJack::signal_buffersize_change ( )
inline

Definition at line 248 of file gx_jack.h.

◆ signal_client_change()

sigc::signal< void > & gx_jack::GxJack::signal_client_change ( )
inline

Definition at line 245 of file gx_jack.h.

◆ signal_connection_changed()

sigc::signal< void, string, string, bool > & gx_jack::GxJack::signal_connection_changed ( )
inline

Definition at line 246 of file gx_jack.h.

◆ signal_portchange()

Glib::Dispatcher & gx_jack::GxJack::signal_portchange ( )
inline

Definition at line 247 of file gx_jack.h.

◆ write_connections()

void gx_jack::GxJack::write_connections ( gx_system::JsonWriter w)

◆ write_jack_port_connections()

void gx_jack::GxJack::write_jack_port_connections ( gx_system::JsonWriter w,
const char *  key,
const PortConnection pc,
bool  replace = false 
)
private

Member Data Documentation

◆ buffersize_change

Glib::Dispatcher gx_jack::GxJack::buffersize_change
private

Definition at line 177 of file gx_jack.h.

Referenced by signal_buffersize_change().

◆ bypass_insert

bool gx_jack::GxJack::bypass_insert
private

Definition at line 150 of file gx_jack.h.

Referenced by set_jack_insert().

◆ client

jack_client_t* gx_jack::GxJack::client

Definition at line 206 of file gx_jack.h.

Referenced by get_is_rt(), get_jcpu_load(), get_time_is(), and send_midi_cc().

◆ client_change

sigc::signal<void> gx_jack::GxJack::client_change
private

Definition at line 180 of file gx_jack.h.

Referenced by signal_client_change().

◆ client_change_rt

Glib::Dispatcher gx_jack::GxJack::client_change_rt
private

Definition at line 179 of file gx_jack.h.

◆ client_insert

jack_client_t* gx_jack::GxJack::client_insert

Definition at line 207 of file gx_jack.h.

◆ client_insert_name

string gx_jack::GxJack::client_insert_name

Definition at line 238 of file gx_jack.h.

◆ client_instance

string gx_jack::GxJack::client_instance
private

Definition at line 181 of file gx_jack.h.

Referenced by get_instancename().

◆ client_name

string gx_jack::GxJack::client_name

Definition at line 237 of file gx_jack.h.

◆ connection

Glib::Dispatcher gx_jack::GxJack::connection

Definition at line 243 of file gx_jack.h.

◆ connection_changed

sigc::signal<void,string,string,bool> gx_jack::GxJack::connection_changed
private

Definition at line 176 of file gx_jack.h.

Referenced by signal_connection_changed().

◆ connection_queue

PortConnRing gx_jack::GxJack::connection_queue
private

Definition at line 175 of file gx_jack.h.

Referenced by send_connection_changes(), and signal_portchange().

◆ current

jack_position_t gx_jack::GxJack::current

Definition at line 209 of file gx_jack.h.

◆ engine

gx_engine::GxEngine& gx_jack::GxJack::engine
private

Definition at line 147 of file gx_jack.h.

Referenced by get_engine().

◆ insert_buffer

float* gx_jack::GxJack::insert_buffer
private

Definition at line 184 of file gx_jack.h.

◆ jack_bs

jack_nframes_t gx_jack::GxJack::jack_bs
private

Definition at line 183 of file gx_jack.h.

Referenced by get_jack_bs().

◆ jack_is_down

bool gx_jack::GxJack::jack_is_down
private

Definition at line 148 of file gx_jack.h.

Referenced by is_jack_down(), and set_jack_down().

◆ jack_is_exit

bool gx_jack::GxJack::jack_is_exit
private

Definition at line 149 of file gx_jack.h.

Referenced by is_jack_exit(), and set_jack_exit().

◆ jack_sr

jack_nframes_t gx_jack::GxJack::jack_sr
private

Definition at line 182 of file gx_jack.h.

Referenced by get_jack_sr().

◆ last_xrun

float gx_jack::GxJack::last_xrun
private

Definition at line 186 of file gx_jack.h.

Referenced by get_last_xrun().

◆ mmessage

MidiCC gx_jack::GxJack::mmessage
private

Definition at line 151 of file gx_jack.h.

Referenced by send_midi_cc().

◆ old_transport_state

jack_transport_state_t gx_jack::GxJack::old_transport_state

Definition at line 211 of file gx_jack.h.

◆ ports

JackPorts gx_jack::GxJack::ports

Definition at line 204 of file gx_jack.h.

◆ session

Glib::Dispatcher gx_jack::GxJack::session

Definition at line 239 of file gx_jack.h.

◆ session_ins

Glib::Dispatcher gx_jack::GxJack::session_ins

Definition at line 240 of file gx_jack.h.

◆ shutdown

Glib::Dispatcher gx_jack::GxJack::shutdown

Definition at line 241 of file gx_jack.h.

◆ single_client

bool gx_jack::GxJack::single_client

Definition at line 252 of file gx_jack.h.

◆ transport_state

jack_transport_state_t gx_jack::GxJack::transport_state

Definition at line 210 of file gx_jack.h.

◆ xrun

Glib::Dispatcher gx_jack::GxJack::xrun
private

Definition at line 185 of file gx_jack.h.

◆ xrun_msg_blocked

bool gx_jack::GxJack::xrun_msg_blocked
private

Definition at line 187 of file gx_jack.h.


The documentation for this class was generated from the following file: