diff --git a/src/modules/volume.h b/src/modules/volume.h deleted file mode 100644 index 39e5344..0000000 --- a/src/modules/volume.h +++ /dev/null @@ -1,63 +0,0 @@ -// Authored by xomf - -#include -#include -#include -#include -#include -#include - - -typedef struct plug_t { - char* name; - char* version; -} plug_t; - - -static plug_t* p = {0}; - -int get_alsa_volume(void) { - long min, max, volume; - snd_mixer_t* handle; - snd_mixer_selem_id_t* sid; - const char* card = "default"; - const char* selem_name = "Master"; - snd_mixer_open(&handle, 0); - snd_mixer_attach(handle, card); - snd_mixer_selem_register(handle, NULL, NULL); - snd_mixer_load(handle); - snd_mixer_selem_id_alloca(&sid); - snd_mixer_selem_id_set_index(sid, 0); - snd_mixer_selem_id_set_name(sid, selem_name); - snd_mixer_elem_t* elem = snd_mixer_find_selem(handle, sid); - snd_mixer_selem_get_playback_volume_range(elem, &min, &max); - snd_mixer_selem_get_playback_volume(elem, SND_MIXER_SCHN_MONO, &volume); - snd_mixer_close(handle); - - int percentage = (volume - min) * 100 / (max - min); - return percentage; -} - - -void* plug_init(void) { - p = malloc(sizeof(plug_t)); - assert(p); - p->name = "Volume"; - p->version = "0.0.1"; - return p; -} - -void* plug_pre_reload(void) { - return p; -} - -void plug_post_reload(void* pp) { - p = pp; -} - -void plug_poll(char* buf, size_t len) { - int volume = get_alsa_volume(); - snprintf(buf, len, "Volume: %d%%", volume); -} - -void plug_free(void) {}