/* gmpc-extras.h generated by valac 0.56.19, the Vala compiler, do not modify */

#ifndef __GMPC_EXTRAS_H__
#define __GMPC_EXTRAS_H__

#include <gtk/gtk.h>
#include <glib-object.h>
#include <glib.h>
#include <libmpd/libmpd.h>
#include <libmpd/libmpdclient.h>
#include <misc.h>
#include <gdk/gdk.h>
#include <stdlib.h>
#include <string.h>
#include <pango/pango.h>
#include <gdk-pixbuf/gdk-pixbuf.h>
#include <metadata.h>
#include <float.h>
#include <math.h>

G_BEGIN_DECLS

#if !defined(VALA_EXTERN)
#if defined(_MSC_VER)
#define VALA_EXTERN __declspec(dllexport) extern
#elif __GNUC__ >= 4
#define VALA_EXTERN __attribute__((visibility("default"))) extern
#else
#define VALA_EXTERN extern
#endif
#endif

#define GMPC_TYPE_PROGRESS (gmpc_progress_get_type ())
#define GMPC_PROGRESS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMPC_TYPE_PROGRESS, GmpcProgress))
#define GMPC_PROGRESS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GMPC_TYPE_PROGRESS, GmpcProgressClass))
#define GMPC_IS_PROGRESS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMPC_TYPE_PROGRESS))
#define GMPC_IS_PROGRESS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GMPC_TYPE_PROGRESS))
#define GMPC_PROGRESS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GMPC_TYPE_PROGRESS, GmpcProgressClass))

typedef struct _GmpcProgress GmpcProgress;
typedef struct _GmpcProgressClass GmpcProgressClass;
typedef struct _GmpcProgressPrivate GmpcProgressPrivate;

#define GMPC_MENU_ITEM_TYPE_RATING (gmpc_menu_item_rating_get_type ())
#define GMPC_MENU_ITEM_RATING(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMPC_MENU_ITEM_TYPE_RATING, GmpcMenuItemRating))
#define GMPC_MENU_ITEM_RATING_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GMPC_MENU_ITEM_TYPE_RATING, GmpcMenuItemRatingClass))
#define GMPC_MENU_ITEM_IS_RATING(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMPC_MENU_ITEM_TYPE_RATING))
#define GMPC_MENU_ITEM_IS_RATING_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GMPC_MENU_ITEM_TYPE_RATING))
#define GMPC_MENU_ITEM_RATING_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GMPC_MENU_ITEM_TYPE_RATING, GmpcMenuItemRatingClass))

typedef struct _GmpcMenuItemRating GmpcMenuItemRating;
typedef struct _GmpcMenuItemRatingClass GmpcMenuItemRatingClass;
typedef struct _GmpcMenuItemRatingPrivate GmpcMenuItemRatingPrivate;

#define GMPC_TYPE_RATING (gmpc_rating_get_type ())
#define GMPC_RATING(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMPC_TYPE_RATING, GmpcRating))
#define GMPC_RATING_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GMPC_TYPE_RATING, GmpcRatingClass))
#define GMPC_IS_RATING(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMPC_TYPE_RATING))
#define GMPC_IS_RATING_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GMPC_TYPE_RATING))
#define GMPC_RATING_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GMPC_TYPE_RATING, GmpcRatingClass))

typedef struct _GmpcRating GmpcRating;
typedef struct _GmpcRatingClass GmpcRatingClass;
typedef struct _GmpcRatingPrivate GmpcRatingPrivate;

#define GMPC_WIDGETS_TYPE_QTABLE (gmpc_widgets_qtable_get_type ())
#define GMPC_WIDGETS_QTABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMPC_WIDGETS_TYPE_QTABLE, GmpcWidgetsQtable))
#define GMPC_WIDGETS_QTABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GMPC_WIDGETS_TYPE_QTABLE, GmpcWidgetsQtableClass))
#define GMPC_WIDGETS_IS_QTABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMPC_WIDGETS_TYPE_QTABLE))
#define GMPC_WIDGETS_IS_QTABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GMPC_WIDGETS_TYPE_QTABLE))
#define GMPC_WIDGETS_QTABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GMPC_WIDGETS_TYPE_QTABLE, GmpcWidgetsQtableClass))

typedef struct _GmpcWidgetsQtable GmpcWidgetsQtable;
typedef struct _GmpcWidgetsQtableClass GmpcWidgetsQtableClass;
typedef struct _GmpcWidgetsQtablePrivate GmpcWidgetsQtablePrivate;

#define GMPC_WIDGETS_TYPE_SONGLIST (gmpc_widgets_songlist_get_type ())
#define GMPC_WIDGETS_SONGLIST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMPC_WIDGETS_TYPE_SONGLIST, GmpcWidgetsSonglist))
#define GMPC_WIDGETS_SONGLIST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GMPC_WIDGETS_TYPE_SONGLIST, GmpcWidgetsSonglistClass))
#define GMPC_WIDGETS_IS_SONGLIST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMPC_WIDGETS_TYPE_SONGLIST))
#define GMPC_WIDGETS_IS_SONGLIST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GMPC_WIDGETS_TYPE_SONGLIST))
#define GMPC_WIDGETS_SONGLIST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GMPC_WIDGETS_TYPE_SONGLIST, GmpcWidgetsSonglistClass))

typedef struct _GmpcWidgetsSonglist GmpcWidgetsSonglist;
typedef struct _GmpcWidgetsSonglistClass GmpcWidgetsSonglistClass;
typedef struct _GmpcWidgetsSonglistPrivate GmpcWidgetsSonglistPrivate;

#define GMPC_TYPE_CLICKLABEL (gmpc_clicklabel_get_type ())
#define GMPC_CLICKLABEL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMPC_TYPE_CLICKLABEL, GmpcClicklabel))
#define GMPC_CLICKLABEL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GMPC_TYPE_CLICKLABEL, GmpcClicklabelClass))
#define GMPC_IS_CLICKLABEL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMPC_TYPE_CLICKLABEL))
#define GMPC_IS_CLICKLABEL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GMPC_TYPE_CLICKLABEL))
#define GMPC_CLICKLABEL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GMPC_TYPE_CLICKLABEL, GmpcClicklabelClass))

typedef struct _GmpcClicklabel GmpcClicklabel;
typedef struct _GmpcClicklabelClass GmpcClicklabelClass;
typedef struct _GmpcClicklabelPrivate GmpcClicklabelPrivate;
typedef enum  {
	GMPC_MODIFICATION_TYPE_NONE = 0,
	GMPC_MODIFICATION_TYPE_CASING = 1,
	GMPC_MODIFICATION_TYPE_DARKEN = 2,
	GMPC_MODIFICATION_TYPE_DECOLOR = 4,
	GMPC_MODIFICATION_TYPE_BORDER = 8
} GmpcModificationType;

#define GMPC_TYPE_MODIFICATION_TYPE (gmpc_modification_type_get_type ())

#define GMPC_TYPE_PIXBUF_LOADER_ASYNC (gmpc_pixbuf_loader_async_get_type ())
#define GMPC_PIXBUF_LOADER_ASYNC(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMPC_TYPE_PIXBUF_LOADER_ASYNC, GmpcPixbufLoaderAsync))
#define GMPC_PIXBUF_LOADER_ASYNC_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GMPC_TYPE_PIXBUF_LOADER_ASYNC, GmpcPixbufLoaderAsyncClass))
#define GMPC_IS_PIXBUF_LOADER_ASYNC(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMPC_TYPE_PIXBUF_LOADER_ASYNC))
#define GMPC_IS_PIXBUF_LOADER_ASYNC_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GMPC_TYPE_PIXBUF_LOADER_ASYNC))
#define GMPC_PIXBUF_LOADER_ASYNC_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GMPC_TYPE_PIXBUF_LOADER_ASYNC, GmpcPixbufLoaderAsyncClass))

typedef struct _GmpcPixbufLoaderAsync GmpcPixbufLoaderAsync;
typedef struct _GmpcPixbufLoaderAsyncClass GmpcPixbufLoaderAsyncClass;
typedef struct _GmpcPixbufLoaderAsyncPrivate GmpcPixbufLoaderAsyncPrivate;

#define GMPC_TYPE_META_IMAGE_ASYNC (gmpc_meta_image_async_get_type ())
#define GMPC_META_IMAGE_ASYNC(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMPC_TYPE_META_IMAGE_ASYNC, GmpcMetaImageAsync))
#define GMPC_META_IMAGE_ASYNC_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GMPC_TYPE_META_IMAGE_ASYNC, GmpcMetaImageAsyncClass))
#define GMPC_IS_META_IMAGE_ASYNC(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMPC_TYPE_META_IMAGE_ASYNC))
#define GMPC_IS_META_IMAGE_ASYNC_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GMPC_TYPE_META_IMAGE_ASYNC))
#define GMPC_META_IMAGE_ASYNC_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GMPC_TYPE_META_IMAGE_ASYNC, GmpcMetaImageAsyncClass))

typedef struct _GmpcMetaImageAsync GmpcMetaImageAsync;
typedef struct _GmpcMetaImageAsyncClass GmpcMetaImageAsyncClass;
typedef struct _GmpcMetaImageAsyncPrivate GmpcMetaImageAsyncPrivate;

#define TYPE_POPUP_MENU (popup_menu_get_type ())
#define POPUP_MENU(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_POPUP_MENU, PopupMenu))
#define POPUP_MENU_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_POPUP_MENU, PopupMenuClass))
#define IS_POPUP_MENU(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_POPUP_MENU))
#define IS_POPUP_MENU_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_POPUP_MENU))
#define POPUP_MENU_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_POPUP_MENU, PopupMenuClass))

typedef struct _PopupMenu PopupMenu;
typedef struct _PopupMenuClass PopupMenuClass;
typedef struct _PopupMenuPrivate PopupMenuPrivate;

#define GMPC_META_DATA_WIDGETS_TYPE_TEXT_LABEL (gmpc_meta_data_widgets_text_label_get_type ())
#define GMPC_META_DATA_WIDGETS_TEXT_LABEL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMPC_META_DATA_WIDGETS_TYPE_TEXT_LABEL, GmpcMetaDataWidgetsTextLabel))
#define GMPC_META_DATA_WIDGETS_TEXT_LABEL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GMPC_META_DATA_WIDGETS_TYPE_TEXT_LABEL, GmpcMetaDataWidgetsTextLabelClass))
#define GMPC_META_DATA_WIDGETS_IS_TEXT_LABEL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMPC_META_DATA_WIDGETS_TYPE_TEXT_LABEL))
#define GMPC_META_DATA_WIDGETS_IS_TEXT_LABEL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GMPC_META_DATA_WIDGETS_TYPE_TEXT_LABEL))
#define GMPC_META_DATA_WIDGETS_TEXT_LABEL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GMPC_META_DATA_WIDGETS_TYPE_TEXT_LABEL, GmpcMetaDataWidgetsTextLabelClass))

typedef struct _GmpcMetaDataWidgetsTextLabel GmpcMetaDataWidgetsTextLabel;
typedef struct _GmpcMetaDataWidgetsTextLabelClass GmpcMetaDataWidgetsTextLabelClass;
typedef struct _GmpcMetaDataWidgetsTextLabelPrivate GmpcMetaDataWidgetsTextLabelPrivate;

#define GMPC_META_DATA_WIDGETS_TYPE_SIMILAR_SONGS (gmpc_meta_data_widgets_similar_songs_get_type ())
#define GMPC_META_DATA_WIDGETS_SIMILAR_SONGS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMPC_META_DATA_WIDGETS_TYPE_SIMILAR_SONGS, GmpcMetaDataWidgetsSimilarSongs))
#define GMPC_META_DATA_WIDGETS_SIMILAR_SONGS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GMPC_META_DATA_WIDGETS_TYPE_SIMILAR_SONGS, GmpcMetaDataWidgetsSimilarSongsClass))
#define GMPC_META_DATA_WIDGETS_IS_SIMILAR_SONGS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMPC_META_DATA_WIDGETS_TYPE_SIMILAR_SONGS))
#define GMPC_META_DATA_WIDGETS_IS_SIMILAR_SONGS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GMPC_META_DATA_WIDGETS_TYPE_SIMILAR_SONGS))
#define GMPC_META_DATA_WIDGETS_SIMILAR_SONGS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GMPC_META_DATA_WIDGETS_TYPE_SIMILAR_SONGS, GmpcMetaDataWidgetsSimilarSongsClass))

typedef struct _GmpcMetaDataWidgetsSimilarSongs GmpcMetaDataWidgetsSimilarSongs;
typedef struct _GmpcMetaDataWidgetsSimilarSongsClass GmpcMetaDataWidgetsSimilarSongsClass;
typedef struct _GmpcMetaDataWidgetsSimilarSongsPrivate GmpcMetaDataWidgetsSimilarSongsPrivate;

