/* io.elementary.settings.sound.h generated by valac 0.56.19, the Vala compiler, do not modify */

#ifndef __SRC_IO_ELEMENTARY_SETTINGS_SOUND_H__
#define __SRC_IO_ELEMENTARY_SETTINGS_SOUND_H__

#include <glib-object.h>
#include <pulse/pulseaudio.h>
#include <glib.h>
#include <stdlib.h>
#include <string.h>
#include <gio/gio.h>
#include <float.h>
#include <math.h>
#include <gtk/gtk.h>
#include <canberra.h>
#include <switchboard.h>
#include <gmodule.h>
#include <gee.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 GETTEXT_PACKAGE "io.elementary.settings.sound"
#define LOCALEDIR "/usr/share/locale"

#define SOUND_TYPE_APP (sound_app_get_type ())
#define SOUND_APP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SOUND_TYPE_APP, SoundApp))
#define SOUND_APP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SOUND_TYPE_APP, SoundAppClass))
#define SOUND_IS_APP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SOUND_TYPE_APP))
#define SOUND_IS_APP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SOUND_TYPE_APP))
#define SOUND_APP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SOUND_TYPE_APP, SoundAppClass))

typedef struct _SoundApp SoundApp;
typedef struct _SoundAppClass SoundAppClass;
typedef struct _SoundAppPrivate SoundAppPrivate;

#define SOUND_TYPE_APPLICATIONS_PANEL (sound_applications_panel_get_type ())
#define SOUND_APPLICATIONS_PANEL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SOUND_TYPE_APPLICATIONS_PANEL, SoundApplicationsPanel))
#define SOUND_APPLICATIONS_PANEL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SOUND_TYPE_APPLICATIONS_PANEL, SoundApplicationsPanelClass))
#define SOUND_IS_APPLICATIONS_PANEL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SOUND_TYPE_APPLICATIONS_PANEL))
#define SOUND_IS_APPLICATIONS_PANEL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SOUND_TYPE_APPLICATIONS_PANEL))
#define SOUND_APPLICATIONS_PANEL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SOUND_TYPE_APPLICATIONS_PANEL, SoundApplicationsPanelClass))

typedef struct _SoundApplicationsPanel SoundApplicationsPanel;
typedef struct _SoundApplicationsPanelClass SoundApplicationsPanelClass;
typedef struct _SoundApplicationsPanelPrivate SoundApplicationsPanelPrivate;

#define SOUND_TYPE_APP_ROW (sound_app_row_get_type ())
#define SOUND_APP_ROW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SOUND_TYPE_APP_ROW, SoundAppRow))
#define SOUND_APP_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SOUND_TYPE_APP_ROW, SoundAppRowClass))
#define SOUND_IS_APP_ROW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SOUND_TYPE_APP_ROW))
#define SOUND_IS_APP_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SOUND_TYPE_APP_ROW))
#define SOUND_APP_ROW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SOUND_TYPE_APP_ROW, SoundAppRowClass))

typedef struct _SoundAppRow SoundAppRow;
typedef struct _SoundAppRowClass SoundAppRowClass;
typedef struct _SoundAppRowPrivate SoundAppRowPrivate;

#define SOUND_TYPE_TEST_POPOVER (sound_test_popover_get_type ())
#define SOUND_TEST_POPOVER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SOUND_TYPE_TEST_POPOVER, SoundTestPopover))
#define SOUND_TEST_POPOVER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SOUND_TYPE_TEST_POPOVER, SoundTestPopoverClass))
#define SOUND_IS_TEST_POPOVER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SOUND_TYPE_TEST_POPOVER))
#define SOUND_IS_TEST_POPOVER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SOUND_TYPE_TEST_POPOVER))
#define SOUND_TEST_POPOVER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SOUND_TYPE_TEST_POPOVER, SoundTestPopoverClass))

