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

Tracks Class Reference

#include <tracks.h>

List of all members.

Public Types

enum  {
  NONE, PLAY, RECORD, GANG,
  DRAW, MUTE, EXPAND
}

Public Member Functions

 Tracks ()
 Tracks (EDL *edl)
virtual ~Tracks ()
Tracksoperator= (Tracks &tracks)
int load (FileXML *xml, int &track_offset, uint32_t load_flags)
void move_edits (ArrayList< Edit * > *edits, Track *track, double position, int edit_labels, int edit_plugins, int behaviour)
void move_effect (Plugin *plugin, PluginSet *plugin_set, Track *track, int64_t position)
void get_affected_edits (ArrayList< Edit * > *drag_edits, double position, Track *start_track)
void get_automation_extents (float *min, float *max, double start, double end)
void equivalent_output (Tracks *tracks, double *result)
int move_track_up (Track *track)
int move_track_down (Track *track)
int move_tracks_up ()
int move_tracks_down ()
void paste_audio_transition (PluginServer *server)
void paste_video_transition (PluginServer *server, int first_track=0)
void paste_transition (PluginServer *server, Edit *dest_edit)
int playable_audio_tracks ()
int playable_video_tracks ()
int recordable_audio_tracks ()
int recordable_video_tracks ()
int total_audio_tracks ()
int total_video_tracks ()
double total_length ()
double total_video_length ()
void update_y_pixels (Theme *theme)
void select_all (int type, int value)
void translate_camera (float offset_x, float offset_y)
void translate_projector (float offset_x, float offset_y)
int total_of (int type)
Trackadd_audio_track (int above, Track *dst_track)
Trackadd_video_track (int above, Track *dst_track)
int delete_track (Track *track)
int detach_shared_effects (int module)
int change_channels (int oldchannels, int newchannels)
int dump ()
void change_modules (int old_location, int new_location, int do_swap)
int concatenate_tracks (int edit_plugins)
void change_plugins (SharedLocation &old_location, SharedLocation &new_location, int do_swap)
int delete_tracks ()
int delete_all_tracks ()
void copy_from (Tracks *tracks)
int copy (double start, double end, int all, FileXML *file, char *output_path="")
int copy_assets (FileXML *xml, double start, double end, int all)
int clear (double start, double end, int clear_plugins)
void clear_automation (double selectionstart, double selectionend)
int clear_default_keyframe ()
int clear_handle (double start, double end, double &longest_distance, int clear_labels, int clear_plugins)
int copy_automation (double selectionstart, double selectionend, FileXML *file, int default_only, int autos_only)
int copy_default_keyframe (FileXML *file)
void paste_automation (double selectionstart, FileXML *xml, int default_only)
int paste_default_keyframe (FileXML *file)
int paste (int64_t start, int64_t end)
int paste_output (int64_t startproject, int64_t endproject, int64_t startsource_sample, int64_t endsource_sample, int64_t startsource_frame, int64_t endsource_frame, Asset *asset)
int paste_silence (double start, double end, int edit_plugins)
int purge_asset (Asset *asset)
int asset_used (Asset *asset)
int popup_transition (int cursor_x, int cursor_y)
int select_auto (int cursor_x, int cursor_y)
int move_auto (int cursor_x, int cursor_y, int shift_down)
int modify_edithandles (double &oldposition, double &newposition, int currentend, int handle_mode, int edit_labels, int edit_plugins)
int modify_pluginhandles (double &oldposition, double &newposition, int currentend, int handle_mode, int edit_labels, Edits *trim_edits)
int select_handles ()
int select_region ()
int select_edit (int64_t cursor_position, int cursor_x, int cursor_y, int64_t &new_start, int64_t &new_end)
int feather_edits (int64_t start, int64_t end, int64_t samples, int audio, int video)
int64_t get_feather (int64_t selectionstart, int64_t selectionend, int audio, int video)
int scale_time (float rate_scale, int ignore_record, int scale_edits, int scale_autos, int64_t start, int64_t end)
double total_playable_length ()
int total_playable_vtracks ()
double total_recordable_length ()
int totalpixels ()
int number_of (Track *track)
Tracknumber (int number)

