aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlawl <github@dumbinter.net>2020-07-20 19:09:12 +0200
committerlawl <github@dumbinter.net>2020-07-20 19:09:12 +0200
commit3fc46d2d30ca26eaece8d1dac15d556b0a6f1f7f (patch)
tree76753a2ef738f09257c6ecdc5312083bcb340f37
parent37b35ce1eed438adee42e50d0cc0ddf48375846e (diff)
downloadnoisetorch-3fc46d2d30ca26eaece8d1dac15d556b0a6f1f7f.tar.gz
noisetorch-3fc46d2d30ca26eaece8d1dac15d556b0a6f1f7f.zip
Flag fixed latency inputs as likely incompatible in UI
There is currently a bug in PulseAudio that prevents devices with fixed latency from working. See #30
-rw-r--r--main.go12
-rw-r--r--ui.go6
2 files changed, 13 insertions, 5 deletions
diff --git a/main.go b/main.go
index c756fe8..39cd8f7 100644
--- a/main.go
+++ b/main.go
@@ -22,10 +22,11 @@ import (
//go:generate go run scripts/embedlicenses.go
type input struct {
- ID string
- Name string
- isMonitor bool
- checked bool
+ ID string
+ Name string
+ isMonitor bool
+ checked bool
+ dynamicLatency bool
}
func main() {
@@ -94,6 +95,9 @@ func main() {
inp.Name = sources[i].PropList["device.description"]
inp.isMonitor = (sources[i].MonitorSourceIndex != 0xffffffff)
+ //PA_SOURCE_DYNAMIC_LATENCY = 0x0040U
+ inp.dynamicLatency = sources[i].Flags&uint32(0x0040) != 0
+
inputs = append(inputs, inp)
}
diff --git a/ui.go b/ui.go
index 334d83f..d4334fa 100644
--- a/ui.go
+++ b/ui.go
@@ -137,7 +137,11 @@ func updatefn(w *nucular.Window, ui *uistate) {
}
w.LayoutFitWidth(ui.sourceListColdWidthIndex, 0)
- w.Label(el.Name, "LC")
+ if el.dynamicLatency {
+ w.Label(el.Name, "LC")
+ } else {
+ w.LabelColored("(incompatible?) "+el.Name, "LC", orange)
+ }
}
w.Row(30).Dynamic(1)