typedef struct _SoundTestPopover SoundTestPopover;
typedef struct _SoundTestPopoverClass SoundTestPopoverClass;
typedef struct _SoundTestPopoverPrivate SoundTestPopoverPrivate;

#define SOUND_TEST_POPOVER_TYPE_POSITION_BUTTON (sound_test_popover_position_button_get_type ())
#define SOUND_TEST_POPOVER_POSITION_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SOUND_TEST_POPOVER_TYPE_POSITION_BUTTON, SoundTestPopoverPositionButton))
#define SOUND_TEST_POPOVER_POSITION_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SOUND_TEST_POPOVER_TYPE_POSITION_BUTTON, SoundTestPopoverPositionButtonClass))
#define SOUND_TEST_POPOVER_IS_POSITION_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SOUND_TEST_POPOVER_TYPE_POSITION_BUTTON))
#define SOUND_TEST_POPOVER_IS_POSITION_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SOUND_TEST_POPOVER_TYPE_POSITION_BUTTON))
#define SOUND_TEST_POPOVER_POSITION_BUTTON_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SOUND_TEST_POPOVER_TYPE_POSITION_BUTTON, SoundTestPopoverPositionButtonClass))

typedef struct _SoundTestPopoverPositionButton SoundTestPopoverPositionButton;
typedef struct _SoundTestPopoverPositionButtonClass SoundTestPopoverPositionButtonClass;
typedef struct _SoundTestPopoverPositionButtonPrivate SoundTestPopoverPositionButtonPrivate;

#define SOUND_TYPE_PULSE_AUDIO_MANAGER (sound_pulse_audio_manager_get_type ())
#define SOUND_PULSE_AUDIO_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SOUND_TYPE_PULSE_AUDIO_MANAGER, SoundPulseAudioManager))
#define SOUND_PULSE_AUDIO_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SOUND_TYPE_PULSE_AUDIO_MANAGER, SoundPulseAudioManagerClass))
#define SOUND_IS_PULSE_AUDIO_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SOUND_TYPE_PULSE_AUDIO_MANAGER))
#define SOUND_IS_PULSE_AUDIO_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SOUND_TYPE_PULSE_AUDIO_MANAGER))
#define SOUND_PULSE_AUDIO_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SOUND_TYPE_PULSE_AUDIO_MANAGER, SoundPulseAudioManagerClass))

typedef struct _SoundPulseAudioManager SoundPulseAudioManager;
typedef struct _SoundPulseAudioManagerClass SoundPulseAudioManagerClass;
typedef struct _SoundPulseAudioManagerPrivate SoundPulseAudioManagerPrivate;

#define SOUND_TYPE_DEVICE (sound_device_get_type ())
#define SOUND_DEVICE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SOUND_TYPE_DEVICE, SoundDevice))
#define SOUND_DEVICE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SOUND_TYPE_DEVICE, SoundDeviceClass))
#define SOUND_IS_DEVICE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SOUND_TYPE_DEVICE))
#define SOUND_IS_DEVICE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SOUND_TYPE_DEVICE))
#define SOUND_DEVICE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SOUND_TYPE_DEVICE, SoundDeviceClass))

typedef struct _SoundDevice SoundDevice;
typedef struct _SoundDeviceClass SoundDeviceClass;

#define SOUND_TYPE_PLUG (sound_plug_get_type ())
#define SOUND_PLUG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SOUND_TYPE_PLUG, SoundPlug))
#define SOUND_PLUG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SOUND_TYPE_PLUG, SoundPlugClass))
#define SOUND_IS_PLUG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SOUND_TYPE_PLUG))
#define SOUND_IS_PLUG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SOUND_TYPE_PLUG))
#define SOUND_PLUG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SOUND_TYPE_PLUG, SoundPlugClass))

typedef struct _SoundPlug SoundPlug;
typedef struct _SoundPlugClass SoundPlugClass;
typedef struct _SoundPlugPrivate SoundPlugPrivate;

