~schnouki/pustule

ref: 2e90522e70214bb6d1bb88aef6f7d8c06152a99f pustule/pulse.c -rw-r--r-- 8.0 KiB
1ac5d350 — Thomas Jost 11 months ago
Rewrite the whole thing using Lua

No more Guile, no more threads. Pustule is now single-threaded and uses Lua.
101b430f — Thomas Jost 4 years ago
Add functions to get/set the default device
2a9a0382 — Thomas Jost 4 years ago
Implement device events

Run new hooks when a device ("sink" in PulseAudio) is added or removed,
and make it possible to change their volumes.
52679e69 — Thomas Jost 4 years ago
More preparation for other events
e145422c — Thomas Jost 4 years ago
Move volume request to a different callback

Which also probably fixes a memory leak…
e61282b3 — Thomas Jost 4 years ago
Prepare for having different event types
b3067192 — Thomas Jost 4 years ago
Replace "sink" by "input"
922e3ec8 — Thomas Jost 4 years ago
Update copyright notice
340056bf — Thomas Jost 6 years ago
Add pustule-get-volume
ab68932a — Thomas Jost 6 years ago
Run the PulseAudio event loop in another thread

And avoir running Guile code from the PulseAudio thread. It tends to
break things.

It is therefore necessary to run the handlers functions from the main
thread (or any other Guile thread), so there's a very simple mutex-based
event loop in pustule_run() which does just that. So far it seems to
work :)

There are still some quirks regarding memory usage and the Guile GC;
hopefully more testing will reveal what the problems are.
7aae08ce — Thomas Jost 6 years ago
Split C source
Next