commit 21733c11e4e65fda5b80848105bf40a2f48fb65e Author: Octopus Octopus Date: Wed Mar 13 11:35:20 2024 -0500 first commit. lay groundworks for reading. diff --git a/cmus2obs b/cmus2obs new file mode 100755 index 0000000..f18c77f Binary files /dev/null and b/cmus2obs differ diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..d8d0930 --- /dev/null +++ b/go.mod @@ -0,0 +1,3 @@ +module cmus2obs + +go 1.22.1 \ No newline at end of file diff --git a/main.go b/main.go new file mode 100644 index 0000000..7a8505d --- /dev/null +++ b/main.go @@ -0,0 +1,62 @@ +package main + +import ( + "fmt" + "log" + "os" + "strings" + + "os/exec" +) + +const TIMER = 2 + +func main() { + c := exec.Command("cmus-remote", "-Q") + o, _ := c.Output() + remoteResp := strings.Split(string(o), "\n") + //Album + album, err := getAttribute(remoteResp, "tag album ") + if err != nil { + album = "Unknown" + } + //artist + artist, err := getAttribute(remoteResp, "tag artist ") + if err != nil { + artist = "Unknown" + } + // Title + title, err := getAttribute(remoteResp, "tag title ") + if err != nil { + title = "Unknown" + } + + writeTxt("SongAlbum", album) + writeTxt("SongArtist", artist) + writeTxt("SongTitle", title) +} + +func writeTxt(filename, input string) { + f, err := os.Create("./output/" + filename + ".txt") + if err != nil { + log.Fatal(err.Error()) + } + defer f.Close() + + f.Write([]byte(input)) +} + +func getAttribute(input []string, prefix string) (string, error) { + var attr string + for i := range input { + has := strings.HasPrefix(input[i], prefix) + if has { + attr = input[i] + } + } + attr, b := strings.CutPrefix(attr, prefix) + if !b { + return "", fmt.Errorf("did not find prefix \"%v\"", prefix) + } + return attr, nil +} diff --git a/output/AlbumArt.jpg b/output/AlbumArt.jpg new file mode 100644 index 0000000..2265011 Binary files /dev/null and b/output/AlbumArt.jpg differ diff --git a/output/SongAlbum.txt b/output/SongAlbum.txt new file mode 100644 index 0000000..736950d --- /dev/null +++ b/output/SongAlbum.txt @@ -0,0 +1 @@ +LOVE /// DISCONNECT \ No newline at end of file diff --git a/output/SongArtist.txt b/output/SongArtist.txt new file mode 100644 index 0000000..63427ca --- /dev/null +++ b/output/SongArtist.txt @@ -0,0 +1 @@ +♥ GOJII ♥ \ No newline at end of file diff --git a/output/SongInfo.txt b/output/SongInfo.txt new file mode 100644 index 0000000..e69de29 diff --git a/output/SongTitle.txt b/output/SongTitle.txt new file mode 100644 index 0000000..c97e1ac --- /dev/null +++ b/output/SongTitle.txt @@ -0,0 +1 @@ +TOOTHPASTE FOREST ( SHADY ☆ MONK RMX ) \ No newline at end of file