00001 #ifndef ATRACK_H
00002 #define ATRACK_H
00003
00004 #include "arraylist.h"
00005 #include "autoconf.inc"
00006 #include "edl.inc"
00007 #include "filexml.inc"
00008 #include "floatautos.inc"
00009 #include "linklist.h"
00010 #include "maxchannels.h"
00011 #include "panautos.inc"
00012 #include "track.h"
00013
00014
00015
00016
00017 class ATrack : public Track
00018 {
00019 public:
00020 ATrack(EDL *edl, Tracks *tracks);
00021 ATrack() { };
00022 ~ATrack();
00023
00024 int create_objects();
00025 int load_defaults(BC_Hash *defaults);
00026 void set_default_title();
00027 PluginSet* new_plugins();
00028 int vertical_span(Theme *theme);
00029 int save_header(FileXML *file);
00030 int save_derived(FileXML *file);
00031 int load_header(FileXML *file, uint32_t load_flags);
00032 int load_derived(FileXML *file, uint32_t load_flags);
00033 int copy_settings(Track *track);
00034 int identical(int64_t sample1, int64_t sample2);
00035 void synchronize_params(Track *track);
00036 int64_t to_units(double position, int round);
00037 double to_doubleunits(double position);
00038 double from_units(int64_t position);
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048 int create_derived_objs(int flash);
00049
00050
00051
00052
00053
00054 int paste_derived(int64_t start, int64_t end, int64_t total_length, FileXML *xml, int ¤t_channel);
00055
00056
00057 int modify_handles(int64_t oldposition, int64_t newposition, int currentend);
00058
00059 int64_t length();
00060 int get_dimensions(double &view_start,
00061 double &view_units,
00062 double &zoom_units);
00063 };
00064
00065 #endif