AgsChannel

AgsChannel — Acts as entry point to the audio tree.

Functions

GQuark ags_channel_error_quark ()
pthread_mutex_t * ags_channel_get_class_mutex ()
gboolean ags_channel_test_flags ()
void ags_channel_set_flags ()
void ags_channel_unset_flags ()
gboolean ags_channel_test_ability_flags ()
void ags_channel_set_ability_flags ()
void ags_channel_unset_ability_flags ()
gboolean ags_channel_test_behaviour_flags ()
void ags_channel_set_behaviour_flags ()
void ags_channel_unset_behaviour_flags ()
gboolean ags_channel_test_staging_flags ()
void ags_channel_set_staging_flags ()
void ags_channel_unset_staging_flags ()
AgsChannel * ags_channel_first ()
AgsChannel * ags_channel_last ()
AgsChannel * ags_channel_nth ()
AgsChannel * ags_channel_pad_first ()
AgsChannel * ags_channel_pad_last ()
AgsChannel * ags_channel_pad_nth ()
AgsChannel * ags_channel_first_with_recycling ()
AgsChannel * ags_channel_last_with_recycling ()
AgsChannel * ags_channel_prev_with_recycling ()
AgsChannel * ags_channel_next_with_recycling ()
void ags_channel_set_link ()
void ags_channel_reset_recycling ()
void ags_channel_recycling_changed ()
void ags_channel_set_output_soundcard ()
void ags_channel_set_input_soundcard ()
void ags_channel_set_samplerate ()
void ags_channel_set_buffer_size ()
void ags_channel_set_format ()
void ags_channel_add_pattern ()
void ags_channel_remove_pattern ()
void ags_channel_add_recall_id ()
void ags_channel_remove_recall_id ()
void ags_channel_add_recall_container ()
void ags_channel_remove_recall_container ()
void ags_channel_add_recall ()
void ags_channel_remove_recall ()
GList * ags_channel_add_effect ()
void ags_channel_remove_effect ()
void ags_channel_duplicate_recall ()
void ags_channel_resolve_recall ()
void ags_channel_init_recall ()
void ags_channel_play_recall ()
void ags_channel_done_recall ()
void ags_channel_cancel_recall ()
void ags_channel_cleanup_recall ()
GList * ags_channel_start ()
void ags_channel_stop ()
GList * ags_channel_check_scope ()
GList * ags_channel_collect_all_channel_ports ()
GList * ags_channel_collect_all_channel_ports_by_specifier_and_context ()
AgsChannel * ags_channel_get_level ()
void ags_channel_recursive_set_property ()
void ags_channel_recursive_run_stage ()
AgsChannel * ags_channel_new ()
#define AGS_CHANNEL()
#define AGS_CHANNEL_CLASS()
#define AGS_CHANNEL_GET_CLASS()
#define AGS_IS_CHANNEL()
#define AGS_IS_CHANNEL_CLASS()
GType ags_channel_get_type ()

Properties

gint absolute-key Read / Write
AgsAudio * audio Read / Write
guint audio-channel Read
guint buffer-size Read / Write
AgsRecycling * first-recycling Read
guint format Read / Write
GObject * input-soundcard Read / Write
gint input-soundcard-channel Read / Write
guint key Read / Write
AgsRecycling * last-recycling Read
guint line Read
AgsChannel * link Read / Write
guint midi-note Read / Write
AgsChannel * next Read
AgsChannel * next-pad Read
gdouble note-frequency Read / Write
gchar * note-key Read / Write
gint octave Read / Write
GObject * output-soundcard Read / Write
gint output-soundcard-channel Read / Write
guint pad Read
gpointer pattern Read / Write
gpointer play Read / Write
AgsPlayback * playback Read / Write
AgsChannel * prev Read
AgsChannel * prev-pad Read
gpointer recall Read / Write
gpointer recall-container Read / Write
gpointer recall-id Read / Write
gpointer recycling-context Read / Write
guint samplerate Read / Write

Signals

Types and Values

Object Hierarchy

    GObject
    ╰── AgsChannel
        ├── AgsInput
        ╰── AgsOutput

Implemented Interfaces

AgsChannel implements AgsConnectable.

Includes

#include <ags/audio/ags_channel.h>

Description

AgsChannel is the entry point to the entire audio tree and its nested recycling tree.

Every channel has its own AgsRecallID. As modifying link a new AgsRecyclingContext is indicated, since it acts as a kind of recall id tree context.

Functions

ags_channel_error_quark ()

GQuark
ags_channel_error_quark ();

ags_channel_get_class_mutex ()

pthread_mutex_t *
ags_channel_get_class_mutex ();

Use this function's returned mutex to access mutex fields.

Returns

the class mutex

Since: 2.0.0


ags_channel_test_flags ()

gboolean
ags_channel_test_flags (AgsChannel *channel,
                        guint flags);