Public Attributes

EDLedl
int handles
int titles
int show_output
AutoConf auto_conf
int overlays_visible


Detailed Description

Definition at line 19 of file tracks.h.


Member Enumeration Documentation

anonymous enum
 

Enumerator:
NONE 
PLAY 
RECORD 
GANG 
DRAW 
MUTE 
EXPAND 

Definition at line 95 of file tracks.h.


Constructor & Destructor Documentation

Tracks::Tracks  ) 
 

Definition at line 33 of file tracks.C.

Tracks::Tracks EDL edl  ) 
 

Definition at line 27 of file tracks.C.

Tracks::~Tracks  )  [virtual]
 

Definition at line 39 of file tracks.C.

References delete_all_tracks().


Member Function Documentation

Track * Tracks::add_audio_track int  above,
Track dst_track
 

Definition at line 199 of file tracks.C.

References EDLSession::achannel_positions, EDLSession::audio_channels, Track::automation, Automation::autos, change_modules(), ATrack::create_objects(), Track::data_type, Autos::default_auto, edl, PanAuto::handle_x, PanAuto::handle_y, number_of(), EDL::session, ATrack::set_default_title(), TRACK_AUDIO, and PanAuto::values.

Referenced by MWindow::add_audio_track(), copy_from(), EDL::create_default_tracks(), load(), and MWindow::paste_edls().

Track * Tracks::add_video_track int  above,
Track dst_track
 

Definition at line 255 of file tracks.C.

References change_modules(), VTrack::create_objects(), edl, number_of(), and VTrack::set_default_title().

Referenced by MWindow::add_video_track(), copy_from(), EDL::create_default_tracks(), load(), and MWindow::paste_edls().

int Tracks::asset_used Asset asset  ) 
 

Definition at line 872 of file tracksedit.C.

References Track::asset_used().

int Tracks::change_channels int  oldchannels,
int  newchannels
 

Definition at line 573 of file tracks.C.

References Track::change_channels().

void Tracks::change_modules int  old_location,
int  new_location,
int  do_swap
 

Definition at line 490 of file tracksedit.C.

References Track::change_modules().

Referenced by add_audio_track(), add_video_track(), delete_track(), move_track_down(), move_track_up(), move_tracks_down(), and move_tracks_up().

void Tracks::change_plugins SharedLocation old_location,
SharedLocation new_location,
int  do_swap
 

Definition at line 498 of file tracksedit.C.

References Track::change_plugins().

Referenced by Track::move_plugins_down(), Track::move_plugins_up(), and Track::remove_pluginset().

int Tracks::clear double  start,
double  end,
int  clear_plugins
 

Definition at line 27 of file tracksedit.C.

References Track::clear(), and Track::record.

Referenced by EDL::clear(), and TrackCanvas::drag_stop().

void Tracks::clear_automation double  selectionstart,
double  selectionend
 

Definition at line 49 of file tracksedit.C.

References Track::clear_automation(), and Track::record.

Referenced by MWindow::clear_automation(), MWindow::cut_automation(), and MWindow::paste_automation().

int Tracks::clear_default_keyframe  ) 
 

Definition at line 65 of file tracksedit.C.

References Track::clear_automation(), and Track::record.

Referenced by MWindow::clear_default_keyframe(), and MWindow::cut_default_keyframe().

int Tracks::clear_handle double  start,
double  end,
double &  longest_distance,
int  clear_labels,
int  clear_plugins
 

Definition at line 75 of file tracksedit.C.

References Track::clear_handle(), and Track::record.

Referenced by EDL::clear().

int Tracks::concatenate_tracks int  edit_plugins  ) 
 

Definition at line 407 of file tracksedit.C.

References Track::data_type, Track::get_length(), Track::insert_track(), Track::play, Track::record, TRACK_AUDIO, and TRACK_VIDEO.

Referenced by MWindow::concatenate_tracks().

int Tracks::copy double  start,
double  end,
int  all,
FileXML file,
char *  output_path = ""
 

Definition at line 511 of file tracksedit.C.

