X-Git-Url: https://git.cinelerra-gg.org/git/?p=goodguy%2Fcinelerra.git;a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fplaybackengine.h;h=85fc00ad9aeae06b3e498dfd3a91193a559c3b87;hp=936657a0bc3f43cf403c513b3572a85d3f6248ae;hb=47f71d004db08fb289428240fb87ce97c64382d2;hpb=7fd85fb66168f6b518c5f2d73e04036e87faa0e1 diff --git a/cinelerra-5.1/cinelerra/playbackengine.h b/cinelerra-5.1/cinelerra/playbackengine.h index 936657a0..85fc00ad 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 { @@ -81,9 +81,8 @@ 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); // Maintain caches through console changes @@ -110,18 +109,22 @@ 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 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; + Mutex *sent_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; // General purpose debugging register