Test flags to be set on channel .

Parameters

channel

the AgsChannel

 

flags

the flags

 

Returns

TRUE if flags are set, else FALSE

Since: 2.0.0


ags_channel_set_flags ()

void
ags_channel_set_flags (AgsChannel *channel,
                       guint flags);

Enable a feature of channel .

Parameters

channel

the AgsChannel

 

flags

see AgsChannelFlags

 

Since: 2.0.0


ags_channel_unset_flags ()

void
ags_channel_unset_flags (AgsChannel *channel,
                         guint flags);

Disable a feature of channel .

Parameters

channel

the AgsChannel

 

flags

see AgsChannelFlags

 

Since: 2.0.0


ags_channel_test_ability_flags ()

gboolean
ags_channel_test_ability_flags (AgsChannel *channel,
                                guint ability_flags);

Test ability_flags to be set on channel .

Parameters

channel

the AgsChannel

 

ability_flags

the ability flags

 

Returns

TRUE if flags are set, else FALSE

Since: 2.0.0


ags_channel_set_ability_flags ()

void
ags_channel_set_ability_flags (AgsChannel *channel,
                               guint ability_flags);

Enable an ability of AgsChannel.

Parameters

channel

the AgsChannel

 

ability_flags

see enum AgsSoundAbilityFlags

 

Since: 2.0.0


ags_channel_unset_ability_flags ()

void
ags_channel_unset_ability_flags (AgsChannel *channel,
                                 guint ability_flags);

Disable an ability of AgsChannel.

Parameters

channel

the AgsChannel

 

flags

see enum AgsSoundAbilityFlags

 

Since: 2.0.0


ags_channel_test_behaviour_flags ()

gboolean
ags_channel_test_behaviour_flags (AgsChannel *channel,
                                  guint behaviour_flags);

Test behaviour_flags to be set on channel .

Parameters

channel

the AgsChannel

 

behaviour_flags

the behaviour flags

 

Returns

TRUE if flags are set, else FALSE

Since: 2.0.0


ags_channel_set_behaviour_flags ()

void
ags_channel_set_behaviour_flags (AgsChannel *channel,
                                 guint behaviour_flags);

Set behaviour flags.

Parameters

channel

the AgsChannel

 

behaviour_flags

the behaviour flags

 

Since: 2.0.0


ags_channel_unset_behaviour_flags ()

void
ags_channel_unset_behaviour_flags (AgsChannel *channel,
                                   guint behaviour_flags);

Unset behaviour flags.

Parameters

channel

the AgsChannel

 

behaviour_flags

the behaviour flags

 

Since: 2.0.0


ags_channel_test_staging_flags ()

gboolean
ags_channel_test_staging_flags (AgsChannel *channel,
                                gint sound_scope,
                                guint staging_flags);

Test staging_flags to be set on channel .

Parameters

channel

the AgsChannel

 

sound_scope

the AgsSoundScope to test

 

staging_flags

the staging flags

 

Returns

TRUE if flags are set, else FALSE

Since: 2.0.0


ags_channel_set_staging_flags ()

void
ags_channel_set_staging_flags (AgsChannel *channel,
                               gint sound_scope,
                               guint staging_flags);

Set staging flags.

Parameters

channel

the AgsChannel

 

sound_scope

the AgsSoundScope to apply, or -1 to apply to all

 

staging_flags

the staging flags

 

Since: 2.0.0


ags_channel_unset_staging_flags ()

void
ags_channel_unset_staging_flags (AgsChannel *channel,
                                 gint sound_scope,
                                 guint staging_flags);

Unset staging flags.

Parameters

channel

the AgsChannel

 

sound_scope

the AgsSoundScope to apply, or -1 to apply to all

 

staging_flags

the staging flags

 

Since: 2.0.0


ags_channel_first ()

AgsChannel *
ags_channel_first (AgsChannel *channel);

Iterates until the first AgsChannel was found.

Parameters

channel

an AgsChannel

 

Returns

the first AgsChannel

Since: 2.0.0


ags_channel_last ()

AgsChannel *
ags_channel_last (AgsChannel *channel);

Iterates until the last AgsChannel was found.

Parameters

channel

an AgsChannel

 

Returns

the last AgsChannel

Since: 2.0.0


ags_channel_nth ()

AgsChannel *
ags_channel_nth (AgsChannel *channel,
                 guint nth);

Iterates nth times forward.

Parameters

channel

an AgsChannel

 

nth

the count to iterate

 

Returns

the nth AgsChannel

Since: 2.0.0


ags_channel_pad_first ()

AgsChannel *
ags_channel_pad_first (AgsChannel *channel);

Iterates until the first pad has been reached.

Parameters

channel

an AgsChannel

 

Returns

the first AgsChannel with the same audio channel as channel

Since: 2.0.0