References Track::copy(), and Track::record.

Referenced by EDL::copy().

int Tracks::copy_assets FileXML xml,
double  start,
double  end,
int  all
 

int Tracks::copy_automation double  selectionstart,
double  selectionend,
FileXML file,
int  default_only,
int  autos_only
 

Definition at line 100 of file tracksedit.C.

References FileXML::append_newline(), FileXML::append_tag(), Track::copy_automation(), edl, EDLSession::frame_rate, Track::record, EDLSession::sample_rate, EDL::session, XMLTag::set_property(), XMLTag::set_title(), FileXML::tag, and FileXML::terminate_string().

Referenced by MWindow::copy_automation(), and copy_default_keyframe().

int Tracks::copy_default_keyframe FileXML file  ) 
 

Definition at line 138 of file tracksedit.C.

References copy_automation().

Referenced by MWindow::copy_default_keyframe().

void Tracks::copy_from Tracks tracks  ) 
 

Definition at line 138 of file tracks.C.

References add_audio_track(), add_video_track(), Track::copy_from(), Track::data_type, delete_all_tracks(), TRACK_AUDIO, and TRACK_VIDEO.

Referenced by EDL::copy_all(), and operator=().

int Tracks::delete_all_tracks  ) 
 

Definition at line 483 of file tracksedit.C.

Referenced by copy_from(), and ~Tracks().

int Tracks::delete_track Track track  ) 
 

Definition at line 289 of file tracks.C.

References change_modules(), detach_shared_effects(), and number_of().

Referenced by MWindow::delete_track(), and delete_tracks().

int Tracks::delete_tracks  ) 
 

Definition at line 144 of file tracksedit.C.

References delete_track().

Referenced by MWindow::delete_tracks().

int Tracks::detach_shared_effects int  module  ) 
 

Definition at line 309 of file tracks.C.

References Track::detach_shared_effects().

Referenced by delete_track().

int Tracks::dump  ) 
 

Definition at line 487 of file tracks.C.

References Track::dump().

Referenced by EDL::dump().

void Tracks::equivalent_output Tracks tracks,
double *  result
 

Definition at line 49 of file tracks.C.

References Track::data_type, Track::equivalent_output(), total_playable_vtracks(), and TRACK_VIDEO.

Referenced by EDL::equivalent_output().

int Tracks::feather_edits int64_t  start,
int64_t  end,
int64_t  samples,
int  audio,
int  video
 

void Tracks::get_affected_edits ArrayList< Edit * > *  drag_edits,
double  position,
Track start_track
 

Definition at line 90 of file tracks.C.

References Track::edits, edl, EDL::equivalent(), Track::from_units(), Track::record, and Edit::startproject.

Referenced by TrackCanvas::do_edits().

void Tracks::get_automation_extents float *  min,
float *  max,
double  start,
double  end
 

Definition at line 116 of file tracks.C.

References Track::automation, Automation::get_extents(), Track::record, and Track::to_units().

Referenced by MWindow::fit_autos().

int64_t Tracks::get_feather int64_t  selectionstart,
int64_t  selectionend,
int  audio,
int  video
 

int Tracks::load FileXML xml,
int &  track_offset,
uint32_t  load_flags
 

Definition at line 165 of file tracks.C.

References add_audio_track(), add_video_track(), XMLTag::get_property(), Track::load(), and FileXML::tag.

Referenced by EDL::load_xml().

int Tracks::modify_edithandles double &  oldposition,
double &  newposition,
int  currentend,
int  handle_mode,
int  edit_labels,
int  edit_plugins
 

Definition at line 810 of file tracksedit.C.

References Track::modify_edithandles(), and Track::record.

Referenced by EDL::modify_edithandles().

int Tracks::modify_pluginhandles double &  oldposition,
double &  newposition,
int  currentend,
int  handle_mode,
int  edit_labels,
Edits trim_edits
 

Definition at line 834 of file tracksedit.C.

References Track::modify_pluginhandles(), and Track::record.

Referenced by EDL::modify_pluginhandles().

int Tracks::move_auto int  cursor_x,
int  cursor_y,
int  shift_down
 

