--- /dev/null
+#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