ags_channel_pad_last ()

AgsChannel *
ags_channel_pad_last (AgsChannel *channel);

Iterates until the last pad has been reached.

Parameters

channel

an AgsChannel

 

Returns

the last AgsChannel with the same audio channel as channel

Since: 2.0.0


ags_channel_pad_nth ()

AgsChannel *
ags_channel_pad_nth (AgsChannel *channel,
                     guint nth);

Iterates nth times.

Parameters

channel

an AgsChannel

 

nth

the count of pads to step

 

Returns

the nth pad

Since: 2.0.0


ags_channel_first_with_recycling ()

AgsChannel *
ags_channel_first_with_recycling (AgsChannel *channel);

Find first recycling related to channel .

Parameters

channel

an AgsChannel

 

Returns

the first channel with an AgsRecycling

Since: 2.0.0


ags_channel_last_with_recycling ()

AgsChannel *
ags_channel_last_with_recycling (AgsChannel *channel);

Find last recycling related to channel .

Parameters

channel

an AgsChannel

 

Returns

the last channel with an AgsRecycling

Since: 2.0.0


ags_channel_prev_with_recycling ()

AgsChannel *
ags_channel_prev_with_recycling (AgsChannel *channel);

Find previous AgsRecycling of channel .

Parameters

channel

an AgsChannel

 

Returns

the prev channel with an AgsRecycling

Since: 2.0.0


ags_channel_next_with_recycling ()

AgsChannel *
ags_channel_next_with_recycling (AgsChannel *channel);

Find next AgsRecycling of channel .

Parameters

channel

an AgsChannel

 

Returns

the next channel with an AgsRecycling

Since: 2.0.0


ags_channel_set_link ()

void
ags_channel_set_link (AgsChannel *channel,
                      AgsChannel *link,
                      GError **error);

Change the linking of AgsChannel objects. Sets link, calls ags_channel_reset_recycling() and ags_channel_recursive_reset_recall_ids(). Further it does loop detection and makes your machine running. Thus it adds AgsRecallID. Invoke only by a task.

Parameters

channel

an AgsChannel to link

 

link

an other AgsChannel to link with

 

error

you may retrieve a AGS_CHANNEL_ERROR_LOOP_IN_LINK error

 

Since: 2.0.0


ags_channel_reset_recycling ()

void
ags_channel_reset_recycling (AgsChannel *channel,
                             AgsRecycling *first_recycling,
                             AgsRecycling *last_recycling);

Called by ags_channel_set_link() to handle outdated AgsRecycling references. Invoke only by a task.

Parameters

channel

the channel to reset

 

first_recycling

the recycling to set for channel->first_recycling

 

last_recycling

the recycling to set for channel->last_recycling

 

Since: 2.0.0


ags_channel_recycling_changed ()

void
ags_channel_recycling_changed (AgsChannel *channel,
                               AgsRecycling *old_start_region,
                               AgsRecycling *old_end_region,
                               AgsRecycling *new_start_region,
                               AgsRecycling *new_end_region,
                               AgsRecycling *old_start_changed_region,
                               AgsRecycling *old_end_changed_region,
                               AgsRecycling *new_start_changed_region,
                               AgsRecycling *new_end_changed_region);

Modify recycling. Asynchronously only.

Parameters

channel

the object recycling changed

 

old_start_region

first recycling

 

old_end_region

last recycling

 

new_start_region

new first recycling

 

new_end_region

new last recycling

 

old_start_changed_region

modified link recycling start

 

old_end_changed_region

modified link recyclig end

 

new_start_changed_region

replacing link recycling start

 

new_end_changed_region

replacing link recycling end

 

Since: 2.0.0


ags_channel_set_output_soundcard ()

void
ags_channel_set_output_soundcard (AgsChannel *channel,
                                  GObject *output_soundcard);

Set the output soundcard object of channel .

Parameters

channel

an AgsChannel

 

soundcard

an GObject

 

Since: 2.0.0


ags_channel_set_input_soundcard ()

void
ags_channel_set_input_soundcard (AgsChannel *channel,
                                 GObject *input_soundcard);

Set the input soundcard object on channel.

Parameters

channel

the AgsChannel

 

soundcard

an AgsSoundcard

 

Since: 2.0.0


ags_channel_set_samplerate ()

void
ags_channel_set_samplerate (AgsChannel *channel,
                            guint samplerate);

Set samplerate.

Parameters

channel

the AgsChannel

 

samplerate

the samplerate

 

Since: 2.0.0


ags_channel_set_buffer_size ()

void
ags_channel_set_buffer_size (AgsChannel *channel,
                             guint buffer_size);

Set buffer-size.

Parameters

channel

the AgsChannel

 

buffer_size

the buffer_size

 

Since: 2.0.0


ags_channel_set_format ()

void
ags_channel_set_format (AgsChannel *channel,
                        guint format);