#define GMPC_META_DATA_WIDGETS_TYPE_SIMILAR_ARTISTS (gmpc_meta_data_widgets_similar_artists_get_type ())
#define GMPC_META_DATA_WIDGETS_SIMILAR_ARTISTS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMPC_META_DATA_WIDGETS_TYPE_SIMILAR_ARTISTS, GmpcMetaDataWidgetsSimilarArtists))
#define GMPC_META_DATA_WIDGETS_SIMILAR_ARTISTS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GMPC_META_DATA_WIDGETS_TYPE_SIMILAR_ARTISTS, GmpcMetaDataWidgetsSimilarArtistsClass))
#define GMPC_META_DATA_WIDGETS_IS_SIMILAR_ARTISTS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMPC_META_DATA_WIDGETS_TYPE_SIMILAR_ARTISTS))
#define GMPC_META_DATA_WIDGETS_IS_SIMILAR_ARTISTS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GMPC_META_DATA_WIDGETS_TYPE_SIMILAR_ARTISTS))
#define GMPC_META_DATA_WIDGETS_SIMILAR_ARTISTS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GMPC_META_DATA_WIDGETS_TYPE_SIMILAR_ARTISTS, GmpcMetaDataWidgetsSimilarArtistsClass))

typedef struct _GmpcMetaDataWidgetsSimilarArtists GmpcMetaDataWidgetsSimilarArtists;
typedef struct _GmpcMetaDataWidgetsSimilarArtistsClass GmpcMetaDataWidgetsSimilarArtistsClass;
typedef struct _GmpcMetaDataWidgetsSimilarArtistsPrivate GmpcMetaDataWidgetsSimilarArtistsPrivate;

#define GMPC_TYPE_PROFILES (gmpc_profiles_get_type ())
#define GMPC_PROFILES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMPC_TYPE_PROFILES, GmpcProfiles))
#define GMPC_PROFILES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GMPC_TYPE_PROFILES, GmpcProfilesClass))
#define GMPC_IS_PROFILES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMPC_TYPE_PROFILES))
#define GMPC_IS_PROFILES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GMPC_TYPE_PROFILES))
#define GMPC_PROFILES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GMPC_TYPE_PROFILES, GmpcProfilesClass))

typedef struct _GmpcProfiles GmpcProfiles;
typedef struct _GmpcProfilesClass GmpcProfilesClass;
typedef struct _GmpcProfilesPrivate GmpcProfilesPrivate;
typedef enum  {
	GMPC_PROFILES_ACTION_ADDED,
	GMPC_PROFILES_ACTION_REMOVED,
	GMPC_PROFILES_ACTION_COL_CHANGED,
	GMPC_PROFILES_ACTION_CURRENT
} GmpcProfilesAction;

#define GMPC_PROFILES_TYPE_ACTION (gmpc_profiles_action_get_type ())
typedef enum  {
	GMPC_PROFILES_COLUMN_NAME,
	GMPC_PROFILES_COLUMN_HOSTNAME,
	GMPC_PROFILES_COLUMN_PORT,
	GMPC_PROFILES_COLUMN_DO_AUTH,
	GMPC_PROFILES_COLUMN_PASSWORD,
	GMPC_PROFILES_COLUMN_MUSIC_DIRECTORY,
	GMPC_PROFILES_COLUMN_DB_UPDATE_TIME,
	GMPC_PROFILES_COLUMN_NUM_COLS
} GmpcProfilesColumn;

#define GMPC_PROFILES_TYPE_COLUMN (gmpc_profiles_column_get_type ())

#define TYPE_MY_CELL_RENDERER (my_cell_renderer_get_type ())
#define MY_CELL_RENDERER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MY_CELL_RENDERER, MyCellRenderer))
#define MY_CELL_RENDERER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MY_CELL_RENDERER, MyCellRendererClass))
#define IS_MY_CELL_RENDERER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MY_CELL_RENDERER))
#define IS_MY_CELL_RENDERER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MY_CELL_RENDERER))
#define MY_CELL_RENDERER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MY_CELL_RENDERER, MyCellRendererClass))

typedef struct _MyCellRenderer MyCellRenderer;
typedef struct _MyCellRendererClass MyCellRendererClass;
typedef struct _MyCellRendererPrivate MyCellRendererPrivate;

#define GMPC_TYPE_DATA_VIEW (gmpc_data_view_get_type ())
#define GMPC_DATA_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMPC_TYPE_DATA_VIEW, GmpcDataView))
#define GMPC_DATA_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GMPC_TYPE_DATA_VIEW, GmpcDataViewClass))
#define GMPC_IS_DATA_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMPC_TYPE_DATA_VIEW))
#define GMPC_IS_DATA_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GMPC_TYPE_DATA_VIEW))
#define GMPC_DATA_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GMPC_TYPE_DATA_VIEW, GmpcDataViewClass))

typedef struct _GmpcDataView GmpcDataView;
typedef struct _GmpcDataViewClass GmpcDataViewClass;
typedef struct _GmpcDataViewPrivate GmpcDataViewPrivate;
typedef enum  {
	GMPC_DATA_VIEW_VIEW_TYPE_SONG_LIST,
	GMPC_DATA_VIEW_VIEW_TYPE_PLAY_QUEUE,
	GMPC_DATA_VIEW_VIEW_TYPE_PLAYLIST
} GmpcDataViewViewType;

#define GMPC_DATA_VIEW_TYPE_VIEW_TYPE (gmpc_data_view_view_type_get_type ())

#define GMPC_PLUGIN_TYPE_BASE (gmpc_plugin_base_get_type ())
#define GMPC_PLUGIN_BASE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMPC_PLUGIN_TYPE_BASE, GmpcPluginBase))
#define GMPC_PLUGIN_BASE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GMPC_PLUGIN_TYPE_BASE, GmpcPluginBaseClass))
#define GMPC_PLUGIN_IS_BASE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMPC_PLUGIN_TYPE_BASE))
#define GMPC_PLUGIN_IS_BASE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GMPC_PLUGIN_TYPE_BASE))
#define GMPC_PLUGIN_BASE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GMPC_PLUGIN_TYPE_BASE, GmpcPluginBaseClass))

typedef struct _GmpcPluginBase GmpcPluginBase;
typedef struct _GmpcPluginBaseClass GmpcPluginBaseClass;
typedef struct _GmpcPluginBasePrivate GmpcPluginBasePrivate;

#define GMPC_PLUGIN_TYPE_BROWSER_IFACE (gmpc_plugin_browser_iface_get_type ())
#define GMPC_PLUGIN_BROWSER_IFACE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMPC_PLUGIN_TYPE_BROWSER_IFACE, GmpcPluginBrowserIface))
#define GMPC_PLUGIN_IS_BROWSER_IFACE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMPC_PLUGIN_TYPE_BROWSER_IFACE))
#define GMPC_PLUGIN_BROWSER_IFACE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GMPC_PLUGIN_TYPE_BROWSER_IFACE, GmpcPluginBrowserIfaceIface))

typedef struct _GmpcPluginBrowserIface GmpcPluginBrowserIface;
typedef struct _GmpcPluginBrowserIfaceIface GmpcPluginBrowserIfaceIface;

#define GMPC_BROWSERS_TYPE_METADATA (gmpc_browsers_metadata_get_type ())
#define GMPC_BROWSERS_METADATA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMPC_BROWSERS_TYPE_METADATA, GmpcBrowsersMetadata))
#define GMPC_BROWSERS_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GMPC_BROWSERS_TYPE_METADATA, GmpcBrowsersMetadataClass))
#define GMPC_BROWSERS_IS_METADATA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMPC_BROWSERS_TYPE_METADATA))
#define GMPC_BROWSERS_IS_METADATA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GMPC_BROWSERS_TYPE_METADATA))
#define GMPC_BROWSERS_METADATA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GMPC_BROWSERS_TYPE_METADATA, GmpcBrowsersMetadataClass))

typedef struct _GmpcBrowsersMetadata GmpcBrowsersMetadata;
typedef struct _GmpcBrowsersMetadataClass GmpcBrowsersMetadataClass;
typedef struct _GmpcBrowsersMetadataPrivate GmpcBrowsersMetadataPrivate;

#define GMPC_BROWSERS_TYPE_NOWPLAYING (gmpc_browsers_nowplaying_get_type ())
#define GMPC_BROWSERS_NOWPLAYING(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMPC_BROWSERS_TYPE_NOWPLAYING, GmpcBrowsersNowplaying))
#define GMPC_BROWSERS_NOWPLAYING_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GMPC_BROWSERS_TYPE_NOWPLAYING, GmpcBrowsersNowplayingClass))
#define GMPC_BROWSERS_IS_NOWPLAYING(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMPC_BROWSERS_TYPE_NOWPLAYING))
#define GMPC_BROWSERS_IS_NOWPLAYING_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GMPC_BROWSERS_TYPE_NOWPLAYING))
#define GMPC_BROWSERS_NOWPLAYING_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GMPC_BROWSERS_TYPE_NOWPLAYING, GmpcBrowsersNowplayingClass))

typedef struct _GmpcBrowsersNowplaying GmpcBrowsersNowplaying;
typedef struct _GmpcBrowsersNowplayingClass GmpcBrowsersNowplayingClass;
typedef struct _GmpcBrowsersNowplayingPrivate GmpcBrowsersNowplayingPrivate;

#define GMPC_TOOLS_TYPE_DATABASE_UPDATE_TRACKER (gmpc_tools_database_update_tracker_get_type ())
#define GMPC_TOOLS_DATABASE_UPDATE_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMPC_TOOLS_TYPE_DATABASE_UPDATE_TRACKER, GmpcToolsDatabaseUpdateTracker))
#define GMPC_TOOLS_DATABASE_UPDATE_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GMPC_TOOLS_TYPE_DATABASE_UPDATE_TRACKER, GmpcToolsDatabaseUpdateTrackerClass))
#define GMPC_TOOLS_IS_DATABASE_UPDATE_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMPC_TOOLS_TYPE_DATABASE_UPDATE_TRACKER))
#define GMPC_TOOLS_IS_DATABASE_UPDATE_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GMPC_TOOLS_TYPE_DATABASE_UPDATE_TRACKER))
#define GMPC_TOOLS_DATABASE_UPDATE_TRACKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GMPC_TOOLS_TYPE_DATABASE_UPDATE_TRACKER, GmpcToolsDatabaseUpdateTrackerClass))

typedef struct _GmpcToolsDatabaseUpdateTracker GmpcToolsDatabaseUpdateTracker;
typedef struct _GmpcToolsDatabaseUpdateTrackerClass GmpcToolsDatabaseUpdateTrackerClass;
typedef struct _GmpcToolsDatabaseUpdateTrackerPrivate GmpcToolsDatabaseUpdateTrackerPrivate;

#define GMPC_TOOLS_TYPE_METADATA_PREFETCHER (gmpc_tools_metadata_prefetcher_get_type ())
#define GMPC_TOOLS_METADATA_PREFETCHER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMPC_TOOLS_TYPE_METADATA_PREFETCHER, GmpcToolsMetadataPrefetcher))
#define GMPC_TOOLS_METADATA_PREFETCHER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GMPC_TOOLS_TYPE_METADATA_PREFETCHER, GmpcToolsMetadataPrefetcherClass))
#define GMPC_TOOLS_IS_METADATA_PREFETCHER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMPC_TOOLS_TYPE_METADATA_PREFETCHER))
#define GMPC_TOOLS_IS_METADATA_PREFETCHER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GMPC_TOOLS_TYPE_METADATA_PREFETCHER))
#define GMPC_TOOLS_METADATA_PREFETCHER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GMPC_TOOLS_TYPE_METADATA_PREFETCHER, GmpcToolsMetadataPrefetcherClass))

typedef struct _GmpcToolsMetadataPrefetcher GmpcToolsMetadataPrefetcher;
typedef struct _GmpcToolsMetadataPrefetcherClass GmpcToolsMetadataPrefetcherClass;
typedef struct _GmpcToolsMetadataPrefetcherPrivate GmpcToolsMetadataPrefetcherPrivate;

#define GMPC_PLUGIN_TYPE_PREFERENCES_IFACE (gmpc_plugin_preferences_iface_get_type ())
#define GMPC_PLUGIN_PREFERENCES_IFACE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMPC_PLUGIN_TYPE_PREFERENCES_IFACE, GmpcPluginPreferencesIface))
#define GMPC_PLUGIN_IS_PREFERENCES_IFACE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMPC_PLUGIN_TYPE_PREFERENCES_IFACE))
#define GMPC_PLUGIN_PREFERENCES_IFACE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GMPC_PLUGIN_TYPE_PREFERENCES_IFACE, GmpcPluginPreferencesIfaceIface))

