| 1234567891011121314151617181920212223242526272829303132333435 | 
							- #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);
 
 
  |