summaryrefslogtreecommitdiff
path: root/src/services/audio-service.h
diff options
context:
space:
mode:
authorHannes Schulze <haschu0103@outlook.de>2024-05-06 13:42:55 +0200
committerHannes Schulze <haschu0103@outlook.de>2024-05-06 14:33:54 +0200
commit37d5ef75306c45ca95550f4af40d9750c5b9cb88 (patch)
tree7125c8e8445eeecb86097bc99bb2d1febfb7e2a5 /src/services/audio-service.h
initial commit
yup, i definitely wrote all of this in a single commit
Diffstat (limited to 'src/services/audio-service.h')
-rw-r--r--src/services/audio-service.h44
1 files changed, 44 insertions, 0 deletions
diff --git a/src/services/audio-service.h b/src/services/audio-service.h
new file mode 100644
index 0000000..cd30de1
--- /dev/null
+++ b/src/services/audio-service.h
@@ -0,0 +1,44 @@
+#pragma once
+
+#include <glib-object.h>
+#include <gio/gio.h>
+
+G_BEGIN_DECLS
+
+#define FOOBAR_TYPE_AUDIO_DEVICE_KIND foobar_audio_device_kind_get_type( )
+#define FOOBAR_TYPE_AUDIO_DEVICE foobar_audio_device_get_type( )
+#define FOOBAR_TYPE_AUDIO_SERVICE foobar_audio_service_get_type( )
+
+typedef enum
+{
+ FOOBAR_AUDIO_DEVICE_INPUT = 0,
+ FOOBAR_AUDIO_DEVICE_OUTPUT,
+} FoobarAudioDeviceKind;
+
+GType foobar_audio_device_kind_get_type( void );
+
+G_DECLARE_FINAL_TYPE( FoobarAudioDevice, foobar_audio_device, FOOBAR, AUDIO_DEVICE, GObject )
+
+FoobarAudioDeviceKind foobar_audio_device_get_kind ( FoobarAudioDevice* self );
+guint foobar_audio_device_get_id ( FoobarAudioDevice* self );
+gchar const* foobar_audio_device_get_name ( FoobarAudioDevice* self );
+gchar const* foobar_audio_device_get_description( FoobarAudioDevice* self );
+gint foobar_audio_device_get_volume ( FoobarAudioDevice* self );
+gboolean foobar_audio_device_is_muted ( FoobarAudioDevice* self );
+gboolean foobar_audio_device_is_default ( FoobarAudioDevice* self );
+gboolean foobar_audio_device_is_available ( FoobarAudioDevice* self );
+void foobar_audio_device_set_volume ( FoobarAudioDevice* self,
+ gint value );
+void foobar_audio_device_set_muted ( FoobarAudioDevice* self,
+ gboolean value );
+void foobar_audio_device_make_default ( FoobarAudioDevice* self );
+
+G_DECLARE_FINAL_TYPE( FoobarAudioService, foobar_audio_service, FOOBAR, AUDIO_SERVICE, GObject )
+
+FoobarAudioService* foobar_audio_service_new ( void );
+FoobarAudioDevice* foobar_audio_service_get_default_input ( FoobarAudioService* self );
+FoobarAudioDevice* foobar_audio_service_get_default_output( FoobarAudioService* self );
+GListModel* foobar_audio_service_get_inputs ( FoobarAudioService* self );
+GListModel* foobar_audio_service_get_outputs ( FoobarAudioService* self );
+
+G_END_DECLS \ No newline at end of file