diff --git a/cmd/deckcolor/main.go b/cmd/deckcolor/main.go index 40db735..a9bfa0f 100644 --- a/cmd/deckcolor/main.go +++ b/cmd/deckcolor/main.go @@ -98,7 +98,7 @@ func main() { draw.Draw(img, img.Bounds(), &image.Uniform{bg}, image.Point{}, draw.Src) charW := font.MeasureString(stripFont, "0").Ceil() pad := 8 - for e := 0; e < count; e++ { + for e := range count { ci := p.Start + e ch := channels[ci] cc := ch.Color @@ -107,10 +107,7 @@ func main() { valStr := fmt.Sprintf("%03d %02x", ch.Value, ch.Value) nameW := font.MeasureString(stripFont, ch.Name).Ceil() valW := font.MeasureString(stripFont, valStr).Ceil() - textW := nameW - if valW > textW { - textW = valW - } + textW := max(valW, nameW) x0 := mid - textW/2 - pad x1 := mid + textW/2 + pad @@ -155,8 +152,8 @@ func main() { if i == page { img := image.NewRGBA(image.Rect(0, 0, sz, sz)) draw.Draw(img, img.Bounds(), txt, image.Point{}, draw.Src) - for y := 0; y < sz; y++ { - for x := 0; x < sz; x++ { + for y := range sz { + for x := range sz { if x < b || x >= sz-b || y < b || y >= sz-b { img.Set(x, y, color.RGBA{255, 255, 255, 255}) } diff --git a/cmd/qrunproxy/show.go b/cmd/qrunproxy/show.go index 25a2270..d03bdb4 100644 --- a/cmd/qrunproxy/show.go +++ b/cmd/qrunproxy/show.go @@ -1,5 +1,7 @@ package main +import "strings" + import "fmt" type Show struct { @@ -30,11 +32,12 @@ type Trigger struct { } func (t *Trigger) String() string { - s := fmt.Sprintf("%s/%s ->", t.Source.Block, t.Source.Signal) + var s strings.Builder + s.WriteString(fmt.Sprintf("%s/%s ->", t.Source.Block, t.Source.Signal)) for _, target := range t.Targets { - s += fmt.Sprintf(" %s/%s", target.Block, target.Hook) + s.WriteString(fmt.Sprintf(" %s/%s", target.Block, target.Hook)) } - return s + return s.String() } type TriggerSource struct { diff --git a/cmd/qrunproxy/timeline.go b/cmd/qrunproxy/timeline.go index 5daa4a9..3b4ab7c 100644 --- a/cmd/qrunproxy/timeline.go +++ b/cmd/qrunproxy/timeline.go @@ -49,12 +49,7 @@ func (t *TimelineTrack) cellTypeAt(index int, types ...CellType) bool { if index < 0 || index >= len(t.Cells) { return false } - for _, typ := range types { - if t.Cells[index].Type == typ { - return true - } - } - return false + return slices.Contains(types, t.Cells[index].Type) } func (c *TimelineCell) String() string { @@ -98,14 +93,15 @@ func (g exclusiveGroup) satisfied(tracks []*TimelineTrack) bool { } func (g exclusiveGroup) String() string { - s := "exclusive(" + var s strings.Builder + s.WriteString("exclusive(") for i, m := range g.members { if i > 0 { - s += ", " + s.WriteString(", ") } - s += m.String() + s.WriteString(m.String()) } - return s + ")" + return s.String() + ")" } func (tl *Timeline) debugf(format string, args ...any) { diff --git a/cmd/xtouchtest/main.go b/cmd/xtouchtest/main.go index 6c604c3..f27190d 100644 --- a/cmd/xtouchtest/main.go +++ b/cmd/xtouchtest/main.go @@ -69,7 +69,7 @@ func main() { os.Exit(1) } - for i := uint8(0); i < 8; i++ { + for i := range uint8(8) { updateLCD(out, i) } diff --git a/lib/streamdeck/streamdeck.go b/lib/streamdeck/streamdeck.go index 94fd55b..77c34d3 100644 --- a/lib/streamdeck/streamdeck.go +++ b/lib/streamdeck/streamdeck.go @@ -38,13 +38,13 @@ var ModelXL = Model{ } var ModelPlus = Model{ - Name: "Plus", - Keys: 8, - KeyRows: 2, - KeyCols: 4, - KeySize: 120, - Encoders: 4, - LCDWidth: 800, + Name: "Plus", + Keys: 8, + KeyRows: 2, + KeyCols: 4, + KeySize: 120, + Encoders: 4, + LCDWidth: 800, LCDHeight: 100, } @@ -101,10 +101,10 @@ func OpenModel(m *Model) (*Device, error) { return &Device{dev: dev, model: m}, nil } -func (d *Device) Model() *Model { return d.model } -func (d *Device) Close() error { return d.dev.Close() } +func (d *Device) Model() *Model { return d.model } +func (d *Device) Close() error { return d.dev.Close() } func (d *Device) SerialNumber() string { return d.dev.SerialNumber() } -func (d *Device) Product() string { return d.dev.Product() } +func (d *Device) Product() string { return d.dev.Product() } func (d *Device) FirmwareVersion() (string, error) { buf, err := d.dev.GetFeatureReport(5) @@ -150,8 +150,8 @@ func (d *Device) SetKeyImage(key int, img image.Image) error { var src image.Image = scaled if d.model.FlipKeys { flipped := image.NewRGBA(scaled.Bounds()) - for y := 0; y < sz; y++ { - for x := 0; x < sz; x++ { + for y := range sz { + for x := range sz { flipped.Set(sz-1-x, sz-1-y, scaled.At(x, y)) } } diff --git a/lib/streamdeck/text.go b/lib/streamdeck/text.go index cc93d1e..d410d4a 100644 --- a/lib/streamdeck/text.go +++ b/lib/streamdeck/text.go @@ -108,11 +108,11 @@ type TextSpan struct { func DrawOutlinedSpans(img *image.RGBA, face font.Face, defaultOutline color.Color, thickness int, lines ...[]TextSpan) { var full []string for _, line := range lines { - s := "" + var s strings.Builder for _, span := range line { - s += span.Text + s.WriteString(span.Text) } - full = append(full, s) + full = append(full, s.String()) } metrics := face.Metrics()