EDL Class Reference

#include <edl.h>

Collaboration diagram for EDL:

Collaboration graph
[legend]

Public Member Functions

 EDL (EDL *parent_edl=0)
 ~EDL ()
int create_objects ()
EDLoperator= (EDL &edl)
int load_defaults (BC_Hash *defaults)
int save_defaults (BC_Hash *defaults)
void boundaries ()
int create_default_tracks ()
int load_xml (ArrayList< PluginServer * > *plugindb, FileXML *file, uint32_t load_flags)
int save_xml (ArrayList< PluginServer * > *plugindb, FileXML *xml, char *output_path, int is_clip, int is_vwindow)
int load_audio_config (FileXML *file, int append_mode, uint32_t load_flags)
int load_video_config (FileXML *file, int append_mode, uint32_t load_flags)
double align_to_frame (double position, int round)
void rechannel ()
void resample (double old_rate, double new_rate, int data_type)
void copy_tracks (EDL *edl)
void copy_session (EDL *edl, int session_only=0)
int copy_all (EDL *edl)
void copy_assets (EDL *edl)
void copy_clips (EDL *edl)
void synchronize_params (EDL *edl)
int equivalent (double position1, double position2)
double equivalent_output (EDL *edl)
void set_project_path (char *path)
void set_inpoint (double position)
void set_outpoint (double position)
void set_index_file (Asset *asset)
void update_assets (EDL *src)
void optimize ()
int dump ()
void new_folder (char *folder)
void delete_folder (char *folder)
void modify_edithandles (double oldposition, double newposition, int currentend, int handle_mode, int edit_labels, int edit_plugins)
void modify_pluginhandles (double oldposition, double newposition, int currentend, int handle_mode, int edit_labels, Edits *trim_edits)
int trim_selection (double start, double end, int edit_labels, int edit_plugins)
int copy_assets (double start, double end, FileXML *file, int all, ArrayList< PluginServer * > *plugindb, char *output_path)
int copy (double start, double end, int all, int is_clip, int is_vwindow, FileXML *file, ArrayList< PluginServer * > *plugindb, char *output_path, int rewind_it)
void paste_silence (double start, double end, int edit_labels, int edit_plugins)
void remove_from_project (ArrayList< Asset * > *assets)
void remove_from_project (ArrayList< EDL * > *clips)
int clear (double start, double end, int clear_labels, int clear_plugins)
void insert_asset (Asset *asset, double position, Track *first_track=0, RecordLabels *labels=0)
int insert_clips (ArrayList< EDL * > *new_edls, int load_mode, Track *first_track=0)
EDLadd_clip (EDL *edl)
void get_shared_plugins (Track *source, ArrayList< SharedLocation * > *plugin_locations)
void get_shared_tracks (Track *track, ArrayList< SharedLocation * > *module_locations)
int get_tracks_height (Theme *theme)
int64_t get_tracks_width ()
void calculate_conformed_dimensions (int single_channel, float &w, float &h)
void output_dimensions_scaled (int &w, int &h)
float get_aspect_ratio ()

Static Public Member Functions

static int next_id ()

Data Fields

ArrayList< char * > folders
ArrayList< EDL * > clips
EDLvwindow_edl
int vwindow_edl_shared
Assetsassets
Trackstracks
Labelslabels
EDLSessionsession
LocalSessionlocal_session
char project_path [BCTEXTLEN]
EDLparent_edl
int id

Static Public Attributes

static Mutexid_lock = 0

Detailed Description

Definition at line 46 of file edl.h.


Constructor & Destructor Documentation

EDL::EDL ( EDL parent_edl = 0  ) 

Definition at line 38 of file edl.C.

References folders, labels, local_session, new_folder(), next_id(), project_path, ArrayList< TYPE >::set_array_delete(), tracks, vwindow_edl, and vwindow_edl_shared.

Referenced by add_clip(), copy_clips(), and load_xml().

Here is the call graph for this function:

EDL::~EDL (  ) 

Definition at line 59 of file edl.C.

References assets, clips, folders, labels, local_session, parent_edl, ArrayList< TYPE >::remove_all_objects(), session, tracks, vwindow_edl, and vwindow_edl_shared.

Here is the call graph for this function:


Member Function Documentation

int EDL::create_objects (  ) 

