| Advanced Gtk+ Sequencer Reference Manual | ||||
|---|---|---|---|---|
| Top | Description | ||||
#include <ags/file/ags_file.h> #define AGS_FILE_CHECKSUM_LENGTH #define AGS_FILE_DEFAULT_AUDIO_ENCODING #define AGS_FILE_DEFAULT_AUDIO_FORMAT #define AGS_FILE_DEFAULT_DTD #define AGS_FILE_DEFAULT_ENCODING struct AgsFile; struct AgsFileClass; enum AgsFileFlags;void ags_file_add_id_ref (AgsFile *file,);GObject *id_refvoid ags_file_add_launch (AgsFile *file,);GObject *file_launchvoid ags_file_add_lookup (AgsFile *file,);GObject *file_lookupvoid ags_file_close (AgsFile *file);GObject * ags_file_find_id_ref_by_node (AgsFile *file,);xmlNode *nodeGObject * ags_file_find_id_ref_by_reference (AgsFile *file,);gpointer refGObject * ags_file_find_id_ref_by_xpath (AgsFile *file,); AgsFile * ags_file_new ();gchar *xpathvoid ags_file_open (AgsFile *file);void ags_file_open_filename (AgsFile *file,);gchar *filenamevoid ags_file_open_from_data (AgsFile *file,,gchar *data);guint lengthvoid ags_file_read (AgsFile *file);void ags_file_read_main (AgsFile *file,,xmlNode *node);GObject **mainvoid ags_file_read_resolve (AgsFile *file);void ags_file_read_server (AgsFile *file,,xmlNode *node);GObject **servervoid ags_file_read_start (AgsFile *file);void ags_file_rw_open (AgsFile *file,);gboolean creategchar * ags_file_str2md5 (,gchar *content);guint strlenvoid ags_file_write (AgsFile *file);void ags_file_write_concurrent (AgsFile *file);void ags_file_write_main (AgsFile *file,,xmlNode *parent);GObject *mainvoid ags_file_write_resolve (AgsFile *file);void ags_file_write_server (AgsFile *file,,xmlNode *parent);GObject *server
The AgsFile is an object to read or write files using XML. It is the persisting layer of Advanced Gtk+ Sequencer.
#define AGS_FILE_CHECKSUM_LENGTH (g_checksum_type_get_length(G_CHECKSUM_MD5))
struct AgsFile {
GObject object;
guint flags;
FILE *out;
xmlChar *buffer;
gchar *filename;
gchar *encoding;
gchar *dtd;
gchar *audio_format;
gchar *audio_encoding;
xmlDoc *doc;
xmlNode *root_node;
GList *id_refs;
GList *lookup;
GList *launch;
GObject *ags_main;
GObject *clipboard;
GList *property;
GList *script;
GObject *cluster;
GObject *client;
GObject *server;
GObject *history;
GList *embedded_audio;
GList *file_link;
};
struct AgsFileClass {
GObjectClass object;
void (*open)(AgsFile *file);
void (*open_from_data)(AgsFile *file,
gchar *data, guint length);
void (*rw_open)(AgsFile *file,
gboolean create);
void (*write)(AgsFile *file);
void (*write_concurrent)(AgsFile *file);
void (*write_resolve)(AgsFile *file);
void (*read)(AgsFile *file);
void (*read_resolve)(AgsFile *file);
void (*read_start)(AgsFile *file);
};
typedef enum {
AGS_FILE_READ = 1,
AGS_FILE_READ_AUDIO_SIGNAL = 1 << 1,
AGS_FILE_READ_EMBEDDED_AUDIO = 1 << 2,
AGS_FILE_WRITE = 1 << 3,
AGS_FILE_WRITE_AUDIO_SIGNAL = 1 << 4,
AGS_FILE_WRITE_EMBEDDED_AUDIO = 1 << 5,
} AgsFileFlags;
GObject * ags_file_find_id_ref_by_node (AgsFile *file,);xmlNode *node
GObject * ags_file_find_id_ref_by_reference (AgsFile *file,);gpointer ref
GObject * ags_file_find_id_ref_by_xpath (AgsFile *file,);gchar *xpath
void ags_file_write_server (AgsFile *file,,xmlNode *parent);GObject *server