#include <track.h>
Inherits ListItem< Track >.
Inherited by ATrack, VTrack, and VTrack.

Public Member Functions | |
| Track (EDL *edl, Tracks *tracks) | |
| Track () | |
| virtual | ~Track () |
| int | create_objects () |
| int | get_id () |
| virtual int | load_defaults (BC_Hash *defaults) |
| int | load (FileXML *file, int track_offset, uint32_t load_flags) |
| virtual int | save_header (FileXML *file) |
| virtual int | save_derived (FileXML *file) |
| virtual int | load_header (FileXML *file, uint32_t load_flags) |
| virtual int | load_derived (FileXML *file, uint32_t load_flags) |
| void | equivalent_output (Track *track, double *result) |
| virtual void | copy_from (Track *track) |
| Track & | operator= (Track &track) |
| virtual PluginSet * | new_plugins () |
| virtual void | synchronize_params (Track *track) |
| virtual int | vertical_span (Theme *theme) |
| int64_t | horizontal_span () |
| void | resample (double old_rate, double new_rate) |
| double | get_length () |
| void | get_source_dimensions (double position, int &w, int &h) |
| void | insert_asset (Asset *asset, double length, double position, int track_number) |
| Plugin * | insert_effect (char *title, SharedLocation *shared_location, KeyFrame *keyframe, PluginSet *plugin_set, double start, double length, int plugin_type) |
| void | insert_plugin_set (Track *track, double position) |
| void | detach_effect (Plugin *plugin) |
| void | insert_track (Track *track, double position, int replace_default, int edit_plugins) |
| void | optimize () |
| int | is_muted (int64_t position, int direction) |
| void | move_plugins_up (PluginSet *plugin_set) |
| void | move_plugins_down (PluginSet *plugin_set) |
| void | remove_pluginset (PluginSet *plugin_set) |
| void | remove_asset (Asset *asset) |
| virtual int64_t | to_units (double position, int round) |
| virtual double | to_doubleunits (double position) |
| virtual double | from_units (int64_t position) |
| virtual int | identical (int64_t sample1, int64_t sample2) |
| Plugin * | get_current_plugin (double position, int plugin_set, int direction, int convert_units, int use_nudge) |
| Plugin * | get_current_transition (double position, int direction, int convert_units, int use_nudge) |
| void | detach_shared_effects (int module) |
| int | is_synthesis (RenderEngine *renderengine, int64_t position, int direction) |
| virtual int | is_playable (int64_t position, int direction) |
| virtual int | direct_copy_possible (int64_t start, int direction, int use_nudge) |
| int | plugin_used (int64_t position, int64_t direction) |
| virtual int | copy_settings (Track *track) |
| void | shift_keyframes (double position, double length, int convert_units) |
| void | shift_effects (double position, double length, int convert_units) |
| void | change_plugins (SharedLocation &old_location, SharedLocation &new_location, int do_swap) |
| void | change_modules (int old_location, int new_location, int do_swap) |
| int | load_automation (FileXML *file) |
| int | load_edits (FileXML *file) |
| virtual int | change_channels (int oldchannels, int newchannels) |
| virtual int | dump () |
| int | copy (double start, double end, FileXML *file, char *output_path="") |
| int | copy_assets (double start, double end, ArrayList< Asset * > *asset_list) |
| virtual int | copy_derived (int64_t start, int64_t end, FileXML *file) |
| virtual int | paste_derived (int64_t start, int64_t end, int64_t total_length, FileXML *file, int ¤t_channel) |
| int | clear (double start, double end, int edit_edits, int edit_labels, int clear_plugins, int convert_units, Edits *trim_edits) |
| void | clear_automation (double selectionstart, double selectionend, int shift_autos, int default_only) |
| void | straighten_automation (double selectionstart, double selectionend) |
| virtual int | clear_automation_derived (AutoConf *auto_conf, double selectionstart, double selectionend, int shift_autos=1) |
| virtual int | clear_derived (double start, double end) |
| int | copy_automation (double selectionstart, double selectionend, FileXML *file, int default_only, int autos_only) |
| virtual int | copy_automation_derived (AutoConf *auto_conf, double selectionstart, double selectionend, FileXML *file) |
| int | paste_automation (double selectionstart, double total_length, double frame_rate, int64_t sample_rate, FileXML *file, int default_only) |
| virtual int | paste_automation_derived (double selectionstart, double selectionend, double total_length, FileXML *file, int shift_autos, int ¤t_pan) |
| int | paste_auto_silence (double start, double end) |
| virtual int | paste_auto_silence_derived (int64_t start, int64_t end) |
| int | scale_time (float rate_scale, int scale_edits, int scale_autos, int64_t start, int64_t end) |
| virtual int | scale_time_derived (float rate_scale, int scale_edits, int scale_autos, int64_t start, int64_t end) |
| int | purge_asset (Asset *asset) |
| int | asset_used (Asset *asset) |
| int | clear_handle (double start, double end, int clear_labels, int clear_plugins, double &distance) |
| int | paste_silence (double start, double end, int edit_plugins) |
| virtual int | select_translation (int cursor_x, int cursor_y) |
| virtual int | update_translation (int cursor_x, int cursor_y, int shift_down) |
| int | select_auto (AutoConf *auto_conf, int cursor_x, int cursor_y) |
| virtual int | select_auto_derived (float zoom_units, float view_start, AutoConf *auto_conf, int cursor_x, int cursor_y) |
| int | move_auto (AutoConf *auto_conf, int cursor_x, int cursor_y, int shift_down) |
| virtual int | move_auto_derived (float zoom_units, float view_start, AutoConf *auto_conf, int cursor_x, int cursor_y, int shift_down) |
| int | release_auto () |
| virtual int | release_auto_derived () |
| int | automation_is_used (int64_t start, int64_t end) |
| virtual int | automation_is_used_derived (int64_t start, int64_t end) |
| int | popup_transition (int cursor_x, int cursor_y) |
| 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_edit (int cursor_x, int cursor_y, double &new_start, double &new_end) |
| virtual int | end_translation () |
| virtual int | reset_translation (int64_t start, int64_t end) |
| int | feather_edits (int64_t start, int64_t end, int64_t units) |
| int64_t | get_feather (int64_t selectionstart, int64_t selectionend) |
| int | number_of () |
| virtual int | get_dimensions (double &view_start, double &view_units, double &zoom_units) |
| int64_t | edit_change_duration (int64_t input_position, int64_t input_length, int reverse, int test_transitions, int use_nudge) |
| int64_t | plugin_change_duration (int64_t input_position, int64_t input_length, int reverse, int use_nudge) |
| int | need_edit (Edit *current, int test_transitions) |
| int | playable_edit (int64_t position, int direction) |
Data Fields | |
| EDL * | edl |
| Tracks * | tracks |
| Edits * | edits |
| ArrayList< PluginSet * > | plugin_set |
| Automation * | automation |
| int | y_pixel |
| int | expand_view |
| int | draw |
| int | gang |
| char | title [BCTEXTLEN] |
| int | play |
| int | record |
| int64_t | nudge |
| int | data_type |
| int64_t | old_view_start |
| int | pixel |
| int | track_w |
| int | track_h |
Private Attributes | |
| int | id |
Definition at line 34 of file track.h.
Definition at line 33 of file track.C.
References draw, expand_view, gang, EDL::next_id(), nudge, EDLSession::output_h, EDLSession::output_w, play, record, EDL::session, title, track_h, track_w, and y_pixel.

