211 { p_values.
row(fv, n, startf, nf); }
216 { p_values.
column(cv, n, startf, nf); }
236 int start_frame=0,
int nframes=
EST_ALL,
237 int start_chan=0,
int nchans=
EST_ALL);
252 int start_frame,
int nframes,
269 int start_frame,
int nframes,
287 int start_frame=0,
int nframes=
EST_ALL,
288 int start_chan=0,
int nchans=
EST_ALL)
const 289 { ((
EST_Track *)
this)->sub_track(st, start_frame, nframes,
290 start_chan, nchans); }
304 int start_frame=0,
int nframes=
EST_ALL,
305 int start_chan=0,
int nchans=
EST_ALL)
const;
322 const {p_values.
copy_row(n, buf, offset, num); }
326 const {p_values.
copy_row(n, f, offset, num); }
340 const EST_Track &from,
int from_c,
int from_offset=0,
343 from_offset, offset, num); }
348 { p_values.
set_row(n, buf, offset, num); }
353 { p_values.
set_row(n, t, offset, num); }
357 const EST_Track &from,
int from_f,
int from_offset=0,
430 float &
a(
ssize_t i,
const char *name,
int offset=0);
432 float a(
ssize_t i,
const char *name,
int offset=0)
const 433 {
return ((
EST_Track *)
this)->a(i, name, offset); }
435 {
return a(i, (
const char *)name, offset); }
437 {
return ((
EST_Track *)
this)->a(i, (
const char *)name, offset); }
452 {
return ((
EST_Track *)
this)->a(t, c, interp); }
556 {
return ((
EST_Track *)
this)->aux(i, name); }
559 {
return aux(i, (
const char *)name); }
562 {
return ((
EST_Track *)
this)->aux(i, (
const char *)name); }
608 float ishift = 0.0,
float startt = 0.0 );
707 {
return ((
EST_Track *)
this)->a(i,c, offset); }
712 {
return ((
EST_Track *)
this)->a(t, c, interp); }
758 return *(ip.
frame); }
void default_channel_names()
void move_pointer_forwards(IPointer_f &ip) const
bool single_break() const
void set_column(ssize_t n, const T *buf, ptrdiff_t offset=0, int num=-1)
int num_aux_channels() const
return number of auxiliary channels in track
void copy_frame_in(int n, const EST_FVector &t, int offset=0, int num=EST_ALL)
EST_Val aux(ssize_t i, EST_String name) const
EST_Track & operator+=(const EST_Track &a)
ssize_t prev_non_break(ssize_t i) const
EST_Val aux(ssize_t i, const char *name) const
int channel_position(EST_String name, int offset=0) const
float end() const
return time of last value in track
ssize_t length() const
return number of frames in track
void copy_frame_out(int n, EST_FVector &f, int offset=0, int num=EST_ALL) const
void copy_column(ssize_t c, T *buf, ptrdiff_t offset=0, int num=-1) const
ssize_t num_columns() const
return number of columns
A vector class for floating point numbers. EST_FVector x should be used instead of float *x wherever ...
void set_row(ssize_t n, const T *buf, ptrdiff_t offset=0, int num=-1)
void set_value(ssize_t i)
set frame i to be a value
void set_channel_name(const EST_String &name, int channel)
set the name of the channel.
EST_Track & operator=(const EST_Track &a)
void set_break(ssize_t i)
set frame i to be a break
EST_String name() const
name of track - redundant use access to features
bool points_to_something(const IPointer_f &ip) const
int num_channels() const
return number of channels in track
EST_Track & points_at(const IPointer_f &ip)
void set_single_break(bool t)
float a(ssize_t i, EST_ChannelType c, int offset=0) const
EST_TrackFileType file_type() const
bool has_channel(EST_ChannelType type) const
float & operator()(ssize_t i, int c)
ssize_t index_below(float x) const
return the frame index before time t
ssize_t num_rows() const
return number of rows
EST_TIterator< EST_Track, IPointer_f, EST_Track > Entries
EST_TList< EST_Track > EST_TrackList
void set_num_channels(int n, bool preserve=1)
void resize(ssize_t num_frames, int num_channels, bool preserve=1)
float & a_no_check(ssize_t i, int c=0)
float a_no_check(ssize_t i, int c=0) const
EST_TMatrix< EST_Val > EST_ValMatrix
void column(EST_TVector< T > &cv, ssize_t c, ssize_t start_r=0, int len=-1)
Make the vector cv a window onto column c
ssize_t index(float t) const
return the frame index nearest time t
static const float default_frame_shift
void sub_track(EST_Track &st, int start_frame=0, int nframes=EST_ALL, int start_chan=0, int nchans=EST_ALL)
EST_read_status load_channel_names(const EST_String name)
float interp_amp(float x, int c, float f)
void copy(const EST_Track &a)
int track_break(ssize_t i) const
return true if frame i is a break
int channel_position(const char *name, int offset=0) const
void assign_map(EST_TrackMap::P map)
float t(ssize_t i=0) const
void fill(const T &v)
fill matrix with value v
EST_read_status load(const EST_String name, float ishift=0.0, float startt=0.0)
void set_num_frames(ssize_t n, bool preserve=1)
bool equal_space() const
return true if track has equal (i.e. fixed) frame spacing */
float & t(ssize_t i=0)
return time position of frame i
float & a(ssize_t i, int c=0)
void copy_setup(const EST_Track &a)
copy everything but data
ssize_t next_non_break(ssize_t i) const
~EST_Track()
default destructor
static const int default_sample_rate
void set_file_type(EST_TrackFileType t)
float a(float t, int c=0, EST_InterpType interp=it_nearest) const
void set_name(const EST_String &n)
set name of track - redundant use access to features
void copy_channel_in(int n, const EST_FVector &f, int offset=0, int num=EST_ALL)
EST_TRwIterator< EST_Track, IPointer_f, EST_Track > RwEntries
friend std::ostream & operator<<(std::ostream &s, const EST_Track &tr)
void copy_channel_out(int n, EST_FVector &f, int offset=0, int num=EST_ALL) const
EST_write_status save(const EST_String name, const EST_String EST_filetype="")
void copy_channel_out(int n, float *buf, int offset=0, int num=EST_ALL) const
void change_type(float nshift, bool single_break)
REDO.
void resize_aux(EST_StrList &map, bool preserve=1)
void copy_frame_in(ssize_t i, const EST_Track &from, int from_f, int from_offset=0, int offset=0, int num=EST_ALL)
void channel(EST_FVector &cv, ssize_t n, int startf=0, int nf=EST_ALL)
bool has_channel(EST_String name) const
ssize_t num_frames() const
return number of frames in track
void copy_frame_out(int n, float *buf, int offset=0, int num=EST_ALL) const
float a(float t, EST_ChannelType c, EST_InterpType interp=it_nearest) const
void row(EST_TVector< T > &rv, ssize_t r, ssize_t start_c=0, int len=-1)
Make the vector rv a window onto row r
EST_Track()
Default constructor.
float start() const
return time of first value in track
void copy_row(ssize_t r, T *buf, ptrdiff_t offset=0, int num=-1) const
void assign_map(EST_TrackMap &map)
void copy_frame_in(int n, const float *buf, int offset=0, int num=EST_ALL)
void add_trailing_breaks()
const EST_String channel_name(int channel, const EST_ChannelNameMap &map, int strings_override=1) const
float estimate_shift(float x)
void copy_channel_in(int n, const float *buf, int offset=0, int num=EST_ALL)
void point_to_first(IPointer_f &ip) const
EST_ChannelNameMap EST_default_channel_names
Definition of standard names we use for channels.
EST_write_status save_channel_names(const EST_String name)
const EST_String channel_name(int channel, int strings_override=1) const
void set_aux_channel_name(const EST_String &name, int channel)
set the name of the auxiliary channel.
float a(ssize_t i, EST_String name, int offset=0) const
void copy_sub_track_out(EST_Track &st, const EST_FVector &frame_times) const
EST_Val & aux(ssize_t i, int c)
EST_StrVector p_aux_names
int interp_value(float x, float f)
void rm_trailing_breaks()
int val(ssize_t i) const
return true if frame i is a value
INLINE const T & a_no_check(ssize_t row, ssize_t col) const
const access with no bounds check, care recommend
EST_Val & aux(ssize_t i, EST_String name)
int f_Int(const char *name, int def) const
int empty() const
returns true if no values are set in the frame
bool has_channel(const char *name) const
void frame(EST_FVector &fv, int n, int startf=0, int nf=EST_ALL)
EST_String f_String(const char *name, const EST_String &def) const
void set_equal_space(bool t)
EST_Track & operator|=(const EST_Track &a)
EST_StrVector p_channel_names
float ms_t(ssize_t i) const
return time of frame i in milli-seconds.
float & a(ssize_t i, EST_String name, int offset=0)
void fill_time(float t, int start=1)
void copy_channel_in(int c, const EST_Track &from, int from_c, int from_offset=0, int offset=0, int num=EST_ALL)
void copy_sub_track(EST_Track &st, int start_frame=0, int nframes=EST_ALL, int start_chan=0, int nchans=EST_ALL) const
void f_set(const EST_String name, int val)
const EST_String aux_channel_name(int channel) const
float a(ssize_t i, const char *name, int offset=0) const
EST_TrackMap::P map() const
void sub_track(EST_Track &st, int start_frame=0, int nframes=EST_ALL, int start_chan=0, int nchans=EST_ALL) const