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)