typedef struct _GmpcPluginPreferencesIface GmpcPluginPreferencesIface;
typedef struct _GmpcPluginPreferencesIfaceIface GmpcPluginPreferencesIfaceIface;

#define GMPC_TOOLS_TYPE_METADATA_APPEARANCE (gmpc_tools_metadata_appearance_get_type ())
#define GMPC_TOOLS_METADATA_APPEARANCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMPC_TOOLS_TYPE_METADATA_APPEARANCE, GmpcToolsMetadataAppearance))
#define GMPC_TOOLS_METADATA_APPEARANCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GMPC_TOOLS_TYPE_METADATA_APPEARANCE, GmpcToolsMetadataAppearanceClass))
#define GMPC_TOOLS_IS_METADATA_APPEARANCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMPC_TOOLS_TYPE_METADATA_APPEARANCE))
#define GMPC_TOOLS_IS_METADATA_APPEARANCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GMPC_TOOLS_TYPE_METADATA_APPEARANCE))
#define GMPC_TOOLS_METADATA_APPEARANCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GMPC_TOOLS_TYPE_METADATA_APPEARANCE, GmpcToolsMetadataAppearanceClass))

typedef struct _GmpcToolsMetadataAppearance GmpcToolsMetadataAppearance;
typedef struct _GmpcToolsMetadataAppearanceClass GmpcToolsMetadataAppearanceClass;
typedef struct _GmpcToolsMetadataAppearancePrivate GmpcToolsMetadataAppearancePrivate;

#define GMPC_TOOLS_TYPE_LISTSTORE_SORT (gmpc_tools_liststore_sort_get_type ())
#define GMPC_TOOLS_LISTSTORE_SORT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMPC_TOOLS_TYPE_LISTSTORE_SORT, GmpcToolsListstoreSort))
#define GMPC_TOOLS_LISTSTORE_SORT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GMPC_TOOLS_TYPE_LISTSTORE_SORT, GmpcToolsListstoreSortClass))
#define GMPC_TOOLS_IS_LISTSTORE_SORT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMPC_TOOLS_TYPE_LISTSTORE_SORT))
#define GMPC_TOOLS_IS_LISTSTORE_SORT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GMPC_TOOLS_TYPE_LISTSTORE_SORT))
#define GMPC_TOOLS_LISTSTORE_SORT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GMPC_TOOLS_TYPE_LISTSTORE_SORT, GmpcToolsListstoreSortClass))

typedef struct _GmpcToolsListstoreSort GmpcToolsListstoreSort;
typedef struct _GmpcToolsListstoreSortClass GmpcToolsListstoreSortClass;
typedef struct _GmpcToolsListstoreSortPrivate GmpcToolsListstoreSortPrivate;

#define GMPC_META_TYPE_WATCHER (gmpc_meta_watcher_get_type ())
#define GMPC_META_WATCHER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMPC_META_TYPE_WATCHER, GmpcMetaWatcher))
#define GMPC_META_WATCHER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GMPC_META_TYPE_WATCHER, GmpcMetaWatcherClass))
#define GMPC_META_IS_WATCHER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMPC_META_TYPE_WATCHER))
#define GMPC_META_IS_WATCHER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GMPC_META_TYPE_WATCHER))
#define GMPC_META_WATCHER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GMPC_META_TYPE_WATCHER, GmpcMetaWatcherClass))

typedef struct _GmpcMetaWatcher GmpcMetaWatcher;
typedef struct _GmpcMetaWatcherClass GmpcMetaWatcherClass;
typedef struct _GmpcMetaWatcherPrivate GmpcMetaWatcherPrivate;

#define GMPC_TOOLS_TYPE_AUTO_RESET_PRIORITY (gmpc_tools_auto_reset_priority_get_type ())
#define GMPC_TOOLS_AUTO_RESET_PRIORITY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMPC_TOOLS_TYPE_AUTO_RESET_PRIORITY, GmpcToolsAutoResetPriority))
#define GMPC_TOOLS_AUTO_RESET_PRIORITY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GMPC_TOOLS_TYPE_AUTO_RESET_PRIORITY, GmpcToolsAutoResetPriorityClass))
#define GMPC_TOOLS_IS_AUTO_RESET_PRIORITY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMPC_TOOLS_TYPE_AUTO_RESET_PRIORITY))
#define GMPC_TOOLS_IS_AUTO_RESET_PRIORITY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GMPC_TOOLS_TYPE_AUTO_RESET_PRIORITY))
#define GMPC_TOOLS_AUTO_RESET_PRIORITY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GMPC_TOOLS_TYPE_AUTO_RESET_PRIORITY, GmpcToolsAutoResetPriorityClass))

typedef struct _GmpcToolsAutoResetPriority GmpcToolsAutoResetPriority;
typedef struct _GmpcToolsAutoResetPriorityClass GmpcToolsAutoResetPriorityClass;
typedef struct _GmpcToolsAutoResetPriorityPrivate GmpcToolsAutoResetPriorityPrivate;

#define GMPC_PLUGINS_TYPE_AUTO_MPD (gmpc_plugins_auto_mpd_get_type ())
#define GMPC_PLUGINS_AUTO_MPD(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMPC_PLUGINS_TYPE_AUTO_MPD, GmpcPluginsAutoMPD))
#define GMPC_PLUGINS_AUTO_MPD_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GMPC_PLUGINS_TYPE_AUTO_MPD, GmpcPluginsAutoMPDClass))
#define GMPC_PLUGINS_IS_AUTO_MPD(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMPC_PLUGINS_TYPE_AUTO_MPD))
#define GMPC_PLUGINS_IS_AUTO_MPD_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GMPC_PLUGINS_TYPE_AUTO_MPD))
#define GMPC_PLUGINS_AUTO_MPD_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GMPC_PLUGINS_TYPE_AUTO_MPD, GmpcPluginsAutoMPDClass))

typedef struct _GmpcPluginsAutoMPD GmpcPluginsAutoMPD;
typedef struct _GmpcPluginsAutoMPDClass GmpcPluginsAutoMPDClass;
typedef struct _GmpcPluginsAutoMPDPrivate GmpcPluginsAutoMPDPrivate;

#define GMPC_PLUGIN_TYPE_SIDEBAR_IFACE (gmpc_plugin_sidebar_iface_get_type ())
#define GMPC_PLUGIN_SIDEBAR_IFACE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMPC_PLUGIN_TYPE_SIDEBAR_IFACE, GmpcPluginSidebarIface))
#define GMPC_PLUGIN_IS_SIDEBAR_IFACE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMPC_PLUGIN_TYPE_SIDEBAR_IFACE))
#define GMPC_PLUGIN_SIDEBAR_IFACE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GMPC_PLUGIN_TYPE_SIDEBAR_IFACE, GmpcPluginSidebarIfaceIface))

typedef struct _GmpcPluginSidebarIface GmpcPluginSidebarIface;
typedef struct _GmpcPluginSidebarIfaceIface GmpcPluginSidebarIfaceIface;
typedef enum  {
	GMPC_PLUGIN_SIDEBAR_STATE_FULL,
	GMPC_PLUGIN_SIDEBAR_STATE_COLLAPSED
} GmpcPluginSidebarState;

#define GMPC_PLUGIN_TYPE_SIDEBAR_STATE (gmpc_plugin_sidebar_state_get_type ())

#define GMPC_PLUGINS_TYPE_SIDEBAR_SEARCH (gmpc_plugins_sidebar_search_get_type ())
#define GMPC_PLUGINS_SIDEBAR_SEARCH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMPC_PLUGINS_TYPE_SIDEBAR_SEARCH, GmpcPluginsSidebarSearch))
#define GMPC_PLUGINS_SIDEBAR_SEARCH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GMPC_PLUGINS_TYPE_SIDEBAR_SEARCH, GmpcPluginsSidebarSearchClass))
#define GMPC_PLUGINS_IS_SIDEBAR_SEARCH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMPC_PLUGINS_TYPE_SIDEBAR_SEARCH))
#define GMPC_PLUGINS_IS_SIDEBAR_SEARCH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GMPC_PLUGINS_TYPE_SIDEBAR_SEARCH))
#define GMPC_PLUGINS_SIDEBAR_SEARCH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GMPC_PLUGINS_TYPE_SIDEBAR_SEARCH, GmpcPluginsSidebarSearchClass))

typedef struct _GmpcPluginsSidebarSearch GmpcPluginsSidebarSearch;
typedef struct _GmpcPluginsSidebarSearchClass GmpcPluginsSidebarSearchClass;
typedef struct _GmpcPluginsSidebarSearchPrivate GmpcPluginsSidebarSearchPrivate;

#define GMPC_PLUGINS_SIDEBAR_TYPE_PLAY_QUEUE_TIME (gmpc_plugins_sidebar_play_queue_time_get_type ())
#define GMPC_PLUGINS_SIDEBAR_PLAY_QUEUE_TIME(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMPC_PLUGINS_SIDEBAR_TYPE_PLAY_QUEUE_TIME, GmpcPluginsSidebarPlayQueueTime))
#define GMPC_PLUGINS_SIDEBAR_PLAY_QUEUE_TIME_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GMPC_PLUGINS_SIDEBAR_TYPE_PLAY_QUEUE_TIME, GmpcPluginsSidebarPlayQueueTimeClass))
#define GMPC_PLUGINS_SIDEBAR_IS_PLAY_QUEUE_TIME(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMPC_PLUGINS_SIDEBAR_TYPE_PLAY_QUEUE_TIME))
#define GMPC_PLUGINS_SIDEBAR_IS_PLAY_QUEUE_TIME_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GMPC_PLUGINS_SIDEBAR_TYPE_PLAY_QUEUE_TIME))
#define GMPC_PLUGINS_SIDEBAR_PLAY_QUEUE_TIME_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GMPC_PLUGINS_SIDEBAR_TYPE_PLAY_QUEUE_TIME, GmpcPluginsSidebarPlayQueueTimeClass))

typedef struct _GmpcPluginsSidebarPlayQueueTime GmpcPluginsSidebarPlayQueueTime;
typedef struct _GmpcPluginsSidebarPlayQueueTimeClass GmpcPluginsSidebarPlayQueueTimeClass;
typedef struct _GmpcPluginsSidebarPlayQueueTimePrivate GmpcPluginsSidebarPlayQueueTimePrivate;

#define GMPC_PLUGINS_TYPE_SIDEBAR_NEXT_SONG (gmpc_plugins_sidebar_next_song_get_type ())
#define GMPC_PLUGINS_SIDEBAR_NEXT_SONG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMPC_PLUGINS_TYPE_SIDEBAR_NEXT_SONG, GmpcPluginsSidebarNextSong))
#define GMPC_PLUGINS_SIDEBAR_NEXT_SONG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GMPC_PLUGINS_TYPE_SIDEBAR_NEXT_SONG, GmpcPluginsSidebarNextSongClass))
#define GMPC_PLUGINS_IS_SIDEBAR_NEXT_SONG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMPC_PLUGINS_TYPE_SIDEBAR_NEXT_SONG))
#define GMPC_PLUGINS_IS_SIDEBAR_NEXT_SONG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GMPC_PLUGINS_TYPE_SIDEBAR_NEXT_SONG))
#define GMPC_PLUGINS_SIDEBAR_NEXT_SONG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GMPC_PLUGINS_TYPE_SIDEBAR_NEXT_SONG, GmpcPluginsSidebarNextSongClass))

typedef struct _GmpcPluginsSidebarNextSong GmpcPluginsSidebarNextSong;
typedef struct _GmpcPluginsSidebarNextSongClass GmpcPluginsSidebarNextSongClass;
typedef struct _GmpcPluginsSidebarNextSongPrivate GmpcPluginsSidebarNextSongPrivate;

#define GMPC_PLUGIN_TYPE_SONG_LIST_IFACE (gmpc_plugin_song_list_iface_get_type ())
#define GMPC_PLUGIN_SONG_LIST_IFACE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMPC_PLUGIN_TYPE_SONG_LIST_IFACE, GmpcPluginSongListIface))
#define GMPC_PLUGIN_IS_SONG_LIST_IFACE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMPC_PLUGIN_TYPE_SONG_LIST_IFACE))
#define GMPC_PLUGIN_SONG_LIST_IFACE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GMPC_PLUGIN_TYPE_SONG_LIST_IFACE, GmpcPluginSongListIfaceIface))

typedef struct _GmpcPluginSongListIface GmpcPluginSongListIface;
typedef struct _GmpcPluginSongListIfaceIface GmpcPluginSongListIfaceIface;

