Tracks Class Reference

#include <tracks.h>

Inherits List< Track >.

Collaboration diagram for Tracks:

Collaboration graph
[legend]

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, int autogrouptype)
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_audio_length ()
double total_video_length ()
double total_length_framealigned (double fps)
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)
void straighten_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 loaded_lengths_to_tracklengths (int includerecordtracks)
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)

Data Fields

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 98 of file tracks.h.


Constructor & Destructor Documentation

Tracks::Tracks (  ) 

Definition at line 34 of file tracks.C.

Tracks::Tracks ( EDL edl  ) 

Definition at line 28 of file tracks.C.

Tracks::~Tracks (  )  [virtual]

Definition at line 40 of file tracks.C.

References delete_all_tracks().

Here is the call graph for this function:


Member Function Documentation

Tracks & Tracks::operator= ( Tracks tracks  ) 

Definition at line 161 of file tracks.C.

References copy_from().

Here is the call graph for this function:

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

Definition at line 168 of file tracks.C.

References add_audio_track(), add_video_track(), BCTEXTLEN, List< Track >::get_item_number(), XMLTag::get_property(), List< Track >::last, Track::load(), and FileXML::tag.

Referenced by EDL::load_xml().

Here is the call graph for this function:

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

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

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

Definition at line 91 of file tracks.C.

References ArrayList< TYPE >::append(), edl, EDL::equivalent(), ListItem< TYPE >::next, and ArrayList< TYPE >::remove_all().

Referenced by TrackCanvas::do_edits().

Here is the call graph for this function:

void Tracks::get_automation_extents ( float *  min,
float *  max,
double  start,
double  end,
int  autogrouptype 
)

Definition at line 117 of file tracks.C.

References List< Track >::first, and NEXT.

Referenced by MWindow::fit_autos().

void Tracks::equivalent_output ( Tracks tracks,
double *  result 
)

Definition at line 50 of file tracks.C.

References Track::data_type, Track::equivalent_output(), List< TYPE >::first, List< Track >::first, ListItem< TYPE >::next, NEXT, total_playable_vtracks(), and TRACK_VIDEO.

Referenced by EDL::equivalent_output().

Here is the call graph for this function:

int Tracks::move_track_up ( Track track  ) 

Definition at line 529 of file tracksedit.C.

References change_modules(), List< Track >::last, number_of(), ListItem< TYPE >::previous, and List< Track >::swap().

Referenced by MWindow::move_track_up().

Here is the call graph for this function:

int Tracks::move_track_down ( Track track  ) 

Definition at line 552 of file tracksedit.C.

References change_modules(), List< Track >::first, ListItem< TYPE >::next, number_of(), and List< Track >::swap().

Referenced by MWindow::move_track_down().

Here is the call graph for this function:

int Tracks::move_tracks_up (  ) 

Definition at line 563 of file tracksedit.C.

References change_modules(), List< Track >::first, ListItem< TYPE >::next, number_of(), ListItem< TYPE >::previous, Track::record, and List< Track >::swap().

Referenced by MWindow::move_tracks_up().

Here is the call graph for this function:

int Tracks::move_tracks_down (  ) 

Definition at line 589 of file tracksedit.C.

References change_modules(), List< Track >::last, ListItem< TYPE >::next, number_of(), ListItem< TYPE >::previous, Track::record, and List< Track >::swap().

Referenced by MWindow::move_tracks_down().

Here is the call graph for this function:

void Tracks::paste_audio_transition ( PluginServer server  ) 

Definition at line 617 of file tracksedit.C.

References edl, List< Track >::first, LocalSession::get_selectionstart(), EDL::local_session, NEXT, paste_transition(), BC_ScrollBar::position, and TRACK_AUDIO.

Referenced by MWindow::paste_audio_transition().

Here is the call graph for this function:

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

void Tracks::paste_transition ( PluginServer server,
Edit dest_edit 
)

Definition at line 755 of file tracksedit.C.

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

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

Here is the call graph for this function:

int Tracks::playable_audio_tracks (  ) 

int Tracks::playable_video_tracks (  ) 

Definition at line 381 of file tracks.C.

References List< Track >::first, NEXT, and TRACK_VIDEO.

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

int Tracks::recordable_audio_tracks (  ) 

Definition at line 347 of file tracks.C.

References List< Track >::first, NEXT, and TRACK_AUDIO.