Set format.

Parameters

channel

the AgsChannel

 

format

the format

 

Since: 2.0.0


ags_channel_add_pattern ()

void
ags_channel_add_pattern (AgsChannel *channel,
                         GObject *pattern);

Removes a pattern.

Parameters

channel

an AgsChannel

 

pattern

the AgsPattern

 

Since: 2.0.0


ags_channel_remove_pattern ()

void
ags_channel_remove_pattern (AgsChannel *channel,
                            GObject *pattern);

Removes a pattern.

Parameters

channel

an AgsChannel

 

pattern

the AgsPattern

 

Since: 2.0.0


ags_channel_add_recall_id ()

void
ags_channel_add_recall_id (AgsChannel *channel,
                           AgsRecallID *recall_id);

Adds a recall id.

Parameters

channel

an AgsChannel

 

recall_id

the AgsRecallID

 

Since: 2.0.0


ags_channel_remove_recall_id ()

void
ags_channel_remove_recall_id (AgsChannel *channel,
                              AgsRecallID *recall_id);

Removes a recall id.

Parameters

channel

an AgsChannel

 

recall_id

the AgsRecallID

 

Since: 2.0.0


ags_channel_add_recall_container ()

void
ags_channel_add_recall_container (AgsChannel *channel,
                                  GObject *recall_container);

Adds a recall container.

Parameters

channel

an AgsChannel

 

recall_container

the AgsRecallContainer

 

Since: 2.0.0


ags_channel_remove_recall_container ()

void
ags_channel_remove_recall_container (AgsChannel *channel,
                                     GObject *recall_container);

Removes a recall container.

Parameters

channel

an AgsChannel

 

recall_container

the AgsRecallContainer

 

Since: 2.0.0


ags_channel_add_recall ()

void
ags_channel_add_recall (AgsChannel *channel,
                        GObject *recall,
                        gboolean play_context);

Adds a recall.

Parameters

channel

an AgsChannel

 

recall

the AgsRecall

 

play_context

TRUE if play context, else if FALSE recall context

 

Since: 2.0.0


ags_channel_remove_recall ()

void
ags_channel_remove_recall (AgsChannel *channel,
                           GObject *recall,
                           gboolean play_context);

Removes a recall.

Parameters

channel

an AgsChannel

 

recall

the AgsRecall

 

play_context

TRUE if play context, else if FALSE recall context

 

Since: 2.0.0


ags_channel_add_effect ()

GList *
ags_channel_add_effect (AgsChannel *channel,
                        char *filename,
                        gchar *effect);

ags_channel_remove_effect ()

void
ags_channel_remove_effect (AgsChannel *channel,
                           guint nth);

Remove specified effect of channel .

Parameters

channel

the AgsChannel

 

nth

nth effect

 

Since: 2.0.0


ags_channel_duplicate_recall ()

void
ags_channel_duplicate_recall (AgsChannel *channel,
                              AgsRecallID *recall_id);

Duplicate AgsRecall template and assign recall_id to it.

Parameters

channel

the AgsChannel

 

recall_id

the AgsRecallID

 

Since: 2.0.0


ags_channel_resolve_recall ()

void
ags_channel_resolve_recall (AgsChannel *channel,
                            AgsRecallID *recall_id);

Resolve step of initialization.

Parameters

channel

an AgsChannel

 

recall_id

appropriate AgsRecallID

 

Since: 2.0.0


ags_channel_init_recall ()

void
ags_channel_init_recall (AgsChannel *channel,
                         AgsRecallID *recall_id,
                         guint staging_flags);

Prepare AgsRecall objects and invoke “run-init-pre”, “run-init-inter” or “run-init-post” as specified by staging_flags .

Parameters

channel

the AgsChannel

 

recall_id

the AgsRecallID

 

staging_flags

the stages to invoke

 

Since: 2.0.0


ags_channel_play_recall ()

void
ags_channel_play_recall (AgsChannel *channel,
                         AgsRecallID *recall_id,
                         guint staging_flags);

Run the specified steps by recall_id of channel .

Parameters

channel

the AgsChannel

 

recall_id

the AgsRecallID

 

staging_flags

the stages to invoke

 

Since: 2.0.0


ags_channel_done_recall ()

void
ags_channel_done_recall (AgsChannel *channel,
                         AgsRecallID *recall_id);

Done processing specified by recall_id .

Parameters

channel

the AgsChannel

 

recall_id

the AgsRecallID

 

Since: 2.0.0


ags_channel_cancel_recall ()

void
ags_channel_cancel_recall (AgsChannel *channel,
                           AgsRecallID *recall_id);

Cancel processing specified by recall_id .

Parameters

channel

the AgsChannel

 

recall_id

the AgsRecallID

 

Since: 2.0.0


ags_channel_cleanup_recall ()

