AgsRecyclingContainer

AgsRecyclingContainer — A container of recycling acting as dynamic context.

Synopsis

#include <ags/audio/ags_recycling_container.h>

struct              AgsRecyclingContainer;
struct              AgsRecyclingContainerClass;
AgsRecyclingContainer * ags_recycling_container_add     (AgsRecyclingContainer *recycling_container,
                                                         AgsRecycling *recycling);
void                ags_recycling_container_add_child   (AgsRecyclingContainer *parent,
                                                         AgsRecyclingContainer *child);
gint                ags_recycling_container_find        (AgsRecyclingContainer *recycling_container,
                                                         AgsRecycling *recycling);
gint                ags_recycling_container_find_child  (AgsRecyclingContainer *recycling_container,
                                                         AgsRecycling *recycling);
gint                ags_recycling_container_find_parent (AgsRecyclingContainer *recycling_container,
                                                         AgsRecycling *recycling);
GList *             ags_recycling_container_get_child_recall_id
                                                        (AgsRecyclingContainer *recycling_container);
AgsRecyclingContainer * ags_recycling_container_get_toplevel
                                                        (AgsRecyclingContainer *recycling_container);
AgsRecyclingContainer * ags_recycling_container_insert  (AgsRecyclingContainer *recycling_container,
                                                         AgsRecycling *recycling,
                                                         gint position);
AgsRecyclingContainer * ags_recycling_container_new     (gint length);
AgsRecyclingContainer * ags_recycling_container_remove  (AgsRecyclingContainer *recycling_container,
                                                         AgsRecycling *recycling);
void                ags_recycling_container_remove_child
                                                        (AgsRecyclingContainer *parent,
                                                         AgsRecyclingContainer *child);
void                ags_recycling_container_replace     (AgsRecyclingContainer *recycling_container,
                                                         AgsRecycling *recycling,
                                                         gint position);
AgsRecyclingContainer * ags_recycling_container_reset_recycling
                                                        (AgsRecyclingContainer *recycling_container,
                                                         AgsRecycling *old_first_recycling,
                                                         AgsRecycling *old_last_recycling,
                                                         AgsRecycling *new_first_recycling,
                                                         AgsRecycling *new_last_recycling);

Description

AgsRecyclingContainer organizes AgsRecycling objects as dynamic context within nested tree.

Details

struct AgsRecyclingContainer

struct AgsRecyclingContainer {
  GObject object;

  GObject *recall_id;

  AgsRecycling **recycling;
  guint64 length;

  AgsRecyclingContainer *parent;
  GList *children;
};

struct AgsRecyclingContainerClass

struct AgsRecyclingContainerClass {
  GObjectClass object;
};

ags_recycling_container_add ()

AgsRecyclingContainer * ags_recycling_container_add     (AgsRecyclingContainer *recycling_container,
                                                         AgsRecycling *recycling);

Adds a recycling to a container.

recycling_container :

the AgsRecyclingContainer

recycling :

the AgsRecycling to add

Returns :

the new recycling container

Since 0.4


ags_recycling_container_add_child ()

void                ags_recycling_container_add_child   (AgsRecyclingContainer *parent,
                                                         AgsRecyclingContainer *child);

Adds a recycling container as child.

parent :

the parental AgsRecyclingContainer

child :

the child

Since 0.4


ags_recycling_container_find ()

gint                ags_recycling_container_find        (AgsRecyclingContainer *recycling_container,
                                                         AgsRecycling *recycling);

Find position of recycling within array.

recycling_container :

the AgsRecyclingContainer

recycling :

the AgsRecycling to look up

Returns :

recycling array index

Since 0.4


ags_recycling_container_find_child ()

gint                ags_recycling_container_find_child  (AgsRecyclingContainer *recycling_container,
                                                         AgsRecycling *recycling);

Find position of recycling within arrays.

recycling_container :

the AgsRecyclingContainer

recycling :

the AgsRecycling to look up

Returns :

recycling array index

Since 0.4


ags_recycling_container_find_parent ()

gint                ags_recycling_container_find_parent (AgsRecyclingContainer *recycling_container,
                                                         AgsRecycling *recycling);

Find position of recycling within array.

recycling_container :

the AgsRecyclingContainer

recycling :

the AgsRecycling to look up

Returns :

recycling array index

Since 0.4


ags_recycling_container_get_child_recall_id ()

GList *             ags_recycling_container_get_child_recall_id
                                                        (AgsRecyclingContainer *recycling_container);

Retrieve all child recall ids.

recycling_container :

the AgsRecyclingContainer

Returns :

the AgsRecallID as GList

Since 0.4


ags_recycling_container_get_toplevel ()

AgsRecyclingContainer * ags_recycling_container_get_toplevel
                                                        (AgsRecyclingContainer *recycling_container);

Iterates the tree up to highest level.

recycling_container :

the AgsRecyclingContainer

Returns :

the topmost recycling container

Since 0.4


ags_recycling_container_insert ()

AgsRecyclingContainer * ags_recycling_container_insert  (AgsRecyclingContainer *recycling_container,
                                                         AgsRecycling *recycling,
                                                         gint position);

Inserts a recycling to a container.

recycling_container :

the AgsRecyclingContainer

recycling :

the AgsRecycling to insert

position :

the index to insert at

Returns :

the new recycling container

Since 0.4


ags_recycling_container_new ()

AgsRecyclingContainer * ags_recycling_container_new     (gint length);

Creates a AgsRecyclingContainer, boundaries are specified by length

length :

array dimension of context

Returns :

a new AgsRecyclingContainer

Since 0.4


ags_recycling_container_remove ()

AgsRecyclingContainer * ags_recycling_container_remove  (AgsRecyclingContainer *recycling_container,
                                                         AgsRecycling *recycling);

Removes a recycling in a container.

recycling_container :

the AgsRecyclingContainer

recycling :

the AgsRecycling to remove

Returns :

the new recycling container

Since 0.4


ags_recycling_container_remove_child ()

void                ags_recycling_container_remove_child
                                                        (AgsRecyclingContainer *parent,
                                                         AgsRecyclingContainer *child);

Removes a recycling container of its parent.

parent :

the AgsRecyclingContainer

child :

the child to remove

Since 0.4


ags_recycling_container_replace ()

void                ags_recycling_container_replace     (AgsRecyclingContainer *recycling_container,
                                                         AgsRecycling *recycling,
                                                         gint position);

Replaces one recycling entry in a container.

recycling_container :

the AgsRecyclingContainer

recycling :

the AgsRecycling to add

position :

the index of recycling

Returns :

the new recycling container

Since 0.4


ags_recycling_container_reset_recycling ()

AgsRecyclingContainer * ags_recycling_container_reset_recycling
                                                        (AgsRecyclingContainer *recycling_container,
                                                         AgsRecycling *old_first_recycling,
                                                         AgsRecycling *old_last_recycling,
                                                         AgsRecycling *new_first_recycling,
                                                         AgsRecycling *new_last_recycling);

Modify recycling of container.

recycling_container :

the AgsRecyclingContainer

old_first_recycling :

the first recycling to replace

old_last_recycling :

the last recycling to replace

new_first_recycling :

the first recycling to insert

new_last_recycling :

the last recycling to insert

Since 0.4