PtWavedata

PtWavedata — A boxed type with wave data.

Stability Level

Unstable, unless otherwise indicated

Functions

Types and Values

struct PtWavedata

Object Hierarchy

    GBoxed
    ╰── PtWavedata

Includes

#include <parlatype/pt-wavedata.h>

Description

Contains all information needed to show a wave form. It's produced by PtPlayer or PtWaveloader. Pass it to PtWaveviewer to visualize the wave. PtWaveviewer copies the data, you can free it immediately with pt_wavedata_free().

There is no need to access the struct members.

Assuming you have set up a PtPlayer *player, typical usage would be:

1
2
3
4
5
6
...
PtWavedata *data;
data = pt_player_get_data (player, 100);
pt_waveviewer_set_wave (PT_WAVEVIEWER (waveviewer), data);
pt_wavedata_free (data);
...

Functions

pt_wavedata_new ()

PtWavedata *
pt_wavedata_new (gfloat *array,
                 gint64 length,
                 guint channels,
                 guint px_per_sec);

Constructs a new PtWavedata.

[constructor]

Parameters

array

an array of floats.

[array length=length]

length

number of elements in array

 

channels

number of channels

 

px_per_sec

rate

 

Returns

new data, free after use with pt_wavedata_free().

[transfer full]


pt_wavedata_copy ()

PtWavedata *
pt_wavedata_copy (PtWavedata *data);

Creates a copy of data .

[skip]

Parameters

data

the object to copy

 

Returns

a new PtWavedata, free after use with pt_wavedata_free()


pt_wavedata_free ()

void
pt_wavedata_free (PtWavedata *data);

Free's data .

[skip]

Parameters

data

the object to be freed

 

Types and Values

struct PtWavedata

struct PtWavedata {
	gfloat *array;
	gint64  length;
	guint   channels;
	guint   px_per_sec;
};

Contains all information about the wave. Usually you don't have to access the struct's members.

Members

gfloat *array;

array of min/max values. One single sample is represented by a min value ranging from -1.0 to 0.0 and a max value ranging from 0.0 to 1.0. This is a simplified approach, as a sample is not a single point in time, but a min and a max value in a certain amount of time, e.g. 10 ms.

[array length=length]

gint64 length;

number of elements in array

 

guint channels;

number of channels for future use, currently it's always 1.

 

guint px_per_sec;

pixels/samples per second. For example 100 means one second in time is 100 pixels wide.