Giter Site home page Giter Site logo

clematis's Introduction

Just when you think you've hit rock bottom, you realize you're standing on another trapdoor.

. . . ⇢ ˗ˏˋ Website ˚ ✦ Blog ˗ ˚ Community ˋˏ˗ ⇠ . . .

˚ · Info * ˚ ✦

I'm a hobbyist software developer working on projects that interest me. I like to tinker with software written in Go, Lua and Gleam. I have 7 years of progamming experience in a few different languages.

clematis's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

clematis's Issues

feat: config

custom config!! this would allow multiple things to be configured like:

  • #4
  • blacklist - array of player names to not take info from
  • presence - table of presence info to change
    • state and details
    • showTime - whether to show time elapsed/remaining
    • timeInfo - would be elapsed or remaining

fix: handle cases of missing fields

untagged music downloaded from youtube and such won't have proper information attached to it like album title and clematis should handle these cases

panic: interface conversion: interface {} is nil, not int64

%: ./Clematis
Getting information from Mozilla Firefox
panic: interface conversion: interface {} is nil, not int64

goroutine 1 [running]:
main.setPresence(0xc065a28c29b7a0b9, {0xc065a28c29b7a0b9, 0x38e123b6e, 0x676840}, 0xc000123f08)
	/home/user/go/pkg/mod/github.com/!torched!sammy/[email protected]/main.go:130 +0x585
main.main()
	/home/user/go/pkg/mod/github.com/!torched!sammy/[email protected]/main.go:68 +0x4e6

feat: sleep

add the functionality of disabling the rich presence after a period of time has passed. this can be configured via a sleep option for 0s being no sleep

clematis panics if Metadata doesn't have xesam:url

trying to run Clematis gives me

Getting information from "cmus"
panic: interface conversion: interface {} is nil, not string

goroutine 1 [running]:
main.setPresence(0xc057de56821c1643, {0xc057de56821c1643, 0xfffffffc8a0095e5, 0x6788a0})
	/home/jelly/Clematis/main.go:114 +0x4d4
main.main()
	/home/jelly/Clematis/main.go:69 +0x8c5

looking at the line that panics out, it seems that cmus doesn't want to expose any of my files' xesam:url.

entering dbus-send --print-reply --dest=org.mpris.MediaPlayer2.cmus /org/mpris/MediaPlayer2 org.freedesktop.DBus.Properties.Get string:'org.mpris.MediaPlayer2.Player' string:'Metadata' into my shell gives me, for example,

method return time=1635713510.349210 sender=:1.47 -> destination=:1.90 serial=67 reply_serial=2
   variant       array [
         dict entry(
            string "mpris:trackid"
            variant                object path "/31"
         )
         dict entry(
            string "mpris:length"
            variant                int64 238000000
         )
         dict entry(
            string "xesam:artist"
            variant                array [
                  string "aespa"
               ]
         )
         dict entry(
            string "xesam:title"
            variant                string "Savage"
         )
         dict entry(
            string "xesam:album"
            variant                string "Savage - The 1st Mini Album"
         )
         dict entry(
            string "xesam:albumArtist"
            variant                array [
                  string "aespa"
               ]
         )
         dict entry(
            string "xesam:genre"
            variant                array [
                  string "댄스/팝"
               ]
         )
         dict entry(
            string "xesam:comment"
            variant                array [
                  string "32349594"
               ]
         )
         dict entry(
            string "xesam:trackNumber"
            variant                int32 2
         )
         dict entry(
            string "xesam:discNumber"
            variant                int32 1
         )
      ]

i think i might have a fix but i feel like it's a bandaid fix and it might suck ^^;

Does not work with Discord Flatpak

I have to use the Discord Flatpak as I'm on Steam Deck.

I get the error: 2023-03-12 18:22:21 ERROR > dial unix /run/user/1000/discord-ipc-0: connect: no such file or directory

Which I assume is because it's looking for the discord binary if installed through a package manager.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.