make timecode offset work
authorRobin Gareus <robin@gareus.org>
Fri, 9 Nov 2012 17:27:30 +0000 (17:27 +0000)
committerRobin Gareus <robin@gareus.org>
Fri, 9 Nov 2012 17:27:30 +0000 (17:27 +0000)
git-svn-id: svn://localhost/ardour2/branches/3.0@13418 d708f5d6-7413-0410-9779-e7cbd77b26cf

gtk2_ardour/option_editor.cc
gtk2_ardour/option_editor.h
libs/ardour/ltc_slave.cc
libs/ardour/mtc_slave.cc

index a6fcc734c54565e99c33e45aa82e1728b5a827a5..3c3f5baab64e48a3ebc1267ba394e6fabec8c6b6 100644 (file)
@@ -293,12 +293,19 @@ ClockOption::ClockOption (string const & i, string const & n, sigc::slot<framecn
        _label.set_text (n + ":");
        _label.set_alignment (0, 0.5);
        _label.set_name (X_("OptionsLabel"));
+       _clock.ValueChanged.connect (sigc::mem_fun (*this, &ClockOption::save_clock_time));
 }
 
 void
 ClockOption::set_state_from_config ()
 {
-       _clock.set (_get ());
+       _clock.set (_get (), true);
+}
+
+void
+ClockOption::save_clock_time ()
+{
+       _set (_clock.current_time());
 }
 
 void
index 07c11ac8b457d36a96624665baecfef3c62bb61c..68ffe1f969ed91d8462a279ffb308553b96974d6 100644 (file)
@@ -543,6 +543,7 @@ public:
         Gtk::Widget& tip_widget() { return _clock; }
 
 private:
+       void save_clock_time ();
        Gtk::Label _label;
        AudioClock _clock;
        sigc::slot<ARDOUR::framecnt_t> _get;
index f28770b175fd7c3ad26174f22703f61d2e510ead..db3c8c372146bb983cd66c9cbf2a6c0672caac48 100644 (file)
@@ -331,7 +331,7 @@ LTC_Slave::process_ltc(framepos_t const now)
 
                /* map LTC timecode to session TC setting */
                framepos_t ltc_frame; ///< audio-frame corresponding to LTC frame
-               Timecode::timecode_to_sample (timecode, ltc_frame, true, false,
+               Timecode::timecode_to_sample (timecode, ltc_frame, false, false,
                        double(session.frame_rate()),
                        session.config.get_subframes_per_frame(),
                        session.config.get_timecode_offset_negative(), session.config.get_timecode_offset()
index d7ec6eb24eddec14a773d2b739ac6087448b5732..d5c14111b540fb04c7ddb1de21cd9eeb5fe0ab96 100644 (file)
@@ -387,7 +387,7 @@ MTC_Slave::update_mtc_time (const byte *msg, bool was_full, framepos_t now)
 
        quarter_frame_duration = (double(session.frame_rate()) / (double) timecode.rate / 4.0);
 
-       Timecode::timecode_to_sample (timecode, mtc_frame, true, false,
+       Timecode::timecode_to_sample (timecode, mtc_frame, false, false,
                double(session.frame_rate()),
                session.config.get_subframes_per_frame(),
                session.config.get_timecode_offset_negative(), session.config.get_timecode_offset()