| Track::~Track | ( | ) | [virtual] |
Definition at line 50 of file track.C.
References automation, edits, plugin_set, and ArrayList< TYPE >::remove_all_objects().

| int Track::create_objects | ( | ) |
Reimplemented in ATrack, and VTrack.
Definition at line 57 of file track.C.
Referenced by VTrack::create_objects(), and ATrack::create_objects().
| int Track::get_id | ( | ) |
| int Track::load_defaults | ( | BC_Hash * | defaults | ) | [virtual] |
Reimplemented in ATrack, and VTrack.
Definition at line 83 of file track.C.
Referenced by VTrack::load_defaults(), and ATrack::load_defaults().
| int Track::load | ( | FileXML * | file, | |
| int | track_offset, | |||
| uint32_t | load_flags | |||
| ) |
Definition at line 268 of file track.C.
References List< TYPE >::append(), automation, BCTEXTLEN, draw, edits, edl, expand_view, gang, XMLTag::get_property(), PluginSet::load(), Edits::load(), Automation::load(), load_derived(), load_header(), nudge, play, plugin_set, FileXML::read_tag(), FileXML::read_text_until(), record, FileXML::tag, title, XMLTag::title_is(), ArrayList< TYPE >::total, track_h, and track_w.
Referenced by Tracks::load().

