AgsEffectLine

AgsEffectLine — A composite widget to visualize a bunch of AgsChannel

Stability Level

Stable, unless otherwise indicated

Functions

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkBox
                ╰── AgsEffectLine
                    ╰── AgsFFPlayerInputLine

Includes

#include <ags/app/ags_effect_line.h>

Description

AgsEffectLine is a composite widget to visualize one AgsChannel. It should be packed by an AgsEffectLine.

Functions

AGS_EFFECT_LINE_PLUGIN()

#define AGS_EFFECT_LINE_PLUGIN(ptr) ((AgsEffectLinePlugin *)(ptr))

ags_effect_line_test_flags ()

gboolean
ags_effect_line_test_flags (AgsEffectLine *effect_line,
                            guint flags);

Test flags of effect_line .

Parameters

effect_line

the AgsEffectLine

 

flags

the flags

 

Returns

TRUE if flags is set, otherwise FALSE

Since: 4.5.0


ags_effect_line_set_flags ()

void
ags_effect_line_set_flags (AgsEffectLine *effect_line,
                           guint flags);

Set flags of effect_line .

Parameters

effect_line

the AgsEffectLine

 

flags

the flags

 

Since: 4.5.0


ags_effect_line_unset_flags ()

void
ags_effect_line_unset_flags (AgsEffectLine *effect_line,
                             guint flags);

Unset flags of effect_line .

Parameters

effect_line

the AgsEffectLine

 

flags

the flags

 

Since: 4.5.0


ags_effect_line_plugin_alloc ()

AgsEffectLinePlugin *
ags_effect_line_plugin_alloc (AgsRecallContainer *play_container,
                              AgsRecallContainer *recall_container,
                              gchar *plugin_name,
                              gchar *filename,
                              gchar *effect);

Allocate AgsEffectLinePlugin.

Parameters

play_container

the AgsRecallContainer

 

recall_container

the AgsRecallContainer

 

plugin_name

the plugin name

 

filename

the filename as string

 

effect

the effect as string

 

Returns

the newly allocated AgsEffectLinePlugin

Since: 3.3.0


ags_effect_line_plugin_free ()

void
ags_effect_line_plugin_free (AgsEffectLinePlugin *effect_line_plugin);

Free effect_line_plugin .

Parameters

effect_line_plugin

the AgsEffectLinePlugin

 

Since: 3.3.0


ags_effect_line_samplerate_changed ()

void
ags_effect_line_samplerate_changed (AgsEffectLine *effect_line,
                                    guint samplerate,
                                    guint old_samplerate);

Notify about samplerate changed.

Parameters

effect_line

the AgsEffectLine

 

samplerate

the samplerate

 

old_samplerate

the old samplerate

 

Since: 3.0.0


ags_effect_line_buffer_size_changed ()

void
ags_effect_line_buffer_size_changed (AgsEffectLine *effect_line,
                                     guint buffer_size,
                                     guint old_buffer_size);

Notify about buffer_size changed.

Parameters

effect_line

the AgsEffectLine

 

buffer_size

the buffer_size

 

old_buffer_size

the old buffer_size

 

Since: 3.0.0


ags_effect_line_format_changed ()

void
ags_effect_line_format_changed (AgsEffectLine *effect_line,
                                guint format,
                                guint old_format);

Notify about format changed.

Parameters

effect_line

the AgsEffectLine

 

format

the format

 

old_format

the old format

 

Since: 3.0.0


ags_effect_line_set_channel ()

void
ags_effect_line_set_channel (AgsEffectLine *effect_line,
                             AgsChannel *channel);

Is emitted as channel gets modified.

Parameters

effect_line

the AgsEffectLine

 

channel

the AgsChannel to set

 

Since: 3.0.0


ags_effect_line_get_line_member ()

GList *
ags_effect_line_get_line_member (AgsEffectLine *effect_line);

Get line member of effect_line .

Parameters

effect_line

the AgsEffectLine

 

Returns

the GList containing AgsLineMember

Since: 4.0.0


ags_effect_line_add_line_member ()

void
ags_effect_line_add_line_member (AgsEffectLine *effect_line,
                                 AgsLineMember *line_member,
                                 guint x,
                                 guint y,
                                 guint width,
                                 guint height);

Add line_member to effect_line .

Parameters

effect_line

the AgsEffectLine

 

line_member

the AgsLineMember

 

x

the x position

 

y

the y position

 

width

the width

 

height

the height

 

Since: 4.0.0


ags_effect_line_remove_line_member ()

void
ags_effect_line_remove_line_member (AgsEffectLine *effect_line,
                                    AgsLineMember *line_member);

Remove line_member from effect_line .

Parameters

effect_line

the AgsEffectLine

 

line_member

the AgsLineMember

 

Since: 4.0.0


ags_effect_line_get_effect_separator ()

GList *
ags_effect_line_get_effect_separator (AgsEffectLine *effect_line);

Get effect_line member of effect_line .

Parameters

effect_line

the AgsEffectLine

 

Returns

the GList containing AgsEffectSeparator

Since: 4.2.14


ags_effect_line_add_effect_separator ()

void
ags_effect_line_add_effect_separator (AgsEffectLine *effect_line,
                                      AgsEffectSeparator *effect_separator,
                                      guint x,
                                      guint y,
                                      guint width,
                                      guint height);

Add effect_separator to effect_line .

Parameters

