mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-10 00:34:59 +01:00
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
This commit is contained in:
parent
9116ea83dd
commit
a9abe3b1e1
9 changed files with 133 additions and 111 deletions
|
|
@ -423,6 +423,108 @@ hours_floor(Time& timecode)
|
|||
}
|
||||
}
|
||||
|
||||
float
|
||||
timecode_to_frames_per_second(TimecodeFormat t)
|
||||
{
|
||||
switch (t) {
|
||||
case timecode_23976:
|
||||
return (24000.0/1001.0); //23.976;
|
||||
|
||||
break;
|
||||
case timecode_24:
|
||||
return 24;
|
||||
|
||||
break;
|
||||
case timecode_24976:
|
||||
return (25000.0/1001.0); //24.976;
|
||||
|
||||
break;
|
||||
case timecode_25:
|
||||
return 25;
|
||||
|
||||
break;
|
||||
case timecode_2997:
|
||||
return 29.97;
|
||||
|
||||
break;
|
||||
case timecode_2997drop:
|
||||
return (30000.0/1001.0); //29.97;
|
||||
|
||||
break;
|
||||
case timecode_30:
|
||||
return 30;
|
||||
|
||||
break;
|
||||
case timecode_30drop:
|
||||
return 30;
|
||||
|
||||
break;
|
||||
case timecode_5994:
|
||||
return (60000.0/1001.0); //59.94;
|
||||
|
||||
break;
|
||||
case timecode_60:
|
||||
return 60;
|
||||
|
||||
break;
|
||||
default:
|
||||
//std::cerr << "Editor received unexpected timecode type" << std::endl;
|
||||
break;
|
||||
}
|
||||
return 30.0;
|
||||
}
|
||||
|
||||
bool
|
||||
timecode_has_drop_frames(TimecodeFormat t)
|
||||
{
|
||||
switch (t) {
|
||||
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;
|
||||
break;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
} // namespace Timecode
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue