9 #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 wait_for_startup();
59 int view_follows_playback
;
60 // Stop cursor loop when not playing
62 // Exclude changes in state during the main loop
64 // Exclude accesses to the cursor
66 // Delay until startup
72 int64_t current_offset
;
76 // Pixel of last drawn cursor