Epulse
Epulse
Epulse
Software structure
What Epulse brings with:
- pulseaudio integration in ecore
- A gadget for enlightenment to control the volume of the desired backend
- A backend to abstract the sound manipulating from the ui
- Two backends, one for alsa, one for pulseaudio.
Feature Whishlist
To think about
- ALSA does not support event subscribing, so there should be something like a "ping" to the backend that the backend can refresh things like the cards etc.
What needs the backend
Events callled by the backend:
- sink_change
- sink_add
- sink_del
- playback_add
- playback_change
- playback_del
- source_change
- source_add
- source_del
- source_input_change
- source_input_add
- source_input_de
API for:
+ init()
+ shutdown()
+ volume_get(Sink):int
+ volume_set(Sink, Volume v)
+ mute_get(Sink):Bool
+ mute_set(Sink, Bool)
+ sink_default_name_support():Bool
+ sink_default_name_get():Sink
+ sink_default_name_set(Sink)
+ source_default_name_support():Bool
+ source_default_name_get():Sink
+ source_default_name_set(Sink)
+ change_sink_supports():Bool
+ change_sink(Playback, Sink)
+ change_source_supports():Bool
+ change_source(Source_Input, Source)
+ supports_change_output_device():Bool
+ channel_default_name_get(Sink):Channel
+ channel_default_name_set(Sink, Channel)
+ channels_get(Sink):Channel[]
structs:
Volume:
int channel_count; int[] volumes; <= the id of the array is the id of the channel and the value the volume
Sink
const char *name; void *b_data;
Playback
const char *name; void *b_data;
Source
const char *name; void *b_data;
Source-Input
const char *name; void *b_data;
Channel
const char *name; int idx;
- Last Author
- bu5hm4n
- Last Edited
- Jul 20 2014, 5:00 AM
- Projects
- None
- Subscribers
- None