Referenced by MenuAEffectThread::get_recordable_tracks().

int Tracks::recordable_video_tracks (  ) 

Definition at line 355 of file tracks.C.

References List< Track >::first, NEXT, and TRACK_VIDEO.

Referenced by MenuVEffectThread::get_recordable_tracks().

int Tracks::total_audio_tracks (  ) 

int Tracks::total_video_tracks (  ) 

double Tracks::total_length (  ) 

double Tracks::total_audio_length (  ) 

Definition at line 446 of file tracks.C.

References List< Track >::first, NEXT, List< Track >::total(), and TRACK_AUDIO.

Referenced by total_length_framealigned().

Here is the call graph for this function:

double Tracks::total_video_length (  ) 

Definition at line 457 of file tracks.C.

References List< Track >::first, NEXT, List< Track >::total(), and TRACK_VIDEO.

Referenced by BRenderThread::start(), and total_length_framealigned().

Here is the call graph for this function:

double Tracks::total_length_framealigned ( double  fps  ) 

Definition at line 468 of file tracks.C.

References MIN, total_audio_length(), total_audio_tracks(), total_video_length(), and total_video_tracks().

Referenced by MWindow::asset_to_edl(), and TrackCanvas::draw_paste_destination().

Here is the call graph for this function:

void Tracks::update_y_pixels ( Theme theme  ) 

void Tracks::select_all ( int  type,
int  value 
)

Definition at line 525 of file tracks.C.

References DRAW, edl, EXPAND, List< Track >::first, GANG, LocalSession::get_selectionstart(), EDL::local_session, MUTE, NEXT, PLAY, and RECORD.

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

Here is the call graph for this function:

void Tracks::translate_camera ( float  offset_x,
float  offset_y 
)

Definition at line 482 of file tracks.C.

References List< Track >::first, NEXT, and TRACK_VIDEO.

void Tracks::translate_projector ( float  offset_x,
float  offset_y 
)

Definition at line 492 of file tracks.C.

References List< Track >::first, NEXT, and TRACK_VIDEO.

Referenced by MWindow::crop_video().

int Tracks::total_of ( int  type  ) 

Track * Tracks::add_audio_track ( int  above,
Track dst_track 
)

Track * Tracks::add_video_track ( int  above,
Track dst_track 
)

int Tracks::delete_track ( Track track  ) 

Definition at line 292 of file tracks.C.

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

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

Here is the call graph for this function:

int Tracks::detach_shared_effects ( int  module  ) 

Definition at line 312 of file tracks.C.

References List< Track >::first, and NEXT.

Referenced by delete_track().

int Tracks::change_channels ( int  oldchannels,
int  newchannels 
)

Definition at line 600 of file tracks.C.

References List< Track >::first, and NEXT.

int Tracks::dump (  ) 

Definition at line 514 of file tracks.C.

References List< Track >::first, and NEXT.

Referenced by EDL::dump().

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

int Tracks::concatenate_tracks ( int  edit_plugins  ) 

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

int Tracks::delete_tracks (  ) 

Definition at line 158 of file tracksedit.C.

References delete_track(), BC_WindowBase::done, List< Track >::first, and NEXT.

Referenced by MWindow::delete_tracks().

Here is the call graph for this function:

int Tracks::delete_all_tracks (  ) 

Definition at line 475 of file tracksedit.C.

References List< Track >::last.

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

void Tracks::copy_from ( Tracks tracks  ) 

Definition at line 141 of file tracks.C.

References add_audio_track(), add_video_track(), Track::copy_from(), delete_all_tracks(), List< TYPE >::first, NEXT, TRACK_AUDIO, and TRACK_VIDEO.

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

Here is the call graph for this function:

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

Definition at line 503 of file tracksedit.C.

References Track::copy(), List< Track >::first, NEXT, and Track::record.

Referenced by EDL::copy().

Here is the call graph for this function:

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

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

Definition at line 27 of file tracksedit.C.

References Track::clear(), List< Track >::first, ListItem< TYPE >::next, and Track::record.

Referenced by MWindow::asset_to_edl(), and EDL::clear().

Here is the call graph for this function:

void Tracks::clear_automation ( double  selectionstart,
double  selectionend 
)

Definition at line 49 of file tracksedit.C.

References Track::clear_automation(), List< Track >::first, ListItem< TYPE >::next, and Track::record.

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

