123456789101112131415161718192021222324252627282930313233343536 |
- #pragma once
- #include <util/darray.h>
- #include <util/dstr.h>
- struct device_item {
- struct dstr name, value;
- };
- static inline void device_item_free(struct device_item *item)
- {
- dstr_free(&item->name);
- dstr_free(&item->value);
- }
- struct device_list {
- DARRAY(struct device_item) items;
- };
- static inline void device_list_free(struct device_list *list)
- {
- for (size_t i = 0; i < list->items.num; i++)
- device_item_free(list->items.array + i);
- da_free(list->items);
- }
- static inline void device_list_add(struct device_list *list,
- struct device_item *item)
- {
- da_push_back(list->items, item);
- memset(item, 0, sizeof(struct device_item));
- }
- extern void coreaudio_enum_devices(struct device_list *list, bool input);
- extern bool coreaudio_get_device_id(CFStringRef uid, AudioDeviceID *id);
|