18 #ifndef MFRAMESRANGE_H
19 #define MFRAMESRANGE_H
25 #pragma warning(disable: 4251)
29 #ifdef MCLIENTLIB_EXPORTS
30 #define MCLIENTLIB_API __declspec(dllexport)
32 #define MCLIENTLIB_API __declspec(dllimport)
36 #ifndef MCLIENTLIB_EXPORTS
38 #define MCLIENTLIB_API
40 #define MCLIENTLIB_API
43 #define MCLIENTLIB_API
68 MFramesRange(
float _startFrame,
float _endFrame,
float _byFrame);
69 MFramesRange(
float _startFrame,
float _endFrame,
float _byFrame,
int _numberBy,
int _stepBy);
70 static std::list<MFramesRange> FromString(
const std::string& range);
71 static bool IsOverlapping(
const std::string& range);
72 static std::map<std::string, std::string> TokenizeNumbers(
const std::string& in);
73 static std::set<long> NumberedFrames(std::list<MFramesRange> ranges,
long& averageByFrame);
74 static std::set<float> Frames(std::list<MFramesRange> ranges,
long& averageByFrame);
75 std::string ToString();
76 std::set<float> Frames();
77 std::set<long> NumberedFrames();
78 std::list<MFramesRange> Packetize(
int framesPerPacket);
80 float GetStartFrame();
86 void SetStartFrame(
float);
87 void SetEndFrame(
float);
88 void SetByFrame(
float);
89 void SetNumberBy(
int);
Class holding an API frames range object.