Fixes for IO port adding/removing
[ardour.git] / libs / ardour / audioengine.cc
index fe29037cb737725c035db5d4350f8653b9bc08c6..ddb835c78f9539cc5480a91f354ecab5a08899e4 100644 (file)
@@ -163,18 +163,32 @@ AudioEngine::stop ()
 }
 
 
+       
+bool
+AudioEngine::get_sync_offset (jack_nframes_t& offset) const
+{
+       jack_position_t pos;
+       
+       (void) jack_transport_query (_jack, &pos);
+
+       if (pos.valid & JackVideoFrameOffset) {
+               offset = pos.video_offset;
+               return true;
+       }
+
+       return false;
+}
+
 void
 AudioEngine::_jack_timebase_callback (jack_transport_state_t state, jack_nframes_t nframes,
-
-                                                                         jack_position_t* pos, int new_position, void *arg)
+                                     jack_position_t* pos, int new_position, void *arg)
 {
        static_cast<AudioEngine*> (arg)->jack_timebase_callback (state, nframes, pos, new_position);
 }
 
 void
 AudioEngine::jack_timebase_callback (jack_transport_state_t state, jack_nframes_t nframes,
-
-                                                                        jack_position_t* pos, int new_position)
+                                    jack_position_t* pos, int new_position)
 {
        if (session && session->synced_to_jack()) {
                session->jack_timebase_callback (state, nframes, pos, new_position);
@@ -1052,7 +1066,7 @@ AudioEngine::reconnect_to_jack ()
                (*i)->reset ();
 
                if ((*i)->flags() & JackPortIsOutput) {
-                       (*i)->silence (jack_get_buffer_size (_jack), 0);
+                       (*i)->get_buffer().silence (jack_get_buffer_size (_jack), 0);
                }
        }