| virtual int Track::save_header | ( | FileXML * | file | ) | [inline, virtual] |
Reimplemented in ATrack, and VTrack.
Definition at line 45 of file track.h.
Referenced by copy(), copy_automation(), and KeyframePopupCopy::handle_event().
| virtual int Track::save_derived | ( | FileXML * | file | ) | [inline, virtual] |
| virtual int Track::load_header | ( | FileXML * | file, | |
| uint32_t | load_flags | |||
| ) | [inline, virtual] |
| virtual int Track::load_derived | ( | FileXML * | file, | |
| uint32_t | load_flags | |||
| ) | [inline, virtual] |
| void Track::equivalent_output | ( | Track * | track, | |
| double * | result | |||
| ) |
Definition at line 88 of file track.C.
References automation, data_type, edits, Edits::equivalent_output(), Automation::equivalent_output(), from_units(), PluginSet::get_first_plugin(), MIN, nudge, play, plugin_set, Edit::startproject, ArrayList< TYPE >::total, track_h, track_w, and ArrayList< TYPE >::values.
Referenced by Tracks::equivalent_output().

| void Track::copy_from | ( | Track * | track | ) | [virtual] |
Definition at line 171 of file track.C.
References ArrayList< TYPE >::append(), automation, Automation::copy_from(), PluginSet::copy_from(), Edits::copy_from(), copy_settings(), edits, edl, plugin_set, ArrayList< TYPE >::total, track_h, track_w, and ArrayList< TYPE >::values.
Referenced by Tracks::copy_from(), and operator=().

Definition at line 189 of file track.C.
References copy_from().

| virtual PluginSet* Track::new_plugins | ( | ) | [inline, virtual] |
| void Track::synchronize_params | ( | Track * | track | ) | [virtual] |
Reimplemented in ATrack, and VTrack.
Definition at line 782 of file track.C.
References automation, Automation::copy_from(), edits, List< TYPE >::first, ListItem< TYPE >::next, nudge, plugin_set, PluginSet::synchronize_params(), ArrayList< TYPE >::total, and ArrayList< TYPE >::values.
Referenced by VTrack::synchronize_params(), and ATrack::synchronize_params().

| int Track::vertical_span | ( | Theme * | theme | ) | [virtual] |
Reimplemented in ATrack, and VTrack.
Definition at line 196 of file track.C.
References edl, expand_view, VFrame::get_h(), BC_Theme::get_image(), EDL::local_session, plugin_set, EDL::session, EDLSession::show_titles, ArrayList< TYPE >::total, and LocalSession::zoom_track.
Referenced by TrackCanvas::track_dimensions(), VPatchGUI::update(), PatchGUI::update(), APatchGUI::update(), VTrack::vertical_span(), and ATrack::vertical_span().

| int64_t Track::horizontal_span | ( | ) |
Definition at line 259 of file track.C.
References edl, get_length(), EDL::local_session, EDLSession::sample_rate, EDL::session, and LocalSession::zoom_sample.