EDL & EDL::operator= ( EDL edl  ) 

Definition at line 111 of file edl.C.

References copy_all().

Here is the call graph for this function:

int EDL::load_defaults ( BC_Hash defaults  ) 

Definition at line 118 of file edl.C.

References LocalSession::load_defaults(), EDLSession::load_defaults(), local_session, parent_edl, and session.

Referenced by New::create_new_edl(), and MWindow::init_edl().

Here is the call graph for this function:

int EDL::save_defaults ( BC_Hash defaults  ) 

Definition at line 127 of file edl.C.

References local_session, parent_edl, LocalSession::save_defaults(), EDLSession::save_defaults(), and session.

Referenced by New::handle_event(), MWindow::paste_edls(), NewThread::run(), and MWindow::save_defaults().

Here is the call graph for this function:

void EDL::boundaries (  ) 

int EDL::create_default_tracks (  ) 

Definition at line 142 of file edl.C.

References Tracks::add_audio_track(), Tracks::add_video_track(), EDLSession::audio_tracks, session, tracks, and EDLSession::video_tracks.

Referenced by MWindow::asset_to_edl(), New::create_new_project(), and MWindow::init_edl().

Here is the call graph for this function:

int EDL::load_xml ( ArrayList< PluginServer * > *  plugindb,
FileXML file,
uint32_t  load_flags 
)

int EDL::save_xml ( ArrayList< PluginServer * > *  plugindb,
FileXML xml,
char *  output_path,
int  is_clip,
int  is_vwindow 
)

Definition at line 325 of file edl.C.

References copy(), Tracks::total_length(), and tracks.

Referenced by MainUndo::capture_state(), copy(), Save::handle_event(), SaveAs::run(), MWindow::save_backup(), and RenderFarmServerThread::send_edl().

Here is the call graph for this function:

int EDL::load_audio_config ( FileXML file,
int  append_mode,
uint32_t  load_flags 
)

int EDL::load_video_config ( FileXML file,
int  append_mode,
uint32_t  load_flags 
)

double EDL::align_to_frame ( double  position,
int  round 
)

void EDL::rechannel (  ) 

void EDL::resample ( double  old_rate,
double  new_rate,
int  data_type 
)

Definition at line 614 of file edl.C.

References List< TYPE >::first, NEXT, and tracks.

Referenced by SetFormatThread::apply_changes(), MWindow::asset_to_rate(), and MWindow::paste_edls().

void EDL::copy_tracks ( EDL edl  ) 

void EDL::copy_session ( EDL edl,
int  session_only = 0 
)

int EDL::copy_all ( EDL edl  ) 

void EDL::copy_assets ( EDL edl  ) 

Definition at line 371 of file edl.C.

References assets, Assets::copy_from(), and parent_edl.

Referenced by copy(), and copy_all().

Here is the call graph for this function:

void EDL::copy_clips ( EDL edl  ) 

Definition at line 353 of file edl.C.

References add_clip(), clips, copy_all(), create_objects(), EDL(), ArrayList< TYPE >::remove_all_objects(), ArrayList< TYPE >::total, ArrayList< TYPE >::values, vwindow_edl, and vwindow_edl_shared.

Referenced by copy_all().

Here is the call graph for this function:

void EDL::synchronize_params ( EDL edl  ) 

Definition at line 626 of file edl.C.

References List< TYPE >::first, local_session, ListItem< TYPE >::next, LocalSession::synchronize_params(), and tracks.

Referenced by PlaybackEngine::perform_change(), and PlaybackEngine::sync_parameters().

Here is the call graph for this function:

int EDL::equivalent ( double  position1,
double  position2 
)

double EDL::equivalent_output ( EDL edl  ) 

Definition at line 673 of file edl.C.

References Tracks::equivalent_output(), EDLSession::equivalent_output(), session, and tracks.

Referenced by BRenderThread::run().

Here is the call graph for this function:

void EDL::set_project_path ( char *  path  ) 

Definition at line 682 of file edl.C.

References project_path.

Referenced by MWindow::save_backup().

void EDL::set_inpoint ( double  position  ) 

void EDL::set_outpoint ( double  position  ) 

void EDL::set_index_file ( Asset asset  ) 

Definition at line 1077 of file edl.C.

References