#include <tracks.h>
Inherits List< Track >.

Public Types | |
| enum | { NONE, PLAY, RECORD, GANG, DRAW, MUTE, EXPAND } |
Public Member Functions | |
| Tracks () | |
| Tracks (EDL *edl) | |
| virtual | ~Tracks () |
| Tracks & | operator= (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) |
| Track * | add_audio_track (int above, Track *dst_track) |
| Track * | add_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) |
| Track * | number (int number) |
Data Fields | |
| EDL * | edl |
| int | handles |
| int | titles |
| int | show_output |
| AutoConf | auto_conf |
| int | overlays_visible |
Definition at line 19 of file tracks.h.
| anonymous enum |
| Tracks::~Tracks | ( | ) | [virtual] |
Definition at line 40 of file tracks.C.
References delete_all_tracks().

Definition at line 161 of file tracks.C.
References copy_from().

| 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().

| void Tracks::move_edits | ( | ArrayList< Edit * > * | edits, | |
| Track * | track, | |||
| double | position, | |||
| int | edit_labels, | |||
| int | edit_plugins, | |||
| int | behaviour | |||
| ) |
Definition at line 181 of file tracksedit.C.
References Track::automation, Edits::clear(), Automation::clear(), Automation::copy(), Edit::copy_from(), Edits::create_edit(), Track::data_type, Track::edits, Edit::edits, Edit::length, ListItem< TYPE >::next, Track::optimize(), Edits::paste_silence(), FileXML::read_tag(), ArrayList< TYPE >::remove_number(), FileXML::rewind(), AutoConf::set_all(), Edit::startproject, FileXML::terminate_string(), Track::to_units(), List< Track >::total(), Edit::track, TRACK_AUDIO, TRACK_VIDEO, and ArrayList< TYPE >::values.
Referenced by MWindow::move_edits().

| void Tracks::move_effect | ( | Plugin * | plugin, | |
| PluginSet * | plugin_set, | |||
| Track * | track, | |||
| int64_t | position | |||
| ) |
Definition at line 344 of file tracksedit.C.
References PluginSet::clear(), Plugin::copy_from(), edl, List< TYPE >::first, Track::from_units(), List< TYPE >::insert_before(), Track::insert_effect(), BC_ScrollBar::length, Edit::length, NEXT, 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().

| 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().

| 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().

| 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().

| 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().

| 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().

| 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().

| 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().

| void Tracks::paste_video_transition | ( | PluginServer * | server, | |
| int | first_track = 0 | |||
| ) |
Definition at line 760 of file tracksedit.C.
References edl, List< Track >::first, LocalSession::get_selectionstart(), EDL::local_session, NEXT, paste_transition(), BC_ScrollBar::position, and TRACK_VIDEO.
Referenced by MWindow::paste_transition_cwindow(), and MWindow::paste_video_transition().

| 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().

| int Tracks::playable_audio_tracks | ( | ) |
Definition at line 366 of file tracks.C.
References List< Track >::first, NEXT, and TRACK_AUDIO.
Referenced by Render::check_asset(), RenderEngine::get_duty(), and Record::open_input_devices().
| 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 | ( | ) |
Definition at line 395 of file tracks.C.
References List< Track >::first, NEXT, and TRACK_AUDIO.
Referenced by TrackCanvas::draw_paste_destination(), ARender::get_total_tracks(), and total_length_framealigned().
| int Tracks::total_video_tracks | ( | ) |
Definition at line 403 of file tracks.C.
References List< Track >::first, NEXT, and TRACK_VIDEO.
Referenced by TrackCanvas::draw_paste_destination(), VRender::get_total_tracks(), and total_length_framealigned().
| double Tracks::total_length | ( | ) |
Definition at line 436 of file tracks.C.
References List< Track >::first, NEXT, and List< Track >::total().
Referenced by MWindow::asset_to_edl(), 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().

| 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().

| 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().

| 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().

| void Tracks::update_y_pixels | ( | Theme * | theme | ) |
Definition at line 503 of file tracks.C.
References edl, List< Track >::first, EDL::local_session, NEXT, and LocalSession::track_start.
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().
| 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().

| void Tracks::translate_camera | ( | float | offset_x, | |
| float | offset_y | |||
| ) |
| 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 | ) |
Definition at line 322 of file tracks.C.
References Auto::autos, DRAW, edl, EXPAND, List< Track >::first, GANG, Autos::get_prev_auto(), LocalSession::get_selectionstart(), EDL::local_session, MUTE, NEXT, PLAY, and RECORD.
Referenced by MWindowGUI::keypress_event(), and PatchGUI::toggle_behavior().

Definition at line 202 of file tracks.C.
References EDLSession::achannel_positions, EDLSession::audio_channels, Track::automation, Automation::autos, BC_Pan::calculate_stick_position(), change_modules(), ATrack::create_objects(), Autos::default_auto, edl, List< Track >::first, PanAuto::handle_x, PanAuto::handle_y, List< Track >::insert_after(), List< Track >::insert_before(), List< Track >::last, NEXT, number_of(), ListItem< TYPE >::previous, 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().

Definition at line 258 of file tracks.C.
References change_modules(), VTrack::create_objects(), edl, List< Track >::first, List< Track >::insert_after(), List< Track >::insert_before(), List< Track >::last, number_of(), ListItem< TYPE >::previous, and VTrack::set_default_title().
Referenced by MWindow::add_video_track(), copy_from(), EDL::create_default_tracks(), load(), and MWindow::paste_edls().
