summaryrefslogtreecommitdiffstats
path: root/src/JackDriver.h
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2006-10-17 07:39:42 +0000
committerDavid Robillard <d@drobilla.net>2006-10-17 07:39:42 +0000
commit50dadd7684f90d3f7c6c982f4a63f2d0c09f296a (patch)
tree94d490a7f53dd1386486873f306eb1cb1b12cd28 /src/JackDriver.h
parent0a02a5a7b832312f98fcfd2f606eee162725398b (diff)
downloadpatchage-50dadd7684f90d3f7c6c982f4a63f2d0c09f296a.tar.gz
patchage-50dadd7684f90d3f7c6c982f4a63f2d0c09f296a.tar.bz2
patchage-50dadd7684f90d3f7c6c982f4a63f2d0c09f296a.zip
Preliminary Jack transport control.
git-svn-id: http://svn.drobilla.net/lad/patchage@187 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/JackDriver.h')
-rw-r--r--src/JackDriver.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/JackDriver.h b/src/JackDriver.h
index ece89d3..01dc49d 100644
--- a/src/JackDriver.h
+++ b/src/JackDriver.h
@@ -53,7 +53,18 @@ public:
bool disconnect(boost::shared_ptr<PatchagePort> src,
boost::shared_ptr<PatchagePort> dst);
+
+ void start_transport() { jack_transport_start(m_client); }
+ void stop_transport() { jack_transport_stop(m_client); }
+
+ void rewind_transport() {
+ jack_position_t zero;
+ zero.frame = 0;
+ zero.valid = (jack_position_bits_t)0;
+ jack_transport_reposition(m_client, &zero);
+ }
+
private:
Patchage* m_app;
@@ -64,11 +75,17 @@ private:
list<string> m_added_ports;
list<string> m_removed_ports;
+ jack_position_t m_last_pos;
+
boost::shared_ptr<PatchagePort> create_port(boost::shared_ptr<PatchageModule> parent,
jack_port_t* port);
+ static void error_cb(const char* msg);
+
void destroy_all_ports();
+ void update_time();
+
static void jack_port_registration_cb(jack_port_id_t port_id, int registered, void* controller);
static int jack_graph_order_cb(void* controller);
static void jack_shutdown_cb(void* controller);