summaryrefslogtreecommitdiff
path: root/libs/ardour/session_time.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2012-10-12 01:08:29 +0000
committerRobin Gareus <robin@gareus.org>2012-10-12 01:08:29 +0000
commita9abe3b1e1a1e260cf1cbf148ab3909a719817d1 (patch)
treee6eb1f71bbd946abff39260a0232dd61b844c9bc /libs/ardour/session_time.cc
parent9116ea83ddc30aebb6bb5a8fa0f4a55be8984ceb (diff)
move TimecodeFormat to libtimecode
provide a way to convert any TimecodeFormat to float frame-rate, not only the currently active timecode_foramt. git-svn-id: svn://localhost/ardour2/branches/3.0@13249 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/session_time.cc')
-rw-r--r--libs/ardour/session_time.cc96
1 files changed, 5 insertions, 91 deletions
diff --git a/libs/ardour/session_time.cc b/libs/ardour/session_time.cc
index 42ae315597..36f4aac01f 100644
--- a/libs/ardour/session_time.cc
+++ b/libs/ardour/session_time.cc
@@ -50,105 +50,19 @@ Session::bbt_time (framepos_t when, Timecode::BBT_Time& bbt)
}
/* Timecode TIME */
+
float
Session::timecode_frames_per_second() const
{
- switch (config.get_timecode_format()) {
- case timecode_23976:
- return 23.976;
-
- break;
- case timecode_24:
- return 24;
-
- break;
- case timecode_24976:
- return 24.976;
-
- break;
- case timecode_25:
- return 25;
-
- break;
- case timecode_2997:
- return 29.97;
-
- break;
- case timecode_2997drop:
- return 29.97;
-
- break;
- case timecode_30:
- return 30;
-
- break;
- case timecode_30drop:
- return 30;
-
- break;
- case timecode_5994:
- return 59.94;
-
- break;
- case timecode_60:
- return 60;
-
- break;
- default:
- cerr << "Editor received unexpected timecode type" << endl;
- }
- return 30.0;
+ return Timecode::timecode_to_frames_per_second (config.get_timecode_format());
}
+
bool
Session::timecode_drop_frames() const
{
- switch (config.get_timecode_format()) {
- case timecode_23976:
- return false;
-
- break;
- case timecode_24:
- return false;
-
- break;
- case timecode_24976:
- return false;
-
- break;
- case timecode_25:
- return false;
-
- break;
- case timecode_2997:
- return false;
-
- break;
- case timecode_2997drop:
- return true;
-
- break;
- case timecode_30:
- return false;
-
- break;
- case timecode_30drop:
- return true;
-
- break;
- case timecode_5994:
- return false;
-
- break;
- case timecode_60:
- return false;
-
- break;
- default:
- error << "Editor received unexpected timecode type" << endmsg;
- }
-
- return false;
+ return Timecode::timecode_has_drop_frames(config.get_timecode_format());
}
+
void
Session::sync_time_vars ()
{