Definition at line 799 of file tracksedit.C.

References auto_conf, and Track::move_auto().

void Tracks::move_edits ArrayList< Edit * > *  edits,
Track track,
double  position,
int  edit_labels,
int  edit_plugins,
int  behaviour
 

Definition at line 167 of file tracksedit.C.

References Track::automation, Edits::clear(), Automation::clear(), Automation::copy(), Edit::copy_from(), Track::data_type, Track::edits, edl, Edit::length, Track::optimize(), Automation::paste(), Edits::paste_silence(), Automation::paste_silence(), FileXML::read_tag(), Track::record, FileXML::rewind(), AutoConf::set_all(), Edits::shift(), Edit::startproject, FileXML::terminate_string(), Track::to_units(), Edit::track, TRACK_AUDIO, and TRACK_VIDEO.

Referenced by MWindow::move_edits().

void Tracks::move_effect Plugin plugin,
PluginSet plugin_set,
Track track,
int64_t  position
 

Definition at line 333 of file tracksedit.C.

References PluginSet::clear(), Plugin::copy_from(), edl, Track::from_units(), Track::get_length(), LocalSession::get_selectionend(), LocalSession::get_selectionstart(), Track::insert_effect(), Edit::length, EDL::local_session, Track::optimize(), Plugin::plugin_set, Plugin::plugin_type, Plugin::shared_location, Plugin::shift(), Edits::shift(), Edit::startproject, Edits::track, and Edit::track.

Referenced by MWindow::move_effect().

int Tracks::move_track_down Track track  ) 
 

Definition at line 560 of file tracksedit.C.

References change_modules(), and number_of().

Referenced by MWindow::move_track_down().

int Tracks::move_track_up Track track  ) 
 

Definition at line 537 of file tracksedit.C.

References change_modules(), and number_of().

Referenced by MWindow::move_track_up().

int Tracks::move_tracks_down  ) 
 

Definition at line 597 of file tracksedit.C.

References change_modules(), number_of(), and Track::record.

Referenced by MWindow::move_tracks_down().

int Tracks::move_tracks_up  ) 
 

Definition at line 571 of file tracksedit.C.

References change_modules(), number_of(), and Track::record.

Referenced by MWindow::move_tracks_up().

Track * Tracks::number int  number  ) 
 

Definition at line 602 of file tracks.C.

Referenced by PluginDialog::create_objects(), and Plugin::is_synthesis().

int Tracks::number_of Track track  ) 
 

Definition at line 592 of file tracks.C.

Referenced by add_audio_track(), add_video_track(), delete_track(), EditPopupResize::EditPopupResize(), Plugin::get_shared_location(), EDL::get_shared_plugins(), EDL::get_shared_tracks(), EditPopupResize::handle_event(), Track::move_plugins_down(), Track::move_plugins_up(), move_track_down(), move_track_up(), move_tracks_down(), move_tracks_up(), Track::number_of(), and Track::remove_pluginset().

Tracks & Tracks::operator= Tracks tracks  ) 
 

Definition at line 158 of file tracks.C.

References copy_from().

int Tracks::paste int64_t  start,
int64_t  end
 

void Tracks::paste_audio_transition PluginServer server  ) 
 

Definition at line 625 of file tracksedit.C.

References Track::data_type, Edits::editof(), Track::edits, edl, LocalSession::get_selectionstart(), EDL::local_session, paste_transition(), Track::record, Track::to_units(), and TRACK_AUDIO.

Referenced by MWindow::paste_audio_transition().

void Tracks::paste_automation double  selectionstart,
FileXML xml,
int  default_only
 

Definition at line 645 of file tracksedit.C.

References Track::data_type, edl, EDLSession::frame_rate, XMLTag::get_property(), Track::paste_automation(), FileXML::read_tag(), Track::record, EDLSession::sample_rate, EDL::session, FileXML::tag, XMLTag::title_is(), TRACK_AUDIO, and TRACK_VIDEO.

Referenced by MWindow::paste_automation(), and paste_default_keyframe().

int Tracks::paste_default_keyframe FileXML file  ) 
 

