fix AlbumArt.jpg glitching out

This commit is contained in:
Octopus Octopus 2024-03-20 20:07:47 -05:00
parent 0951eec5ba
commit 6fdb055d02
2 changed files with 4 additions and 6 deletions

BIN
cmus2obs

Binary file not shown.

10
main.go
View File

@ -5,6 +5,7 @@ import (
"errors" "errors"
"fmt" "fmt"
"image" "image"
"io"
"log" "log"
"os" "os"
"path/filepath" "path/filepath"
@ -97,7 +98,7 @@ func main() {
} }
imgOut := image.NewRGBA(image.Rect(0, 0, IMAGE_SIZE, IMAGE_SIZE)) imgOut := image.NewRGBA(image.Rect(0, 0, IMAGE_SIZE, IMAGE_SIZE))
draw.BiLinear.Scale(imgOut, imgOut.Rect, imgOrig, imgOrig.Bounds(), draw.Over, nil) draw.ApproxBiLinear.Scale(imgOut, imgOut.Rect, imgOrig, imgOrig.Bounds(), draw.Over, nil)
err = jpeg.Encode(imgBuff, imgOut, nil) err = jpeg.Encode(imgBuff, imgOut, nil)
if err != nil { if err != nil {
@ -107,7 +108,7 @@ func main() {
writeTxt("SongAlbum", album) writeTxt("SongAlbum", album)
writeTxt("SongArtist", artist) writeTxt("SongArtist", artist)
writeTxt("SongTitle", title) writeTxt("SongTitle", title)
writeJpg("AlbumArt", img) writeJpg("AlbumArt", imgBuff.Bytes())
} }
prevFilepath = path prevFilepath = path
@ -237,14 +238,11 @@ func getCoverJpg(s string) ([]byte, error) {
return nil, fmt.Errorf("can't open %v", indexes[i].Name()) return nil, fmt.Errorf("can't open %v", indexes[i].Name())
} }
defer cover.Close() defer cover.Close()
info, err := indexes[i].Info()
if err != nil { if err != nil {
return nil, fmt.Errorf("cant stat %v; %v", indexes[i].Name(), err.Error()) return nil, fmt.Errorf("cant stat %v; %v", indexes[i].Name(), err.Error())
} }
art := make([]byte, info.Size())
cover.Read(art) return io.ReadAll(cover)
return art, nil
} }
} }
} }