summaryrefslogtreecommitdiff
path: root/libs/ardour/session_time.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libs/ardour/session_time.cc')
-rw-r--r--libs/ardour/session_time.cc50
1 files changed, 15 insertions, 35 deletions
diff --git a/libs/ardour/session_time.cc b/libs/ardour/session_time.cc
index 69138f1c8b..e8fbbdbc4e 100644
--- a/libs/ardour/session_time.cc
+++ b/libs/ardour/session_time.cc
@@ -51,17 +51,17 @@ Session::bbt_time (jack_nframes_t when, BBT_Time& bbt)
void
Session::sync_time_vars ()
{
- _current_frame_rate = (jack_nframes_t) round (_base_frame_rate * (1.0 + (video_pullup/100.0)));
+ _current_frame_rate = (jack_nframes_t) round (_base_frame_rate * (1.0 + (Config->get_video_pullup()/100.0)));
_frames_per_hour = _current_frame_rate * 3600;
- _frames_per_smpte_frame = (double) _current_frame_rate / (double) smpte_frames_per_second;
- _smpte_frames_per_hour = (unsigned long) (smpte_frames_per_second * 3600.0);
+ _frames_per_smpte_frame = (double) _current_frame_rate / (double) Config->get_smpte_frames_per_second();
+ _smpte_frames_per_hour = (unsigned long) (Config->get_smpte_frames_per_second() * 3600.0);
}
int
Session::set_smpte_type (float fps, bool drop_frames)
{
- smpte_frames_per_second = fps;
- smpte_drop_frames = drop_frames;
+ Config->set_smpte_frames_per_second (fps);
+ Config->set_smpte_drop_frames (drop_frames);
last_smpte_valid = false;
// smpte type bits are the middle two in the upper nibble
@@ -84,26 +84,6 @@ Session::set_smpte_type (float fps, bool drop_frames)
break;
};
- sync_time_vars();
-
- SMPTETypeChanged (); /* EMIT SIGNAL */
-
- set_dirty();
-
- return 0;
-}
-
-int
-Session::set_video_pullup (float pull)
-{
- video_pullup = pull;
-
- sync_time_vars();
-
- PullupChanged (); /* EMIT SIGNAL */
-
- set_dirty();
-
return 0;
}
@@ -128,7 +108,7 @@ Session::set_smpte_offset_negative (bool neg)
void
Session::smpte_to_sample( SMPTE::Time& smpte, jack_nframes_t& sample, bool use_offset, bool use_subframes ) const
{
- if (smpte_drop_frames) {
+ if (Config->get_smpte_drop_frames()) {
// The drop frame format was created to better approximate the 30000/1001 = 29.97002997002997....
// framerate of NTSC color TV. The used frame rate of drop frame is 29.97, which drifts by about
// 0.108 frame per hour, or about 1.3 frames per 12 hours. This is not perfect, but a lot better
@@ -255,7 +235,7 @@ Session::sample_to_smpte( jack_nframes_t sample, SMPTE::Time& smpte, bool use_of
// Extract hour-exceeding frames for minute, second and frame calculations
smpte_frames_left = ((long) floor( smpte_frames_left_exact ));
- if (smpte_drop_frames) {
+ if (Config->get_smpte_drop_frames()) {
// See long explanation in smpte_to_sample()...
// Number of 10 minute chunks
@@ -291,10 +271,10 @@ Session::sample_to_smpte( jack_nframes_t sample, SMPTE::Time& smpte, bool use_of
}
} else {
// Non drop is easy
- smpte.minutes = smpte_frames_left / ((long) smpte_frames_per_second * 60);
- smpte_frames_left = smpte_frames_left % ((long) smpte_frames_per_second * 60);
- smpte.seconds = smpte_frames_left / (long) smpte_frames_per_second;
- smpte.frames = smpte_frames_left % (long) smpte_frames_per_second;
+ smpte.minutes = smpte_frames_left / ((long) Config->get_smpte_frames_per_second () * 60);
+ smpte_frames_left = smpte_frames_left % ((long) Config->get_smpte_frames_per_second () * 60);
+ smpte.seconds = smpte_frames_left / (long) Config->get_smpte_frames_per_second ();
+ smpte.frames = smpte_frames_left % (long) Config->get_smpte_frames_per_second ();
}
if (!use_subframes) {
@@ -430,7 +410,7 @@ Session::jack_timebase_callback (jack_transport_state_t state,
#ifdef HAVE_JACK_VIDEO_SUPPORT
//poke audio video ratio so Ardour can track Video Sync
- pos->audio_frames_per_video_frame = frame_rate() / smpte_frames_per_second;
+ pos->audio_frames_per_video_frame = frame_rate() / Config->get_smpte_frames_per_second ();
pos->valid = jack_position_bits_t (pos->valid | JackAudioVideoRatio);
#endif
@@ -438,11 +418,11 @@ Session::jack_timebase_callback (jack_transport_state_t state,
/* SMPTE info */
t.smpte_offset = _smpte_offset;
- t.smpte_frame_rate = smpte_frames_per_second;
+ t.smpte_frame_rate = Config->get_smpte_frames_per_second ();
if (_transport_speed) {
- if (auto_loop) {
+ if (play_loop) {
Location* location = _locations.auto_loop_location();
@@ -489,7 +469,7 @@ Session::convert_to_frames_at (jack_nframes_t position, AnyTime& any)
secs = any.smpte.hours * 60 * 60;
secs += any.smpte.minutes * 60;
secs += any.smpte.seconds;
- secs += any.smpte.frames / smpte_frames_per_second;
+ secs += any.smpte.frames / Config->get_smpte_frames_per_second ();
if (_smpte_offset_negative)
{
return (jack_nframes_t) floor (secs * frame_rate()) - _smpte_offset;