Definition at line 741 of file tracksedit.C.

References paste_automation().

Referenced by MWindow::paste_default_keyframe().

int Tracks::paste_output int64_t  startproject,
int64_t  endproject,
int64_t  startsource_sample,
int64_t  endsource_sample,
int64_t  startsource_frame,
int64_t  endsource_frame,
Asset asset
 

int Tracks::paste_silence double  start,
double  end,
int  edit_plugins
 

Definition at line 774 of file tracksedit.C.

References Track::paste_silence(), and Track::record.

Referenced by EDL::paste_silence().

void Tracks::paste_transition PluginServer server,
Edit dest_edit
 

Definition at line 747 of file tracksedit.C.

References Edit::insert_transition(), and PluginServer::title.

Referenced by paste_audio_transition(), MWindow::paste_transition(), and paste_video_transition().

void Tracks::paste_video_transition PluginServer server,
int  first_track = 0
 

Definition at line 752 of file tracksedit.C.

References Track::data_type, Edits::editof(), Track::edits, edl, LocalSession::get_selectionstart(), EDL::local_session, paste_transition(), Track::record, Track::to_units(), and TRACK_VIDEO.

Referenced by MWindow::paste_transition_cwindow(), and MWindow::paste_video_transition().

int Tracks::playable_audio_tracks  ) 
 

Definition at line 363 of file tracks.C.

References Track::data_type, Track::play, and TRACK_AUDIO.

Referenced by Render::check_asset(), RenderEngine::get_duty(), and Record::open_input_devices().

int Tracks::playable_video_tracks  ) 
 

Definition at line 378 of file tracks.C.

References Track::data_type, Track::play, and TRACK_VIDEO.

Referenced by Render::check_asset(), and RenderEngine::get_duty().

int Tracks::popup_transition int  cursor_x,
int  cursor_y
 

Definition at line 562 of file tracks.C.

References Track::popup_transition().

int Tracks::purge_asset Asset asset  ) 
 

Definition at line 860 of file tracksedit.C.

References Track::purge_asset().

int Tracks::recordable_audio_tracks  ) 
 

Definition at line 344 of file tracks.C.

References Track::data_type, Track::record, and TRACK_AUDIO.

Referenced by MenuAEffectThread::get_recordable_tracks().

int Tracks::recordable_video_tracks  ) 
 

Definition at line 352 of file tracks.C.

References Track::data_type, Track::record, and TRACK_VIDEO.

Referenced by MenuVEffectThread::get_recordable_tracks().

int Tracks::scale_time float  rate_scale,
int  ignore_record,
int  scale_edits,
int  scale_autos,
int64_t  start,
int64_t  end
 

Definition at line 884 of file tracksedit.C.

References Track::data_type, Track::record, Track::scale_time(), and TRACK_VIDEO.

void Tracks::select_all int  type,
int  value
 

Definition at line 498 of file tracks.C.

References Track::automation, Automation::autos, Track::draw, DRAW, edl, EXPAND, Track::expand_view, Track::gang, GANG, Autos::get_auto_for_editing(), LocalSession::get_selectionstart(), EDL::local_session, MUTE, Track::play, PLAY, Track::record, and RECORD.

Referenced by MWindowGUI::keypress_event(), and PatchGUI::toggle_behavior().

int Tracks::select_auto int  cursor_x,
int  cursor_y
 

Definition at line 792 of file tracksedit.C.

References auto_conf, and Track::select_auto().

int Tracks::select_edit int64_t  cursor_position,
int  cursor_x,
int  cursor_y,
int64_t &  new_start,
int64_t &  new_end
 

int Tracks::select_handles  ) 
 

int Tracks::select_region  ) 
 

int Tracks::total_audio_tracks  ) 
 

Definition at line 392 of file tracks.C.

References Track::data_type, and TRACK_AUDIO.

Referenced by TrackCanvas::draw_paste_destination(), and ARender::get_total_tracks().

double Tracks::total_length  ) 
 

Definition at line 433 of file tracks.C.

References Track::get_length().

