r105: This commit was manufactured by cvs2svn to create tag
[cinelerra_cv/mob.git] / hvirtual / cinelerra / edlsession.h
blob12c0336018e25bf548367d82dca356f7f8a9ddb4
1 #ifndef EDLSESSION_H
2 #define EDLSESSION_H
4 #include "defaults.inc"
5 #include "edl.inc"
6 #include "filexml.inc"
12 // Session shared between all clips
15 class EDLSession
17 public:
18 EDLSession(EDL *edl);
19 ~EDLSession();
21 int load_xml(FileXML *xml, int append_mode, uint32_t load_flags);
22 int save_xml(FileXML *xml);
23 int copy(EDLSession *session);
24 int calculate_smp();
25 int load_audio_config(FileXML *file, int append_mode, uint32_t load_flags);
26 int save_audio_config(FileXML *xml);
27 int load_video_config(FileXML *file, int append_mode, uint32_t load_flags);
28 int save_video_config(FileXML *xml);
29 int load_defaults(Defaults *defaults);
30 int save_defaults(Defaults *defaults);
31 // Used by CWindowGUI during initialization.
32 char* get_cwindow_display();
33 void boundaries();
35 void equivalent_output(EDLSession *session, double *result);
37 // Audio
38 int achannel_positions[MAXCHANNELS];
39 AudioOutConfig *aconfig_duplex;
40 AudioInConfig *aconfig_in;
41 // AWindow format
42 int assetlist_format;
43 // AWindow column widths
44 int asset_columns[ASSET_COLUMNS];
45 AutoConf *auto_conf;
46 float actual_frame_rate;
47 // Aspect ratio for video
48 float aspect_w;
49 float aspect_h;
50 int audio_channels;
51 // Samples to send through console
52 int64_t audio_module_fragment;
53 // Samples to read from disk at a time
54 int64_t audio_read_length;
55 int audio_tracks;
56 // automation follows edits during editing
57 int autos_follow_edits;
58 // Generate keyframes for every tweek
59 int auto_keyframes;
60 // Where to start background rendering
61 double brender_start;
62 // Length of clipboard if pasting
63 double clipboard_length;
64 // Colormodel for intermediate frames
65 int color_model;
66 // Coords for cropping operation
67 int crop_x1, crop_x2, crop_y1, crop_y2;
68 // Current folder in resource window
69 char current_folder[BCTEXTLEN];
70 // align cursor on frame boundaries
71 int cursor_on_frames;
72 // Destination item for CWindow
73 int cwindow_dest;
74 // Current submask being edited in CWindow
75 int cwindow_mask;
76 // Use the cwindow or not
77 int cwindow_meter;
78 // CWindow tool currently selected
79 int cwindow_operation;
80 // Use scrollbars in the CWindow
81 int cwindow_scrollbars;
82 // Scrollbar positions
83 int cwindow_xscroll;
84 int cwindow_yscroll;
85 float cwindow_zoom;
86 // Transition
87 char default_atransition[BCTEXTLEN];
88 char default_vtransition[BCTEXTLEN];
89 // Length in seconds
90 double default_transition_length;
91 // Edit mode to use for each mouse button
92 int edit_handle_mode[3];
93 // Editing mode
94 int editing_mode;
95 EDL *edl;
96 int enable_duplex;
97 // AWindow format
98 int folderlist_format;
99 int force_uniprocessor;
100 double frame_rate;
101 float frames_per_foot;
102 // Number of highlighted track
103 int highlighted_track;
104 // From edl.inc
105 int interpolation_type;
106 // labels follow edits during editing
107 int labels_follow_edits;
108 int mpeg4_deblock;
109 int plugins_follow_edits;
110 int meter_format;
111 float min_meter_db;
112 int output_w;
113 int output_h;
114 int64_t playback_buffer;
115 // Global playback. This is loaded from defaults but not from XML probably
116 // because it was discovered to be the most convenient.
117 // It is part of the EDL probably because the playback setting was
118 // going to be bound to the EDL.
119 ArrayList<PlaybackConfig*> playback_config[PLAYBACK_STRATEGIES];
120 int playback_cursor_visible;
121 int64_t playback_preload;
122 int playback_software_position;
123 int playback_strategy;
124 // Play audio in realtime priority
125 int real_time_playback;
126 int real_time_record;
127 // Use software to calculate record position
128 int record_software_position;
129 // Sync the drives during recording
130 int record_sync_drives;
131 // Speed of meters
132 int record_speed;
133 // Samples to write to disk at a time
134 int64_t record_write_length;
135 // Show title and action safe regions in CWindow
136 int safe_regions;
137 int64_t sample_rate;
138 float scrub_speed;
139 // Show titles in resources
140 int show_titles;
141 // number of cpus to use - 1
142 int smp;
143 // Test for data before rendering a track
144 int test_playback_edits;
145 // Format to display times in
146 int time_format;
147 // Show tool window in CWindow
148 int tool_window;
149 // Location of video outs
150 int vchannel_x[MAXCHANNELS];
151 int vchannel_y[MAXCHANNELS];
152 // Recording
153 int video_channels;
154 VideoInConfig *vconfig_in;
155 // play every frame
156 int video_every_frame;
157 int video_tracks;
158 // number of frames to write to disk at a time during video recording.
159 int video_write_length;
160 int view_follows_playback;
161 // Source item for VWindow
162 // Uniquely identify vwindow clip without pointers
163 char vwindow_folder[BCTEXTLEN];
164 int vwindow_source;
165 // Use the vwindow meter or not
166 int vwindow_meter;
167 float vwindow_zoom;
168 // Global ID counter
169 static int current_id;
173 #endif