#define SOUND_TYPE_OUTPUT_PANEL (sound_output_panel_get_type ())
#define SOUND_OUTPUT_PANEL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SOUND_TYPE_OUTPUT_PANEL, SoundOutputPanel))
#define SOUND_OUTPUT_PANEL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SOUND_TYPE_OUTPUT_PANEL, SoundOutputPanelClass))
#define SOUND_IS_OUTPUT_PANEL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SOUND_TYPE_OUTPUT_PANEL))
#define SOUND_IS_OUTPUT_PANEL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SOUND_TYPE_OUTPUT_PANEL))
#define SOUND_OUTPUT_PANEL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SOUND_TYPE_OUTPUT_PANEL, SoundOutputPanelClass))

typedef struct _SoundOutputPanel SoundOutputPanel;
typedef struct _SoundOutputPanelClass SoundOutputPanelClass;
typedef struct _SoundOutputPanelPrivate SoundOutputPanelPrivate;

#define SOUND_TYPE_INPUT_PANEL (sound_input_panel_get_type ())
#define SOUND_INPUT_PANEL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SOUND_TYPE_INPUT_PANEL, SoundInputPanel))
#define SOUND_INPUT_PANEL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SOUND_TYPE_INPUT_PANEL, SoundInputPanelClass))
#define SOUND_IS_INPUT_PANEL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SOUND_TYPE_INPUT_PANEL))
#define SOUND_IS_INPUT_PANEL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SOUND_TYPE_INPUT_PANEL))
#define SOUND_INPUT_PANEL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SOUND_TYPE_INPUT_PANEL, SoundInputPanelClass))

typedef struct _SoundInputPanel SoundInputPanel;
typedef struct _SoundInputPanelClass SoundInputPanelClass;
typedef struct _SoundInputPanelPrivate SoundInputPanelPrivate;

#define SOUND_TYPE_INPUT_DEVICE_MONITOR (sound_input_device_monitor_get_type ())
#define SOUND_INPUT_DEVICE_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SOUND_TYPE_INPUT_DEVICE_MONITOR, SoundInputDeviceMonitor))
#define SOUND_INPUT_DEVICE_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SOUND_TYPE_INPUT_DEVICE_MONITOR, SoundInputDeviceMonitorClass))
#define SOUND_IS_INPUT_DEVICE_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SOUND_TYPE_INPUT_DEVICE_MONITOR))
#define SOUND_IS_INPUT_DEVICE_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SOUND_TYPE_INPUT_DEVICE_MONITOR))
#define SOUND_INPUT_DEVICE_MONITOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SOUND_TYPE_INPUT_DEVICE_MONITOR, SoundInputDeviceMonitorClass))

typedef struct _SoundInputDeviceMonitor SoundInputDeviceMonitor;
typedef struct _SoundInputDeviceMonitorClass SoundInputDeviceMonitorClass;
typedef struct _SoundInputDeviceMonitorPrivate SoundInputDeviceMonitorPrivate;

#define SOUND_TYPE_DEVICE_ROW (sound_device_row_get_type ())
#define SOUND_DEVICE_ROW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SOUND_TYPE_DEVICE_ROW, SoundDeviceRow))
#define SOUND_DEVICE_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SOUND_TYPE_DEVICE_ROW, SoundDeviceRowClass))
#define SOUND_IS_DEVICE_ROW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SOUND_TYPE_DEVICE_ROW))
#define SOUND_IS_DEVICE_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SOUND_TYPE_DEVICE_ROW))
#define SOUND_DEVICE_ROW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SOUND_TYPE_DEVICE_ROW, SoundDeviceRowClass))

typedef struct _SoundDeviceRow SoundDeviceRow;
typedef struct _SoundDeviceRowClass SoundDeviceRowClass;
typedef struct _SoundDeviceRowPrivate SoundDeviceRowPrivate;
typedef struct _SoundDevicePrivate SoundDevicePrivate;

