/usr/include/CLAM/JACKNetworkPlayer.hxx is in libclam-dev 1.4.0-5build1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 | #ifndef JACKNetworkPlayer_hxx
#define JACKNetworkPlayer_hxx
#include <iostream>
#include <string>
#include <vector>
#include "NetworkPlayer.hxx"
#include "Network.hxx"
#include <jack/jack.h>
namespace CLAM
{
class JACKNetworkPlayer : public NetworkPlayer
{
private:
typedef std::vector<jack_port_t*> JackPorts;
const char * PortName(jack_port_t * port)
{
return jack_port_name(port);
}
/** Memento to restore jack connection status */
struct JackConnection
{
std::string processingName;
const char ** outsideConnections;
};
typedef std::list<JackConnection> JackConnections;
private:
int _jackSampleRate;
int _jackBufferSize;
bool _autoConnect;
JackPorts _sourceJackPorts;
JackPorts _sinkJackPorts;
JackConnections _incomingJackConnections;
JackConnections _outgoingJackConnections;
std::string _jackOutPortAutoConnectList;
std::string _jackInPortAutoConnectList;
//JACK CODE
jack_client_t * _jackClient;
std::string _jackClientName;
public:
JACKNetworkPlayer(const std::string & name="CLAM network player");
virtual ~JACKNetworkPlayer();
void InitClient();
bool IsWorking();
virtual bool IsRealTime() const { return true; }
std::string NonWorkingReason();
//JACK sever (un)registration methods
void RegisterPorts();
void RegisterInputPorts(const Network& net);
void RegisterOutputPorts(const Network& net);
void UnRegisterPorts();
void OnShutdown();
//Buffer copying methods
void CopyJackBuffersToSources(const jack_nframes_t nframes);
void CopySinksToJackBuffers(const jack_nframes_t nframes);
void BlankJackBuffers(const jack_nframes_t nframes);
virtual void Start();
virtual void Stop();
virtual void Init();
virtual unsigned BackendBufferSize()
{
return _jackBufferSize;
}
virtual unsigned BackendSampleRate() { return _jackSampleRate; }
void Do(const jack_nframes_t nframes);
//Saves/loads the connections made to our local in/out jack ports
void StoreConnections();
void RestoreConnections();
void AutoConnectPorts();
};
} //namespace CLAM
#endif
|