3 Data Types
Pm defines some specific data structures. Access to fields of these
structures should always be made using the data interface functions
provided by Pm.
The following data types are specific to Pm:
3.1 PmPartialSet
A set of partials defined at one given time.
Accessible parameters of a PartialSet are:
-
time
- number of current partials
- index, frequency, amplitude and phase of each partial.
- allocation size: the maximum index value of a partial in the set.
3.2 PmFrameSet
A set of data frames.
A frame is defined as a collection of parameter sets defined at one given time.
A frame can hold parameter sets of different types, including PartialSet
and C basic data types.
When a FrameSet is first created, it has a given number of allocated, empty frames.
Frames can be filled with data strictly in sequential order, so as to avoid
gaps of data in the middle of a FrameSet.
Filled frames will be called "active" frames from now on.
Times in a FrameSet must always be in increasing order. Otherwise, Pm functions
are not warranted to work.
A FrameSet is defined in a time interval [beginTime ; endTime]. This
continuous-time limits may be different from the respective times of the first
and last frame of the FrameSet. They are used in some editing functions
(PmCutFrameSet, PmInsertFrameSet) to keep the exact time distance between frames.
Accessible parameters of a FrameSet are:
GLOBAL LEVEL:
-
begin time, end time.
- number of active frames.
- number of ParamSets.
- identifiers of created ParamSets.
- variable type, size of type, and name of a given ParamSet.
FRAME LEVEL:
-
time of a given frame.
- allocated number of elements, active number of elements, and
data pointer of a ParamSet in a given frame.
- data of a ParamSet, or of a group of ParamSets, in a given frame.
3.3 PmParamSetId
An identifier of a parameter set in a frame set.
3.4 PmBreakPoint
A simple breakpoint function using float data type.
Formatted and maintained by Diemo Schwarz --- last change