Remove unused timecode offset stuff.
authorCarl Hetherington <carl@carlh.net>
Wed, 1 Dec 2010 17:42:18 +0000 (17:42 +0000)
committerCarl Hetherington <carl@carlh.net>
Wed, 1 Dec 2010 17:42:18 +0000 (17:42 +0000)
git-svn-id: svn://localhost/ardour2/branches/3.0@8143 d708f5d6-7413-0410-9779-e7cbd77b26cf

14 files changed:
gtk2_ardour/audio_clock.cc
gtk2_ardour/audio_clock.h
gtk2_ardour/editor.cc
gtk2_ardour/editor_rulers.cc
libs/ardour/ardour/session.h
libs/ardour/audio_region_importer.cc
libs/ardour/location_importer.cc
libs/ardour/mtc_slave.cc
libs/ardour/session.cc
libs/ardour/session_midi.cc
libs/ardour/session_state.cc
libs/ardour/session_time.cc
libs/surfaces/control_protocol/basic_ui.cc
libs/surfaces/control_protocol/control_protocol/basic_ui.h

index d80e7e5b306a273fab2adb99df22ff93b62d3cc1..90cab4ec9fc74afb95f1092c53665b56dd9848db 100644 (file)
@@ -216,8 +216,6 @@ AudioClock::AudioClock (const string& clock_name, bool transient, const string&
        clock_base.add_events (Gdk::BUTTON_PRESS_MASK|Gdk::BUTTON_RELEASE_MASK|Gdk::SCROLL_MASK);
        clock_base.signal_button_release_event().connect (sigc::bind (sigc::mem_fun (*this, &AudioClock::field_button_release_event), Timecode_Hours));
 
-       Session::TimecodeOffsetChanged.connect (_session_connections, invalidator (*this), boost::bind (&AudioClock::timecode_offset_changed, this), gui_context());
-
        if (editable) {
                setup_events ();
        }
@@ -474,25 +472,6 @@ AudioClock::set (nframes_t when, bool force, nframes_t offset, char which)
        last_when = when;
 }
 