struct _SoundApp {
	GObject parent_instance;
	SoundAppPrivate * priv;
};

struct _SoundAppClass {
	GObjectClass parent_class;
};

struct _SoundApplicationsPanel {
	GtkBox parent_instance;
	SoundApplicationsPanelPrivate * priv;
};

struct _SoundApplicationsPanelClass {
	GtkBoxClass parent_class;
};

struct _SoundAppRow {
	GtkGrid parent_instance;
	SoundAppRowPrivate * priv;
};

struct _SoundAppRowClass {
	GtkGridClass parent_class;
};

struct _SoundTestPopover {
	GtkPopover parent_instance;
	SoundTestPopoverPrivate * priv;
};

struct _SoundTestPopoverClass {
	GtkPopoverClass parent_class;
};

struct _SoundTestPopoverPositionButton {
	GtkButton parent_instance;
	SoundTestPopoverPositionButtonPrivate * priv;
};

struct _SoundTestPopoverPositionButtonClass {
	GtkButtonClass parent_class;
};

struct _SoundPulseAudioManager {
	GObject parent_instance;
	SoundPulseAudioManagerPrivate * priv;
};

struct _SoundPulseAudioManagerClass {
	GObjectClass parent_class;
};

struct _SoundPlug {
	SwitchboardPlug parent_instance;
	SoundPlugPrivate * priv;
};

struct _SoundPlugClass {
	SwitchboardPlugClass parent_class;
};

struct _SoundOutputPanel {
	GtkBox parent_instance;
	SoundOutputPanelPrivate * priv;
};

struct _SoundOutputPanelClass {
	GtkBoxClass parent_class;
};

struct _SoundInputPanel {
	GtkBox parent_instance;
	SoundInputPanelPrivate * priv;
};

struct _SoundInputPanelClass {
	GtkBoxClass parent_class;
};

struct _SoundInputDeviceMonitor {
	GObject parent_instance;
	SoundInputDeviceMonitorPrivate * priv;
};

struct _SoundInputDeviceMonitorClass {
	GObjectClass parent_class;
};

struct _SoundDeviceRow {
	GtkListBoxRow parent_instance;
	SoundDeviceRowPrivate * priv;
};

struct _SoundDeviceRowClass {
	GtkListBoxRowClass parent_class;
};

struct _SoundDevice {
	GObject parent_instance;
	SoundDevicePrivate * priv;
	pa_cvolume cvolume;
	pa_channel_map channel_map;
	GeeLinkedList* volume_operations;
};

struct _SoundDeviceClass {
	GObjectClass parent_class;
};

VALA_EXTERN GType sound_app_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SoundApp, g_object_unref)
VALA_EXTERN SoundApp* sound_app_new_from_sink_input_info (pa_sink_input_info* sink_input);
VALA_EXTERN SoundApp* sound_app_construct_from_sink_input_info (GType object_type,
                                                    pa_sink_input_info* sink_input);
VALA_EXTERN SoundApp* sound_app_new (void);
VALA_EXTERN SoundApp* sound_app_construct (GType object_type);
VALA_EXTERN guint32 sound_app_get_index (SoundApp* self);
VALA_EXTERN const gchar* sound_app_get_name (SoundApp* self);
VALA_EXTERN const gchar* sound_app_get_display_name (SoundApp* self);
VALA_EXTERN GIcon* sound_app_get_icon (SoundApp* self);
VALA_EXTERN const gchar* sound_app_get_media_name (SoundApp* self);
VALA_EXTERN void sound_app_set_media_name (SoundApp* self,
                               const gchar* value);
VALA_EXTERN gdouble sound_app_get_volume (SoundApp* self);
VALA_EXTERN void sound_app_set_volume (SoundApp* self,
                           gdouble value);
VALA_EXTERN gboolean sound_app_get_muted (SoundApp* self);
VALA_EXTERN void sound_app_set_muted (SoundApp* self,
                          gboolean value);
