krähemann.com

AgsLine

AgsLine — A composite widget to visualize AgsChannel

Properties

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

Signals

void add-plugin Run Last
void buffer-size-changed Run Last
gpointer find-port Run Last
void format-changed Run Last
void group-changed Run Last
void map-recall Run Last
void remove-plugin Run Last
void samplerate-changed Run Last
void set-channel Run Last
void stop Run Last

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GtkWidget
            ╰── GtkContainer
                ╰── GtkBox
                    ╰── GtkVBox
                        ╰── AgsLine
                            ├── AgsDrumInputLine
                            ├── AgsDrumOutputLine
                            ├── AgsFMSynthInputLine
                            ├── AgsMixerInputLine
                            ├── AgsPanelInputLine
                            ╰── AgsSynthInputLine

Implemented Interfaces

AgsLine implements AtkImplementorIface, GtkBuildable, GtkOrientable and AgsConnectable.

Includes

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

gboolean
ags_line_indicator_queue_draw_timeout (GtkWidget *widget);

Queue draw widget

Parameters

widget

the widget

 

Returns

TRUE if proceed with redraw, otherwise FALSE

Since: 3.0.0


ags_line_new ()

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

Create a new instance of AgsLine

Parameters

pad

the parent pad

 

channel

the AgsChannel to visualize

 

Returns

the new AgsLine

Since: 3.0.0


AGS_IS_LINE()

#define AGS_IS_LINE(obj)             (G_TYPE_CHECK_INSTANCE_TYPE ((obj), AGS_TYPE_LINE))

AGS_IS_LINE_CLASS()

#define AGS_IS_LINE_CLASS(class)     (G_TYPE_CHECK_CLASS_TYPE ((class), AGS_TYPE_LINE))

AGS_LINE()

#define AGS_LINE(obj)                (G_TYPE_CHECK_INSTANCE_CAST((obj), AGS_TYPE_LINE, AgsLine))

AGS_LINE_CLASS()

#define AGS_LINE_CLASS(class)        (G_TYPE_CHECK_CLASS_CAST((class), AGS_TYPE_LINE, AgsLineClass))

AGS_LINE_GET_CLASS()

#define AGS_LINE_GET_CLASS(obj)      (G_TYPE_INSTANCE_GET_CLASS ((obj), AGS_TYPE_LINE, AgsLineClass))

ags_line_get_type ()

GType
ags_line_get_type (void);

Types and Values

AGS_LINE_DEFAULT_VERSION

#define AGS_LINE_DEFAULT_VERSION "0.7.0"

AGS_LINE_DEFAULT_BUILD_ID

#define AGS_LINE_DEFAULT_BUILD_ID "CEST 31-10-2015 19:49"

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_CONNECTED

   

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

AGS_TYPE_LINE

#define AGS_TYPE_LINE                (ags_line_get_type())

struct AgsLine

struct AgsLine;

struct AgsLineClass

struct AgsLineClass {
  GtkVBoxClass vbox;

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

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

  void (*group_changed)(AgsLine *line);

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

  void (*map_recall)(AgsLine *line,
		     guint output_pad_start);
  GList* (*find_port)(AgsLine *line);

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

Property Details

The “buffer-size” property

  “buffer-size”              guint

The buffer length.

Owner: AgsLine

Flags: Read / Write

Default value: 1024

Since: 3.0.0


The “channel” property

  “channel”                  AgsChannel *

The assigned AgsChannel to visualize.

Owner: AgsLine

Flags: Read / Write

Since: 3.0.0


The “format” property

  “format”                   guint

The format.

Owner: AgsLine

Flags: Read / Write

Default value: 16

Since: 3.0.0


The “pad” property

  “pad”                      AgsPad *

The assigned AgsPad.

Owner: AgsLine

Flags: Read / Write

Since: 3.0.0


The “samplerate” property

  “samplerate”               guint

The samplerate.

Owner: AgsLine

Flags: Read / Write

Default value: 48000

Since: 3.0.0

Signal Details

The “add-plugin” signal

void
user_function (AgsLine *line,
               gpointer effect,
               GObject *arg2,
               GObject *arg3,
               gchar   *arg4,
               gchar   *arg5,
               gchar   *arg6,
               guint    arg7,
               guint    arg8,
               guint    arg9,
               guint    arg10,
               gint     arg11,
               guint    arg12,
               guint    arg13,
               gpointer user_data)

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

Parameters

line

the AgsLine 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 (AgsLine *line,
               guint    buffer_size,
               guint    old_buffer_size,
               gpointer user_data)

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

Parameters

line

the AgsLine

 

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 “find-port” signal

gpointer
user_function (AgsLine *line,
               gpointer user_data)

The ::find-port retrieves all associated ports.

Parameters

line

the AgsLine

 

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 (AgsLine *line,
               guint    format,
               guint    old_format,
               gpointer user_data)

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

Parameters

line

the AgsLine

 

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 “group-changed” signal

void
user_function (AgsLine *line,
               gpointer user_data)

The ::group-changed signal notifies about changed grouping. This normally happens as toggling group button in AgsPad or AgsLine.

Parameters

line

the object group changed

 

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 (AgsLine *line,
               guint    output_pad_start,
               gpointer user_data)

The ::map-recall as recalls should be mapped.

Parameters

line

the AgsLine

 

output_pad_start

the channels 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 (AgsLine *line,
               guint    nth,
               gpointer user_data)

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

Parameters

line

the AgsLine 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 (AgsLine *line,
               guint    samplerate,
               guint    old_samplerate,
               gpointer user_data)

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

Parameters

line

the AgsLine

 

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 (AgsLine *line,
               GObject *channel,
               gpointer user_data)

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

Parameters

line

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


The “stop” signal

void
user_function (AgsLine *line,
               gpointer recall_id,
               gint     sound_scope,
               gpointer user_data)

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

Parameters

line

the AgsLine

 

recall_id

the GList containing AgsRecallID

 

sound_scope

the sound scope

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

Since: 3.0.0