From 37d5ef75306c45ca95550f4af40d9750c5b9cb88 Mon Sep 17 00:00:00 2001 From: Hannes Schulze Date: Mon, 6 May 2024 13:42:55 +0200 Subject: initial commit yup, i definitely wrote all of this in a single commit --- src/services/audio-service.h | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 src/services/audio-service.h (limited to 'src/services/audio-service.h') 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 +#include + +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 -- cgit v1.3.1