Guitarix
Loading...
Searching...
No Matches
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

GxRtCheck rtc
bool IS_RT
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 168 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()

string gx_jack::GxJack::get_default_instancename ( )
static

◆ get_engine()

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

Definition at line 276 of file gx_jack.h.

◆ get_instancename()

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

Definition at line 261 of file gx_jack.h.

◆ get_is_rt()

bool gx_jack::GxJack::get_is_rt ( )
inline

Definition at line 241 of file gx_jack.h.

◆ get_jack_bs()

jack_nframes_t gx_jack::GxJack::get_jack_bs ( )
inline

Definition at line 239 of file gx_jack.h.

◆ get_jack_sr()

jack_nframes_t gx_jack::GxJack::get_jack_sr ( )
inline

Definition at line 238 of file gx_jack.h.

◆ get_jcpu_load()

float gx_jack::GxJack::get_jcpu_load ( )
inline

Definition at line 240 of file gx_jack.h.

◆ get_last_xrun()

float gx_jack::GxJack::get_last_xrun ( )
inline

Definition at line 254 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 242 of file gx_jack.h.

◆ gx_jack_buffersize_callback()

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()

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

◆ gx_jack_portconn_callback()

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()

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

◆ gx_jack_process()

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()

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

◆ gx_jack_xrun_callback()

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 267 of file gx_jack.h.

◆ is_jack_exit()

bool gx_jack::GxJack::is_jack_exit ( )
inline

Definition at line 269 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()

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 274 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 291 of file gx_jack.h.

◆ set_jack_down()

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

Definition at line 248 of file gx_jack.h.

◆ set_jack_exit()

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

Definition at line 249 of file gx_jack.h.

◆ set_jack_insert()

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

Definition at line 251 of file gx_jack.h.

◆ shutdown_callback_client()

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

◆ shutdown_callback_client_insert()

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 273 of file gx_jack.h.

◆ signal_client_change()

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

Definition at line 270 of file gx_jack.h.

◆ signal_connection_changed()

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

Definition at line 271 of file gx_jack.h.

◆ signal_portchange()

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

Definition at line 272 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 202 of file gx_jack.h.

Referenced by signal_buffersize_change().

◆ bypass_insert

bool gx_jack::GxJack::bypass_insert
private

Definition at line 175 of file gx_jack.h.

Referenced by set_jack_insert().

◆ client

jack_client_t* gx_jack::GxJack::client

Definition at line 231 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 205 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 204 of file gx_jack.h.

◆ client_insert

jack_client_t* gx_jack::GxJack::client_insert

Definition at line 232 of file gx_jack.h.

◆ client_insert_name

string gx_jack::GxJack::client_insert_name

Definition at line 263 of file gx_jack.h.

◆ client_instance

string gx_jack::GxJack::client_instance
private

Definition at line 206 of file gx_jack.h.

Referenced by get_instancename().

◆ client_name

string gx_jack::GxJack::client_name

Definition at line 262 of file gx_jack.h.

◆ connection

Glib::Dispatcher gx_jack::GxJack::connection

Definition at line 268 of file gx_jack.h.

◆ connection_changed

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

Definition at line 201 of file gx_jack.h.

Referenced by signal_connection_changed().

◆ connection_queue

PortConnRing gx_jack::GxJack::connection_queue
private

Definition at line 200 of file gx_jack.h.

Referenced by send_connection_changes(), and signal_portchange().

◆ current

jack_position_t gx_jack::GxJack::current

Definition at line 234 of file gx_jack.h.

◆ engine

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

Definition at line 172 of file gx_jack.h.

Referenced by get_engine().

◆ insert_buffer

float* gx_jack::GxJack::insert_buffer
private

Definition at line 209 of file gx_jack.h.

◆ IS_RT

bool gx_jack::GxJack::IS_RT
private

Definition at line 171 of file gx_jack.h.

Referenced by get_is_rt().

◆ jack_bs

jack_nframes_t gx_jack::GxJack::jack_bs
private

Definition at line 208 of file gx_jack.h.

Referenced by get_jack_bs().

◆ jack_is_down

bool gx_jack::GxJack::jack_is_down
private

Definition at line 173 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 174 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 207 of file gx_jack.h.

Referenced by get_jack_sr().

◆ last_xrun

float gx_jack::GxJack::last_xrun
private

Definition at line 211 of file gx_jack.h.

Referenced by get_last_xrun().

◆ mmessage

MidiCC gx_jack::GxJack::mmessage
private

Definition at line 176 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 236 of file gx_jack.h.

◆ ports

JackPorts gx_jack::GxJack::ports

Definition at line 229 of file gx_jack.h.

◆ rtc

GxRtCheck gx_jack::GxJack::rtc
private

Definition at line 170 of file gx_jack.h.

◆ session

Glib::Dispatcher gx_jack::GxJack::session

Definition at line 264 of file gx_jack.h.

◆ session_ins

Glib::Dispatcher gx_jack::GxJack::session_ins

Definition at line 265 of file gx_jack.h.

◆ shutdown

Glib::Dispatcher gx_jack::GxJack::shutdown

Definition at line 266 of file gx_jack.h.

◆ single_client

bool gx_jack::GxJack::single_client

Definition at line 277 of file gx_jack.h.

◆ transport_state

jack_transport_state_t gx_jack::GxJack::transport_state

Definition at line 235 of file gx_jack.h.

◆ xrun

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

Definition at line 210 of file gx_jack.h.

◆ xrun_msg_blocked

bool gx_jack::GxJack::xrun_msg_blocked
private

Definition at line 212 of file gx_jack.h.


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