effect_line

the AgsEffectLine

 

effect_separator

the AgsEffectSeparator

 

x

the x position

 

y

the y position

 

width

the width

 

height

the height

 

Since: 4.2.14


ags_effect_line_remove_effect_separator ()

void
ags_effect_line_remove_effect_separator
                               (AgsEffectLine *effect_line,
                                AgsEffectSeparator *effect_separator);

Remove effect_separator from effect_line .

Parameters

effect_line

the AgsEffectLine

 

effect_separator

the AgsEffectSeparator

 

Since: 4.2.14


ags_effect_line_add_plugin ()

void
ags_effect_line_add_plugin (AgsEffectLine *effect_line,
                            GList *control_type_name,
                            AgsRecallContainer *play_container,
                            AgsRecallContainer *recall_container,
                            gchar *plugin_name,
                            gchar *filename,
                            gchar *effect,
                            guint start_audio_channel,
                            guint stop_audio_channel,
                            guint start_pad,
                            guint stop_pad,
                            gint position,
                            guint create_flags,
                            guint recall_flags);

Add an effect by its filename and effect specifier.

Parameters

effect_line

the AgsEffectLine to modify

 

control_type_name

the GList containing string representation of a GType

 

play_container

an AgsRecallContainer to indetify what recall to use

 

recall_container

an AgsRecallContainer to indetify what recall to use

 

plugin_name

the plugin identifier

 

filename

the effect's filename

 

effect

the effect's name

 

start_audio_channel

the first audio channel to apply

 

stop_audio_channel

the last audio channel to apply

 

start_pad

the first pad to apply

 

stop_pad

the last pad to apply

 

position

the position to insert the recall

 

create_flags

modify the behaviour of this function

 

recall_flags

flags to be set for AgsRecall

 

Since: 3.3.0


ags_effect_line_remove_plugin ()

void
ags_effect_line_remove_plugin (AgsEffectLine *effect_line,
                               guint nth);

Remove an effect by its position.

Parameters

effect_line

the AgsEffectLine to modify

 

nth

the nth effect to remove

 

Since: 3.3.0


ags_effect_line_map_recall ()

void
ags_effect_line_map_recall (AgsEffectLine *effect_line,
                            guint output_pad_start);

You may want the effect_line to add its default recall. This function may call ags_effect_line_find_port().

Parameters

effect_line

the AgsEffectLine to add its default recall.

 

output_pad_start

the start channel's index

 

Since: 3.0.0


ags_effect_line_find_port ()

GList *
ags_effect_line_find_port (AgsEffectLine *effect_line);

Lookup ports of associated recalls.

Parameters

effect_line

the AgsEffectLine

 

Returns

a GList containing all related AgsPort

Since: 3.0.0


ags_effect_line_done ()

void
ags_effect_line_done (AgsEffectLine *effect_line,
                      GObject *recall_id);

Notify about to stop playback of recall_id .

Parameters

effect_line

the AgsEffectLine

 

recall_id

the AgsRecallID

 

Since: 3.0.0


ags_effect_line_refresh_port ()

void
ags_effect_line_refresh_port (AgsEffectLine *effect_line);

Notify about to refresh ports.

Parameters

effect_line

the AgsEffectLine

 

Since: 4.2.2


ags_effect_line_find_next_grouped ()

GList *
ags_effect_line_find_next_grouped (GList *effect_line);

Retrieve next grouped effect_line.

Parameters

effect_line

a GList of AgsEffectLine objects

 

Returns

next matching GList containing AgsEffectLine

Since: 3.0.0


ags_effect_line_check_message ()

void
ags_effect_line_check_message (AgsEffectLine *effect_line);

Check message queue for message envelopes.

Parameters

effect_line

the AgsEffectLine

 

Since: 3.0.0


ags_effect_line_new ()

AgsEffectLine *
ags_effect_line_new (AgsChannel *channel);

Create a new instance of AgsEffectLine

Parameters

channel

the AgsChannel to visualize

 

Returns

the new AgsEffectLine

Since: 3.0.0

Types and Values

AGS_EFFECT_LINE_DEFAULT_VERSION

#define AGS_EFFECT_LINE_DEFAULT_VERSION "4.5.0"

AGS_EFFECT_LINE_DEFAULT_BUILD_ID

#define AGS_EFFECT_LINE_DEFAULT_BUILD_ID "Tue Mar 28 06:49:41 UTC 2023"

AGS_EFFECT_LINE_COLUMNS_COUNT

#define AGS_EFFECT_LINE_COLUMNS_COUNT (2)

AGS_EFFECT_LINE_SEPARATOR_FILENAME

#define AGS_EFFECT_LINE_SEPARATOR_FILENAME "ags-effect-line-separator-filename"

AGS_EFFECT_LINE_SEPARATOR_EFFECT

#define AGS_EFFECT_LINE_SEPARATOR_EFFECT "ags-effect-line-separator-effect"

enum AgsEffectLineFlags

Members

AGS_EFFECT_LINE_MAPPED_RECALL

   

AGS_EFFECT_LINE_PREMAPPED_RECALL

   

struct AgsEffectLinePlugin

struct AgsEffectLinePlugin {
  AgsRecallContainer *play_container;
  AgsRecallContainer *recall_container;

  gchar *plugin_name;

  gchar *filename;
  gchar *effect;

  GList *control_type_name;

  guint control_count;
};