AgsEffectLine

AgsEffectLine — A composite widget to visualize a bunch of AgsChannel

Stability Level

Stable, unless otherwise indicated

Functions

Properties

guint buffer-size Read / Write
AgsChannel * channel Read / Write
guint format Read / Write
guint samplerate Read / Write

Signals

Types and Values

Object Hierarchy

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

Implemented Interfaces

AgsEffectLine implements AtkImplementorIface, GtkBuildable, GtkOrientable and AgsConnectable.

Includes

#include <ags/X/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_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_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_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_indicator_queue_draw_timeout ()

gboolean
ags_effect_line_indicator_queue_draw_timeout
                               (GtkWidget *widget);

Queue draw widget

Parameters

widget

the indicator widgt

 

Returns

TRUE if proceed with redraw, otherwise FALSE

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


AGS_EFFECT_LINE()

#define AGS_EFFECT_LINE(obj)                (G_TYPE_CHECK_INSTANCE_CAST((obj), AGS_TYPE_EFFECT_LINE, AgsEffectLine))

AGS_EFFECT_LINE_CLASS()

#define AGS_EFFECT_LINE_CLASS(class)        (G_TYPE_CHECK_CLASS_CAST((class), AGS_TYPE_EFFECT_LINE, AgsEffectLineClass))

AGS_EFFECT_LINE_GET_CLASS()

#define AGS_EFFECT_LINE_GET_CLASS(obj)      (G_TYPE_INSTANCE_GET_CLASS((obj), AGS_TYPE_EFFECT_LINE, AgsEffectLineClass))

AGS_IS_EFFECT_LINE()

#define AGS_IS_EFFECT_LINE(obj)             (G_TYPE_CHECK_INSTANCE_TYPE((obj), AGS_TYPE_EFFECT_LINE))

AGS_IS_EFFECT_LINE_CLASS()

#define AGS_IS_EFFECT_LINE_CLASS(class)     (G_TYPE_CHECK_CLASS_TYPE((class), AGS_TYPE_EFFECT_LINE))

ags_effect_line_get_type ()

GType
ags_effect_line_get_type (void);

Types and Values

AGS_EFFECT_LINE_DEFAULT_VERSION

#define AGS_EFFECT_LINE_DEFAULT_VERSION "0.7.8"

AGS_EFFECT_LINE_DEFAULT_BUILD_ID

#define AGS_EFFECT_LINE_DEFAULT_BUILD_ID "CEST 01-03-2016 00:23"

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_CONNECTED

   

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;
};

AGS_TYPE_EFFECT_LINE

#define AGS_TYPE_EFFECT_LINE                (ags_effect_line_get_type())

struct AgsEffectLine

struct AgsEffectLine;

struct AgsEffectLineClass

struct AgsEffectLineClass {
  GtkBoxClass box;

  void (*samplerate_changed)(AgsEffectLine *effect_line,
			     guint samplerate, guint old_samplerate);
  void (*buffer_size_changed)(AgsEffectLine *effect_line,
			      guint buffer_size, guint old_buffer_size);
  void (*format_changed)(AgsEffectLine *effect_line,
			 guint format, guint old_format);

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

  void (*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);
  void (*remove_plugin)(AgsEffectLine *effect_line,
			guint nth);

  void (*map_recall)(AgsEffectLine *effect_line,
		     guint output_pad_start);
  GList* (*find_port)(AgsEffectLine *effect_line);

  void (*done)(AgsEffectLine *effect_line,
	       GObject *recall_id);
};

Property Details

The “buffer-size” property

  “buffer-size”              guint

The buffer length.

Owner: AgsEffectLine

Flags: Read / Write

Default value: 1024

Since: 3.0.0


The “channel” property

  “channel”                  AgsChannel *

The start of a bunch of AgsChannel to visualize.

Owner: AgsEffectLine

Flags: Read / Write

Since: 3.0.0


The “format” property

  “format”                   guint

The format.

Owner: AgsEffectLine

Flags: Read / Write

Default value: 16

Since: 3.0.0


The “samplerate” property

  “samplerate”               guint

The samplerate.

Owner: AgsEffectLine

Flags: Read / Write

Default value: 48000

Since: 3.0.0

Signal Details

The “add-plugin” signal

void
user_function (AgsEffectLine *effect_line,
               gpointer       effect,
               GObject       *arg2,
               GObject       *arg3,
               char          *arg4,
               char          *arg5,
               char          *arg6,
               guint          arg7,
               guint          arg8,
               guint          arg9,
               guint          arg10,
               int            arg11,
               guint          arg12,
               guint          arg13,
               gpointer       user_data)

The ::add-plugin signal notifies about added effect.

Parameters

effect_line

the AgsEffectLine to modify

 

effect

the effect's name

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

Since: 3.3.0


The “buffer-size-changed” signal

void
user_function (AgsEffectLine *effect_line,
               guint          buffer_size,
               guint          old_buffer_size,
               gpointer       user_data)

The ::buffer-size-changed signal notifies about changed buffer size.

Parameters

effect_line

the AgsEffectLine

 

buffer_size

the buffer size

 

old_buffer_size

the old buffer size

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

Since: 3.0.0


The “done” signal

void
user_function (AgsEffectLine *effect_line,
               GObject       *recall_id,
               gpointer       user_data)

The ::done signal gets emited as audio stops playback.

Parameters

effect_line

the AgsEffectLine

 

recall_id

the AgsRecallID

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

Since: 3.0.0


The “find-port” signal

gpointer
user_function (AgsEffectLine *effect_line,
               gpointer       user_data)

The ::find-port as recall should be mapped

Parameters

effect_line

the AgsEffectLine to resize

 

user_data

user data set when the signal handler was connected.

 

Returns

an GList containing all related AgsPort

Flags: Run Last

Since: 3.0.0


The “format-changed” signal

void
user_function (AgsEffectLine *effect_line,
               guint          format,
               guint          old_format,
               gpointer       user_data)

The ::format-changed signal notifies about changed format.

Parameters

effect_line

the AgsEffectLine

 

format

the format

 

old_format

the old format

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

Since: 3.0.0


The “map-recall” signal

void
user_function (AgsEffectLine *effect_line,
               guint          output_pad_start,
               gpointer       user_data)

The ::map-recall should be used to add the effect_line's default recall. This function may call ags_effect_line_find_port().

Parameters

effect_line

the AgsEffectLine

 

output_pad_start

the channel's start pad

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

Since: 3.0.0


The “remove-plugin” signal

void
user_function (AgsEffectLine *effect_line,
               guint          nth,
               gpointer       user_data)

The ::remove-plugin signal notifies about removed effect.

Parameters

effect_line

the AgsEffectLine to modify

 

nth

the nth effect

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

Since: 3.3.0


The “samplerate-changed” signal

void
user_function (AgsEffectLine *effect_line,
               guint          samplerate,
               guint          old_samplerate,
               gpointer       user_data)

The ::samplerate-changed signal notifies about changed samplerate.

Parameters

effect_line

the AgsEffectLine

 

samplerate

the samplerate

 

old_samplerate

the old samplerate

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

Since: 3.0.0


The “set-channel” signal

void
user_function (AgsEffectLine *effect_line,
               GObject       *channel,
               gpointer       user_data)

The ::set-channel signal notifies about changed channel.

Parameters

effect_line

the AgsEffectLine to modify

 

channel

the AgsChannel to set

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

Since: 3.0.0