AgsAudioSignal

AgsAudioSignal — Contains the audio data and its alignment

Functions

Properties

guint attack Read / Write
guint buffer-size Read / Write
gdouble delay Read / Write
guint first-frame Read / Write
guint format Read / Write
guint frame-count Read / Write
guint last-frame Read / Write
guint length Read / Write
guint loop-end Read / Write
guint loop-start Read / Write
GObject * note Read / Write
AgsRecallID * recall-id Read / Write
AgsRecycling * recycling Read / Write
guint samplerate Read / Write
GObject * soundcard Read / Write
gpointer stream Read / Write
gpointer stream-current Read / Write
gpointer stream-end Read / Write
guint word-size Read / Write

Signals

Types and Values

Object Hierarchy

    GObject
    ╰── AgsAudioSignal

Implemented Interfaces

AgsAudioSignal implements AgsConnectable.

Includes

#include <ags/audio/ags_audio_signal.h>

Description

AgsAudioSignal organizes audio data within a GList whereby data pointing to the buffer.

Functions

ags_stream_alloc ()

void *
ags_stream_alloc (guint buffer_size,
                  guint format);

Allocs an audio buffer.

Parameters

buffer_size

the buffer size

 

format

the format

 

Returns

the audio data array

Since: 1.0.0


ags_stream_free ()

void
ags_stream_free (signed short *buffer);

ags_audio_signal_set_samplerate ()

void
ags_audio_signal_set_samplerate (AgsAudioSignal *audio_signal,
                                 guint samplerate);

Set samplerate.

Parameters

audio_signal

the AgsAudioSignal

 

samplerate

the samplerate

 

Since: 1.0.0


ags_audio_signal_set_buffer_size ()

void
ags_audio_signal_set_buffer_size (AgsAudioSignal *audio_signal,
                                  guint buffer_size);

Set buffer size.

Parameters

audio_signal

the AgsAudioSignal

 

buffer_size

the buffer size

 

Since: 1.0.0


ags_audio_signal_set_format ()

void
ags_audio_signal_set_format (AgsAudioSignal *audio_signal,
                             guint format);

Set format.

Parameters

audio_signal

the AgsAudioSignal

 

format

the format

 

Since: 1.0.0


ags_audio_signal_get_length_till_current ()

guint
ags_audio_signal_get_length_till_current
                               (AgsAudioSignal *audio_signal);

Counts the buffers from stream_beginning upto stream_current.

Parameters

audio_signal

an AgsAudioSignal

 

Returns

the counted length.

Since: 1.0.0


ags_audio_signal_add_stream ()

void
ags_audio_signal_add_stream (AgsAudioSignal *audio_signal);

Adds a buffer at the end of the stream.

Parameters

audio_signal

an AgsAudioSignal

 

Since: 1.0.0


ags_audio_signal_stream_resize ()

void
ags_audio_signal_stream_resize (AgsAudioSignal *audio_signal,
                                guint length);

Resizes an AgsAudioSignal's stream but be carefull with shrinking. This function may crash the application.

Parameters

audio_signal

an AgsAudioSignal to resize.

 

length

a guint as the new length.

 

Since: 1.0.0


ags_audio_signal_stream_safe_resize ()

void
ags_audio_signal_stream_safe_resize (AgsAudioSignal *audio_signal,
                                     guint length);

Resizes an AgsAudioSignal's stream but doesn't shrink more than the current stream position.

Parameters

audio_signal

an AgsAudioSignal

 

length

a guint

 

Since: 1.0.0


ags_audio_signal_realloc_buffer_size ()

void
ags_audio_signal_realloc_buffer_size (AgsAudioSignal *audio_signal,
                                      guint buffer_size);

Realloc the stream to the new buffer size.

Parameters

audio_signal

an AgsAudioSignal

 

buffer_size

the buffer size

 

Since: 1.0.0


ags_audio_signal_duplicate_stream ()

void
ags_audio_signal_duplicate_stream (AgsAudioSignal *audio_signal,
                                   AgsAudioSignal *template);

Copy stream of one audio signal to another

Parameters

audio_signal

destination AgsAudioSignal

 

template

source AgsAudioSignal

 

Since: 1.0.0


ags_audio_signal_get_template ()

AgsAudioSignal *
ags_audio_signal_get_template (GList *audio_signal);

Retrieve the template audio signal.

Parameters

audio_signal

a GList containing AgsAudioSignal

 

Returns

the template AgsAudioSignal

Since: 1.0.0


ags_audio_signal_get_stream_current ()