#define GMPC_TYPE_EXTERNAL_COMMAND (gmpc_external_command_get_type ())
#define GMPC_EXTERNAL_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMPC_TYPE_EXTERNAL_COMMAND, GmpcExternalCommand))
#define GMPC_EXTERNAL_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GMPC_TYPE_EXTERNAL_COMMAND, GmpcExternalCommandClass))
#define GMPC_IS_EXTERNAL_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMPC_TYPE_EXTERNAL_COMMAND))
#define GMPC_IS_EXTERNAL_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GMPC_TYPE_EXTERNAL_COMMAND))
#define GMPC_EXTERNAL_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GMPC_TYPE_EXTERNAL_COMMAND, GmpcExternalCommandClass))

typedef struct _GmpcExternalCommand GmpcExternalCommand;
typedef struct _GmpcExternalCommandClass GmpcExternalCommandClass;
typedef struct _GmpcExternalCommandPrivate GmpcExternalCommandPrivate;

#define GMPC_TYPE_CONNECTION (gmpc_connection_get_type ())
#define GMPC_CONNECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMPC_TYPE_CONNECTION, GmpcConnection))
#define GMPC_CONNECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GMPC_TYPE_CONNECTION, GmpcConnectionClass))
#define GMPC_IS_CONNECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMPC_TYPE_CONNECTION))
#define GMPC_IS_CONNECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GMPC_TYPE_CONNECTION))
#define GMPC_CONNECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GMPC_TYPE_CONNECTION, GmpcConnectionClass))

typedef struct _GmpcConnection GmpcConnection;
typedef struct _GmpcConnectionClass GmpcConnectionClass;
typedef struct _GmpcConnectionPrivate GmpcConnectionPrivate;

#define GMPC_EASY_TYPE_COMMAND (gmpc_easy_command_get_type ())
#define GMPC_EASY_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMPC_EASY_TYPE_COMMAND, GmpcEasyCommand))
#define GMPC_EASY_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GMPC_EASY_TYPE_COMMAND, GmpcEasyCommandClass))
#define GMPC_EASY_IS_COMMAND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMPC_EASY_TYPE_COMMAND))
#define GMPC_EASY_IS_COMMAND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GMPC_EASY_TYPE_COMMAND))
#define GMPC_EASY_COMMAND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GMPC_EASY_TYPE_COMMAND, GmpcEasyCommandClass))

typedef struct _GmpcEasyCommand GmpcEasyCommand;
typedef struct _GmpcEasyCommandClass GmpcEasyCommandClass;
typedef struct _GmpcEasyCommandPrivate GmpcEasyCommandPrivate;
typedef void (*GmpcEasyCommandCallback) (void* data, const gchar* param);

#define GMPC_FAVORITES_TYPE_LIST (gmpc_favorites_list_get_type ())
#define GMPC_FAVORITES_LIST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMPC_FAVORITES_TYPE_LIST, GmpcFavoritesList))
#define GMPC_FAVORITES_LIST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GMPC_FAVORITES_TYPE_LIST, GmpcFavoritesListClass))
#define GMPC_FAVORITES_IS_LIST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMPC_FAVORITES_TYPE_LIST))
#define GMPC_FAVORITES_IS_LIST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GMPC_FAVORITES_TYPE_LIST))
#define GMPC_FAVORITES_LIST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GMPC_FAVORITES_TYPE_LIST, GmpcFavoritesListClass))

typedef struct _GmpcFavoritesList GmpcFavoritesList;
typedef struct _GmpcFavoritesListClass GmpcFavoritesListClass;
typedef struct _GmpcFavoritesListPrivate GmpcFavoritesListPrivate;

#define GMPC_FAVORITES_TYPE_BUTTON (gmpc_favorites_button_get_type ())
#define GMPC_FAVORITES_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMPC_FAVORITES_TYPE_BUTTON, GmpcFavoritesButton))
#define GMPC_FAVORITES_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GMPC_FAVORITES_TYPE_BUTTON, GmpcFavoritesButtonClass))
#define GMPC_FAVORITES_IS_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMPC_FAVORITES_TYPE_BUTTON))
#define GMPC_FAVORITES_IS_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GMPC_FAVORITES_TYPE_BUTTON))
#define GMPC_FAVORITES_BUTTON_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GMPC_FAVORITES_TYPE_BUTTON, GmpcFavoritesButtonClass))

typedef struct _GmpcFavoritesButton GmpcFavoritesButton;
typedef struct _GmpcFavoritesButtonClass GmpcFavoritesButtonClass;
typedef struct _GmpcFavoritesButtonPrivate GmpcFavoritesButtonPrivate;

#define GMPC_PLUGIN_TYPE_TOOL_MENU_IFACE (gmpc_plugin_tool_menu_iface_get_type ())
#define GMPC_PLUGIN_TOOL_MENU_IFACE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMPC_PLUGIN_TYPE_TOOL_MENU_IFACE, GmpcPluginToolMenuIface))
#define GMPC_PLUGIN_IS_TOOL_MENU_IFACE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMPC_PLUGIN_TYPE_TOOL_MENU_IFACE))
#define GMPC_PLUGIN_TOOL_MENU_IFACE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GMPC_PLUGIN_TYPE_TOOL_MENU_IFACE, GmpcPluginToolMenuIfaceIface))

typedef struct _GmpcPluginToolMenuIface GmpcPluginToolMenuIface;
typedef struct _GmpcPluginToolMenuIfaceIface GmpcPluginToolMenuIfaceIface;

#define GMPC_PLUGIN_TYPE_INTEGRATE_SEARCH_IFACE (gmpc_plugin_integrate_search_iface_get_type ())
#define GMPC_PLUGIN_INTEGRATE_SEARCH_IFACE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMPC_PLUGIN_TYPE_INTEGRATE_SEARCH_IFACE, GmpcPluginIntegrateSearchIface))
#define GMPC_PLUGIN_IS_INTEGRATE_SEARCH_IFACE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMPC_PLUGIN_TYPE_INTEGRATE_SEARCH_IFACE))
#define GMPC_PLUGIN_INTEGRATE_SEARCH_IFACE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GMPC_PLUGIN_TYPE_INTEGRATE_SEARCH_IFACE, GmpcPluginIntegrateSearchIfaceIface))

typedef struct _GmpcPluginIntegrateSearchIface GmpcPluginIntegrateSearchIface;
typedef struct _GmpcPluginIntegrateSearchIfaceIface GmpcPluginIntegrateSearchIfaceIface;

#define GMPC_MPD_DATA_TREEVIEW_TYPE_TOOLTIP (gmpc_mpd_data_treeview_tooltip_get_type ())
#define GMPC_MPD_DATA_TREEVIEW_TOOLTIP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMPC_MPD_DATA_TREEVIEW_TYPE_TOOLTIP, GmpcMpdDataTreeviewTooltip))
#define GMPC_MPD_DATA_TREEVIEW_TOOLTIP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GMPC_MPD_DATA_TREEVIEW_TYPE_TOOLTIP, GmpcMpdDataTreeviewTooltipClass))
#define GMPC_MPD_DATA_TREEVIEW_IS_TOOLTIP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMPC_MPD_DATA_TREEVIEW_TYPE_TOOLTIP))
#define GMPC_MPD_DATA_TREEVIEW_IS_TOOLTIP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GMPC_MPD_DATA_TREEVIEW_TYPE_TOOLTIP))
#define GMPC_MPD_DATA_TREEVIEW_TOOLTIP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GMPC_MPD_DATA_TREEVIEW_TYPE_TOOLTIP, GmpcMpdDataTreeviewTooltipClass))

typedef struct _GmpcMpdDataTreeviewTooltip GmpcMpdDataTreeviewTooltip;
typedef struct _GmpcMpdDataTreeviewTooltipClass GmpcMpdDataTreeviewTooltipClass;
typedef struct _GmpcMpdDataTreeviewTooltipPrivate GmpcMpdDataTreeviewTooltipPrivate;

#define GMPC_URL_FETCHING_TYPE_GUI (gmpc_url_fetching_gui_get_type ())
#define GMPC_URL_FETCHING_GUI(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMPC_URL_FETCHING_TYPE_GUI, GmpcUrlFetchingGui))
#define GMPC_URL_FETCHING_GUI_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GMPC_URL_FETCHING_TYPE_GUI, GmpcUrlFetchingGuiClass))
#define GMPC_URL_FETCHING_IS_GUI(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMPC_URL_FETCHING_TYPE_GUI))
#define GMPC_URL_FETCHING_IS_GUI_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GMPC_URL_FETCHING_TYPE_GUI))
#define GMPC_URL_FETCHING_GUI_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GMPC_URL_FETCHING_TYPE_GUI, GmpcUrlFetchingGuiClass))

typedef struct _GmpcUrlFetchingGui GmpcUrlFetchingGui;
typedef struct _GmpcUrlFetchingGuiClass GmpcUrlFetchingGuiClass;
typedef struct _GmpcUrlFetchingGuiPrivate GmpcUrlFetchingGuiPrivate;
typedef void (*GmpcUrlFetchingGuiParseUrl) (GmpcUrlFetchingGui* gui, const gchar* url, gpointer user_data);
typedef gboolean (*GmpcUrlFetchingGuiValidateUrl) (GmpcUrlFetchingGui* gui, const gchar* url, gpointer user_data);

#define GMPC_META_DATA_TYPE_EDIT_WINDOW (gmpc_meta_data_edit_window_get_type ())
#define GMPC_META_DATA_EDIT_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMPC_META_DATA_TYPE_EDIT_WINDOW, GmpcMetaDataEditWindow))
#define GMPC_META_DATA_EDIT_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GMPC_META_DATA_TYPE_EDIT_WINDOW, GmpcMetaDataEditWindowClass))
#define GMPC_META_DATA_IS_EDIT_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMPC_META_DATA_TYPE_EDIT_WINDOW))
#define GMPC_META_DATA_IS_EDIT_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GMPC_META_DATA_TYPE_EDIT_WINDOW))
#define GMPC_META_DATA_EDIT_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GMPC_META_DATA_TYPE_EDIT_WINDOW, GmpcMetaDataEditWindowClass))

typedef struct _GmpcMetaDataEditWindow GmpcMetaDataEditWindow;
typedef struct _GmpcMetaDataEditWindowClass GmpcMetaDataEditWindowClass;
typedef struct _GmpcMetaDataEditWindowPrivate GmpcMetaDataEditWindowPrivate;

#define GMPC_TYPE_PANED_SIZE_GROUP (gmpc_paned_size_group_get_type ())
#define GMPC_PANED_SIZE_GROUP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMPC_TYPE_PANED_SIZE_GROUP, GmpcPanedSizeGroup))
#define GMPC_PANED_SIZE_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GMPC_TYPE_PANED_SIZE_GROUP, GmpcPanedSizeGroupClass))
#define GMPC_IS_PANED_SIZE_GROUP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMPC_TYPE_PANED_SIZE_GROUP))
#define GMPC_IS_PANED_SIZE_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GMPC_TYPE_PANED_SIZE_GROUP))
#define GMPC_PANED_SIZE_GROUP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GMPC_TYPE_PANED_SIZE_GROUP, GmpcPanedSizeGroupClass))

typedef struct _GmpcPanedSizeGroup GmpcPanedSizeGroup;
typedef struct _GmpcPanedSizeGroupClass GmpcPanedSizeGroupClass;
typedef struct _GmpcPanedSizeGroupPrivate GmpcPanedSizeGroupPrivate;

#define GMPC_SIDEBAR_TYPE_PLUGINS (gmpc_sidebar_plugins_get_type ())
#define GMPC_SIDEBAR_PLUGINS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GMPC_SIDEBAR_TYPE_PLUGINS, GmpcSidebarPlugins))
#define GMPC_SIDEBAR_PLUGINS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GMPC_SIDEBAR_TYPE_PLUGINS, GmpcSidebarPluginsClass))
#define GMPC_SIDEBAR_IS_PLUGINS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GMPC_SIDEBAR_TYPE_PLUGINS))
#define GMPC_SIDEBAR_IS_PLUGINS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GMPC_SIDEBAR_TYPE_PLUGINS))
#define GMPC_SIDEBAR_PLUGINS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GMPC_SIDEBAR_TYPE_PLUGINS, GmpcSidebarPluginsClass))

typedef struct _GmpcSidebarPlugins GmpcSidebarPlugins;
typedef struct _GmpcSidebarPluginsClass GmpcSidebarPluginsClass;
typedef struct _GmpcSidebarPluginsPrivate GmpcSidebarPluginsPrivate;

struct _GmpcProgress {
	GtkVBox parent_instance;
	GmpcProgressPrivate * priv;
	gboolean _hide_text;
};

struct _GmpcProgressClass {
	GtkVBoxClass parent_class;
};

