Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members

tracking.h

Go to the documentation of this file.
00001 #ifndef TRACKING_H
00002 #define TRACKING_H
00003 
00004 #include <sys/time.h>
00005 #include <sys/types.h>
00006 #include <unistd.h>
00007 
00008 #include "condition.inc"
00009 #include "mwindow.inc"
00010 #include "mwindowgui.inc"
00011 #include "playbackengine.inc"
00012 #include "thread.h"
00013 #include "bctimer.h"
00014 
00015 class Tracking : public Thread
00016 {
00017 public:
00018         Tracking(MWindow *mwindow);
00019         virtual ~Tracking();
00020 
00021         void create_objects();
00022         virtual int start_playback(double new_position);
00023         virtual int stop_playback();
00024 
00025 // Called by the tracker to get the current position
00026         virtual PlaybackEngine* get_playback_engine();
00027         virtual double get_tracking_position();
00028 // Update position displayed
00029         virtual void update_tracker(double position);
00030 // Update meters
00031         virtual void update_meters(int64_t position);
00032         virtual void stop_meters();
00033         int get_pixel(double position);
00034 
00035 // Erase cursor if it's visible.  Called by start_playback
00036 // Draw new cursor at last_position if invisible
00037         virtual void draw();
00038 
00039 
00040 
00041         void run();
00042 
00043 // Values to return from playback_engine to update_meter .
00044 // Use ArrayList to simplify module counting
00045         ArrayList<double> module_levels;
00046         int state;
00047 
00048 
00049 
00050 
00051 
00052 
00053 
00054 
00055 
00056 
00057         void show_playback_cursor(int64_t position);
00058         int view_follows_playback;
00059 // Delay until startup
00060         Condition *startup_lock;
00061         MWindow *mwindow;
00062         MWindowGUI *gui;
00063         double last_position;
00064         int follow_loop;
00065         int64_t current_offset;
00066         int reverse;
00067         int double_speed;
00068         Timer timer;
00069 // Pixel of last drawn cursor
00070         int pixel;
00071 // Cursor is visible
00072         int visible;
00073 };
00074 
00075 #endif

Generated on Sun Jan 8 13:39:01 2006 for Cinelerra-svn by  doxygen 1.4.4