00001 #ifndef EDLSESSION_H
00002 #define EDLSESSION_H
00003
00004 #include "defaults.inc"
00005 #include "edl.inc"
00006 #include "filexml.inc"
00007
00008
00009
00010
00011
00012
00013
00014
00015 class EDLSession
00016 {
00017 public:
00018 EDLSession(EDL *edl);
00019 ~EDLSession();
00020
00021 int load_xml(FileXML *xml, int append_mode, uint32_t load_flags);
00022 int save_xml(FileXML *xml);
00023 int copy(EDLSession *session);
00024 int load_audio_config(FileXML *file, int append_mode, uint32_t load_flags);
00025 int save_audio_config(FileXML *xml);
00026 int load_video_config(FileXML *file, int append_mode, uint32_t load_flags);
00027 int save_video_config(FileXML *xml);
00028 int load_defaults(Defaults *defaults);
00029 int save_defaults(Defaults *defaults);
00030
00031 char* get_cwindow_display();
00032 void boundaries();
00033
00034
00035
00036
00037
00038 void equivalent_output(EDLSession *session, double *result);
00039 void dump();
00040
00041
00042 int64_t get_frame_offset();
00043
00044
00045 int achannel_positions[MAXCHANNELS];
00046 AudioOutConfig *aconfig_duplex;
00047 AudioInConfig *aconfig_in;
00048
00049 int assetlist_format;
00050
00051 int asset_columns[ASSET_COLUMNS];
00052 AutoConf *auto_conf;
00053 float actual_frame_rate;
00054
00055 float aspect_w;
00056 float aspect_h;
00057 int audio_channels;
00058 int audio_tracks;
00059
00060 int autos_follow_edits;
00061
00062 int auto_keyframes;
00063
00064 double brender_start;
00065
00066 double clipboard_length;
00067
00068 int color_model;
00069
00070 int interlace_mode;
00071
00072 int crop_x1, crop_x2, crop_y1, crop_y2;
00073
00074 char current_folder[BCTEXTLEN];
00075
00076 int cursor_on_frames;
00077
00078 int cwindow_dest;
00079
00080 int cwindow_mask;
00081
00082 int cwindow_meter;
00083
00084 int cwindow_operation;
00085
00086 int cwindow_scrollbars;
00087
00088 int cwindow_xscroll;
00089 int cwindow_yscroll;
00090 float cwindow_zoom;
00091
00092 char default_atransition[BCTEXTLEN];
00093 char default_vtransition[BCTEXTLEN];
00094
00095 double default_transition_length;
00096
00097 int edit_handle_mode[3];
00098
00099 int editing_mode;
00100 EDL *edl;
00101 int enable_duplex;
00102
00103 int folderlist_format;
00104 double frame_rate;
00105 float frames_per_foot;
00106
00107 int highlighted_track;
00108
00109 int interpolation_type;
00110
00111 int labels_follow_edits;
00112 int mpeg4_deblock;
00113 int plugins_follow_edits;
00114 int meter_format;
00115 int min_meter_db;
00116 int max_meter_db;
00117 int output_w;
00118 int output_h;
00119 int64_t playback_buffer;
00120 int playback_cursor_visible;
00121 int64_t playback_preload;
00122 int playback_software_position;
00123
00124
00125 int real_time_playback;
00126 int real_time_record;
00127
00128 int record_software_position;
00129
00130 int record_sync_drives;
00131
00132 int record_speed;
00133
00134 int64_t record_write_length;
00135
00136 int safe_regions;
00137 int64_t sample_rate;
00138 float scrub_speed;
00139
00140 int si_useduration;
00141 float si_duration;
00142
00143 int show_assets;
00144
00145 int show_titles;
00146
00147 int test_playback_edits;
00148
00149 int time_format;
00150
00151 int timecode_offset[4];
00152
00153 int nudge_seconds;
00154
00155 int tool_window;
00156
00157 int vchannel_x[MAXCHANNELS];
00158 int vchannel_y[MAXCHANNELS];
00159
00160 int video_channels;
00161 VideoInConfig *vconfig_in;
00162
00163 int video_every_frame;
00164 int video_tracks;
00165
00166 int video_write_length;
00167 int view_follows_playback;
00168
00169
00170 char vwindow_folder[BCTEXTLEN];
00171 int vwindow_source;
00172
00173 int vwindow_meter;
00174 float vwindow_zoom;
00175
00176 static int current_id;
00177 PlaybackConfig* playback_config;
00178
00179 private:
00180
00181
00182
00183
00184
00185 };
00186
00187
00188 #endif