X-Git-Url: https://git.cinelerra-gg.org/git/?p=goodguy%2Fcinelerra.git;a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fplaybackengine.h;h=ee27ff19a4b55e4ddf1db4250d7655c2f8ddc02f;hp=9febc05984169fd312c9e1ab5954d54d767b62dd;hb=refs%2Fheads%2Fmaster;hpb=3bf30d220f7855b995b887dc10812ae3780e6805 diff --git a/cinelerra-5.1/cinelerra/playbackengine.h b/cinelerra-5.1/cinelerra/playbackengine.h index 9febc059..9fdb45fb 100644 --- a/cinelerra-5.1/cinelerra/playbackengine.h +++ b/cinelerra-5.1/cinelerra/playbackengine.h @@ -55,6 +55,7 @@ public: void create_cache(); void perform_change(); void sync_parameters(EDL *edl); + void clear_borders(); // Set wait_tracking for events that change the cursor location but // be sure to unlock the windows void interrupt_playback(int wait_tracking = 0); @@ -69,7 +70,7 @@ public: virtual int brender_available(long position); // For normal playback tracking and the cursor are started virtual void init_tracking(); - virtual void stop_tracking(); + virtual void stop_tracking(double position); virtual void init_meters(); // The playback cursor calls this to calculate the current tracking position virtual double get_tracking_position(); @@ -84,6 +85,8 @@ public: void send_command(int command, EDL *edl, int wait_tracking, int use_inout); void stop_playback(int wait); void refresh_frame(int change_type, EDL *edl, int dir=1); + int get_direction(); + void update_preferences(Preferences *prefs); // Maintain caches through console changes CICache *audio_cache, *video_cache; @@ -104,26 +107,31 @@ public: Condition *pause_lock; // Wait until thread has started Condition *start_lock; +// Reinit caches + Mutex *cache_lock; MWindow *mwindow; Canvas *output; // Copy of main preferences Preferences *preferences; - int transport_stop(); + int put_command(TransportCommand *command, int reset); + int transport_stop(int wait_tracking); int transport_command(int command, int change_type=CHANGE_NONE, EDL *new_edl=0, int use_inout=0); Condition *input_lock, *output_lock; -// active command +// active command, stop command TransportCommand *command, *stop_command; - TransportCommand *curr_command, *next_command; +// next command under construction, last sent command + TransportCommand *next_command, *sent_command; // Render engine RenderEngine *render_engine; int done; int is_playing_back; + int send_active; // General purpose debugging register int debug;