void
ags_channel_cleanup_recall (AgsChannel *channel,
                            AgsRecallID *recall_id);

Cleanup processing specified by recall_id .

Parameters

channel

the AgsChannel

 

recall_id

the AgsRecallID

 

Since: 2.0.0


ags_channel_start ()

GList *
ags_channel_start (AgsChannel *channel,
                   gint sound_scope);

Start channel 's sound_scope to do playback.

Parameters

channel

the AgsChannel

 

sound_scope

the sound scope

 

Returns

the GList containing AgsRecallID

Since: 2.0.0


ags_channel_stop ()

void
ags_channel_stop (AgsChannel *channel,
                  GList *recall_id,
                  gint sound_scope);

Stop channel 's sound_scope playback specified by recall_id .

Parameters

channel

the AgsChannel

 

recall_id

the GList containing AgsRecallID

 

sound_scope

the sound scope

 

Since: 2.0.0


ags_channel_check_scope ()

GList *
ags_channel_check_scope (AgsChannel *channel,
                         gint sound_scope);

Check channel 's sound_scope .

Parameters

channel

the AgsChannel

 

sound_scope

the sound scope

 

Returns

the GList containing AgsRecallID or NULL if not playing

Since: 2.0.0


ags_channel_collect_all_channel_ports ()

GList *
ags_channel_collect_all_channel_ports (AgsChannel *channel);

Retrieve all ports of AgsChannel.

Parameters

channel

the AgsChannel

 

Returns

a new GList containing AgsPort

Since: 2.0.0


ags_channel_collect_all_channel_ports_by_specifier_and_context ()

GList *
ags_channel_collect_all_channel_ports_by_specifier_and_context
                               (AgsChannel *channel,
                                gchar *specifier,
                                gboolean play_context);

ags_channel_get_level ()

AgsChannel *
ags_channel_get_level (AgsChannel *channel);

Get level.

Parameters

channel

the AgsChannel

 

Returns

the level of channel as AgsChannel or NULL if no parent recycling.

Since: 2.0.0


ags_channel_recursive_set_property ()

void
ags_channel_recursive_set_property (AgsChannel *channel,
                                    gint n_params,
                                    gchar **parameter_name,
                                    GValue *value);

Recursive set property for AgsChannel.

Parameters

channel

the AgsChannel

 

n_params

the count of paramter name and value pairs

 

parameter_name

a string vector containing parameter names

 

value

the value array

 

Since: 2.0.0


ags_channel_recursive_run_stage ()

void
ags_channel_recursive_run_stage (AgsChannel *channel,
                                 gint sound_scope,
                                 guint staging_flags);

Recursive run stage specified by staging_flags for matching sound_scope .

Parameters

channel

the AgsChannel

 

sound_scope

the sound scope

 

staging_flags

the staging flags

 

Since: 2.0.0


ags_channel_new ()

AgsChannel *
ags_channel_new (GObject *audio);

Creates a new instance of AgsChannel, linking tree to audio .

Parameters

audio

the AgsAudio

 

Returns

a new AgsChannel

Since: 2.0.0


AGS_CHANNEL()

#define AGS_CHANNEL(obj)                (G_TYPE_CHECK_INSTANCE_CAST((obj), AGS_TYPE_CHANNEL, AgsChannel))

AGS_CHANNEL_CLASS()

#define AGS_CHANNEL_CLASS(class)        (G_TYPE_CHECK_CLASS_CAST((class), AGS_TYPE_CHANNEL, AgsChannelClass))

AGS_CHANNEL_GET_CLASS()

#define AGS_CHANNEL_GET_CLASS(obj)      (G_TYPE_INSTANCE_GET_CLASS((obj), AGS_TYPE_CHANNEL, AgsChannelClass))

AGS_IS_CHANNEL()

#define AGS_IS_CHANNEL(obj)             (G_TYPE_CHECK_INSTANCE_TYPE((obj), AGS_TYPE_CHANNEL))

AGS_IS_CHANNEL_CLASS()

#define AGS_IS_CHANNEL_CLASS(class)     (G_TYPE_CHECK_CLASS_TYPE ((class), AGS_TYPE_CHANNEL))

ags_channel_get_type ()

GType
ags_channel_get_type ();

Types and Values

AGS_CHANNEL_MINIMUM_OCTAVE

#define AGS_CHANNEL_MINIMUM_OCTAVE (0)

AGS_CHANNEL_MAXIMUM_OCTAVE

#define AGS_CHANNEL_MAXIMUM_OCTAVE (10)

AGS_CHANNEL_DEFAULT_OCTAVE

#define AGS_CHANNEL_DEFAULT_OCTAVE (AGS_CHANNEL_MINIMUM_OCTAVE)

AGS_CHANNEL_MINIMUM_OCTAVE_SEMITONE

#define AGS_CHANNEL_MINIMUM_OCTAVE_SEMITONE (0)

