#include <glibmm/miscutils.h>
-#include <jack/jack.h>
-#include <jack/transport.h>
-
#include "pbd/localtime_r.h"
#include "ardour/audioengine.h"
}
}
- /* this won't be called if the port engine in use is not JACK, so we do
+ /* this won't be called if the port engine in use is not JACK, so we do
not have to worry about the type of PortEngine::private_handle()
*/
jack_client_t* jack_client = (jack_client_t*) AudioEngine::instance()->port_engine().private_handle();
-
+
if (jack_client) {
jack_session_reply (jack_client, event);
}
{
Timecode::BBT_Time bbt;
TempoMap& tempo_map (_session->tempo_map());
- framepos_t tf = _session->transport_frame ();
+ samplepos_t tf = _session->transport_sample ();
/* BBT info */
TempoMetric metric (tempo_map.metric_at (tf));
-
+
try {
- tempo_map.bbt_time_rt (tf, bbt);
-
+ bbt = tempo_map.bbt_at_sample (tf);
+
pos->bar = bbt.bars;
pos->beat = bbt.beats;
pos->tick = bbt.ticks;
-
+
// XXX still need to set bar_start_tick
-
+
pos->beats_per_bar = metric.meter().divisions_per_bar();
pos->beat_type = metric.meter().note_divisor();
pos->ticks_per_beat = Timecode::BBT_Time::ticks_per_beat;
- pos->beats_per_minute = metric.tempo().beats_per_minute();
-
+ pos->beats_per_minute = metric.tempo().note_types_per_minute();
+
pos->valid = jack_position_bits_t (pos->valid | JackPositionBBT);
-
+
} catch (...) {
/* no message */
}
#ifdef HAVE_JACK_VIDEO_SUPPORT
//poke audio video ratio so Ardour can track Video Sync
- pos->audio_frames_per_video_frame = _session->frame_rate() / _session->timecode_frames_per_second();
+ pos->audio_frames_per_video_frame = _session->sample_rate() / _session->timecode_frames_per_second();
pos->valid = jack_position_bits_t (pos->valid | JackAudioVideoRatio);
#endif