20 #ifndef __JACKNETMANAGER_H__
21 #define __JACKNETMANAGER_H__
23 #include "JackNetInterface.h"
31 class JackNetMasterManager;
43 static int SetProcess(jack_nframes_t nframes,
void* arg);
44 static int SetBufferSize(jack_nframes_t nframes,
void* arg);
45 static void SetTimebaseCallback(jack_transport_state_t state, jack_nframes_t nframes,
jack_position_t* pos,
int new_pos,
void* arg);
46 static void SetConnectCallback(jack_port_id_t a, jack_port_id_t b,
int connect,
void* arg);
49 jack_client_t* fClient;
53 jack_port_t** fAudioCapturePorts;
54 jack_port_t** fAudioPlaybackPorts;
55 jack_port_t** fMidiCapturePorts;
56 jack_port_t** fMidiPlaybackPorts;
59 int fLastTransportState;
63 jack_time_t fPeriodUsecs;
67 bool Init(
bool auto_connect);
72 void EncodeTransportData();
73 void DecodeTransportData();
78 void ConnectCallback(jack_port_id_t a, jack_port_id_t b,
int connect);
85 bool IsSlaveReadyToRoll();
88 typedef std::list<JackNetMaster*> master_list_t;
89 typedef master_list_t::iterator master_list_it_t;
101 static void SetShutDown(
void* arg);
102 static int SetSyncCallback(jack_transport_state_t state,
jack_position_t* pos,
void* arg);
103 static void* NetManagerThread(
void* arg);
105 jack_client_t* fClient;
107 char fMulticastIP[32];
109 jack_native_thread_t fThread;
110 master_list_t fMasterList;
117 master_list_it_t FindMaster(uint32_t client_id);
120 int CountIO(
int flags);
Generic monitoring class. Saves data to GnuPlot files ('.plt' and '.log' datafile) ...
This structure containes master/slave connection parameters, it's used to setup the whole system...