]> git.draconx.ca Git - upkg.git/blobdiff - src/music.h
Initial UObject implementation plus a dumb music extractor.
[upkg.git] / src / music.h
diff --git a/src/music.h b/src/music.h
new file mode 100644 (file)
index 0000000..d3f685c
--- /dev/null
@@ -0,0 +1,41 @@
+#ifndef MUSIC_H_
+#define MUSIC_H_
+
+#include <glib-object.h>
+
+#define U_MUSIC_TYPE (u_music_get_type())
+#define U_MUSIC(obj) \
+       G_TYPE_CHECK_INSTANCE_CAST(obj, U_MUSIC_TYPE, UMusic)
+#define U_MUSIC_CLASS(class) \
+       G_TYPE_CHECK_CLASS_CAST(class, U_MUSIC_TYPE, UMusicClass)
+#define IS_U_MUSIC(obj) \
+       G_TYPE_CHECK_INSTANCE_TYPE(obj, U_MUSIC_TYPE)
+#define IS_U_MUSIC_CLASS(class) \
+       G_TYPE_CHECK_CLASS_TYPE(class, U_MUSIC_TYPE, UMusicClass)
+
+typedef struct UMusic      UMusic;
+typedef struct UMusicClass UMusicClass;
+
+enum {
+       U_MUSIC_UNKNOWN,
+       U_MUSIC_IT,
+       U_MUSIC_S3M,
+       U_MUSIC_XM,
+};
+
+struct UMusic {
+       GObject parent;
+};
+
+struct UMusicClass {
+       GObjectClass parent;
+};
+
+GType u_music_get_type(void);
+
+static inline GObject *u_music_new(void)
+{
+       return g_object_new(u_music_get_type(), NULL);
+}
+
+#endif