| void Track::resample | ( | double | old_rate, | |
| double | new_rate | |||
| ) |
Definition at line 631 of file track.C.
References automation, edits, nudge, plugin_set, Automation::resample(), Edits::resample(), ArrayList< TYPE >::total, and ArrayList< TYPE >::values.

| double Track::get_length | ( | ) |
Definition at line 212 of file track.C.
References automation, edits, from_units(), Automation::get_length(), List< TYPE >::last, Edit::length, plugin_set, Edit::startproject, ArrayList< TYPE >::total, Edit::transition, and ArrayList< TYPE >::values.
Referenced by Tracks::concatenate_tracks(), TrackCanvas::drag_stop(), TrackCanvas::draw_highlighting(), horizontal_span(), insert_effect(), MWindow::insert_effects_cwindow(), insert_plugin_set(), insert_track(), and MWindow::paste_edls().

| void Track::get_source_dimensions | ( | double | position, | |
| int & | w, | |||
| int & | h | |||
| ) |
Definition at line 242 of file track.C.
References edits, List< TYPE >::first, NEXT, and to_units().
Referenced by CWindowCameraBottom::handle_event(), CWindowCameraTop::handle_event(), CWindowCameraRight::handle_event(), and CWindowCameraLeft::handle_event().

| void Track::insert_asset | ( | Asset * | asset, | |
| double | length, | |||
| double | position, | |||
| int | track_number | |||
| ) |
Definition at line 342 of file track.C.
References edits, Edits::insert_asset(), Edits::loaded_length, and to_units().
Referenced by EDL::insert_asset().

| Plugin * Track::insert_effect | ( | char * | title, | |
| SharedLocation * | shared_location, | |||
| KeyFrame * | keyframe, | |||
| PluginSet * | plugin_set, | |||
| double | start, | |||
| double | length, | |||
| int | plugin_type | |||
| ) |
Definition at line 414 of file track.C.
References List< TYPE >::append(), edl, EQUIV, expand_view, get_current_plugin(), List< TYPE >::get_item_number(), get_length(), LocalSession::get_selectionend(), LocalSession::get_selectionstart(), PluginSet::insert_plugin(), Edit::length, EDL::local_session, SharedLocation::module, SharedLocation::plugin, Edit::startproject, to_units(), and tracks.
Referenced by MWindow::insert_effect(), and Tracks::move_effect().

| void Track::insert_plugin_set | ( | Track * | track, | |
| double | position | |||
| ) |
Definition at line 393 of file track.C.
References ArrayList< TYPE >::append(), edl, get_length(), Edits::insert_edits(), plugin_set, shift_effects(), to_units(), ArrayList< TYPE >::total, and ArrayList< TYPE >::values.
Referenced by insert_track().

| void Track::detach_effect | ( | Plugin * | plugin | ) |
Definition at line 602 of file track.C.
References PluginSet::clear(), List< TYPE >::first, List< TYPE >::last, Edit::length, ListItem< TYPE >::next, PluginSet::optimize(), Edits::paste_silence(), plugin_set, remove_pluginset(), Edit::silence(), Edit::startproject, and ArrayList< TYPE >::total.
Referenced by PluginPopupDetach::handle_event().

| void Track::insert_track | ( | Track * | track, | |
| double | position, | |||
| int | replace_default, | |||
| int | edit_plugins | |||
| ) |
Definition at line 369 of file track.C.
References automation, copy_settings(), edits, get_length(), Edits::insert_edits(), insert_plugin_set(), Automation::insert_track(), optimize(), and to_units().
Referenced by Tracks::concatenate_tracks(), and MWindow::paste_edls().

| void Track::optimize | ( | ) |
Definition at line 673 of file track.C.
References edits, List< TYPE >::first, List< TYPE >::last, PluginSet::optimize(), Edits::optimize(), plugin_set, remove_pluginset(), Edit::silence(), and ArrayList< TYPE >::total.
Referenced by MWindow::insert_effect(), insert_track(), Tracks::move_edits(), Tracks::move_effect(), and remove_asset().

| int Track::is_muted | ( | int64_t | position, |
| in |