struct _GmpcMenuItemRating {
	GtkMenuItem parent_instance;
	GmpcMenuItemRatingPrivate * priv;
	GtkVBox* hbox;
	GmpcRating* rating;
};

struct _GmpcMenuItemRatingClass {
	GtkMenuItemClass parent_class;
};

struct _GmpcRating {
	GtkFrame parent_instance;
	GmpcRatingPrivate * priv;
	GtkEventBox* event_box;
};

struct _GmpcRatingClass {
	GtkFrameClass parent_class;
};

struct _GmpcWidgetsQtable {
	GtkContainer parent_instance;
	GmpcWidgetsQtablePrivate * priv;
};

struct _GmpcWidgetsQtableClass {
	GtkContainerClass parent_class;
};

struct _GmpcWidgetsSonglist {
	GmpcWidgetsQtable parent_instance;
	GmpcWidgetsSonglistPrivate * priv;
};

struct _GmpcWidgetsSonglistClass {
	GmpcWidgetsQtableClass parent_class;
};

struct _GmpcClicklabel {
	GtkEventBox parent_instance;
	GmpcClicklabelPrivate * priv;
};

struct _GmpcClicklabelClass {
	GtkEventBoxClass parent_class;
};

struct _GmpcPixbufLoaderAsync {
	GObject parent_instance;
	GmpcPixbufLoaderAsyncPrivate * priv;
	gchar* uri;
};

struct _GmpcPixbufLoaderAsyncClass {
	GObjectClass parent_class;
};

struct _GmpcMetaImageAsync {
	GtkImage parent_instance;
	GmpcMetaImageAsyncPrivate * priv;
	gchar* uri;
};

struct _GmpcMetaImageAsyncClass {
	GtkImageClass parent_class;
};

struct _PopupMenu {
	GtkWindow parent_instance;
	PopupMenuPrivate * priv;
};

struct _PopupMenuClass {
	GtkWindowClass parent_class;
};

struct _GmpcMetaDataWidgetsTextLabel {
	GtkLabel parent_instance;
	GmpcMetaDataWidgetsTextLabelPrivate * priv;
};

struct _GmpcMetaDataWidgetsTextLabelClass {
	GtkLabelClass parent_class;
};

struct _GmpcMetaDataWidgetsSimilarSongs {
	GtkAlignment parent_instance;
	GmpcMetaDataWidgetsSimilarSongsPrivate * priv;
};

struct _GmpcMetaDataWidgetsSimilarSongsClass {
	GtkAlignmentClass parent_class;
};

struct _GmpcMetaDataWidgetsSimilarArtists {
	GmpcWidgetsQtable parent_instance;
	GmpcMetaDataWidgetsSimilarArtistsPrivate * priv;
	gboolean first_show_b;
};

struct _GmpcMetaDataWidgetsSimilarArtistsClass {
	GmpcWidgetsQtableClass parent_class;
};

struct _GmpcProfiles {
	GObject parent_instance;
	GmpcProfilesPrivate * priv;
};

struct _GmpcProfilesClass {
	GObjectClass parent_class;
};

struct _MyCellRenderer {
	GtkCellRenderer parent_instance;
	MyCellRendererPrivate * priv;
};

struct _MyCellRendererClass {
	GtkCellRendererClass parent_class;
};

struct _GmpcDataView {
	GtkTreeView parent_instance;
	GmpcDataViewPrivate * priv;
};

struct _GmpcDataViewClass {
	GtkTreeViewClass parent_class;
};

struct _GmpcPluginBase {
	GObject parent_instance;
	GmpcPluginBasePrivate * priv;
	const gchar* translation_domain;
	gchar* path;
	gint id;
	gint plugin_type;
};

struct _GmpcPluginBaseClass {
	GObjectClass parent_class;
	gint* (*get_version) (GmpcPluginBase* self, gint* result_length1);
	const gchar* (*get_name) (GmpcPluginBase* self);
	void (*save_yourself) (GmpcPluginBase* self);
	gboolean (*get_enabled) (GmpcPluginBase* self);
	void (*set_enabled) (GmpcPluginBase* self, gboolean state);
};

struct _GmpcPluginBrowserIfaceIface {
	GTypeInterface parent_iface;
	void (*browser_add) (GmpcPluginBrowserIface* self, GtkWidget* category_tree);
	void (*browser_selected) (GmpcPluginBrowserIface* self, GtkContainer* container);
	void (*browser_unselected) (GmpcPluginBrowserIface* self, GtkContainer* container);
	gint (*browser_option_menu) (GmpcPluginBrowserIface* self, GtkMenu* menu);
	gint (*browser_add_go_menu) (GmpcPluginBrowserIface* self, GtkMenu* menu);
};

struct _GmpcBrowsersMetadata {
	GmpcPluginBase parent_instance;
	GmpcBrowsersMetadataPrivate * priv;
};

struct _GmpcBrowsersMetadataClass {
	GmpcPluginBaseClass parent_class;
};

struct _GmpcBrowsersNowplaying {
	GmpcPluginBase parent_instance;
	GmpcBrowsersNowplayingPrivate * priv;
};

struct _GmpcBrowsersNowplayingClass {
	GmpcPluginBaseClass parent_class;
};

struct _GmpcToolsDatabaseUpdateTracker {
	GmpcPluginBase parent_instance;
	GmpcToolsDatabaseUpdateTrackerPrivate * priv;
};

struct _GmpcToolsDatabaseUpdateTrackerClass {
	GmpcPluginBaseClass parent_class;
};

struct _GmpcToolsMetadataPrefetcher {
	GmpcPluginBase parent_instance;
	GmpcToolsMetadataPrefetcherPrivate * priv;
};

struct _GmpcToolsMetadataPrefetcherClass {
	GmpcPluginBaseClass parent_class;
};

struct _GmpcPluginPreferencesIfaceIface {
	GTypeInterface parent_iface;
	void (*preferences_pane_construct) (GmpcPluginPreferencesIface* self, GtkContainer* container);
	void (*preferences_pane_destroy) (GmpcPluginPreferencesIface* self, GtkContainer* container);
};

struct _GmpcToolsMetadataAppearance {
	GmpcPluginBase parent_instance;
	GmpcToolsMetadataAppearancePrivate * priv;
};

struct _GmpcToolsMetadataAppearanceClass {
	GmpcPluginBaseClass parent_class;
};

struct _GmpcToolsListstoreSort {
	GtkListStore parent_instance;
	GmpcToolsListstoreSortPrivate * priv;
};

struct _GmpcToolsListstoreSortClass {
	GtkListStoreClass parent_class;
};

struct _GmpcMetaWatcher {
	GObject parent_instance;
	GmpcMetaWatcherPrivate * priv;
};

struct _GmpcMetaWatcherClass {
	GObjectClass parent_class;
};

struct _GmpcToolsAutoResetPriority {
	GmpcPluginBase parent_instance;
	GmpcToolsAutoResetPriorityPrivate * priv;
};

struct _GmpcToolsAutoResetPriorityClass {
	GmpcPluginBaseClass parent_class;
};

struct _GmpcPluginsAutoMPD {
	GmpcPluginBase parent_instance;
	GmpcPluginsAutoMPDPrivate * priv;
};

struct _GmpcPluginsAutoMPDClass {
	GmpcPluginBaseClass parent_class;
};

struct _GmpcPluginSidebarIfaceIface {
	GTypeInterface parent_iface;
	void (*sidebar_pane_construct) (GmpcPluginSidebarIface* self, GtkGrid* parent);
	void (*sidebar_pane_destroy) (GmpcPluginSidebarIface* self, GtkGrid* parent);
	void (*sidebar_set_state) (GmpcPluginSidebarIface* self, GmpcPluginSidebarState state);
	gchar* (*sidebar_get_title) (GmpcPluginSidebarIface* self);
	gint (*sidebar_get_position) (GmpcPluginSidebarIface* self);
};

struct _GmpcPluginsSidebarSearch {
	GmpcPluginBase parent_instance;
	GmpcPluginsSidebarSearchPrivate * priv;
};

struct _GmpcPluginsSidebarSearchClass {
	GmpcPluginBaseClass parent_class;
};

struct _GmpcPluginsSidebarPlayQueueTime {
	GmpcPluginBase parent_instance;
	GmpcPluginsSidebarPlayQueueTimePrivate * priv;
};

struct _GmpcPluginsSidebarPlayQueueTimeClass {
	GmpcPluginBaseClass parent_class;
};

struct _GmpcPluginsSidebarNextSong {
	GmpcPluginBase parent_instance;
	GmpcPluginsSidebarNextSongPrivate * priv;
};

struct _GmpcPluginsSidebarNextSongClass {
	GmpcPluginBaseClass parent_class;
};

struct _GmpcPluginSongListIfaceIface {
	GTypeInterface parent_iface;
	gint (*song_list) (GmpcPluginSongListIface* self, GtkWidget* tree, GtkMenu* menu);
};

struct _GmpcExternalCommand {
	GmpcPluginBase parent_instance;
	GmpcExternalCommandPrivate * priv;
};

struct _GmpcExternalCommandClass {
	GmpcPluginBaseClass parent_class;
};

struct _GmpcConnection {
	GObject parent_instance;
	GmpcConnectionPrivate * priv;
};

struct _GmpcConnectionClass {
	GObjectClass parent_class;
};

struct _GmpcEasyCommand {
	GmpcPluginBase parent_instance;
	GmpcEasyCommandPrivate * priv;
	GtkListStore* store;
};

struct _GmpcEasyCommandClass {
	GmpcPluginBaseClass parent_class;
};

struct _GmpcFavoritesList {
	GObject parent_instance;
	GmpcFavoritesListPrivate * priv;
};

struct _GmpcFavoritesListClass {
	GObjectClass parent_class;
};

struct _GmpcFavoritesButton {
	GtkEventBox parent_instance;
	GmpcFavoritesButtonPrivate * priv;
};

struct _GmpcFavoritesButtonClass {
	GtkEventBoxClass parent_class;
};

struct _GmpcPluginToolMenuIfaceIface {
	GTypeInterface parent_iface;
	gint (*tool_menu_integration) (GmpcPluginToolMenuIface* self, GtkMenu* menu);
};

struct _GmpcPluginIntegrateSearchIfaceIface {
	GTypeInterface parent_iface;
	gboolean (*field_supported) (GmpcPluginIntegrateSearchIface* self, mpd_TagItems tag);
	MpdData* (*search) (GmpcPluginIntegrateSearchIface* self, mpd_TagItems tag, const gchar* search_query);
};

struct _GmpcMpdDataTreeviewTooltip {
	GtkWindow parent_instance;
	GmpcMpdDataTreeviewTooltipPrivate * priv;
	MetaDataType mtype;
	gchar* request_artist;
};

struct _GmpcMpdDataTreeviewTooltipClass {
	GtkWindowClass parent_class;
};

struct _GmpcUrlFetchingGui {
	GObject parent_instance;
	GmpcUrlFetchingGuiPrivate * priv;
};

struct _GmpcUrlFetchingGuiClass {
	GObjectClass parent_class;
};

struct _GmpcMetaDataEditWindow {
	GtkWindow parent_instance;
	GmpcMetaDataEditWindowPrivate * priv;
};

struct _GmpcMetaDataEditWindowClass {
	GtkWindowClass parent_class;
};

struct _GmpcPanedSizeGroup {
	GObject parent_instance;
	GmpcPanedSizeGroupPrivate * priv;
};

struct _GmpcPanedSizeGroupClass {
	GObjectClass parent_class;
};

struct _GmpcSidebarPlugins {
	GTypeInstance parent_instance;
	volatile int ref_count;
	GmpcSidebarPluginsPrivate * priv;
};

struct _GmpcSidebarPluginsClass {
	GTypeClass parent_class;
	void (*finalize) (GmpcSidebarPlugins *self);
};

VALA_EXTERN GType gmpc_progress_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GmpcProgress, g_object_unref)
VALA_EXTERN void gmpc_progress_set_time (GmpcProgress* self,
                             guint total,
                             guint current);
VALA_EXTERN GmpcProgress* gmpc_progress_new (void);
VALA_EXTERN GmpcProgress* gmpc_progress_construct (GType object_type);
VALA_EXTERN gboolean gmpc_progress_get_hide_text (GmpcProgress* self);
VALA_EXTERN void gmpc_progress_set_hide_text (GmpcProgress* self,
                                  gboolean value);
VALA_EXTERN GType gmpc_menu_item_rating_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GmpcMenuItemRating, g_object_unref)
VALA_EXTERN GType gmpc_rating_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GmpcRating, g_object_unref)
VALA_EXTERN gint gmpc_menu_item_rating_get_rating (GmpcMenuItemRating* self);
VALA_EXTERN GmpcMenuItemRating* gmpc_menu_item_rating_new (MpdObj* server,
                                               mpd_Song* song,
                                               gint value);
