BtWavetable

BtWavetable — the list of BtWave items in a BtSong

Functions

Properties

gpointer missing-waves Read
BtSong * song Read / Write / Construct Only
gpointer waves Read

Signals

void wave-added No Hooks
void wave-removed No Hooks

Types and Values

struct BtWavetable

Object Hierarchy

    GObject
    ╰── BtWavetable

Implemented Interfaces

BtWavetable implements BtPersistence.

Includes

#include <libbtcore/core.h>

Description

Each wave table entry can constist of multiple BtWaves, were each of the waves has a BtWavelevel with the data for a note range.

Functions

bt_wavetable_add_wave ()

gboolean
bt_wavetable_add_wave (const BtWavetable * const self,
                       const BtWave * const wave);

Add the supplied wave to the wavetable. This is automatically done by bt_wave_new().

Parameters

self

the wavetable to add the wave to

 

wave

the new wave instance

 

Returns

TRUE for success, FALSE otheriwse


bt_wavetable_get_wave_by_index ()

BtWave *
bt_wavetable_get_wave_by_index (const BtWavetable * const self,
                                const gulong index);

Search the wavetable for a wave by the supplied index. The wave must have been added previously to this wavetable with bt_wavetable_add_wave(). Unref the wave, when done with it.

Parameters

self

the wavetable to search for the wave

 

index

the index of the wave

 

Returns

BtWave instance or NULL if not found


bt_wavetable_new ()

BtWavetable *
bt_wavetable_new (const BtSong * const song);

Create a new instance

Parameters

song

the song the new instance belongs to

 

Returns

the new instance or NULL in case of an error


bt_wavetable_remember_missing_wave ()

void
bt_wavetable_remember_missing_wave (const BtWavetable * const self,
                                    const gchar * const str);

Loaders can use this function to collect information about wavetable entries that failed to load. The front-end can access this later by reading BtWavetable::missing-waves property.

Parameters

self

the wavetable

 

str

human readable description of the missing wave

 

bt_wavetable_remove_wave ()

gboolean
bt_wavetable_remove_wave (const BtWavetable * const self,
                          const BtWave * const wave);

Remove the supplied wave from the wavetable.

Parameters

self

the wavetable to remove the wave from

 

wave

the wave instance

 

Returns

TRUE for success, FALSE otheriwse

Types and Values

struct BtWavetable

struct BtWavetable;

A table of BtWave objects.

Property Details

The “missing-waves” property

  “missing-waves”            gpointer

The list of missing waves, don't change.

Flags: Read


The “song” property

  “song”                     BtSong *

Set song object, the wavetable belongs to.

Flags: Read / Write / Construct Only


The “waves” property

  “waves”                    gpointer

A copy of the list of waves.

Flags: Read

Signal Details

The “wave-added” signal

void
user_function (BtWavetable *self,
               BtWave      *wave,
               gpointer     user_data)

A new wave item has been added to the wavetable

Parameters

self

the wavetable object that emitted the signal

 

wave

the new wave

 

user_data

user data set when the signal handler was connected.

 

Flags: No Hooks


The “wave-removed” signal

void
user_function (BtWavetable *self,
               BtWave      *wave,
               gpointer     user_data)

A wave item has been removed from the wavetable

Parameters

self

the setup object that emitted the signal

 

wave

the old wave

 

user_data

user data set when the signal handler was connected.

 

Flags: No Hooks