GList *
ags_audio_signal_get_stream_current (GList *audio_signal,
                                     GObject *recall_id);

Retrieve next current stream of AgsAudioSignal list.

Parameters

audio_signal

a GList containing AgsAudioSignal

 

recall_id

the matching AgsRecallID

 

Returns

next GList matching AgsRecallID

Since: 1.0.0


ags_audio_signal_get_by_recall_id ()

GList *
ags_audio_signal_get_by_recall_id (GList *audio_signal,
                                   GObject *recall_id);

Retrieve next audio signal refering to recall_id

Parameters

audio_signal

a GList containing AgsAudioSignal

 

recall_id

matching AgsRecallID

 

Returns

matching AgsAudioSignal

Since: 1.0.0


ags_audio_signal_tile ()

void
ags_audio_signal_tile (AgsAudioSignal *audio_signal,
                       AgsAudioSignal *template,
                       guint frame_count);

Tile audio signal data.

Parameters

audio_signal

an AgsAudioSignal

 

template

the source AgsAudioSignal

 

frame_count

new frame count

 

Since: 1.0.0


ags_audio_signal_scale ()

void
ags_audio_signal_scale (AgsAudioSignal *audio_signal,
                        AgsAudioSignal *template,
                        guint length);

Scale audio signal data.

Parameters

audio_signal

an AgsAudioSignal

 

template

the source AgsAudioSignal

 

length

new frame count

 

Since: 1.0.0


ags_audio_signal_feed ()

void
ags_audio_signal_feed (AgsAudioSignal *audio_signal,
                       AgsAudioSignal *template,
                       guint frame_count);

Feed audio signal to grow upto frame count.

Parameters

audio_signal

the AgsAudioSignal

 

template

the template AgsAudioSignal

 

frame_count

the new frame count

 

Since: 1.0.0


ags_audio_signal_envelope ()

void
ags_audio_signal_envelope (AgsAudioSignal *audio_signal,
                           gdouble attack,
                           gdouble decay,
                           gdouble sustain,
                           gdouble release,
                           gdouble ratio);

Envelope audio signal.

Parameters

audio_signal

the AgsAudioSignal

 

attack

the attack

 

decay

the decay

 

sustain

the sustain

 

release

the release

 

ratio

the ratio

 

Since: 1.0.0


ags_audio_signal_is_active ()

gboolean
ags_audio_signal_is_active (GList *audio_signal,
                            GObject *recall_id);

Check if is active.

Parameters

audio_signal

the GList containing AgsAudioSignal

 

recall_id

the AgsRecallID

 

Returns

TRUE if related audio signal to recall id is available, otherwise FALSE

Since: 1.0.0


ags_audio_signal_new ()

AgsAudioSignal *
ags_audio_signal_new (GObject *soundcard,
                      GObject *recycling,
                      GObject *recall_id);

Creates a AgsAudioSignal, with defaults of soundcard , linking recycling tree and refering to recall_id .

Parameters

soundcard

the assigned AgsSoundcard

 

recycling

the AgsRecycling

 

recall_id

the AgsRecallID, it can be NULL if AGS_AUDIO_SIGNAL_TEMPLATE is set

 

Returns

a new AgsAudioSignal

Since: 1.0.0


ags_audio_signal_new_with_length ()

AgsAudioSignal *
ags_audio_signal_new_with_length (GObject *soundcard,
                                  GObject *recycling,
                                  GObject *recall_id,
                                  guint length);

Creates a AgsAudioSignal, with defaults of soundcard , linking recycling tree and refering to recall_id . The audio data is tiled to length frame count.

Parameters

soundcard

the assigned AgsSoundcard

 

recycling

the AgsRecycling

 

recall_id

the AgsRecallID, it can be NULL if AGS_AUDIO_SIGNAL_TEMPLATE is set

 

length

audio data frame count

 

Returns

a new AgsAudioSignal

Since: 1.0.0


AGS_AUDIO_SIGNAL()

#define AGS_AUDIO_SIGNAL(obj)                (G_TYPE_CHECK_INSTANCE_CAST((obj), AGS_TYPE_AUDIO_SIGNAL, AgsAudioSignal))

AGS_AUDIO_SIGNAL_CLASS()

#define AGS_AUDIO_SIGNAL_CLASS(class)        (G_TYPE_CHECK_CLASS_CAST((class), AGS_TYPE_AUDIO_SIGNAL, AgsAudioSignalClass))

AGS_AUDIO_SIGNAL_GET_CLASS()