VALA_EXTERN GmpcMenuItemRating* gmpc_menu_item_rating_construct (GType object_type,
                                                     MpdObj* server,
                                                     mpd_Song* song,
                                                     gint value);
VALA_EXTERN gboolean gmpc_rating_button_press_event_callback (GmpcRating* self,
                                                  GtkWidget* wid,
                                                  GdkEventButton* event);
VALA_EXTERN GmpcRating* gmpc_rating_new (MpdObj* server,
                             mpd_Song* song);
VALA_EXTERN GmpcRating* gmpc_rating_construct (GType object_type,
                                   MpdObj* server,
                                   mpd_Song* song);
VALA_EXTERN void gmpc_rating_set_rating (GmpcRating* self,
                             gint rating);
VALA_EXTERN void gmpc_rating_update (GmpcRating* self);
VALA_EXTERN GType gmpc_widgets_qtable_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GmpcWidgetsQtable, g_object_unref)
VALA_EXTERN GType gmpc_widgets_songlist_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GmpcWidgetsSonglist, g_object_unref)
VALA_EXTERN GmpcWidgetsSonglist* gmpc_widgets_songlist_new (void);
VALA_EXTERN GmpcWidgetsSonglist* gmpc_widgets_songlist_construct (GType object_type);
VALA_EXTERN void gmpc_widgets_songlist_set_from_data (GmpcWidgetsSonglist* self,
                                          MpdData* list,
                                          gboolean show_album,
                                          gboolean show_artist);
VALA_EXTERN GType gmpc_clicklabel_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GmpcClicklabel, g_object_unref)
VALA_EXTERN GmpcClicklabel* gmpc_clicklabel_new (const gchar* value);
VALA_EXTERN GmpcClicklabel* gmpc_clicklabel_construct (GType object_type,
                                           const gchar* value);
VALA_EXTERN void gmpc_clicklabel_set_sensitive (GmpcClicklabel* self,
                                    gboolean sensitive_state);
VALA_EXTERN gboolean gmpc_clicklabel_get_sensitive (GmpcClicklabel* self);
VALA_EXTERN void gmpc_clicklabel_font_size (GmpcClicklabel* self,
                                gint nsize);
VALA_EXTERN void gmpc_clicklabel_set_ellipsize (GmpcClicklabel* self,
                                    PangoEllipsizeMode mode);
VALA_EXTERN void gmpc_clicklabel_set_text (GmpcClicklabel* self,
                               const gchar* value);
VALA_EXTERN void gmpc_clicklabel_set_do_underline (GmpcClicklabel* self,
                                       gboolean val);
VALA_EXTERN void gmpc_clicklabel_set_do_italic (GmpcClicklabel* self,
                                    gboolean val);
VALA_EXTERN void gmpc_clicklabel_set_do_bold (GmpcClicklabel* self,
                                  gboolean val);
VALA_EXTERN GType gmpc_modification_type_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType gmpc_pixbuf_loader_async_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GmpcPixbufLoaderAsync, g_object_unref)
VALA_EXTERN void gmpc_pixbuf_loader_async_set_rref (GmpcPixbufLoaderAsync* self,
                                        GtkTreeRowReference* rreference);
VALA_EXTERN void gmpc_pixbuf_loader_async_set_from_raw (GmpcPixbufLoaderAsync* self,
                                            guchar* data,
                                            gint data_length1,
                                            gint req_width,
                                            gint req_height,
                                            GmpcModificationType border,
                                            guchar* md5sum);
VALA_EXTERN GmpcPixbufLoaderAsync* gmpc_pixbuf_loader_async_new (void);
VALA_EXTERN GmpcPixbufLoaderAsync* gmpc_pixbuf_loader_async_construct (GType object_type);
VALA_EXTERN GdkPixbuf* gmpc_pixbuf_loader_async_get_pixbuf (GmpcPixbufLoaderAsync* self);
VALA_EXTERN void gmpc_pixbuf_loader_async_set_pixbuf (GmpcPixbufLoaderAsync* self,
                                          GdkPixbuf* value);
VALA_EXTERN GType gmpc_meta_image_async_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GmpcMetaImageAsync, g_object_unref)
VALA_EXTERN void gmpc_meta_image_async_set_from_raw (GmpcMetaImageAsync* self,
                                         guchar* data,
                                         gint data_length1,
                                         gint size,
                                         GmpcModificationType border,
                                         guchar* md5sum);
VALA_EXTERN void gmpc_meta_image_async_clear_now (GmpcMetaImageAsync* self);
VALA_EXTERN void gmpc_meta_image_async_set_pixbuf (GmpcMetaImageAsync* self,
                                       GdkPixbuf* pb);
VALA_EXTERN GmpcMetaImageAsync* gmpc_meta_image_async_new (void);
VALA_EXTERN GmpcMetaImageAsync* gmpc_meta_image_async_construct (GType object_type);
VALA_EXTERN void advanced_settings (void);
VALA_EXTERN GmpcWidgetsQtable* gmpc_widgets_qtable_new (void);
VALA_EXTERN GmpcWidgetsQtable* gmpc_widgets_qtable_construct (GType object_type);
VALA_EXTERN void gmpc_widgets_qtable_add_header (GmpcWidgetsQtable* self,
                                     GtkWidget* widget);
VALA_EXTERN void gmpc_widgets_qtable_clear (GmpcWidgetsQtable* self);
VALA_EXTERN gint gmpc_widgets_qtable_get_spacing (GmpcWidgetsQtable* self);
VALA_EXTERN void gmpc_widgets_qtable_set_spacing (GmpcWidgetsQtable* self,
                                      gint value);
VALA_EXTERN gint gmpc_widgets_qtable_get_padding_left (GmpcWidgetsQtable* self);
VALA_EXTERN void gmpc_widgets_qtable_set_padding_left (GmpcWidgetsQtable* self,
                                           gint value);
VALA_EXTERN gint gmpc_widgets_qtable_get_padding_right (GmpcWidgetsQtable* self);
VALA_EXTERN void gmpc_widgets_qtable_set_padding_right (GmpcWidgetsQtable* self,
                                            gint value);
VALA_EXTERN gint gmpc_widgets_qtable_get_max_columns (GmpcWidgetsQtable* self);
VALA_EXTERN void gmpc_widgets_qtable_set_max_columns (GmpcWidgetsQtable* self,
                                          gint value);
VALA_EXTERN gint gmpc_widgets_qtable_get_item_width (GmpcWidgetsQtable* self);
VALA_EXTERN void gmpc_widgets_qtable_set_item_width (GmpcWidgetsQtable* self,
                                         gint value);
VALA_EXTERN gint gmpc_widgets_qtable_get_item_height (GmpcWidgetsQtable* self);
VALA_EXTERN void gmpc_widgets_qtable_set_item_height (GmpcWidgetsQtable* self,
                                          gint value);
VALA_EXTERN gint gmpc_widgets_qtable_get_header_height (GmpcWidgetsQtable* self);
VALA_EXTERN void gmpc_widgets_qtable_set_header_height (GmpcWidgetsQtable* self,
                                            gint value);
VALA_EXTERN GType popup_menu_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (PopupMenu, g_object_unref)
VALA_EXTERN void popup_menu_popup (PopupMenu* self,
                       GdkEventButton* event);
VALA_EXTERN PopupMenu* popup_menu_new (void);
VALA_EXTERN PopupMenu* popup_menu_construct (GType object_type);
VALA_EXTERN GType gmpc_meta_data_widgets_text_label_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GmpcMetaDataWidgetsTextLabel, g_object_unref)
VALA_EXTERN GmpcMetaDataWidgetsTextLabel* gmpc_meta_data_widgets_text_label_new (mpd_Song* song,
                                                                     MetaDataType type);
VALA_EXTERN GmpcMetaDataWidgetsTextLabel* gmpc_meta_data_widgets_text_label_construct (GType object_type,
                                                                           mpd_Song* song,
                                                                           MetaDataType type);
VALA_EXTERN GType gmpc_meta_data_widgets_similar_songs_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GmpcMetaDataWidgetsSimilarSongs, g_object_unref)
VALA_EXTERN GmpcMetaDataWidgetsSimilarSongs* gmpc_meta_data_widgets_similar_songs_new (mpd_Song* song);
VALA_EXTERN GmpcMetaDataWidgetsSimilarSongs* gmpc_meta_data_widgets_similar_songs_construct (GType object_type,
                                                                                 mpd_Song* song);
VALA_EXTERN void gmpc_meta_data_widgets_similar_songs_update (GmpcMetaDataWidgetsSimilarSongs* self);
VALA_EXTERN GType gmpc_meta_data_widgets_similar_artists_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GmpcMetaDataWidgetsSimilarArtists, g_object_unref)
VALA_EXTERN GtkWidget* gmpc_meta_data_widgets_similar_artists_new_artist_button (GmpcMetaDataWidgetsSimilarArtists* self,
                                                                     const gchar* artist,
                                                                     gboolean in_db);
VALA_EXTERN void gmpc_meta_data_widgets_similar_artists_first_show (GmpcMetaDataWidgetsSimilarArtists* self);
VALA_EXTERN GmpcMetaDataWidgetsSimilarArtists* gmpc_meta_data_widgets_similar_artists_new (MpdObj* server,
                                                                               mpd_Song* song);
VALA_EXTERN GmpcMetaDataWidgetsSimilarArtists* gmpc_meta_data_widgets_similar_artists_construct (GType object_type,
                                                                                     MpdObj* server,
                                                                                     mpd_Song* song);
VALA_EXTERN GType gmpc_profiles_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GmpcProfiles, g_object_unref)
VALA_EXTERN GType gmpc_profiles_action_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType gmpc_profiles_column_get_type (void) G_GNUC_CONST ;
VALA_EXTERN guint gmpc_profiles_get_number_of_profiles (GmpcProfiles* self);
VALA_EXTERN gchar* gmpc_profiles_get_hostname (GmpcProfiles* self,
                                   const gchar* id);
VALA_EXTERN const gchar* gmpc_profiles_get_name (GmpcProfiles* self,
                                     const gchar* id);
VALA_EXTERN const gchar* gmpc_profiles_get_id (GmpcProfiles* self,
                                   const gchar* id);
VALA_EXTERN gchar* gmpc_profiles_get_password (GmpcProfiles* self,
                                   const gchar* id);
VALA_EXTERN const gchar* gmpc_profiles_get_music_directory (GmpcProfiles* self,
                                                const gchar* id);
VALA_EXTERN gint gmpc_profiles_get_db_update_time (GmpcProfiles* self,
                                       const gchar* id);
VALA_EXTERN gint gmpc_profiles_get_port (GmpcProfiles* self,
                             const gchar* id);
VALA_EXTERN gboolean gmpc_profiles_get_do_auth (GmpcProfiles* self,
                                    const gchar* id);
VALA_EXTERN const gchar* gmpc_profiles_create_new_item (GmpcProfiles* self,
                                            const gchar* id);
VALA_EXTERN const gchar* gmpc_profiles_create_new_item_with_name (GmpcProfiles* self,
                                                      const gchar* id,
                                                      const gchar* name);
VALA_EXTERN void gmpc_profiles_remove_item (GmpcProfiles* self,
                                const gchar* id);
VALA_EXTERN gchar* gmpc_profiles_get_current (GmpcProfiles* self);
VALA_EXTERN void gmpc_profiles_set_current (GmpcProfiles* self,
                                const gchar* id);
VALA_EXTERN GList* gmpc_profiles_get_profiles_ids (GmpcProfiles* self);
VALA_EXTERN void gmpc_profiles_set_name (GmpcProfiles* self,
                             const gchar* id,
                             const gchar* value);
VALA_EXTERN void gmpc_profiles_set_hostname (GmpcProfiles* self,
                                 const gchar* id,
                                 const gchar* value);
VALA_EXTERN void gmpc_profiles_set_password (GmpcProfiles* self,
                                 const gchar* id,
                                 const gchar* value);
VALA_EXTERN void gmpc_profiles_set_port (GmpcProfiles* self,
                             const gchar* id,
                             gint value);
VALA_EXTERN void gmpc_profiles_set_music_directory (GmpcProfiles* self,
                                        const gchar* id,
                                        const gchar* value);
VALA_EXTERN void gmpc_profiles_set_db_update_time (GmpcProfiles* self,
                                       const gchar* id,
                                       gint value);
VALA_EXTERN void gmpc_profiles_set_do_auth (GmpcProfiles* self,
                                const gchar* id,
                                gboolean value);
VALA_EXTERN gboolean gmpc_profiles_has_profile (GmpcProfiles* self,
                                    const gchar* id);