VALA_EXTERN void sound_app_get_channel_map (SoundApp* self,
                                pa_channel_map * result);
VALA_EXTERN void sound_app_set_channel_map (SoundApp* self,
                                pa_channel_map * value);
VALA_EXTERN gboolean sound_app_get_hidden (SoundApp* self);
VALA_EXTERN void sound_app_set_hidden (SoundApp* self,
                           gboolean value);
VALA_EXTERN GType sound_applications_panel_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SoundApplicationsPanel, g_object_unref)
VALA_EXTERN SoundApplicationsPanel* sound_applications_panel_new (void);
VALA_EXTERN SoundApplicationsPanel* sound_applications_panel_construct (GType object_type);
VALA_EXTERN GType sound_app_row_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SoundAppRow, g_object_unref)
VALA_EXTERN void sound_app_row_bind_app (SoundAppRow* self,
                             SoundApp* app);
VALA_EXTERN void sound_app_row_unbind_app (SoundAppRow* self);
VALA_EXTERN SoundAppRow* sound_app_row_new (void);
VALA_EXTERN SoundAppRow* sound_app_row_construct (GType object_type);
VALA_EXTERN ca_context* canberra_gtk4_context_get (void);
VALA_EXTERN GType sound_test_popover_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SoundTestPopover, g_object_unref)
VALA_EXTERN SoundTestPopover* sound_test_popover_new (void);
VALA_EXTERN SoundTestPopover* sound_test_popover_construct (GType object_type);
VALA_EXTERN GType sound_test_popover_position_button_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SoundTestPopoverPositionButton, g_object_unref)
VALA_EXTERN SoundTestPopoverPositionButton* sound_test_popover_position_button_new (pa_channel_position_t pa_position);
VALA_EXTERN SoundTestPopoverPositionButton* sound_test_popover_position_button_construct (GType object_type,
                                                                              pa_channel_position_t pa_position);
VALA_EXTERN pa_channel_position_t sound_test_popover_position_button_get_pa_position (SoundTestPopoverPositionButton* self);
VALA_EXTERN GType sound_pulse_audio_manager_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SoundPulseAudioManager, g_object_unref)
VALA_EXTERN SoundPulseAudioManager* sound_pulse_audio_manager_get_default (void);
VALA_EXTERN void sound_pulse_audio_manager_start (SoundPulseAudioManager* self);
VALA_EXTERN GType sound_device_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SoundDevice, g_object_unref)
VALA_EXTERN void sound_pulse_audio_manager_set_default_device (SoundPulseAudioManager* self,
                                                   SoundDevice* device,
                                                   GAsyncReadyCallback _callback_,
                                                   gpointer _user_data_);
VALA_EXTERN void sound_pulse_audio_manager_set_default_device_finish (SoundPulseAudioManager* self,
                                                          GAsyncResult* _res_);
VALA_EXTERN void sound_pulse_audio_manager_change_device_mute (SoundPulseAudioManager* self,
                                                   SoundDevice* device,
                                                   gboolean mute);
VALA_EXTERN void sound_pulse_audio_manager_change_device_volume (SoundPulseAudioManager* self,
                                                     SoundDevice* device,
                                                     gdouble volume);
VALA_EXTERN void sound_pulse_audio_manager_change_device_balance (SoundPulseAudioManager* self,
                                                      SoundDevice* device,
                                                      gfloat balance);
VALA_EXTERN void sound_pulse_audio_manager_change_application_volume (SoundPulseAudioManager* self,
                                                          SoundApp* app,
                                                          gdouble volume);
VALA_EXTERN void sound_pulse_audio_manager_mute_application (SoundPulseAudioManager* self,
                                                 SoundApp* app,
                                                 gboolean mute);
