summaryrefslogtreecommitdiff
path: root/libs/ardour
diff options
context:
space:
mode:
Diffstat (limited to 'libs/ardour')
-rw-r--r--libs/ardour/ardour/session.h12
-rw-r--r--libs/ardour/audio_region_importer.cc4
-rw-r--r--libs/ardour/location_importer.cc4
-rw-r--r--libs/ardour/mtc_slave.cc4
-rw-r--r--libs/ardour/session.cc1
-rw-r--r--libs/ardour/session_midi.cc5
-rw-r--r--libs/ardour/session_state.cc2
-rw-r--r--libs/ardour/session_time.cc81
8 files changed, 19 insertions, 94 deletions
diff --git a/libs/ardour/ardour/session.h b/libs/ardour/ardour/session.h
index acdeee8cd4..670144a8c1 100644
--- a/libs/ardour/ardour/session.h
+++ b/libs/ardour/ardour/session.h
@@ -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) */
diff --git a/libs/ardour/audio_region_importer.cc b/libs/ardour/audio_region_importer.cc
index 2cade745f2..adfe907667 100644
--- a/libs/ardour/audio_region_importer.cc
+++ b/libs/ardour/audio_region_importer.cc
@@ -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: ") <<
diff --git a/libs/ardour/location_importer.cc b/libs/ardour/location_importer.cc
index 1674616096..eda636ef71 100644
--- a/libs/ardour/location_importer.cc
+++ b/libs/ardour/location_importer.cc
@@ -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;
diff --git a/libs/ardour/mtc_slave.cc b/libs/ardour/mtc_slave.cc
index 953b79083b..3ba56bd7e8 100644
--- a/libs/ardour/mtc_slave.cc
+++ b/libs/ardour/mtc_slave.cc
@@ -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
diff --git a/libs/ardour/session.cc b/libs/ardour/session.cc
index 325820b601..5abaaf3508 100644
--- a/libs/ardour/session.cc
+++ b/libs/ardour/session.cc
@@ -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;
diff --git a/libs/ardour/session_midi.cc b/libs/ardour/session_midi.cc
index 6914b9db94..5239d7c3f0 100644
--- a/libs/ardour/session_midi.cc
+++ b/libs/ardour/session_midi.cc
@@ -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;
diff --git a/libs/ardour/session_state.cc b/libs/ardour/session_state.cc
index f810e3fa12..1c6beb790f 100644
--- a/libs/ardour/session_state.cc
+++ b/libs/ardour/session_state.cc
@@ -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 ();
diff --git a/libs/ardour/session_time.cc b/libs/ardour/session_time.cc
index b39c9399b3..d71bba6ba2 100644
--- a/libs/ardour/session_time.cc
+++ b/libs/ardour/session_time.cc
@@ -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: