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 
)