VALA_EXTERN pa_context* sound_pulse_audio_manager_get_context (SoundPulseAudioManager* self);
VALA_EXTERN GListStore* sound_pulse_audio_manager_get_apps (SoundPulseAudioManager* self);
VALA_EXTERN SoundDevice* sound_pulse_audio_manager_get_default_output (SoundPulseAudioManager* self);
VALA_EXTERN SoundDevice* sound_pulse_audio_manager_get_default_input (SoundPulseAudioManager* self);
VALA_EXTERN GType sound_plug_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SoundPlug, g_object_unref)
VALA_EXTERN SoundPlug* sound_plug_new (void);
VALA_EXTERN SoundPlug* sound_plug_construct (GType object_type);
VALA_EXTERN SwitchboardPlug* get_plug (GModule* module);
VALA_EXTERN GType sound_output_panel_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SoundOutputPanel, g_object_unref)
VALA_EXTERN SoundOutputPanel* sound_output_panel_new (void);
VALA_EXTERN SoundOutputPanel* sound_output_panel_construct (GType object_type);
VALA_EXTERN gboolean sound_output_panel_get_screen_reader_active (SoundOutputPanel* self);
VALA_EXTERN void sound_output_panel_set_screen_reader_active (SoundOutputPanel* self,
                                                  gboolean value);
VALA_EXTERN GType sound_input_panel_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SoundInputPanel, g_object_unref)
VALA_EXTERN void sound_input_panel_set_visibility (SoundInputPanel* self,
                                       gboolean is_visible);
VALA_EXTERN SoundInputPanel* sound_input_panel_new (void);
VALA_EXTERN SoundInputPanel* sound_input_panel_construct (GType object_type);
VALA_EXTERN GType sound_input_device_monitor_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SoundInputDeviceMonitor, g_object_unref)
VALA_EXTERN SoundInputDeviceMonitor* sound_input_device_monitor_new (void);
VALA_EXTERN SoundInputDeviceMonitor* sound_input_device_monitor_construct (GType object_type);
VALA_EXTERN void sound_input_device_monitor_stop_record (SoundInputDeviceMonitor* self);
VALA_EXTERN void sound_input_device_monitor_start_record (SoundInputDeviceMonitor* self);
VALA_EXTERN void sound_input_device_monitor_set_device (SoundInputDeviceMonitor* self,
                                            SoundDevice* device);
VALA_EXTERN GType sound_device_row_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (SoundDeviceRow, g_object_unref)
VALA_EXTERN SoundDeviceRow* sound_device_row_new (SoundDevice* device);
VALA_EXTERN SoundDeviceRow* sound_device_row_construct (GType object_type,
                                            SoundDevice* device);
VALA_EXTERN void sound_device_row_link_to_row (SoundDeviceRow* self,
                                   SoundDeviceRow* row);
VALA_EXTERN SoundDevice* sound_device_row_get_device (SoundDeviceRow* self);
VALA_EXTERN SoundDevice* sound_device_new (const gchar* id,
                               guint32 card_index,
                               const gchar* port_name);
VALA_EXTERN SoundDevice* sound_device_construct (GType object_type,
                                     const gchar* id,
                                     guint32 card_index,
                                     const gchar* port_name);
VALA_EXTERN gchar* sound_device_get_nice_form_factor (SoundDevice* self);
VALA_EXTERN gchar* sound_device_get_matching_profile (SoundDevice* self,
                                          SoundDevice* other_device);
VALA_EXTERN gboolean sound_device_get_input (SoundDevice* self);
VALA_EXTERN void sound_device_set_input (SoundDevice* self,
                             gboolean value);
VALA_EXTERN const gchar* sound_device_get_id (SoundDevice* self);
VALA_EXTERN const gchar* sound_device_get_card_name (SoundDevice* self);
VALA_EXTERN void sound_device_set_card_name (SoundDevice* self,
                                 const gchar* value);
VALA_EXTERN guint32 sound_device_get_card_index (SoundDevice* self);
VALA_EXTERN const gchar* sound_device_get_description (SoundDevice* self);
VALA_EXTERN void sound_device_set_description (SoundDevice* self,
                                   const gchar* value);