AGS_CHANNEL_MAXIMUM_OCTAVE_SEMITONE

#define AGS_CHANNEL_MAXIMUM_OCTAVE_SEMITONE (12)

AGS_CHANNEL_DEFAULT_OCTAVE_SEMITONE

#define AGS_CHANNEL_DEFAULT_OCTAVE_SEMITONE (AGS_CHANNEL_MINIMUM_OCTAVE_SEMITONE)

AGS_CHANNEL_MINIMUM_SEMITONE

#define AGS_CHANNEL_MINIMUM_SEMITONE (0)

AGS_CHANNEL_MAXIMUM_SEMITONE

#define AGS_CHANNEL_MAXIMUM_SEMITONE (128)

AGS_CHANNEL_DEFAULT_SEMITONE

#define AGS_CHANNEL_DEFAULT_SEMITONE (AGS_CHANNEL_MINIMUM_SEMITONE)

AGS_CHANNEL_MINIMUM_NOTE_FREQUENCY

#define AGS_CHANNEL_MINIMUM_NOTE_FREQUENCY (440.0 * exp((-69.0 / 12.0) * log(2.0)))

AGS_CHANNEL_MAXIMUM_NOTE_FREQUENCY

#define AGS_CHANNEL_MAXIMUM_NOTE_FREQUENCY (440.0 * exp((58.0 / 12.0) * log(2.0)))

AGS_CHANNEL_DEFAULT_NOTE_FREQUENCY

#define AGS_CHANNEL_DEFAULT_NOTE_FREQUENCY (AGS_CHANNEL_MINIMUM_NOTE_FREQUENCY)

AGS_CHANNEL_MINIMUM_MIDI_NOTE

#define AGS_CHANNEL_MINIMUM_MIDI_NOTE (0)

AGS_CHANNEL_MAXIMUM_MIDI_NOTE

#define AGS_CHANNEL_MAXIMUM_MIDI_NOTE (127)

AGS_CHANNEL_DEFAULT_MIDI_NOTE

#define AGS_CHANNEL_DEFAULT_MIDI_NOTE (AGS_CHANNEL_MINIMUM_MIDI_NOTE)

enum AgsChannelFlags

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

Members

AGS_CHANNEL_ADDED_TO_REGISTRY

the channel was added to registry, see AgsConnectable::add_to_registry()

 

AGS_CHANNEL_CONNECTED

indicates the channel was connected by calling AgsConnectable::connect()

 

AGS_CHANNEL_BYPASS

don't apply any data

 

AGS_CHANNEL_ERROR

#define AGS_CHANNEL_ERROR (ags_channel_error_quark())

enum AgsChannelError

Members

AGS_CHANNEL_ERROR_LOOP_IN_LINK

   

AGS_TYPE_CHANNEL

#define AGS_TYPE_CHANNEL                (ags_channel_get_type())

struct AgsChannel

struct AgsChannel;

struct AgsChannelClass

struct AgsChannelClass {
  GObjectClass object;

  void (*recycling_changed)(AgsChannel *channel,
			    AgsRecycling *old_start_region, AgsRecycling *old_end_region,
			    AgsRecycling *new_start_region, AgsRecycling *new_end_region,
			    AgsRecycling *old_start_changed_region, AgsRecycling *old_end_changed_region,
			    AgsRecycling *new_start_changed_region, AgsRecycling *new_end_changed_region);

  GList* (*add_effect)(AgsChannel *channel,
		       gchar *filename,
		       gchar *effect);
  void (*remove_effect)(AgsChannel *channel,
			guint nth);

  void (*duplicate_recall)(AgsChannel *channel,
			   AgsRecallID *recall_id);
  void (*resolve_recall)(AgsChannel *channel,
			 AgsRecallID *recall_id);

  void (*init_recall)(AgsChannel *channel,
		      AgsRecallID *recall_id, guint staging_flags);
  void (*play_recall)(AgsChannel *channel,
		      AgsRecallID *recall_id, guint staging_flags);

  void (*done_recall)(AgsChannel *channel,
		      AgsRecallID *recall_id);
  void (*cancel_recall)(AgsChannel *channel,
			AgsRecallID *recall_id);

  void (*cleanup_recall)(AgsChannel *channel,
			 AgsRecallID *recall_id);

  GList* (*start)(AgsChannel *channel,
		  gint sound_scope);
  void (*stop)(AgsChannel *channel,
	       GList *recall_id, gint sound_scope);

  GList* (*check_scope)(AgsChannel *channel, gint sound_scope);
  
  void (*recursive_run_stage)(AgsChannel *channel,
			      gint sound_scope, guint staging_flags);
};

Property Details

The “absolute-key” property

  “absolute-key”             gint

The nth absolute key.

Flags: Read / Write

Allowed values: [0,128]

Default value: 0