-void
-AudioClock::timecode_offset_changed ()
-{
-       nframes_t current;
-
-       switch (_mode) {
-       case Timecode:
-               if (is_duration) {
-                       current = current_duration();
-               } else {
-                       current = current_time ();
-               }
-               set (current, true);
-               break;
-       default:
-               break;
-       }
-}
-
 void
 AudioClock::set_frames (nframes_t when, bool /*force*/)
 {
@@ -1503,7 +1482,7 @@ AudioClock::timecode_frame_from_display () const
        timecode.rate = _session->timecode_frames_per_second();
        timecode.drop= _session->timecode_drop_frames();
 
-       _session->timecode_to_sample( timecode, sample, false /* use_offset */, false /* use_subframes */ );
+       _session->timecode_to_sample (timecode, sample, false /* use_subframes */);
 
 
 #if 0
index 915dbd79de598b1d409efb692aa2bdecaddd35c7..f382009b875f807cb3645fe0aa8688a86ea16d2a 100644 (file)
@@ -212,7 +212,6 @@ class AudioClock : public Gtk::HBox, public ARDOUR::SessionHandlePtr
        void build_ops_menu ();
        void setup_events ();
 
-       void timecode_offset_changed ();
        void set_size_requests ();
 
        static const uint32_t field_length[(int)AudioFrames+1];
index 63d580c054004c26b94f81fb333e2337b9d81d40..73ed8e6a5dbb936399771a0840a2930426513088 100644 (file)
@@ -1090,7 +1090,6 @@ Editor::set_session (Session *t)
        _session->PositionChanged.connect (_session_connections, invalidator (*this), ui_bind (&Editor::map_position_change, this, _1), gui_context());
        _session->RouteAdded.connect (_session_connections, invalidator (*this), ui_bind (&Editor::handle_new_route, this, _1), gui_context());
        _session->DirtyChanged.connect (_session_connections, invalidator (*this), boost::bind (&Editor::update_title, this), gui_context());
-       _session->TimecodeOffsetChanged.connect (_session_connections, invalidator (*this), boost::bind (&Editor::update_just_timecode, this), gui_context());
        _session->tempo_map().PropertyChanged.connect (_session_connections, invalidator (*this), ui_bind (&Editor::tempo_map_changed, this, _1), gui_context());
        _session->Located.connect (_session_connections, invalidator (*this), boost::bind (&Editor::located, this), gui_context());
        _session->config.ParameterChanged.connect (_session_connections, invalidator (*this), ui_bind (&Editor::parameter_changed, this, _1), gui_context());
@@ -2429,44 +2428,19 @@ Editor::timecode_snap_to_internal (framepos_t& start, int32_t direction, bool /*
                break;
 
        case SnapToTimecodeSeconds:
-               if (_session->timecode_offset_negative())
-               {
-                       start += _session->timecode_offset ();
-               } else {
-                       start -= _session->timecode_offset ();
-               }
                if (((direction == 0) && (start % one_timecode_second > one_timecode_second / 2)) || direction > 0) {
                        start = (framepos_t) ceil ((double) start / one_timecode_second) * one_timecode_second;
                } else {
                        start = (framepos_t) floor ((double) start / one_timecode_second) * one_timecode_second;
                }
-
-               if (_session->timecode_offset_negative())
-               {
-                       start -= _session->timecode_offset ();
-               } else {
-                       start += _session->timecode_offset ();
-               }
                break;
 
        case SnapToTimecodeMinutes:
-               if (_session->timecode_offset_negative())
-               {
-                       start += _session->timecode_offset ();
-               } else {
-                       start -= _session->timecode_offset ();
-               }
                if (((direction == 0) && (start % one_timecode_minute > one_timecode_minute / 2)) || direction > 0) {
                        start = (framepos_t) ceil ((double) start / one_timecode_minute) * one_timecode_minute;
                } else {
                        start = (framepos_t) floor ((double) start / one_timecode_minute) * one_timecode_minute;
                }
-               if (_session->timecode_offset_negative())
-               {
-                       start -= _session->timecode_offset ();
-               } else {
-                       start += _session->timecode_offset ();
-               }
                break;
        default:
                fatal << "Editor::smpte_snap_to_internal() called with non-timecode snap type!" << endmsg;
index 068be6d53471da814988901b65cb05c215cab97f..ceb94b053eb010566bc1e6a306707286af499bea 100644 (file)
@@ -1009,10 +1009,10 @@ Editor::metric_get_timecode (GtkCustomRulerMark **marks, gdouble lower, gdouble
        case timecode_show_bits:
 
                // Find timecode time of this sample (pos) with subframe accuracy
-               _session->sample_to_timecode(pos, timecode, true /* use_offset */, true /* use_subframes */ );
+               _session->sample_to_timecode (pos, timecode, true /* use_subframes */);
 
                for (n = 0; n < timecode_nmarks; n++) {
-                       _session->timecode_to_sample(timecode, pos, true /* use_offset */, true /* use_subframes */ );
+                       _session->timecode_to_sample (timecode, pos, true /* use_subframes */);
                        if ((timecode.subframes % timecode_mark_modulo) == 0) {
                                if (timecode.subframes == 0) {
                                        (*marks)[n].style = GtkCustomRulerMarkMajor;
@@ -1035,12 +1035,12 @@ Editor::metric_get_timecode (GtkCustomRulerMark **marks, gdouble lower, gdouble
          break;
        case timecode_show_seconds:
                // Find timecode time of this sample (pos)
-               _session->sample_to_timecode(pos, timecode, true /* use_offset */, false /* use_subframes */ );
+               _session->sample_to_timecode (pos, timecode, false /* use_subframes */);
                // Go to next whole second down
                Timecode::seconds_floor( timecode );
 
                for (n = 0; n < timecode_nmarks; n++) {
-                       _session->timecode_to_sample(timecode, pos, true /* use_offset */, false /* use_subframes */ );
+                       _session->timecode_to_sample (timecode, pos, false /* use_subframes */);
                        if ((timecode.seconds % timecode_mark_modulo) == 0) {
                                if (timecode.seconds == 0) {
                                        (*marks)[n].style = GtkCustomRulerMarkMajor;
@@ -1062,12 +1062,12 @@ Editor::metric_get_timecode (GtkCustomRulerMark **marks, gdouble lower, gdouble
          break;
        case timecode_show_minutes:
                // Find timecode time of this sample (pos)
-               _session->sample_to_timecode(pos, timecode, true /* use_offset */, false /* use_subframes */ );
+               _session->sample_to_timecode (pos, timecode, false /* use_subframes */);
                // Go to next whole minute down
                Timecode::minutes_floor( timecode );
 
                for (n = 0; n < timecode_nmarks; n++) {
-                       _session->timecode_to_sample(timecode, pos, true /* use_offset */, false /* use_subframes */ );
+                       _session->timecode_to_sample (timecode, pos, false /* use_subframes */);
                        if ((timecode.minutes % timecode_mark_modulo) == 0) {
                                if (timecode.minutes == 0) {
                                        (*marks)[n].style = GtkCustomRulerMarkMajor;
@@ -1088,12 +1088,12 @@ Editor::metric_get_timecode (GtkCustomRulerMark **marks, gdouble lower, gdouble
          break;
        case timecode_show_hours:
                // Find timecode time of this sample (pos)
-               _session->sample_to_timecode(pos, timecode, true /* use_offset */, false /* use_subframes */ );
+               _session->sample_to_timecode (pos, timecode, false /* use_subframes */);
                // Go to next whole hour down
                Timecode::hours_floor( timecode );
 
                for (n = 0; n < timecode_nmarks; n++) {
-                       _session->timecode_to_sample(timecode, pos, true /* use_offset */, false /* use_subframes */ );
+                       _session->timecode_to_sample (timecode, pos, false /* use_subframes */);
                        if ((timecode.hours % timecode_mark_modulo) == 0) {
                                (*marks)[n].style = GtkCustomRulerMarkMajor;
                                snprintf (buf, sizeof(buf), "%s%02u:%02u:%02u:%02u", timecode.negative ? "-" : "", timecode.hours, timecode.minutes, timecode.seconds, timecode.frames);
@@ -1110,12 +1110,12 @@ Editor::metric_get_timecode (GtkCustomRulerMark **marks, gdouble lower, gdouble
          break;
        case timecode_show_frames:
                // Find timecode time of this sample (pos)
-               _session->sample_to_timecode(pos, timecode, true /* use_offset */, false /* use_subframes */ );
+               _session->sample_to_timecode (pos, timecode, false /* use_subframes */);
                // Go to next whole frame down
                Timecode::frames_floor( timecode );
 
                for (n = 0; n < timecode_nmarks; n++) {
-                       _session->timecode_to_sample(timecode, pos, true /* use_offset */, false /* use_subframes */ );
+                       _session->timecode_to_sample (timecode, pos, false /* use_subframes */);
                        if ((timecode.frames % timecode_mark_modulo) == 0)  {
                                if (timecode.frames == 0) {
                                  (*marks)[n].style = GtkCustomRulerMarkMajor;
index acdeee8cd443b25ef218fbaad3a302b0c84ecc5e..670144a8c1d8b7c8a6059e752509c233994908b2 100644 (file)
@@ -450,8 +450,8 @@ class Session : public PBD::StatefulDestructible, public PBD::ScopedConnectionLi
        void sync_time_vars();
 
        void bbt_time (nframes_t when, BBT_Time&);
-       void timecode_to_sample(Timecode::Time& timecode, framepos_t& sample, bool use_offset, bool use_subframes) const;
-       void sample_to_timecode(framepos_t sample, Timecode::Time& timecode, bool use_offset, bool use_subframes) const;
+       void timecode_to_sample (Timecode::Time& timecode, framepos_t& sample, bool use_subframes) const;
+       void sample_to_timecode (framepos_t sample, Timecode::Time& timecode, bool use_subframes) const;
        void timecode_time (Timecode::Time &);
        void timecode_time (nframes_t when, Timecode::Time&);
        void timecode_time_subframes (nframes_t when, Timecode::Time&);
@@ -459,16 +459,10 @@ class Session : public PBD::StatefulDestructible, public PBD::ScopedConnectionLi
        void timecode_duration (framecnt_t, Timecode::Time&) const;
        void timecode_duration_string (char *, framecnt_t) const;
 
-       void           set_timecode_offset (nframes_t);
-       nframes_t      timecode_offset () const { return _timecode_offset; }
-       void           set_timecode_offset_negative (bool);
-       bool           timecode_offset_negative () const { return _timecode_offset_negative; }
-
        nframes_t convert_to_frames_at (nframes_t position, AnyTime const &);
 
        static PBD::Signal1<void, framepos_t> StartTimeChanged;
        static PBD::Signal1<void, framepos_t> EndTimeChanged;
-       static PBD::Signal0<void> TimecodeOffsetChanged;
 
        std::vector<SyncSource> get_available_sync_options() const;
        void   request_sync_source (Slave*);
@@ -1142,8 +1136,6 @@ class Session : public PBD::StatefulDestructible, public PBD::ScopedConnectionLi
        double _frames_per_timecode_frame; /* has to be floating point because of drop frame */
        nframes_t _frames_per_hour;
        nframes_t _timecode_frames_per_hour;
-       nframes_t _timecode_offset;
-       bool _timecode_offset_negative;
 
        /* cache the most-recently requested time conversions. This helps when we
         * have multiple clocks showing the same time (e.g. the transport frame) */
index 2cade745f2d055f81df0a4e3d3d1dc7399d12e75..adfe9076672a8f70f41a7cfcdb901ad63b299649 100644 (file)
@@ -137,8 +137,8 @@ AudioRegionImporter::get_info () const
        iss_position >> position;
 
        // Convert to timecode
-       session.sample_to_timecode(length, length_time, true, false);
-       session.sample_to_timecode(position, position_time, true, false);
+       session.sample_to_timecode(length, length_time, false);
+       session.sample_to_timecode(position, position_time, false);
 
        // return info
        oss << _("Length: ") <<
index 167461609615a69b28528a52abb3be315b868a8b..eda636ef71ca01df68fbccff995c12dcf5ddfb03 100644 (file)
@@ -114,8 +114,8 @@ LocationImporter::get_info () const
        iss_end >> end;
 
        // Convert to timecode
-       session.sample_to_timecode (start, start_time, true, false);
-       session.sample_to_timecode (end, end_time, true, false);
+       session.sample_to_timecode (start, start_time, false);
+       session.sample_to_timecode (end, end_time, false);
 
        // return info
        std::ostringstream oss;
index 953b79083b86dadd58fe31cbec8d2cc74b348e2a..3ba56bd7e8eaed38e2dd17809c6ffc25863e055e 100644 (file)
@@ -185,7 +185,7 @@ MTC_Slave::update_mtc_time (const byte *msg, bool was_full, nframes_t now)
        
        if (was_full || outside_window (mtc_frame)) {
 
-               session.timecode_to_sample (timecode, mtc_frame, true, false);
+               session.timecode_to_sample (timecode, mtc_frame, false);
                session.request_locate (mtc_frame, false);
                session.request_transport_speed (0);
                update_mtc_status (MIDI::MTC_Stopped);
@@ -204,7 +204,7 @@ MTC_Slave::update_mtc_time (const byte *msg, bool was_full, nframes_t now)
                   consideration.
                */
 
-               session.timecode_to_sample (timecode, mtc_frame, true, false);
+               session.timecode_to_sample (timecode, mtc_frame, false);
                
                /* We received the last quarter frame 7 quarter frames (1.75 mtc
                   frames) after the instance when the contents of the mtc quarter
index 325820b601493905d58905fcca76005fdc293f7a..5abaaf3508a3df6ec1becd981da22073b34b1bca 100644 (file)
@@ -119,7 +119,6 @@ PBD::Signal2<int,nframes_t,nframes_t> Session::AskAboutSampleRateMismatch;
 PBD::Signal0<void> Session::SendFeedback;
 PBD::Signal3<int,Session*,std::string,DataType> Session::MissingFile;
 
-PBD::Signal0<void> Session::TimecodeOffsetChanged;
 PBD::Signal1<void, framepos_t> Session::StartTimeChanged;
 PBD::Signal1<void, framepos_t> Session::EndTimeChanged;
 PBD::Signal0<void> Session::AutoBindingOn;
index 6914b9db9474a9ca702732ce6db5b49fb37f8525..5239d7c3f0a33665d2886f613283fb05b81a1fe6 100644 (file)
@@ -280,8 +280,7 @@ Session::mmc_locate (MIDI::MachineControl &/*mmc*/, const MIDI::byte* mmc_tc)
        timecode.rate = timecode_frames_per_second();
        timecode.drop = timecode_drop_frames();
 
-       // Also takes timecode offset into account:
-       timecode_to_sample( timecode, target_frame, true /* use_offset */, false /* use_subframes */ );
+       timecode_to_sample (timecode, target_frame, false /* use_subframes */);
 
        if (target_frame > max_framepos) {
                target_frame = max_framepos;
@@ -364,7 +363,7 @@ Session::send_full_time_code (framepos_t const t)
        }
 
        // Get timecode time for the given time
-       sample_to_timecode (t, timecode, true /* use_offset */, false /* no subframes */);
+       sample_to_timecode (t, timecode, false /* no subframes */);
 
        transmitting_timecode_time = timecode;
        outbound_mtc_timecode_frame = t;
index f810e3fa121866d9657580c4ef000e2c45ad3f30..1c6beb790f4b136d24fa77a2d216fcd37354d231 100644 (file)
@@ -249,8 +249,6 @@ Session::first_stage_init (string fullpath, string snapshot_name)
        }
 
        last_timecode_when = 0;
-       _timecode_offset = 0;
-       _timecode_offset_negative = true;
        last_timecode_valid = false;
 
        sync_time_vars ();
index b39c9399b3253ed7b2b45ea56f0d99d4c17cdb68..d71bba6ba2fdee2dd71d5c94c0fe93f11b502520 100644 (file)
@@ -187,27 +187,8 @@ Session::sync_time_vars ()
 }
 
 void
-Session::set_timecode_offset (nframes_t off)
+Session::timecode_to_sample (Timecode::Time& timecode, framepos_t& sample, bool use_subframes) const
 {
-       _timecode_offset = off;
-       last_timecode_valid = false;
-
-       TimecodeOffsetChanged (); /* EMIT SIGNAL */
-}
-
-void
-Session::set_timecode_offset_negative (bool neg)
-{
-       _timecode_offset_negative = neg;
-       last_timecode_valid = false;
-
-       TimecodeOffsetChanged (); /* EMIT SIGNAL */
-}
-
-void
-Session::timecode_to_sample( Timecode::Time& timecode, framepos_t& sample, bool use_offset, bool use_subframes ) const
-{
-
        if (timecode.drop) {
                // 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
@@ -271,53 +252,16 @@ Session::timecode_to_sample( Timecode::Time& timecode, framepos_t& sample, bool
        if (use_subframes) {
                sample += (int32_t) (((double)timecode.subframes * _frames_per_timecode_frame) / config.get_subframes_per_frame());
        }
-
-       if (use_offset) {
-               if (timecode_offset_negative()) {
-                       if (sample >= timecode_offset()) {
-                               sample -= timecode_offset();
-                       } else {
-                               /* Prevent song-time from becoming negative */
-                               sample = 0;
-                       }
-               } else {
-                       if (timecode.negative) {
-                               if (sample <= timecode_offset()) {
-                                       sample = timecode_offset() - sample;
-                               } else {
-                                       sample = 0;
-                               }
-                       } else {
-                               sample += timecode_offset();
-                       }
-               }
-       }
-
 }
 
 
 void
-Session::sample_to_timecode (framepos_t sample, Timecode::Time& timecode, bool use_offset, bool use_subframes ) const
+Session::sample_to_timecode (framepos_t sample, Timecode::Time& timecode, bool use_subframes) const
 {
        framepos_t offset_sample;
 
-       if (!use_offset) {
-               offset_sample = sample;
-               timecode.negative = false;
-       } else {
-               if (_timecode_offset_negative) {
-                       offset_sample =  sample + _timecode_offset;
-                       timecode.negative = false;
-               } else {
-                       if (sample < _timecode_offset) {
-                               offset_sample = (_timecode_offset - sample);
-                               timecode.negative = true;
-                       } else {
-                               offset_sample =  sample - _timecode_offset;
-                               timecode.negative = false;
-                       }
-               }
-       }
+       offset_sample = sample;
+       timecode.negative = false;
 
        double timecode_frames_left_exact;
        double timecode_frames_fraction;
@@ -401,7 +345,7 @@ Session::timecode_time (nframes_t when, Timecode::Time& timecode)
                return;
        }
 
-       sample_to_timecode( when, timecode, true /* use_offset */, false /* use_subframes */ );
+       sample_to_timecode (when, timecode, false /* use_subframes */);
 
        last_timecode_when = when;
        last_timecode = timecode;
@@ -416,7 +360,7 @@ Session::timecode_time_subframes (nframes_t when, Timecode::Time& timecode)
                return;
        }
 
-       sample_to_timecode( when, timecode, true /* use_offset */, true /* use_subframes */ );
+       sample_to_timecode (when, timecode, true /* use_subframes */);
 
        last_timecode_when = when;
        last_timecode = timecode;
@@ -426,7 +370,7 @@ Session::timecode_time_subframes (nframes_t when, Timecode::Time& timecode)
 void
 Session::timecode_duration (framecnt_t when, Timecode::Time& timecode) const
 {
-       sample_to_timecode( when, timecode, false /* use_offset */, true /* use_subframes */ );
+       sample_to_timecode (when, timecode, true /* use_subframes */);
 }
 
 void
@@ -527,7 +471,7 @@ Session::jack_timebase_callback (jack_transport_state_t /*state*/,
 #if 0
        /* Timecode info */
 
-       pos->timecode_offset = _timecode_offset;
+       pos->timecode_offset = 0;
        t.timecode_frame_rate = timecode_frames_per_second();
        pos->valid = jack_position_bits_t (pos->valid | JackPositionTimecode;
 
@@ -580,14 +524,7 @@ Session::convert_to_frames_at (nframes_t /*position*/, AnyTime const & any)
                secs += any.timecode.minutes * 60;
                secs += any.timecode.seconds;
                secs += any.timecode.frames / timecode_frames_per_second();
-               if (_timecode_offset_negative)
-               {
-                       return (nframes_t) floor (secs * frame_rate()) - _timecode_offset;
-               }
-               else
-               {
-                       return (nframes_t) floor (secs * frame_rate()) + _timecode_offset;
-               }
+               return (nframes_t) floor (secs * frame_rate());
                break;
 
        case AnyTime::Seconds:
index 3d00b6283f4c6025d33f62544f38e6712acb64ce..04e0945d1326d75531d1527e37b3ce838bb95b90 100644 (file)
@@ -285,15 +285,15 @@ BasicUI::timecode_time (nframes_t where, Timecode::Time& timecode)
 }
 
 void 
-BasicUI::timecode_to_sample (Timecode::Time& timecode, int64_t& sample, bool use_offset, bool use_subframes) const
+BasicUI::timecode_to_sample (Timecode::Time& timecode, int64_t& sample, bool use_subframes) const
 {
-       session->timecode_to_sample (*((Timecode::Time*)&timecode), sample, use_offset, use_subframes);
+       session->timecode_to_sample (*((Timecode::Time*)&timecode), sample, use_subframes);
 }
 
 void 
-BasicUI::sample_to_timecode (int64_t sample, Timecode::Time& timecode, bool use_offset, bool use_subframes) const
+BasicUI::sample_to_timecode (int64_t sample, Timecode::Time& timecode, bool use_subframes) const
 {
-       session->sample_to_timecode (sample, *((Timecode::Time*)&timecode), use_offset, use_subframes);
+       session->sample_to_timecode (sample, *((Timecode::Time*)&timecode), use_subframes);
 }
 
 #if 0
index 7e25ea8a90cf4be9eb063b8ef040381a964d20d2..52ff549af3eca2352643a2e4d698cfb5cfc2691b 100644 (file)
@@ -80,8 +80,8 @@ class BasicUI {
        jack_nframes_t timecode_frames_per_hour ();
 
        void timecode_time (jack_nframes_t where, Timecode::Time&);
-       void timecode_to_sample (Timecode::Time& timecode, int64_t& sample, bool use_offset, bool use_subframes) const;
-       void sample_to_timecode (int64_t sample, Timecode::Time& timecode, bool use_offset, bool use_subframes) const;
+       void timecode_to_sample (Timecode::Time& timecode, int64_t& sample, bool use_subframes) const;
+       void sample_to_timecode (int64_t sample, Timecode::Time& timecode, bool use_subframes) const;
 
   protected:
        BasicUI ();