VALA_EXTERN void gmpc_profiles_set_profile_from_name (GmpcProfiles* self,
                                          const gchar* name);
VALA_EXTERN GmpcProfiles* gmpc_profiles_new (void);
VALA_EXTERN GmpcProfiles* gmpc_profiles_construct (GType object_type);
VALA_EXTERN GType my_cell_renderer_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (MyCellRenderer, g_object_unref)
VALA_EXTERN MyCellRenderer* my_cell_renderer_new (void);
VALA_EXTERN MyCellRenderer* my_cell_renderer_construct (GType object_type);
VALA_EXTERN void my_cell_renderer_set_icon_name (MyCellRenderer* self,
                                     const gchar* value);
VALA_EXTERN void my_cell_renderer_set_stock_id (MyCellRenderer* self,
                                    const gchar* value);
VALA_EXTERN void my_cell_renderer_set_weight (MyCellRenderer* self,
                                  gint value);
VALA_EXTERN void my_cell_renderer_set_weight_set (MyCellRenderer* self,
                                      gboolean value);
VALA_EXTERN guint my_cell_renderer_get_stock_size (MyCellRenderer* self);
VALA_EXTERN void my_cell_renderer_set_stock_size (MyCellRenderer* self,
                                      guint value);
VALA_EXTERN void my_cell_renderer_set_text (MyCellRenderer* self,
                                const gchar* value);
VALA_EXTERN gboolean my_cell_renderer_get_show_text (MyCellRenderer* self);
VALA_EXTERN void my_cell_renderer_set_show_text (MyCellRenderer* self,
                                     gboolean value);
VALA_EXTERN gint my_cell_renderer_get_image_width (MyCellRenderer* self);
VALA_EXTERN void my_cell_renderer_set_image_width (MyCellRenderer* self,
                                       gint value);
VALA_EXTERN void my_cell_renderer_set_xalign (MyCellRenderer* self,
                                  gfloat value);
VALA_EXTERN GList* paste_queue;
VALA_EXTERN GType gmpc_data_view_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GmpcDataView, g_object_unref)
VALA_EXTERN GType gmpc_data_view_view_type_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GmpcDataView* gmpc_data_view_new (const gchar* name,
                                  GmpcDataViewViewType mode);
VALA_EXTERN GmpcDataView* gmpc_data_view_construct (GType object_type,
                                        const gchar* name,
                                        GmpcDataViewViewType mode);
VALA_EXTERN void gmpc_data_view_right_mouse_menu (GmpcDataView* self,
                                      GtkMenu* menu);
VALA_EXTERN GmpcDataViewViewType gmpc_data_view_get_view_mode (GmpcDataView* self);
VALA_EXTERN void gmpc_data_view_set_view_mode (GmpcDataView* self,
                                   GmpcDataViewViewType value);
VALA_EXTERN const gchar* gmpc_data_view_get_playlist_name (GmpcDataView* self);
VALA_EXTERN void gmpc_data_view_set_playlist_name (GmpcDataView* self,
                                       const gchar* value);
VALA_EXTERN const gchar* gmpc_data_view_get_uid (GmpcDataView* self);
VALA_EXTERN void gmpc_data_view_set_uid (GmpcDataView* self,
                             const gchar* value);
VALA_EXTERN GType gmpc_plugin_base_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GmpcPluginBase, g_object_unref)
VALA_EXTERN GType gmpc_plugin_browser_iface_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GmpcPluginBrowserIface, g_object_unref)
VALA_EXTERN GType gmpc_browsers_metadata_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GmpcBrowsersMetadata, g_object_unref)
VALA_EXTERN void gmpc_browsers_metadata_set_orientation (GmpcBrowsersMetadata* self);
VALA_EXTERN GtkWidget* gmpc_browsers_metadata_metadata_box_show_song (GmpcBrowsersMetadata* self,
                                                          mpd_Song* tmp_song,
                                                          gboolean show_controls);
VALA_EXTERN void gmpc_browsers_metadata_set_base (GmpcBrowsersMetadata* self);
VALA_EXTERN void gmpc_browsers_metadata_set_artist (GmpcBrowsersMetadata* self,
                                        const gchar* artist);
VALA_EXTERN void gmpc_browsers_metadata_set_album (GmpcBrowsersMetadata* self,
                                       const gchar* artist,
                                       const gchar* album);
VALA_EXTERN void gmpc_browsers_metadata_set_song (GmpcBrowsersMetadata* self,
                                      mpd_Song* song);
VALA_EXTERN void gmpc_browsers_metadata_select_browser (GmpcBrowsersMetadata* self,
                                            GtkTreeView* tree);
VALA_EXTERN GmpcBrowsersMetadata* gmpc_browsers_metadata_new (void);
VALA_EXTERN GmpcBrowsersMetadata* gmpc_browsers_metadata_construct (GType object_type);
VALA_EXTERN GType gmpc_browsers_nowplaying_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GmpcBrowsersNowplaying, g_object_unref)
VALA_EXTERN void gmpc_browsers_nowplaying_select_now_playing_browser (GmpcBrowsersNowplaying* self);
VALA_EXTERN GmpcBrowsersNowplaying* gmpc_browsers_nowplaying_new (void);
VALA_EXTERN GmpcBrowsersNowplaying* gmpc_browsers_nowplaying_construct (GType object_type);
VALA_EXTERN GType gmpc_tools_database_update_tracker_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GmpcToolsDatabaseUpdateTracker, g_object_unref)
VALA_EXTERN GmpcToolsDatabaseUpdateTracker* gmpc_tools_database_update_tracker_new (void);
VALA_EXTERN GmpcToolsDatabaseUpdateTracker* gmpc_tools_database_update_tracker_construct (GType object_type);
VALA_EXTERN GType gmpc_tools_metadata_prefetcher_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GmpcToolsMetadataPrefetcher, g_object_unref)
VALA_EXTERN GmpcToolsMetadataPrefetcher* gmpc_tools_metadata_prefetcher_new (void);
VALA_EXTERN GmpcToolsMetadataPrefetcher* gmpc_tools_metadata_prefetcher_construct (GType object_type);
VALA_EXTERN GType gmpc_plugin_preferences_iface_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GmpcPluginPreferencesIface, g_object_unref)
VALA_EXTERN GType gmpc_tools_metadata_appearance_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GmpcToolsMetadataAppearance, g_object_unref)
VALA_EXTERN void gmpc_tools_metadata_appearance_on_checkbutton_show_lyrics_toggled (GtkCheckButton* source);
VALA_EXTERN void gmpc_tools_metadata_appearance_on_checkbutton_show_artist_information_toggled (GtkCheckButton* source);
VALA_EXTERN void gmpc_tools_metadata_appearance_on_checkbutton_show_album_information_toggled (GtkCheckButton* source);
VALA_EXTERN void gmpc_tools_metadata_appearance_on_checkbutton_show_similar_artists_toggled (GtkCheckButton* source);
VALA_EXTERN void gmpc_tools_metadata_appearance_on_checkbutton_show_similar_songs_toggled (GtkCheckButton* source);
VALA_EXTERN void gmpc_tools_metadata_appearance_on_checkbutton_show_guitar_tabs_toggled (GtkCheckButton* source);
VALA_EXTERN void gmpc_tools_metadata_appearance_on_checkbutton_show_songs_from_album_toggled (GtkCheckButton* source);
VALA_EXTERN GmpcToolsMetadataAppearance* gmpc_tools_metadata_appearance_new (void);
VALA_EXTERN GmpcToolsMetadataAppearance* gmpc_tools_metadata_appearance_construct (GType object_type);
VALA_EXTERN GType gmpc_tools_liststore_sort_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GmpcToolsListstoreSort, g_object_unref)
VALA_EXTERN GmpcToolsListstoreSort* gmpc_tools_liststore_sort_new (void);
VALA_EXTERN GmpcToolsListstoreSort* gmpc_tools_liststore_sort_construct (GType object_type);
VALA_EXTERN GType gmpc_meta_watcher_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GmpcMetaWatcher, g_object_unref)
VALA_EXTERN void gmpc_meta_watcher_data_changed_cb (GmpcMetaWatcher* self,
                                        mpd_Song* song,
                                        MetaDataType type,
                                        MetaDataResult _result_,
                                        MetaData* item);
VALA_EXTERN void gmpc_meta_watcher_force_reload_cb (GmpcMetaWatcher* self);
VALA_EXTERN GmpcMetaWatcher* gmpc_meta_watcher_new (void);
VALA_EXTERN GmpcMetaWatcher* gmpc_meta_watcher_construct (GType object_type);
VALA_EXTERN GType gmpc_tools_auto_reset_priority_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GmpcToolsAutoResetPriority, g_object_unref)
VALA_EXTERN GmpcToolsAutoResetPriority* gmpc_tools_auto_reset_priority_new (void);
VALA_EXTERN GmpcToolsAutoResetPriority* gmpc_tools_auto_reset_priority_construct (GType object_type);
VALA_EXTERN GType gmpc_plugins_auto_mpd_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GmpcPluginsAutoMPD, g_object_unref)
VALA_EXTERN GmpcPluginsAutoMPD* gmpc_plugins_auto_mpd_new (void);
VALA_EXTERN GmpcPluginsAutoMPD* gmpc_plugins_auto_mpd_construct (GType object_type);
VALA_EXTERN gboolean gmpc_plugins_auto_mpd_get_stop_mpd_on_close (GmpcPluginsAutoMPD* self);
VALA_EXTERN void gmpc_plugins_auto_mpd_set_stop_mpd_on_close (GmpcPluginsAutoMPD* self,
                                                  gboolean value);
VALA_EXTERN gboolean gmpc_plugins_auto_mpd_get_ao_generate_pulse (GmpcPluginsAutoMPD* self);
VALA_EXTERN void gmpc_plugins_auto_mpd_set_ao_generate_pulse (GmpcPluginsAutoMPD* self,
                                                  gboolean value);
VALA_EXTERN gboolean gmpc_plugins_auto_mpd_get_ao_generate_alsa (GmpcPluginsAutoMPD* self);
VALA_EXTERN void gmpc_plugins_auto_mpd_set_ao_generate_alsa (GmpcPluginsAutoMPD* self,
                                                 gboolean value);
VALA_EXTERN gboolean gmpc_plugins_auto_mpd_get_mpd_conf_remote_connections (GmpcPluginsAutoMPD* self);
VALA_EXTERN void gmpc_plugins_auto_mpd_set_mpd_conf_remote_connections (GmpcPluginsAutoMPD* self,
                                                            gboolean value);
VALA_EXTERN gboolean gmpc_plugins_auto_mpd_get_mpd_conf_generate_httpd_lame (GmpcPluginsAutoMPD* self);
VALA_EXTERN void gmpc_plugins_auto_mpd_set_mpd_conf_generate_httpd_lame (GmpcPluginsAutoMPD* self,
                                                             gboolean value);
VALA_EXTERN gboolean gmpc_plugins_auto_mpd_get_mpd_conf_generate_httpd_vorbis (GmpcPluginsAutoMPD* self);
VALA_EXTERN void gmpc_plugins_auto_mpd_set_mpd_conf_generate_httpd_vorbis (GmpcPluginsAutoMPD* self,
                                                               gboolean value);
VALA_EXTERN gboolean gmpc_plugins_auto_mpd_get_mpd_conf_generate_autostart_file (GmpcPluginsAutoMPD* self);
VALA_EXTERN void gmpc_plugins_auto_mpd_set_mpd_conf_generate_autostart_file (GmpcPluginsAutoMPD* self,
                                                                 gboolean value);
VALA_EXTERN GType gmpc_plugin_sidebar_state_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType gmpc_plugin_sidebar_iface_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GmpcPluginSidebarIface, g_object_unref)
VALA_EXTERN GType gmpc_plugins_sidebar_search_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GmpcPluginsSidebarSearch, g_object_unref)
VALA_EXTERN GmpcPluginsSidebarSearch* gmpc_plugins_sidebar_search_new (void);
VALA_EXTERN GmpcPluginsSidebarSearch* gmpc_plugins_sidebar_search_construct (GType object_type);
VALA_EXTERN GType gmpc_plugins_sidebar_play_queue_time_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GmpcPluginsSidebarPlayQueueTime, g_object_unref)
VALA_EXTERN GmpcPluginsSidebarPlayQueueTime* gmpc_plugins_sidebar_play_queue_time_new (void);
VALA_EXTERN GmpcPluginsSidebarPlayQueueTime* gmpc_plugins_sidebar_play_queue_time_construct (GType object_type);
VALA_EXTERN GType gmpc_plugins_sidebar_next_song_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GmpcPluginsSidebarNextSong, g_object_unref)
VALA_EXTERN GmpcPluginsSidebarNextSong* gmpc_plugins_sidebar_next_song_new (void);
VALA_EXTERN GmpcPluginsSidebarNextSong* gmpc_plugins_sidebar_next_song_construct (GType object_type);
VALA_EXTERN GType gmpc_plugin_song_list_iface_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GmpcPluginSongListIface, g_object_unref)
VALA_EXTERN GType gmpc_external_command_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GmpcExternalCommand, g_object_unref)
VALA_EXTERN GmpcExternalCommand* gmpc_external_command_new (void);
VALA_EXTERN GmpcExternalCommand* gmpc_external_command_construct (GType object_type);
VALA_EXTERN GType gmpc_connection_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GmpcConnection, g_object_unref)
VALA_EXTERN GmpcConnection* gmpc_connection_new (void);
VALA_EXTERN GmpcConnection* gmpc_connection_construct (GType object_type);
VALA_EXTERN GType gmpc_easy_command_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GmpcEasyCommand, g_object_unref)
VALA_EXTERN gboolean gmpc_easy_command_completion_function (GtkEntryCompletion* comp,
                                                const gchar* key,
                                                GtkTreeIter* iter);