VALA_EXTERN const gchar* sound_device_get_port_name (SoundDevice* self);
VALA_EXTERN const gchar* sound_device_get_display_name (SoundDevice* self);
VALA_EXTERN void sound_device_set_display_name (SoundDevice* self,
                                    const gchar* value);
VALA_EXTERN const gchar* sound_device_get_form_factor (SoundDevice* self);
VALA_EXTERN void sound_device_set_form_factor (SoundDevice* self,
                                   const gchar* value);
VALA_EXTERN const gchar* sound_device_get_icon_name (SoundDevice* self);
VALA_EXTERN void sound_device_set_icon_name (SoundDevice* self,
                                 const gchar* value);
VALA_EXTERN GeeArrayList* sound_device_get_profiles (SoundDevice* self);
VALA_EXTERN void sound_device_set_profiles (SoundDevice* self,
                                GeeArrayList* value);
VALA_EXTERN const gchar* sound_device_get_card_active_profile_name (SoundDevice* self);
VALA_EXTERN void sound_device_set_card_active_profile_name (SoundDevice* self,
                                                const gchar* value);
VALA_EXTERN const gchar* sound_device_get_sink_name (SoundDevice* self);
VALA_EXTERN void sound_device_set_sink_name (SoundDevice* self,
                                 const gchar* value);
VALA_EXTERN gint sound_device_get_sink_index (SoundDevice* self);
VALA_EXTERN void sound_device_set_sink_index (SoundDevice* self,
                                  gint value);
VALA_EXTERN const gchar* sound_device_get_card_sink_name (SoundDevice* self);
VALA_EXTERN void sound_device_set_card_sink_name (SoundDevice* self,
                                      const gchar* value);
VALA_EXTERN const gchar* sound_device_get_card_sink_port_name (SoundDevice* self);
VALA_EXTERN void sound_device_set_card_sink_port_name (SoundDevice* self,
                                           const gchar* value);
VALA_EXTERN gint sound_device_get_card_sink_index (SoundDevice* self);
VALA_EXTERN void sound_device_set_card_sink_index (SoundDevice* self,
                                       gint value);
VALA_EXTERN const gchar* sound_device_get_source_name (SoundDevice* self);
VALA_EXTERN void sound_device_set_source_name (SoundDevice* self,
                                   const gchar* value);
VALA_EXTERN gint sound_device_get_source_index (SoundDevice* self);
VALA_EXTERN void sound_device_set_source_index (SoundDevice* self,
                                    gint value);
VALA_EXTERN const gchar* sound_device_get_card_source_name (SoundDevice* self);
VALA_EXTERN void sound_device_set_card_source_name (SoundDevice* self,
                                        const gchar* value);
VALA_EXTERN const gchar* sound_device_get_card_source_port_name (SoundDevice* self);
VALA_EXTERN void sound_device_set_card_source_port_name (SoundDevice* self,
                                             const gchar* value);
VALA_EXTERN gint sound_device_get_card_source_index (SoundDevice* self);
VALA_EXTERN void sound_device_set_card_source_index (SoundDevice* self,
                                         gint value);
VALA_EXTERN gboolean sound_device_get_is_default (SoundDevice* self);
VALA_EXTERN void sound_device_set_is_default (SoundDevice* self,
                                  gboolean value);
VALA_EXTERN gboolean sound_device_get_is_muted (SoundDevice* self);
VALA_EXTERN void sound_device_set_is_muted (SoundDevice* self,
                                gboolean value);
VALA_EXTERN gdouble sound_device_get_volume (SoundDevice* self);
VALA_EXTERN void sound_device_set_volume (SoundDevice* self,
                              gdouble value);
VALA_EXTERN gfloat sound_device_get_balance (SoundDevice* self);
VALA_EXTERN void sound_device_set_balance (SoundDevice* self,
                               gfloat value);

G_END_DECLS

#endif
