projects
/
dcpomatic.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Some include tidying.
[dcpomatic.git]
/
src
/
lib
/
dcpomatic_time.h
diff --git
a/src/lib/dcpomatic_time.h
b/src/lib/dcpomatic_time.h
index 4afc9ab40623e09a226965ce8cdfb7e7a77d7784..2408bff812991dd8da237499eeb6509c9ba76fa2 100644
(file)
--- a/
src/lib/dcpomatic_time.h
+++ b/
src/lib/dcpomatic_time.h
@@
-20,12
+20,13
@@
#ifndef DCPOMATIC_TIME_H
#define DCPOMATIC_TIME_H
#ifndef DCPOMATIC_TIME_H
#define DCPOMATIC_TIME_H
+#include "frame_rate_change.h"
+#include "safe_stringstream.h"
+#include <stdint.h>
#include <cmath>
#include <ostream>
#include <sstream>
#include <iomanip>
#include <cmath>
#include <ostream>
#include <sstream>
#include <iomanip>
-#include <stdint.h>
-#include "frame_rate_change.h"
class dcpomatic_round_up_test;
class dcpomatic_round_up_test;
@@
-39,13
+40,15
@@
public:
: _t (0)
{}
: _t (0)
{}
- explicit Time (int64_t t)
+ typedef int64_t Type;
+
+ explicit Time (Type t)
: _t (t)
{}
virtual ~Time () {}
: _t (t)
{}
virtual ~Time () {}
-
int64_t
get () const {
+
Type
get () const {
return _t;
}
return _t;
}
@@
-58,6
+61,7
@@
public:
return rint (_t * r / HZ);
}
return rint (_t * r / HZ);
}
+ /** @param r Frames per second */
template <typename T>
void split (T r, int& h, int& m, int& s, int& f) const
{
template <typename T>
void split (T r, int& h, int& m, int& s, int& f) const
{
@@
-84,7
+88,7
@@
public:
int f;
split (r, h, m, s, f);
int f;
split (r, h, m, s, f);
-
std::ostrings
tream o;
+
SafeStringS
tream o;
o.width (2);
o.fill ('0');
o << std::setw(2) << std::setfill('0') << h << ":"
o.width (2);
o.fill ('0');
o << std::setw(2) << std::setfill('0') << h << ":"
@@
-95,9
+99,9
@@
public:
}
protected:
}
protected:
- friend
class
dcptime_round_up_test;
+ friend
struct
dcptime_round_up_test;
-
int64_t
_t;
+
Type
_t;
static const int HZ = 96000;
};
static const int HZ = 96000;
};
@@
-107,8
+111,8
@@
class ContentTime : public Time
{
public:
ContentTime () : Time () {}
{
public:
ContentTime () : Time () {}
- explicit ContentTime (
int64_t
t) : Time (t) {}
- ContentTime (
int64_t n, int64_t
d) : Time (n * HZ / d) {}
+ explicit ContentTime (
Type
t) : Time (t) {}
+ ContentTime (
Type n, Type
d) : Time (n * HZ / d) {}
ContentTime (DCPTime d, FrameRateChange f);
bool operator< (ContentTime const & o) const {
ContentTime (DCPTime d, FrameRateChange f);
bool operator< (ContentTime const & o) const {
@@
-162,8
+166,8
@@
public:
* @param r Sampling rate.
*/
ContentTime round_up (float r) {
* @param r Sampling rate.
*/
ContentTime round_up (float r) {
-
int64_t
const n = rint (HZ / r);
-
int64_t
const a = _t + n - 1;
+
Type
const n = rint (HZ / r);
+
Type
const a = _t + n - 1;
return ContentTime (a - (a % n));
}
return ContentTime (a - (a % n));
}
@@
-201,13
+205,14
@@
public:
}
bool overlaps (ContentTimePeriod const & o) const;
}
bool overlaps (ContentTimePeriod const & o) const;
+ bool contains (ContentTime const & o) const;
};
class DCPTime : public Time
{
public:
DCPTime () : Time () {}
};
class DCPTime : public Time
{
public:
DCPTime () : Time () {}
- explicit DCPTime (
int64_t
t) : Time (t) {}
+ explicit DCPTime (
Type
t) : Time (t) {}
DCPTime (ContentTime t, FrameRateChange c) : Time (rint (t.get() / c.speed_up)) {}
bool operator< (DCPTime const & o) const {
DCPTime (ContentTime t, FrameRateChange c) : Time (rint (t.get() / c.speed_up)) {}
bool operator< (DCPTime const & o) const {
@@
-261,8
+266,8
@@
public:
* @param r Sampling rate.
*/
DCPTime round_up (float r) {
* @param r Sampling rate.
*/
DCPTime round_up (float r) {
-
int64_t
const n = rint (HZ / r);
-
int64_t
const a = _t + n - 1;
+
Type
const n = rint (HZ / r);
+
Type
const a = _t + n - 1;
return DCPTime (a - (a % n));
}
return DCPTime (a - (a % n));
}