AgsLine

AgsLine — A composite widget to visualize AgsChannel

Stability Level

Stable, unless otherwise indicated

Functions

Types and Values

Includes

#include <ags/app/ags_line.h>

Description

AgsLine is a composite widget to visualize AgsChannel. It should be packed by an AgsPad. It may contain AgsLineMember to modify ports of AgsRecall.

Functions

AGS_LINE_PLUGIN()

#define AGS_LINE_PLUGIN(ptr) ((AgsLinePlugin *)(ptr))

ags_line_test_flags ()

gboolean
ags_line_test_flags (AgsLine *line,
                     guint flags);

Test flags of line .

Parameters

line

the AgsLine

 

flags

the flags

 

Returns

TRUE if flags is set, otherwise FALSE

Since: 4.5.0


ags_line_set_flags ()

void
ags_line_set_flags (AgsLine *line,
                    guint flags);

Set flags of line .

Parameters

line

the AgsLine

 

flags

the flags

 

Since: 4.5.0


ags_line_unset_flags ()

void
ags_line_unset_flags (AgsLine *line,
                      guint flags);

Unset flags of line .

Parameters

line

the AgsLine

 

flags

the flags

 

Since: 4.5.0


ags_line_plugin_alloc ()

AgsLinePlugin *
ags_line_plugin_alloc (AgsRecallContainer *play_container,
                       AgsRecallContainer *recall_container,
                       gchar *plugin_name,
                       gchar *filename,
                       gchar *effect);

Allocate AgsLinePlugin.

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 AgsLinePlugin

Since: 3.3.0


ags_line_plugin_free ()

void
ags_line_plugin_free (AgsLinePlugin *line_plugin);

Free line_plugin .

Parameters

line_plugin

the AgsLinePlugin

 

Since: 3.3.0


ags_line_samplerate_changed ()

void
ags_line_samplerate_changed (AgsLine *line,
                             guint samplerate,
                             guint old_samplerate);

Notify about samplerate changed.

Parameters

line

the AgsLine

 

samplerate

the samplerate

 

old_samplerate

the old samplerate

 

Since: 3.0.0


ags_line_buffer_size_changed ()

void
ags_line_buffer_size_changed (AgsLine *line,
                              guint buffer_size,
                              guint old_buffer_size);

Notify about buffer_size changed.

Parameters

line

the AgsLine

 

buffer_size

the buffer_size

 

old_buffer_size

the old buffer_size

 

Since: 3.0.0


ags_line_format_changed ()

void
ags_line_format_changed (AgsLine *line,
                         guint format,
                         guint old_format);

Notify about format changed.

Parameters

line

the AgsLine

 

format

the format

 

old_format

the old format

 

Since: 3.0.0


ags_line_set_channel ()

void
ags_line_set_channel (AgsLine *line,
                      AgsChannel *channel);

Is emitted as channel gets modified.

Parameters

line

the AgsLine

 

channel

the AgsChannel to set

 

Since: 3.0.0


ags_line_group_changed ()

void
ags_line_group_changed (AgsLine *line);

Is emitted as group is changed.

Parameters

line

an AgsLine

 

Since: 3.0.0


ags_line_get_line_member ()

GList *
ags_line_get_line_member (AgsLine *line);

Get line member of line .

Parameters

line

the AgsLine

 

Returns

the GList containing AgsLineMember

Since: 4.0.0


ags_line_add_line_member ()

void
ags_line_add_line_member (AgsLine *line,
                          AgsLineMember *line_member,
                          guint x,
                          guint y,
                          guint width,
                          guint height);

Add line_member to line .

Parameters

line

the AgsLine

 

line_member

the AgsLineMember

 

x

the x position

 

y

the y position

 

width

the width

 

height

the height

 

Since: 4.0.0


ags_line_remove_line_member ()

void
ags_line_remove_line_member (AgsLine *line,
                             AgsLineMember *line_member);

Remove line_member from line .

Parameters

line

the AgsLine

 

line_member

the AgsLineMember

 

Since: 4.0.0


ags_line_get_effect_separator ()

