#include <glibmm/threads.h>
#include <jack/jack.h>
+#include <ltc.h>
#include "pbd/signals.h"
#include "timecode/time.h"
-#include "ltc/ltc.h"
#include "ardour/types.h"
#include "midi++/parser.h"
Slave() { }
virtual ~Slave() {}
- /** The slave should read any incoming information in this method
- * and use it adjust its current idea of reality. If no such
- * processing is required, it does need to be implemented.
- *
- * @param nframes specifies the number of frames-worth of data that
- * can be read from any ports used by the slave.
- */
- virtual int process (pframes_t) { return 0; }
-
/**
* This is the most important function to implement:
* Each process cycle, Session::follow_slave will call this method.
~MTC_Slave ();
void rebind (MidiPort&);
- int process (pframes_t);
bool speed_and_position (double&, framepos_t&);
bool locked() const;
private:
Session& session;
MidiPort* port;
- MIDI::Parser parser;
PBD::ScopedConnectionList port_connections;
PBD::ScopedConnection config_connection;
bool can_notify_on_unknown_rate;
~MIDIClock_Slave ();
void rebind (MidiPort&);
- int process (pframes_t);
bool speed_and_position (double&, framepos_t&);
bool locked() const;
protected:
ISlaveSessionProxy* session;
- MidiPort* port;
- MIDI::Parser parser;
PBD::ScopedConnectionList port_connections;
/// pulses per quarter note for one MIDI clock frame (default 24)
bool _starting;
};
-class JACK_Slave : public Slave
+class Engine_Slave : public Slave
{
public:
- JACK_Slave (AudioEngine&);
- ~JACK_Slave ();
+ Engine_Slave (AudioEngine&);
+ ~Engine_Slave ();
bool speed_and_position (double& speed, framepos_t& pos);