Referenced by TrackCanvas::drag_stop(), TrackCanvas::draw_paste_destination(), MWindow::fit_autos(), MWindow::fit_selection(), VWindow::goto_end(), MWindow::goto_end(), VWindowEditing::next_label(), EDL::optimize(), MWindow::paste_edls(), ManualGoto::run(), EDL::save_xml(), MWindow::select_all(), TimeBar::select_region(), MWindow::set_loop_boundaries(), SampleScroll::set_position(), VWindowEditing::to_clip(), MWindow::to_clip(), and EDL::trim_selection().

int Tracks::total_of int  type  ) 
 

Definition at line 319 of file tracks.C.

References Track::automation, Automation::autos, DRAW, Track::draw, edl, EXPAND, Track::expand_view, GANG, Track::gang, Autos::get_prev_auto(), LocalSession::get_selectionstart(), EDL::local_session, MUTE, PLAY, Track::play, RECORD, Track::record, and Track::to_units().

Referenced by MWindowGUI::keypress_event(), and PatchGUI::toggle_behavior().

double Tracks::total_playable_length  ) 
 

Definition at line 408 of file tracks.C.

References Track::get_length().

Referenced by TransportCommand::adjust_playback_range(), TimeBar::get_edl_length(), MenuEffectThread::run(), TransportCommand::set_playback_range(), VWindowSlider::set_position(), and CWindowSlider::set_position().

int Tracks::total_playable_vtracks  ) 
 

Definition at line 614 of file tracks.C.

References Track::data_type, Track::play, and TRACK_VIDEO.

Referenced by MTimeBar::draw_range(), equivalent_output(), and BRenderThread::run().

double Tracks::total_recordable_length  ) 
 

Definition at line 419 of file tracks.C.

References Track::get_length(), and Track::record.

double Tracks::total_video_length  ) 
 

Definition at line 443 of file tracks.C.

References Track::data_type, Track::get_length(), and TRACK_VIDEO.

Referenced by BRenderThread::start().

int Tracks::total_video_tracks  ) 
 

Definition at line 400 of file tracks.C.

References Track::data_type, and TRACK_VIDEO.

Referenced by TrackCanvas::draw_paste_destination(), and VRender::get_total_tracks().

int Tracks::totalpixels  ) 
 

Definition at line 582 of file tracks.C.

References edl, EDL::local_session, and LocalSession::zoom_track.

void Tracks::translate_camera float  offset_x,
float  offset_y
 

Definition at line 455 of file tracks.C.

References Track::data_type, and TRACK_VIDEO.

void Tracks::translate_projector float  offset_x,
float  offset_y
 

Definition at line 465 of file tracks.C.

References Track::data_type, and TRACK_VIDEO.

Referenced by MWindow::crop_video().

void Tracks::update_y_pixels Theme theme  ) 
 

Definition at line 476 of file tracks.C.

References edl, EDL::local_session, LocalSession::track_start, Track::vertical_span(), and Track::y_pixel.

Referenced by MWindow::add_audio_track(), MWindow::add_video_track(), TrackCanvas::drag_stop(), TrackScroll::handle_event(), MWindow::init_edl(), MWindow::trackmovement(), MWindowGUI::update(), and MWindow::update_project().


Member Data Documentation

AutoConf Tracks::auto_conf
 

Definition at line 208 of file tracks.h.

Referenced by move_auto(), and select_auto().

EDL* Tracks::edl
 

Definition at line 88 of file tracks.h.

Referenced by add_audio_track(), add_video_track(), copy_automation(), get_affected_edits(), move_edits(), move_effect(), paste_audio_transition(), paste_automation(), paste_video_transition(), select_all(), total_of(), totalpixels(), and update_y_pixels().

int Tracks::handles
 

Definition at line 206 of file tracks.h.

int Tracks::overlays_visible
 

Definition at line 209 of file tracks.h.

int Tracks::show_output
 

Definition at line 207 of file tracks.h.

int Tracks::titles
 

Definition at line 206 of file tracks.h.


The documentation for this class was generated from the following files:
Generated on Sun Jan 8 13:39:27 2006 for Cinelerra-svn by  doxygen 1.4.4