Since: 2.0.0


The “audio” property

  “audio”                    AgsAudio *

The assigned AgsAudio aligning channels.

Flags: Read / Write

Since: 2.0.0


The “audio-channel” property

  “audio-channel”            guint

The nth audio channel.

Flags: Read

Default value: 0

Since: 2.0.0


The “buffer-size” property

  “buffer-size”              guint

The buffer size.

Flags: Read / Write

Default value: 0

Since: 2.0.0


The “first-recycling” property

  “first-recycling”          AgsRecycling *

The containing AgsRecycling it takes it AgsAudioSignal from.

Flags: Read

Since: 2.0.0


The “format” property

  “format”                   guint

The format.

Flags: Read / Write

Default value: 0

Since: 2.0.0


The “input-soundcard” property

  “input-soundcard”          GObject *

The assigned input AgsSoundcard.

Flags: Read / Write

Since: 2.0.0


The “input-soundcard-channel” property

  “input-soundcard-channel”  gint

The input soundcard channel.

Flags: Read / Write

Allowed values: >= -1

Default value: 0

Since: 2.0.0


The “key” property

  “key”                      guint

The nth key.

Flags: Read / Write

Allowed values: <= 12

Default value: 0

Since: 2.0.0


The “last-recycling” property

  “last-recycling”           AgsRecycling *

The containing AgsRecycling it takes it AgsAudioSignal from.

Flags: Read

Since: 2.0.0


The “line” property

  “line”                     guint

The nth line.

Flags: Read

Default value: 0

Since: 2.0.0


The “link” property

  “link”                     AgsChannel *

The assigned link as AgsChannel.

Flags: Read / Write

Since: 2.0.0


The “midi-note” property

  “midi-note”                guint

The nth midi note.

Flags: Read / Write

Allowed values: <= 127

Default value: 0

Since: 2.0.0


The “next” property

  “next”                     AgsChannel *

The assigned next AgsChannel.

Flags: Read

Since: 2.0.0


The “next-pad” property

  “next-pad”                 AgsChannel *

The assigned next pad AgsChannel.

Flags: Read

Since: 2.0.0


The “note-frequency” property

  “note-frequency”           gdouble

The note frequency.

Flags: Read / Write

Allowed values: [8.1758,12543.9]

Default value: 8.1758

Since: 2.0.0


The “note-key” property

  “note-key”                 gchar *

The assigned note key representing this channel.

Flags: Read / Write

Default value: NULL

Since: 2.0.0


The “octave” property

  “octave”                   gint

The nth octave.

Flags: Read / Write

Allowed values: [0,10]

Default value: 0

Since: 2.0.0


The “output-soundcard” property

  “output-soundcard”         GObject *

The assigned output AgsSoundcard.

Flags: Read / Write

Since: 2.0.0


The “output-soundcard-channel” property

  “output-soundcard-channel” gint

The output soundcard channel.

Flags: Read / Write

Allowed values: >= -1

Default value: 0

Since: 2.0.0


The “pad” property

  “pad”                      guint

The nth pad.

Flags: Read

Default value: 0

Since: 2.0.0


The “pattern” property

  “pattern”                  gpointer

The containing AgsPattern.

Flags: Read / Write

Since: 2.0.0


The “play” property

  “play”                     gpointer

The containing AgsRecall in play-context.

Flags: Read / Write

Since: 2.0.0


The “playback” property

  “playback”                 AgsPlayback *

The assigned AgsPlayback.

Flags: Read / Write

Since: 2.0.0


The “prev” property

  “prev”                     AgsChannel *

The assigned prev AgsChannel.

Flags: Read

Since: 2.0.0


The “prev-pad” property

  “prev-pad”                 AgsChannel *

The assigned prev pad AgsChannel.

Flags: Read

Since: 2.0.0


The “recall” property

  “recall”                   gpointer

The containing AgsRecall in recall-context.

Flags: Read / Write

Since: 2.0.0


The “recall-container” property

  “recall-container”         gpointer

The containing AgsRecallContainer.

Flags: Read / Write

Since: 2.0.0


The “recall-id” property

  “recall-id”                gpointer

The assigned AgsRecallID.

Flags: Read / Write

Since: 2.0.0


The “recycling-context” property

  “recycling-context”        gpointer

The containing AgsRecyclingContext.

Flags: Read / Write

Since: 2.0.0


The “samplerate” property

  “samplerate”               guint

The samplerate.

Flags: Read / Write

Default value: 0

Since: 2.0.0

Signal Details

The “add-effect” signal

gpointer
user_function (AgsChannel *channel,
               gchar      *effect,
               gchar      *arg2,
               gpointer    user_data)

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

Parameters

channel

the AgsChannel to modify

 

effect

the effect's name

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

Since: 2.0.0


The “cancel-recall” signal