Here is the call graph for this function:

void Tracks::straighten_automation ( double  selectionstart,
double  selectionend 
)

Definition at line 65 of file tracksedit.C.

References List< Track >::first, ListItem< TYPE >::next, Track::record, and Track::straighten_automation().

Referenced by MWindow::straighten_automation().

Here is the call graph for this function:

int Tracks::clear_default_keyframe (  ) 

Definition at line 79 of file tracksedit.C.

References List< Track >::first, and NEXT.

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 89 of file tracksedit.C.

References Track::clear_handle(), List< Track >::first, ListItem< TYPE >::next, and Track::record.

Referenced by EDL::clear().

Here is the call graph for this function:

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

int Tracks::copy_default_keyframe ( FileXML file  ) 

Definition at line 152 of file tracksedit.C.

References copy_automation().

Referenced by MWindow::copy_default_keyframe().

Here is the call graph for this function:

void Tracks::loaded_lengths_to_tracklengths ( int  includerecordtracks  ) 

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

int Tracks::paste_default_keyframe ( FileXML file  ) 

Definition at line 749 of file tracksedit.C.

References paste_automation().

Referenced by MWindow::paste_default_keyframe().

Here is the call graph for this function:

int Tracks::paste ( int64_t  start,
int64_t  end 
)

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 782 of file tracksedit.C.

References List< Track >::first, ListItem< TYPE >::next, Track::paste_silence(), and Track::record.

Referenced by EDL::paste_silence().

Here is the call graph for this function:

int Tracks::purge_asset ( Asset asset  ) 

Definition at line 868 of file tracksedit.C.

References List< Track >::first, ListItem< TYPE >::next, and Track::purge_asset().

Here is the call graph for this function:

int Tracks::asset_used ( Asset asset  ) 

Definition at line 880 of file tracksedit.C.

References Track::asset_used(), List< Track >::first, and ListItem< TYPE >::next.

Here is the call graph for this function:

int Tracks::popup_transition ( int  cursor_x,
int  cursor_y 
)

Definition at line 589 of file tracks.C.

References List< Track >::first, and NEXT.

int Tracks::select_auto ( int  cursor_x,
int  cursor_y 
)

Definition at line 800 of file tracksedit.C.

References auto_conf, List< Track >::first, and NEXT.

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

Definition at line 807 of file tracksedit.C.

References auto_conf, List< Track >::first, and NEXT.

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

Definition at line 818 of file tracksedit.C.

References List< Track >::first, Track::modify_edithandles(), NEXT, and Track::record.

Referenced by EDL::modify_edithandles().

Here is the call graph for this function:

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

Definition at line 842 of file tracksedit.C.

References List< Track >::first, Track::modify_pluginhandles(), NEXT, and Track::record.

Referenced by EDL::modify_pluginhandles().

Here is the call graph for this function:

int Tracks::select_handles (  ) 

int Tracks::select_region (  ) 

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

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

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

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 892 of file tracksedit.C.

References Track::data_type, List< Track >::first, ListItem< TYPE >::next, Track::record, Track::scale_time(), and TRACK_VIDEO.

Here is the call graph for this function:

double Tracks::total_playable_length (  ) 

int Tracks::total_playable_vtracks (  ) 

Definition at line 641 of file tracks.C.

References List< Track >::first, NEXT, and TRACK_VIDEO.

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

double Tracks::total_recordable_length (  ) 

Definition at line 422 of file tracks.C.

References List< Track >::first, NEXT, and List< Track >::total().

Here is the call graph for this function:

int Tracks::totalpixels (  ) 

Definition at line 609 of file tracks.C.

References edl, List< Track >::first, EDL::local_session, NEXT, and LocalSession::zoom_track.

int Tracks::number_of ( Track track  ) 

Track * Tracks::number ( int  number  ) 

Definition at line 629 of file tracks.C.

References List< Track >::first, and NEXT.

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


Field Documentation

Definition at line 210 of file tracks.h.

Definition at line 210 of file tracks.h.

Definition at line 211 of file tracks.h.

Definition at line 212 of file tracks.h.

Referenced by move_auto(), and select_auto().

Definition at line 213 of file tracks.h.


The documentation for this class was generated from the following files:

Generated on Mon Apr 28 14:47:38 2008 for Cinelerra by  doxygen 1.5.5