| Advanced Gtk+ Sequencer Reference Manual | ||||
|---|---|---|---|---|
| Top | Description | ||||
#define AGS_RECALL_DEFAULT_BUILD_ID #define AGS_RECALL_DEFAULT_VERSION #define AGS_RECALL_HANDLER (handler) struct AgsRecall; struct AgsRecallClass; enum AgsRecallFlags; struct AgsRecallHandler; enum AgsRecallNotifyDependencyMode;void ags_recall_add_child (AgsRecall *recall,AgsRecall *child);void ags_recall_add_dependency (AgsRecall *recall,AgsRecallDependency *dependency);void ags_recall_add_handler (AgsRecall *recall,AgsRecallHandler *recall_handler);void ags_recall_cancel (AgsRecall *recall);void ags_recall_child_added (AgsRecall *parent,AgsRecall *child);void ags_recall_done (AgsRecall *recall); AgsRecall * ags_recall_duplicate (AgsRecall *recall,AgsRecallID *recall_id);GList * ags_recall_find_by_effect (,GList *listAgsRecallID *recall_id,);char *effectGList * ags_recall_find_provider (,GList *recall);GObject *providerGList * ags_recall_find_provider_with_recycling_container (,GList *recall,GObject *provider);GObject *recycling_containerGList * ags_recall_find_recycling_container (,GList *recall);GObject *recycling_containerGList * ags_recall_find_template ();GList *recallGList * ags_recall_find_type (,GList *recall);GType typeGList * ags_recall_find_type_with_recycling_container (,GList *recall,GType type);GObject *recycling_containerGList * ags_recall_get_children (AgsRecall *recall);GList * ags_recall_get_dependencies (AgsRecall *recall); AgsRecallHandler * ags_recall_handler_alloc (const,gchar *signal_name,GCallback callback);GObject *datagboolean ags_recall_is_done (,GList *recalls); AgsRecall * ags_recall_new ();GObject *recycling_containervoid ags_recall_notify_dependency (AgsRecall *recall,,guint dependency);gint countvoid ags_recall_remove (AgsRecall *recall);void ags_recall_remove_child (AgsRecall *recall,AgsRecall *child);void ags_recall_remove_dependency (AgsRecall *recall,AgsRecall *template);void ags_recall_remove_handler (AgsRecall *recall,AgsRecallHandler *recall_handler);void ags_recall_resolve_dependencies (AgsRecall *reall);void ags_recall_run_init (AgsRecall *recall,);guint stagevoid ags_recall_run_init_inter (AgsRecall *recall);void ags_recall_run_init_post (AgsRecall *recall);void ags_recall_run_init_pre (AgsRecall *recall);void ags_recall_run_inter (AgsRecall *recall);void ags_recall_run_post (AgsRecall *recall);void ags_recall_run_pre (AgsRecall *recall);void ags_recall_set_devout_recursive (AgsRecall *recall,);GObject *devoutvoid ags_recall_set_effect (AgsRecall *recall,);char *effectvoid ags_recall_set_flags (AgsRecall *recall,);guint flagsvoid ags_recall_set_recall_id (AgsRecall *recall,AgsRecallID *recall_id);void ags_recall_stop_persistent (AgsRecall *recall);GList * ags_recall_template_find_provider (,GList *recall);GObject *providerGList * ags_recall_template_find_type (,GList *recall);GType type
struct AgsRecall {
GObject object;
guint flags;
GObject *devout;
GObject *container; // see AgsRecallContainer
gchar *version;
gchar *build_id;
gchar *effect;
gchar *name;
gchar *xml_type;
GList *dependencies;
AgsRecallID *recall_id;
AgsRecall *parent;
GList *children;
GType child_type;
GParameter *child_parameters;
guint n_params;
GList *port;
GList *handlers;
};
struct AgsRecallClass {
GObjectClass object;
void (*resolve_dependencies)(AgsRecall *recall);
void (*run_init_pre)(AgsRecall *recall);
void (*run_init_inter)(AgsRecall *recall);
void (*run_init_post)(AgsRecall *recall);
void (*run_pre)(AgsRecall *recall);
void (*run_inter)(AgsRecall *recall);
void (*run_post)(AgsRecall *recall);
void (*stop_persistent)(AgsRecall *recall);
void (*done)(AgsRecall *recall);
void (*cancel)(AgsRecall *recall);
void (*remove)(AgsRecall *recall);
AgsRecall* (*duplicate)(AgsRecall *recall,
AgsRecallID *recall_id,
guint *n_params, GParameter *params); // if a sequencer is linked with a sequencer the AgsRecall's with the flag AGS_RECALL_SOURCE must be duplicated
void (*notify_dependency)(AgsRecall *recall, guint dependency, gboolean increase);
void (*child_added)(AgsRecall *recall, AgsRecall *child);
};
typedef enum {
AGS_RECALL_CONNECTED = 1,
AGS_RECALL_RUN_INITIALIZED = 1 << 1, //TODO:JK: rename to AGS_RECALL_RUN_CONNECTED
AGS_RECALL_TEMPLATE = 1 << 2,
AGS_RECALL_PLAYBACK = 1 << 3,
AGS_RECALL_SEQUENCER = 1 << 4,
AGS_RECALL_NOTATION = 1 << 5,
AGS_RECALL_DEFAULT_TEMPLATE = 1 << 6,
//TODO:JK: remove because it's useless
AGS_RECALL_DYNAMIC_CONNECTED = 1 << 7,
AGS_RECALL_INPUT_ORIENTATED = 1 << 8,
AGS_RECALL_OUTPUT_ORIENTATED = 1 << 9,
AGS_RECALL_PERSISTENT = 1 << 10,
AGS_RECALL_INITIAL_RUN = 1 << 11,
AGS_RECALL_TERMINATING = 1 << 12,
AGS_RECALL_DONE = 1 << 13,
AGS_RECALL_REMOVE = 1 << 14,
AGS_RECALL_HIDE = 1 << 15,
AGS_RECALL_PROPAGATE_DONE = 1 << 16, // see ags_recall_real_remove
AGS_RECALL_PERSISTENT_PLAYBACK = 1 << 17,
AGS_RECALL_PERSISTENT_SEQUENCER = 1 << 18,
AGS_RECALL_PERSISTENT_NOTATION = 1 << 19,
AGS_RECALL_SKIP_DEPENDENCIES = 1 << 20,
} AgsRecallFlags;
struct AgsRecallHandler {
const gchar *signal_name;
GCallback callback;
GObject *data;
gulong handler;
};
A
typedef enum {
AGS_RECALL_NOTIFY_RUN,
AGS_RECALL_NOTIFY_AUDIO,
AGS_RECALL_NOTIFY_AUDIO_RUN,
AGS_RECALL_NOTIFY_CHANNEL,
AGS_RECALL_NOTIFY_CHANNEL_RUN,
AGS_RECALL_NOTIFY_RECALL,
} AgsRecallNotifyDependencyMode;
void ags_recall_add_child (AgsRecall *recall,AgsRecall *child);
An AgsRecall may have children.
Since 0.4
void ags_recall_add_dependency (AgsRecall *recall,AgsRecallDependency *dependency);
Associate a new dependency for this recall.
|
an AgsRecall |
|
an AgsRecallDependency |
Since 0.4
void ags_recall_add_handler (AgsRecall *recall,AgsRecallHandler *recall_handler);
Connect callback to recall specified by recall_handler.
|
the AgsRecall to connect |
|
the signal specs |
Since 0.4
void ags_recall_cancel (AgsRecall *recall);
The AgsRecall doesn't want to run anymore, it aborts further execution.
|
an AgsRecall |
Since 0.4
void ags_recall_done (AgsRecall *recall);
The AgsRecall doesn't want to run anymore, it has been done its work.
|
an AgsRecall |
Since 0.4
AgsRecall * ags_recall_duplicate (AgsRecall *recall,AgsRecallID *recall_id);
Should duplicate an AgsRecall, so it can pass the runs. Mainly used for
creating duplicates from templates, see AGS_RECALL_TEMPLATE
|
an AgsRecall |
|
an AgsRecallID |
|
the count of |
|
the properties to be passed for instantiating the AgsRecall |
Since 0.4
GList * ags_recall_find_by_effect (,GList *listAgsRecallID *recall_id,);char *effect
Finds next matching effect name. Intended to be used as iteration function.
|
a |
|
an |
|
the effect name |
Returns : |
a GList, or NULL |
Since 0.4
GList * ags_recall_find_provider (,GList *recall);GObject *provider
Finds provider eg. AgsAudio or AgsChannel within
|
a |
|
a |
Returns : |
a NULL |
Since 0.4
GList * ags_recall_find_provider_with_recycling_container (,GList *recall,GObject *provider);GObject *recycling_container
Like ags_recall_template_find_provider() but given additionally recycling_container as search parameter.
|
a |
|
a |
|
an AgsRecyclingContainer |
Returns : |
a NULL |
Since 0.4
GList * ags_recall_find_recycling_container (,GList *recall);GObject *recycling_container
Finds next matching recall which has recycling_container, see
|
a |
|
an AgsRecyclingContainer |
Returns : |
a NULL |
Since 0.4
GList * ags_recall_find_template ();GList *recall
Finds next template, see
Returns : |
a NULL |
Since 0.4
GList * ags_recall_find_type (,GList *recall);GType type
Finds next matching recall for type. Intended to be used as iteration function.
|
a |
|
a |
Returns : |
a NULL |
Since 0.4
GList * ags_recall_find_type_with_recycling_container (,GList *recall,GType type);GObject *recycling_container
Finds next matching recall for type which has recycling_container, see
|
a |
|
a |
|
an AgsRecyclingContainer |
Returns : |
a NULL |
Since 0.4
GList * ags_recall_get_children (AgsRecall *recall);
Retrieve children.
|
an AgsRecall |
Returns : |
a GList with all children. |
Since 0.4
GList * ags_recall_get_dependencies (AgsRecall *recall);
Retrieve dependencies.
|
an AgsRecall |
Returns : |
a |
Since 0.4
AgsRecallHandler * ags_recall_handler_alloc (const,gchar *signal_name,GCallback callback);GObject *data
Allocates
|
signal's name to connect |
|
the |
|
the data to pass the callback |
Since 0.4
gboolean ags_recall_is_done (,GList *recalls);GObject *recycling_container
Check if recall is over.
|
an AgsRecall |
|
an AgsRecyclingContainer |
Since 0.4
AgsRecall * ags_recall_new ();
Creates an AgsRecall.
Returns : |
a new AgsRecall. |
Since 0.3
void ags_recall_notify_dependency (AgsRecall *recall,,guint dependency);gint count
Notifies a recall that an other depends on it.
|
an AgsRecall |
|
see AgsRecallNotifyDependencyMode |
|
how many dependencies |
Since 0.4
void ags_recall_remove (AgsRecall *recall);
The AgsRecall will be removed immediately.
|
an AgsRecall |
Since 0.4
void ags_recall_remove_child (AgsRecall *recall,AgsRecall *child);
An AgsRecall may have children.
Since 0.4
void ags_recall_remove_dependency (AgsRecall *recall,AgsRecall *template);
Remove a prior associated dependency.
Since 0.4
void ags_recall_remove_handler (AgsRecall *recall,AgsRecallHandler *recall_handler);
Remove a recall.
|
the AgsRecall to connect |
|
the signal specs |
Since 0.4
void ags_recall_resolve_dependencies (AgsRecall *reall);
A signal indicating that the inheriting object should resolve it's dependencies.
|
an AgsRecall |
Since 0.4
void ags_recall_run_init_inter (AgsRecall *recall);
Prepare for run, this is the inter stage within the preparation.
|
an AgsRecall |
Since 0.4
void ags_recall_run_init_post (AgsRecall *recall);
Prepare for run, this is the post stage within the preparation.
|
an AgsRecall |
Since 0.4
void ags_recall_run_init_pre (AgsRecall *recall);
Prepare for run, this is the pre stage within the preparation.
|
an AgsRecall |
Since 0.4
void ags_recall_run_inter (AgsRecall *recall);
This is the inter stage within a run.
|
an AgsRecall |
Since 0.4
void ags_recall_run_post (AgsRecall *recall);
This is the post stage within a run.
|
an AgsRecall |
Since 0.4
void ags_recall_run_pre (AgsRecall *recall);
This is the pre stage within a run.
|
an AgsRecall |
Since 0.4
void ags_recall_set_devout_recursive (AgsRecall *recall,);GObject *devout
void ags_recall_set_flags (AgsRecall *recall,);guint flags
Set flags recursivly.
|
an AgsRecall |
|
the flags mask |
Since 0.4
void ags_recall_set_recall_id (AgsRecall *recall,AgsRecallID *recall_id);
Sets the recall id recursively.
|
an AgsRecall |
|
the AgsRecallID to set |
Since 0.4
void ags_recall_stop_persistent (AgsRecall *recall);
Unsets the AGS_RECALL_PERSISTENTags_recall_done().
|
an AgsRecall |
Since 0.4
GList * ags_recall_template_find_provider (,GList *recall);GObject *provider
GList * ags_recall_template_find_type (,GList *recall);GType type
Finds next matching recall for type which is a template, see
|
a |
|
a |
Returns : |
a NULL |
Since 0.4