void
user_function (AgsChannel *channel,
               GObject    *recall_id,
               gpointer    user_data)

The ::cancel-recall signal is invoked during termination of playback.

Parameters

channel

the AgsChannel

 

recall_id

the appropriate AgsRecallID

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

Since: 2.0.0


The “check-scope” signal

gpointer
user_function (AgsChannel *channel,
               gint        sound_scope,
               gpointer    user_data)

The ::check-scope signal gives you control of checking scope.

Parameters

channel

the AgsChannel

 

sound_scope

the sound scope

 

user_data

user data set when the signal handler was connected.

 

Returns

the GList containing AgsRecallID

Flags: Run Last

Since: 2.0.0


The “cleanup-recall” signal

void
user_function (AgsChannel *channel,
               GObject    *recall_id,
               gpointer    user_data)

The ::cleanup-recall signal is invoked during termination of playback.

Parameters

channel

the AgsChannel

 

recall_id

the appropriate AgsRecallID

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

Since: 2.0.0


The “done-recall” signal

void
user_function (AgsChannel *channel,
               GObject    *recall_id,
               gpointer    user_data)

The ::done-recall signal is invoked during termination of playback.

Parameters

channel

the AgsChannel

 

recall_id

the appropriate AgsRecallID

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

Since: 2.0.0


The “duplicate-recall” signal

void
user_function (AgsChannel *channel,
               GObject    *recall_id,
               gpointer    user_data)

The ::duplicate-recall signal is invoked during playback initialization.

Parameters

channel

the AgsChannel

 

recall_id

the appropriate AgsRecallID

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

Since: 2.0.0


The “init-recall” signal

void
user_function (AgsChannel *channel,
               GObject    *recall_id,
               guint       arg2,
               gpointer    user_data)

The ::init-recall signal is invoked during playback initialization.

Parameters

channel

the AgsChannel

 

recall_id

the appropriate AgsRecallID

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

Since: 2.0.0


The “play-recall” signal

void
user_function (AgsChannel *channel,
               GObject    *recall_id,
               guint       staging_flags,
               gpointer    user_data)

The ::play-recall signal is invoked during playback run.

Parameters

channel

the AgsChannel

 

recall_id

the appropriate AgsRecallID

 

staging_flags

the staging flags

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

Since: 2.0.0


The “recursive-run-stage” signal

void
user_function (AgsChannel *channel,
               gint        sound_scope,
               guint       staging_flags,
               gpointer    user_data)

The ::recursive-run-stage signal gives you control of checking scope.

Parameters

channel

the AgsChannel

 

sound_scope

the sound scope

 

staging_flags

the staging flags

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

Since: 2.0.0


The “recycling-changed” signal

void
user_function (AgsChannel *old_start_region,
               GObject    *old_end_region,
               GObject    *new_start_region,
               GObject    *new_end_region,
               GObject    *old_start_changed_region,
               GObject    *old_end_changed_region,
               GObject    *new_start_changed_region,
               GObject    *new_end_changed_region,
               GObject    *arg8,
               gpointer    user_data)

The ::recycling-changed signal is invoked to notify modified recycling tree.

Parameters

old_start_region

first recycling

 

old_end_region

last recycling

 

new_start_region

new first recycling

 

new_end_region

new last recycling

 

old_start_changed_region

modified link recycling start

 

old_end_changed_region

modified link recyclig end

 

new_start_changed_region

replacing link recycling start

 

new_end_changed_region

replacing link recycling end

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

Since: 2.0.0


The “remove-effect” signal

void
user_function (AgsChannel *channel,
               guint       nth,
               gpointer    user_data)

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

Parameters

channel

the AgsChannel to modify

 

nth

the nth effect

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

Since: 2.0.0


The “resolve-recall” signal

void
user_function (AgsChannel *channel,
               GObject    *recall_id,
               gpointer    user_data)

The ::resolve-recall signal is invoked during playback initialization.

Parameters

channel

the AgsChannel

 

recall_id

the appropriate AgsRecallID

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last

Since: 2.0.0


The “start” signal

gpointer
user_function (AgsChannel *channel,
               gint        sound_scope,
               gpointer    user_data)

The ::start signal is invoked as playback starts.

Parameters

channel

the AgsChannel

 

sound_scope

the sound scope

 

user_data

user data set when the signal handler was connected.

 

Returns

the GList containing AgsRecallID

Flags: Run Last

Since: 2.0.0


The “stop” signal

void
user_function (AgsChannel *channel,
               gpointer    recall_id,
               gint        sound_scope,
               gpointer    user_data)

The ::stop signal is invoked as playback stops.

Parameters

channel

the AgsChannel

 

recall_id

the GList containing AgsRecallID

 

sound_scope

the sound scope

 

user_data

user data set when the signal handler was connected.

 

Returns

the GList containing AgsRecallID

Flags: Run Last

Since: 2.0.0