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);
48 jack_client_t* fJackClient;
49 const char* fClientName;
52 jack_port_t** fAudioCapturePorts;
53 jack_port_t** fAudioPlaybackPorts;
54 jack_port_t** fMidiCapturePorts;
55 jack_port_t** fMidiPlaybackPorts;
58 int fLastTransportState;
62 jack_time_t fPeriodUsecs;
66 bool Init(
bool auto_connect);
71 void EncodeTransportData();
72 void DecodeTransportData();
83 bool IsSlaveReadyToRoll();
86 typedef std::list<JackNetMaster*> master_list_t;
87 typedef master_list_t::iterator master_list_it_t;
99 static int SetSyncCallback(jack_transport_state_t state,
jack_position_t* pos,
void* arg);
100 static void* NetManagerThread(
void* arg);
102 jack_client_t* fManagerClient;
103 const char* fManagerName;
104 char fMulticastIP[32];
106 jack_native_thread_t fManagerThread;
107 master_list_t fMasterList;
114 master_list_it_t FindMaster(uint32_t client_id);
117 int CountIO(
int flags);