VALA_EXTERN guint gmpc_easy_command_add_entry (GmpcEasyCommand* self,
                                   const gchar* name,
                                   const gchar* pattern,
                                   const gchar* hint,
                                   GmpcEasyCommandCallback* callback,
                                   void* userdata);
VALA_EXTERN guint gmpc_easy_command_add_entry_stock_id (GmpcEasyCommand* self,
                                            const gchar* name,
                                            const gchar* pattern,
                                            const gchar* hint,
                                            GmpcEasyCommandCallback* callback,
                                            void* userdata,
                                            const gchar* icon);
VALA_EXTERN guint gmpc_easy_command_add_entry_icon_name (GmpcEasyCommand* self,
                                             const gchar* name,
                                             const gchar* pattern,
                                             const gchar* hint,
                                             GmpcEasyCommandCallback* callback,
                                             void* userdata,
                                             const gchar* icon);
VALA_EXTERN void gmpc_easy_command_do_query (GmpcEasyCommand* self,
                                 const gchar* value_unsplit);
VALA_EXTERN void gmpc_easy_command_popup_destroy (GmpcEasyCommand* self);
VALA_EXTERN void gmpc_easy_command_popup (GmpcEasyCommand* self);
VALA_EXTERN void gmpc_easy_command_help_window_destroy (GtkDialog* window,
                                            gint response);
VALA_EXTERN void gmpc_easy_command_help_window (void* data,
                                    const gchar* param);
VALA_EXTERN GmpcEasyCommand* gmpc_easy_command_new (void);
VALA_EXTERN GmpcEasyCommand* gmpc_easy_command_construct (GType object_type);
VALA_EXTERN GType gmpc_favorites_list_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GmpcFavoritesList, g_object_unref)
VALA_EXTERN GmpcFavoritesList* favorites;
VALA_EXTERN gchar* gmpc_favorites_list_get_playlist_name (GmpcFavoritesList* self);
VALA_EXTERN gboolean gmpc_favorites_list_is_favorite (GmpcFavoritesList* self,
                                          const gchar* path);
VALA_EXTERN void gmpc_favorites_list_set_favorite (GmpcFavoritesList* self,
                                       const gchar* path,
                                       gboolean favorite);
VALA_EXTERN GmpcFavoritesList* gmpc_favorites_list_new (void);
VALA_EXTERN GmpcFavoritesList* gmpc_favorites_list_construct (GType object_type);
VALA_EXTERN gboolean gmpc_favorites_list_get_disable (GmpcFavoritesList* self);
VALA_EXTERN void gmpc_favorites_list_set_disable (GmpcFavoritesList* self,
                                      gboolean value);
VALA_EXTERN GType gmpc_favorites_button_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GmpcFavoritesButton, g_object_unref)
VALA_EXTERN void gmpc_favorites_button_set_song (GmpcFavoritesButton* self,
                                     mpd_Song* song);
VALA_EXTERN GmpcFavoritesButton* gmpc_favorites_button_new (void);
VALA_EXTERN GmpcFavoritesButton* gmpc_favorites_button_construct (GType object_type);
VALA_EXTERN gint* gmpc_plugin_base_get_version (GmpcPluginBase* self,
                                    gint* result_length1);
VALA_EXTERN const gchar* gmpc_plugin_base_get_name (GmpcPluginBase* self);
VALA_EXTERN void gmpc_plugin_base_save_yourself (GmpcPluginBase* self);
VALA_EXTERN gboolean gmpc_plugin_base_get_enabled (GmpcPluginBase* self);
VALA_EXTERN void gmpc_plugin_base_set_enabled (GmpcPluginBase* self,
                                   gboolean state);
VALA_EXTERN GmpcPluginBase* gmpc_plugin_base_construct (GType object_type);
VALA_EXTERN GType gmpc_plugin_tool_menu_iface_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GmpcPluginToolMenuIface, g_object_unref)
VALA_EXTERN gint gmpc_plugin_tool_menu_iface_tool_menu_integration (GmpcPluginToolMenuIface* self,
                                                        GtkMenu* menu);
VALA_EXTERN void gmpc_plugin_browser_iface_browser_add (GmpcPluginBrowserIface* self,
                                            GtkWidget* category_tree);
VALA_EXTERN void gmpc_plugin_browser_iface_browser_selected (GmpcPluginBrowserIface* self,
                                                 GtkContainer* container);
VALA_EXTERN void gmpc_plugin_browser_iface_browser_unselected (GmpcPluginBrowserIface* self,
                                                   GtkContainer* container);
VALA_EXTERN gint gmpc_plugin_browser_iface_browser_option_menu (GmpcPluginBrowserIface* self,
                                                    GtkMenu* menu);
VALA_EXTERN gint gmpc_plugin_browser_iface_browser_add_go_menu (GmpcPluginBrowserIface* self,
                                                    GtkMenu* menu);
VALA_EXTERN void gmpc_plugin_sidebar_iface_sidebar_pane_construct (GmpcPluginSidebarIface* self,
                                                       GtkGrid* parent);
VALA_EXTERN void gmpc_plugin_sidebar_iface_sidebar_pane_destroy (GmpcPluginSidebarIface* self,
                                                     GtkGrid* parent);
VALA_EXTERN void gmpc_plugin_sidebar_iface_sidebar_set_state (GmpcPluginSidebarIface* self,
                                                  GmpcPluginSidebarState state);
VALA_EXTERN gchar* gmpc_plugin_sidebar_iface_sidebar_get_title (GmpcPluginSidebarIface* self);
VALA_EXTERN gint gmpc_plugin_sidebar_iface_sidebar_get_position (GmpcPluginSidebarIface* self);
VALA_EXTERN GType gmpc_plugin_integrate_search_iface_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GmpcPluginIntegrateSearchIface, g_object_unref)
VALA_EXTERN gboolean gmpc_plugin_integrate_search_iface_field_supported (GmpcPluginIntegrateSearchIface* self,
                                                             mpd_TagItems tag);
VALA_EXTERN MpdData* gmpc_plugin_integrate_search_iface_search (GmpcPluginIntegrateSearchIface* self,
                                                    mpd_TagItems tag,
                                                    const gchar* search_query);
VALA_EXTERN void gmpc_plugin_preferences_iface_preferences_pane_construct (GmpcPluginPreferencesIface* self,
                                                               GtkContainer* container);
VALA_EXTERN void gmpc_plugin_preferences_iface_preferences_pane_destroy (GmpcPluginPreferencesIface* self,
                                                             GtkContainer* container);
VALA_EXTERN gint gmpc_plugin_song_list_iface_song_list (GmpcPluginSongListIface* self,
                                            GtkWidget* tree,
                                            GtkMenu* menu);
VALA_EXTERN GType gmpc_mpd_data_treeview_tooltip_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GmpcMpdDataTreeviewTooltip, g_object_unref)
VALA_EXTERN GmpcMpdDataTreeviewTooltip* gmpc_mpd_data_treeview_tooltip_new (GtkTreeView* pw,
                                                                MetaDataType type);
VALA_EXTERN GmpcMpdDataTreeviewTooltip* gmpc_mpd_data_treeview_tooltip_construct (GType object_type,
                                                                      GtkTreeView* pw,
                                                                      MetaDataType type);
VALA_EXTERN GType gmpc_url_fetching_gui_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GmpcUrlFetchingGui, g_object_unref)
VALA_EXTERN GmpcUrlFetchingGui* gmpc_url_fetching_gui_new (GmpcUrlFetchingGuiParseUrl parse_callback,
                                               gpointer parse_callback_target,
                                               GmpcUrlFetchingGuiValidateUrl validate_callback,
                                               gpointer validate_callback_target,
                                               GDestroyNotify destroy_cb);
VALA_EXTERN GmpcUrlFetchingGui* gmpc_url_fetching_gui_construct (GType object_type,
                                                     GmpcUrlFetchingGuiParseUrl parse_callback,
                                                     gpointer parse_callback_target,
                                                     GmpcUrlFetchingGuiValidateUrl validate_callback,
                                                     gpointer validate_callback_target,
                                                     GDestroyNotify destroy_cb);
VALA_EXTERN void gmpc_url_fetching_gui_set_processing (GmpcUrlFetchingGui* self);
VALA_EXTERN void gmpc_url_fetching_gui_set_progress (GmpcUrlFetchingGui* self,
                                         gdouble progress);
VALA_EXTERN void gmpc_url_fetching_gui_set_completed (GmpcUrlFetchingGui* self);
VALA_EXTERN void gmpc_url_fetching_gui_set_error (GmpcUrlFetchingGui* self,
                                      const gchar* error_message);
VALA_EXTERN GType gmpc_meta_data_edit_window_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GmpcMetaDataEditWindow, g_object_unref)
VALA_EXTERN void gmpc_meta_data_edit_window_callback (GmpcMetaDataEditWindow* self,
                                          void* handle,
                                          const gchar* plugin_name,
                                          GList* list);
VALA_EXTERN void gmpc_meta_data_edit_window_destroy_popup (GmpcMetaDataEditWindow* self,
                                               GtkButton* button);
VALA_EXTERN void gmpc_meta_data_edit_window_refresh_query (GmpcMetaDataEditWindow* self,
                                               GtkButton* button);
VALA_EXTERN GmpcMetaDataEditWindow* gmpc_meta_data_edit_window_new (mpd_Song* song,
                                                        MetaDataType type);
VALA_EXTERN GmpcMetaDataEditWindow* gmpc_meta_data_edit_window_construct (GType object_type,
                                                              mpd_Song* song,
                                                              MetaDataType type);
VALA_EXTERN void gmpc_meta_data_edit_window_b_cancel (GmpcMetaDataEditWindow* self);
VALA_EXTERN GType gmpc_paned_size_group_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GmpcPanedSizeGroup, g_object_unref)
VALA_EXTERN GmpcPanedSizeGroup* gmpc_paned_size_group_new (void);
VALA_EXTERN GmpcPanedSizeGroup* gmpc_paned_size_group_construct (GType object_type);
VALA_EXTERN void gmpc_paned_size_group_add_paned (GmpcPanedSizeGroup* self,
                                      GtkPaned* paned);
VALA_EXTERN gpointer gmpc_sidebar_plugins_ref (gpointer instance);
VALA_EXTERN void gmpc_sidebar_plugins_unref (gpointer instance);
VALA_EXTERN GParamSpec* gmpc_sidebar_param_spec_plugins (const gchar* name,
                                             const gchar* nick,
                                             const gchar* blurb,
                                             GType object_type,
                                             GParamFlags flags);
VALA_EXTERN void gmpc_sidebar_value_set_plugins (GValue* value,
                                     gpointer v_object);
VALA_EXTERN void gmpc_sidebar_value_take_plugins (GValue* value,
                                      gpointer v_object);
VALA_EXTERN gpointer gmpc_sidebar_value_get_plugins (const GValue* value);
VALA_EXTERN GType gmpc_sidebar_plugins_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (GmpcSidebarPlugins, gmpc_sidebar_plugins_unref)
VALA_EXTERN void gmpc_sidebar_plugins_enable (GmpcPluginSidebarIface* plugin);
VALA_EXTERN void gmpc_sidebar_plugins_disable (GmpcPluginSidebarIface* plugin);
VALA_EXTERN void gmpc_sidebar_plugins_update_state (GmpcPluginSidebarState state);
VALA_EXTERN void gmpc_sidebar_plugins_init (GmpcPluginSidebarIface* plugin);
VALA_EXTERN GmpcSidebarPlugins* gmpc_sidebar_plugins_new (void);
VALA_EXTERN GmpcSidebarPlugins* gmpc_sidebar_plugins_construct (GType object_type);

G_END_DECLS

#endif
