Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members

transportque.h

Go to the documentation of this file.
00001 #ifndef TRANSPORTQUE_H
00002 #define TRANSPORTQUE_H
00003 
00004 #include "canvas.inc"
00005 #include "condition.inc"
00006 #include "edl.inc"
00007 #include "preferences.inc"
00008 #include "transportque.inc"
00009 
00010 class TransportCommand
00011 {
00012 public:
00013         TransportCommand();
00014         ~TransportCommand();
00015 
00016         void reset();
00017 // Get the direction based on the command
00018         int get_direction();
00019         float get_speed();
00020         void copy_from(TransportCommand *command);
00021         TransportCommand& operator=(TransportCommand &command);
00022 // Get the range to play back from the EDL
00023         void set_playback_range(EDL *edl = 0, int use_inout = 0);
00024 
00025 // Adjust playback range with in/out points for rendering
00026         void adjust_playback_range();
00027 
00028         int single_frame();
00029         EDL* get_edl();
00030         void delete_edl();
00031         void new_edl();
00032 
00033         int command;
00034         int change_type;
00035 // lowest numbered second in playback range
00036         double start_position;
00037 // highest numbered second in playback range
00038         double end_position;
00039         int infinite;
00040 // Position used when starting playback
00041         double playbackstart;
00042 // Send output to device
00043         int realtime;
00044 // Use persistant starting point
00045         int resume;
00046 
00047 private:
00048 // Copied to render engines
00049         EDL *edl;
00050 };
00051 
00052 class TransportQue
00053 {
00054 public:
00055         TransportQue();
00056         ~TransportQue();
00057 
00058         int send_command(int command, 
00059 // The change type is ORed to accumulate changes.
00060                 int change_type, 
00061                 EDL *new_edl,
00062                 int realtime,
00063 // Persistent starting point
00064                 int resume = 0,
00065                 int use_inout = 0);
00066         void update_change_type(int change_type);
00067 
00068         TransportCommand command;
00069         Condition *input_lock, *output_lock;
00070 };
00071 
00072 #endif

Generated on Sun Jan 8 13:39:01 2006 for Cinelerra-svn by  doxygen 1.4.4