In file ../include/EST_TrackMap.h:

## class EST_TrackMap

> Track maps provide a mapping from symbolic track names to the actual position of the information within a track frame.

## Inheritance:

### Public Classes

  | ChannelMapping
  struct | ChannelMappingElement structure for the table
  | Table of type to position pairs

### Public Methods

  | EST_TrackMap (void) Default constructor
  | EST_TrackMap (EST_TrackMap &from, int refcount) Copy the mapping
  | EST_TrackMap (struct ChannelMappingElement map[]) Create from static table
  void | clear (void) Empty the map
  void | set (EST_ChannelType type, short pos) Record the position of a channel
  short | get (EST_ChannelType type) const Get the position of a channel
  short | operator() (EST_ChannelType type) const Get the position of a channel
  bool | has_channel (EST_ChannelType type) const Does the mapping contain a position for this channel?
  short | last_channel (void) const Returns the index of the last known channel
  EST_ChannelType | channel_type (unsigned short channel) const Returns the type of the channel at the given position

### Public

  #define | NO_SUCH_CHANNEL (-1) Returned if we ask for a channel not in the map

### Protected Methods

  | EST_TrackMap (int refcount) Creation function used by friends to create refcounted maps
  | EST_TrackMap (const EST_TrackMap* parent, int offset, int refcount) Creation function used by friends to create sub-trak maps
  void | copy (EST_TrackMap &from) copy an exiting map
  void | init (void) Initialise the map

### Protected

  #define | EST_TM_REFCOUNTED (1) Pass to creation function to turn on refcounting

### Inherited from EST_Handleable:

## Documentation

> Track maps provide a mapping from symbolic track names to the actual position of the information within a track frame. The symbolic names are defined by the EST_ChannelType enumerated type.

> Track maps can be declared statically by code which always uses tracks of a given style, or they can be built at run time as is done by lpc_analysis to record whichinformation the user has requested. Finally they can be constructed by the Track itself from the names of the channels, for instance when a track has just been read in from a file.

`ChannelMapping`
  An auxiliary type used just to define static EST_TrackMaps. Defining one of these and then converting it to an EST_TrackMap is, unfortunatly, the only way C++ allows to define a constant EST_TrackMap.

  `struct ChannelMappingElement`
    structure for the table

  `Table of type to position pairs`
    Table of type to position pairs

`#define NO_SUCH_CHANNEL(-1)`
  Returned if we ask for a channel not in the map

`#define EST_TM_REFCOUNTED(1)`
  Pass to creation function to turn on refcounting

`EST_TrackMap(int refcount)`
  Creation function used by friends to create refcounted maps

`EST_TrackMap(const EST_TrackMap* parent, int offset, int refcount)`
  Creation function used by friends to create sub-trak maps

`void copy(EST_TrackMap &from)`
  copy an exiting map

`void init(void)`
  Initialise the map

`EST_TrackMap(void)`
  Default constructor

`EST_TrackMap(EST_TrackMap &from, int refcount)`
  Copy the mapping

`EST_TrackMap(struct ChannelMappingElement map[])`
  Create from static table

`void clear(void)`
  Empty the map

`void set(EST_ChannelType type, short pos)`
  Record the position of a channel

`short get(EST_ChannelType type) const`
  Get the position of a channel

`short operator() (EST_ChannelType type) const`
  Get the position of a channel

`bool has_channel(EST_ChannelType type) const`
  Does the mapping contain a position for this channel?

`short last_channel(void) const`
  Returns the index of the last known channel

`EST_ChannelType channel_type(unsigned short channel) const`
  Returns the type of the channel at the given position

This class has no child classes.

Friends:
  class EST_Track
  ostream& operator << (ostream &st, const EST_TrackMap &m)
Author:
  Richard Caley <rjc@cstr.ed.ac.uk>
Version:
See Also:
  EST_Track
  EST_ChannelType
  EST_TrackMap:example

Alphabetic index HTML hierarchy of classes or Java

This page is part of the Edinburgh Speech Tools Library documentation
Copyright University of Edinburgh 1997
Contact: speech_tools@cstr.ed.ac.uk