X-Git-Url: https://git.cinelerra-gg.org/git/?p=goodguy%2Fcinelerra.git;a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fplaybackengine.h;h=c82d35083daaa33014d0d315a8455b343656127c;hp=936657a0bc3f43cf403c513b3572a85d3f6248ae;hb=9b18af02dc4ccbf052ef9d70180a3d16c0f9848b;hpb=7fd85fb66168f6b518c5f2d73e04036e87faa0e1 diff --git a/cinelerra-5.1/cinelerra/playbackengine.h b/cinelerra-5.1/cinelerra/playbackengine.h index 936657a0..c82d3508 100644 --- a/cinelerra-5.1/cinelerra/playbackengine.h +++ b/cinelerra-5.1/cinelerra/playbackengine.h @@ -38,7 +38,7 @@ #include "renderengine.inc" #include "thread.h" #include "bctimer.h" -#include "transportque.inc" +#include "transportque.h" class PlaybackEngine : public Thread { @@ -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); @@ -81,10 +82,10 @@ public: ChannelDB* get_channeldb(); void run(); + void send_command(int command, EDL *edl, int wait_tracking, int use_inout); void stop_playback(int wait); - void issue_command(EDL *edl, int command, int wait_tracking, - int use_inout, int update_refresh, int toggle_audio, int loop_play); void refresh_frame(int change_type, EDL *edl, int dir=1); + int get_direction(); // Maintain caches through console changes CICache *audio_cache, *video_cache; @@ -110,19 +111,24 @@ public: Canvas *output; // Copy of main preferences Preferences *preferences; -// Next command - TransportQue *que; -// Currently executing command - TransportCommand *command; -// Last command which affected transport - int last_command; - int done; - int do_cwindow; + + 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, stop command + TransportCommand *command, *stop_command; +// next command under construction, last sent command + TransportCommand *next_command, *sent_command; + // Render engine RenderEngine *render_engine; -// Used by label commands to get current position + int done; int is_playing_back; + int send_active; // General purpose debugging register int debug;