00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 #ifndef __DEMOPAJA_TIMECONTEXTC_H__
00015 #define __DEMOPAJA_TIMECONTEXTC_H__
00016
00017 #include "PajaTypes.h"
00018
00019 namespace PajaSystem {
00020
00022
00028 class TimeContextC
00029 {
00030 public:
00032 TimeContextC( PajaTypes::int32 i32BeatsPerMin, PajaTypes::int32 i32QNotesPerBeat, PajaTypes::int32 i32EditAccuracy );
00033
00035 virtual ~TimeContextC();
00036
00038
00054 virtual PajaTypes::float64 convert_fps_to_time( PajaTypes::float64 f64Time, PajaTypes::float64 f64FPS );
00055
00057
00073 virtual PajaTypes::float64 convert_time_to_fps( PajaTypes::float64 f64FpsTime, PajaTypes::float64 f64FPS );
00074
00076 virtual PajaTypes::int32 get_beats_per_min() const;
00077
00079 virtual PajaTypes::int32 get_qnotes_per_beat() const;
00080
00082 virtual PajaTypes::int32 get_edit_accuracy() const;
00083
00085 virtual PajaTypes::int32 get_frame_size_in_ticks() const;
00086
00088
00092 virtual PajaTypes::uint32 get_frame_id() const;
00093
00095 virtual void set_frame_id( PajaTypes::uint32 ui32ID );
00096
00098 virtual void set_time_settings( PajaTypes::int32 i32BeatsPerMin, PajaTypes::int32 i32QNotesPerBeat, PajaTypes::int32 i32EditAccuracy );
00099
00100 private:
00101 PajaTypes::int32 m_i32BeatsPerMin;
00102 PajaTypes::int32 m_i32QNotesPerBeat;
00103 PajaTypes::int32 m_i32EditAccuracy;
00104 PajaTypes::float64 m_f64TimeScale;
00105 PajaTypes::float64 m_f64InvTimeScale;
00106 PajaTypes::uint32 m_ui32FrameID;
00107 };
00108
00109 };
00110
00111 #endif // __DEMOPAJA_TIMECONTEXTC_H__