#define AGS_AUDIO_SIGNAL_GET_CLASS(obj)      (G_TYPE_INSTANCE_GET_CLASS ((obj), AGS_TYPE_AUDIO_SIGNAL, AgsAudioSignalClass))

AGS_IS_AUDIO_SIGNAL()

#define AGS_IS_AUDIO_SIGNAL(obj)             (G_TYPE_CHECK_INSTANCE_TYPE ((obj), AGS_TYPE_AUDIO_SIGNAL))

ags_audio_signal_get_type ()

GType
ags_audio_signal_get_type ();

Types and Values

enum AgsAudioSignalFlags

Enum values to control the behavior or indicate internal state of AgsAudioSignal by enable/disable as flags.

Members

AGS_AUDIO_SIGNAL_CONNECTED

indicates the audio signal was connected by calling AgsConnectable::connect()

 

AGS_AUDIO_SIGNAL_TEMPLATE

the audio signal acts as a template

 

AGS_AUDIO_SIGNAL_PLAY_DONE

playback done

 

AGS_AUDIO_SIGNAL_STANDALONE

standalone

 

AGS_TYPE_AUDIO_SIGNAL

#define AGS_TYPE_AUDIO_SIGNAL                (ags_audio_signal_get_type())

struct AgsAudioSignal

struct AgsAudioSignal;

struct AgsAudioSignalClass

struct AgsAudioSignalClass {
  GObjectClass object;

  void (*reset_format)(AgsAudioSignal *audio_signal, guint format);
  void (*realloc_buffer_size)(AgsAudioSignal *audio_signal, guint buffer_size);
};

Property Details

The “attack” property

  “attack”                   guint

The attack to be used.

Flags: Read / Write

Allowed values: <= 65535

Default value: 0

Since: 1.0.0


The “buffer-size” property

  “buffer-size”              guint

The buffer size to be used.

Flags: Read / Write

Default value: 0

Since: 1.0.0


The “delay” property

  “delay”                    gdouble

The delay to be used.

Flags: Read / Write

Allowed values: [0,65535]

Default value: 0

Since: 1.0.0


The “first-frame” property

  “first-frame”              guint

The first frame of stream.

Flags: Read / Write

Default value: 0

Since: 1.0.0


The “format” property

  “format”                   guint

The format to be used.

Flags: Read / Write

Default value: 0

Since: 1.0.0


The “frame-count” property

  “frame-count”              guint

The initial size of audio data.

Flags: Read / Write

Default value: 0

Since: 1.0.0


The “last-frame” property

  “last-frame”               guint

The last frame of stream.

Flags: Read / Write

Default value: 0

Since: 1.0.0


The “length” property

  “length”                   guint

The length of the stream.

Flags: Read / Write

Default value: 0

Since: 1.0.0


The “loop-end” property

  “loop-end”                 guint

The loop end of stream.

Flags: Read / Write

Default value: 0

Since: 1.0.0


The “loop-start” property

  “loop-start”               guint

The loop start of stream.

Flags: Read / Write

Default value: 0

Since: 1.0.0


The “note” property

  “note”                     GObject *

The assigned AgsNote providing default settings.

Flags: Read / Write

Since: 1.0.0


The “recall-id” property

  “recall-id”                AgsRecallID *

The assigned AgsRecallID providing context.

Flags: Read / Write

Since: 1.0.0


The “recycling” property

  “recycling”                AgsRecycling *

The assigned AgsRecycling linking tree.

Flags: Read / Write

Since: 1.0.0


The “samplerate” property

  “samplerate”               guint

The samplerate to be used.

Flags: Read / Write

Default value: 0

Since: 1.0.0


The “soundcard” property

  “soundcard”                GObject *

The assigned AgsSoundcard providing default settings.

Flags: Read / Write

Since: 1.0.0


The “stream” property

  “stream”                   gpointer

The stream it contains.

Flags: Read / Write

Since: 1.0.0


The “stream-current” property

  “stream-current”           gpointer

The current stream.

Flags: Read / Write

Since: 1.0.0


The “stream-end” property

  “stream-end”               gpointer

The end of stream.

Flags: Read / Write

Since: 1.0.0


The “word-size” property

  “word-size”                guint

The word size of frame.

Flags: Read / Write

Default value: 0

Since: 1.0.0

Signal Details

The “realloc-buffer-size” signal

void
user_function (AgsAudioSignal *audio_signal,
               guint           buffer_size,
               gpointer        user_data)

The ::reallloc-buffer-size signal is invoked to notify modified buffer size.

Parameters

audio_signal

the object to realloc buffer size

 

buffer_size

new buffer size

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last