8 #include "condition.inc"
10 #include "mwindowgui.inc"
11 #include "playbackengine.inc"
15 class Tracking
: public Thread
18 Tracking(MWindow
*mwindow
);
21 void create_objects();
22 virtual int start_playback(double new_position
);
23 virtual int stop_playback();
25 // Called by the tracker to get the current position
26 virtual PlaybackEngine
* get_playback_engine();
27 virtual double get_tracking_position();
28 // Update position displayed
29 virtual void update_tracker(double position
);
31 virtual void update_meters(int64_t position
);
32 virtual void stop_meters();
33 int get_pixel(double position
);
35 // Erase cursor if it's visible. Called by start_playback
36 // Draw new cursor at last_position if invisible
43 // Values to return from playback_engine to update_meter .
44 // Use ArrayList to simplify module counting
45 ArrayList
<double> module_levels
;
57 void show_playback_cursor(int64_t position
);
58 int view_follows_playback
;
59 // Delay until startup
60 Condition
*startup_lock
;
65 int64_t current_offset
;
69 // Pixel of last drawn cursor