GList *
ags_line_get_effect_separator (AgsLine *line);

Get line member of line .

Parameters

line

the AgsLine

 

Returns

the GList containing AgsEffectSeparator

Since: 4.0.0


ags_line_add_effect_separator ()

void
ags_line_add_effect_separator (AgsLine *line,
                               AgsEffectSeparator *effect_separator,
                               guint x,
                               guint y,
                               guint width,
                               guint height);

Add effect_separator to line .

Parameters

line

the AgsLine

 

effect_separator

the AgsEffectSeparator

 

x

the x position

 

y

the y position

 

width

the width

 

height

the height

 

Since: 4.0.0


ags_line_remove_effect_separator ()

void
ags_line_remove_effect_separator (AgsLine *line,
                                  AgsEffectSeparator *effect_separator);

Remove effect_separator from line .

Parameters

line

the AgsLine

 

effect_separator

the AgsEffectSeparator

 

Since: 4.0.0


ags_line_add_plugin ()

void
ags_line_add_plugin (AgsLine *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

line

the AgsLine 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.0.0


ags_line_remove_plugin ()

void
ags_line_remove_plugin (AgsLine *line,
                        guint nth);

Remove an effect by its position.

Parameters

line

the AgsLine to modify

 

nth

the nth effect to remove

 

Since: 3.0.0


ags_line_map_recall ()

void
ags_line_map_recall (AgsLine *line,
                     guint output_pad_start);

Is emitted as group is changed.

Parameters

line

an AgsLine

 

output_pad_start

the start pad

 

Since: 3.0.0


ags_line_find_port ()

GList *
ags_line_find_port (AgsLine *line);

Lookup ports of assigned recalls.

Parameters

line

the AgsLine

 

Returns

a GList containing all related AgsPort

Since: 3.0.0


ags_line_refresh_port ()

void
ags_line_refresh_port (AgsLine *line);

Notify about to refresh ports.

Parameters

line

the AgsLine

 

Since: 4.2.2


ags_line_stop ()

void
ags_line_stop (AgsLine *line,
               GList *recall_id,
               gint sound_scope);

Notify about to stop playback of recall_id .

Parameters

line

the AgsLine

 

recall_id

the GList containing AgsRecallID

 

sound_scope

the sound scope

 

Since: 3.0.0


ags_line_find_next_grouped ()

GList *
ags_line_find_next_grouped (GList *line);

Retrieve next grouped line.

Parameters

line

a GList of AgsLine objects

 

Returns

next matching GList containing AgsLine

Since: 3.0.0


ags_line_check_message ()

void
ags_line_check_message (AgsLine *line);

Check message queue for message envelopes.

Parameters

line

the AgsLine

 

Since: 3.0.0


ags_line_indicator_refresh_timeout ()

gboolean
ags_line_indicator_refresh_timeout (GtkWidget *widget);

ags_line_new ()

AgsLine *
ags_line_new (GtkWidget *parent_pad,
              AgsChannel *channel);

Create a new instance of AgsLine

Parameters

parent_pad

the parent pad

 

channel

the AgsChannel to visualize

 

Returns

the new AgsLine

Since: 3.0.0

Types and Values

AGS_LINE_DEFAULT_VERSION

#define AGS_LINE_DEFAULT_VERSION "4.5.0"

AGS_LINE_DEFAULT_BUILD_ID

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

AGS_LINE_COLUMNS_COUNT

#define AGS_LINE_COLUMNS_COUNT (2)

AGS_LINE_SEPARATOR_FILENAME

#define AGS_LINE_SEPARATOR_FILENAME "ags-line-separator-filename"

AGS_LINE_SEPARATOR_EFFECT

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

enum AgsLineFlags

Members

AGS_LINE_GROUPED

   

AGS_LINE_MAPPED_RECALL

   

AGS_LINE_PREMAPPED_RECALL

   

struct AgsLinePlugin

struct AgsLinePlugin {
  AgsRecallContainer *play_container;
  AgsRecallContainer *recall_container;

  gchar *plugin_name;

  gchar *filename;
  gchar *effect;

  GList *control_type_name;

  guint control_count;
};