Git Product home page Git Product logo

Comments (14)

lcpz avatar lcpz commented on July 24, 2024

Working as usual here.

Maybe is just a Lua caching issue. I've committed a fix, so git update lain.

If it's still acting up, try adding

package.loaded.lain = nil

before

local lain = require("lain")

in your rc.lua.

Let me know.

from lain.

Foxboron avatar Foxboron commented on July 24, 2024

Nope, still acting up. This also occurs even when mpd is paused btw.

from lain.

lcpz avatar lcpz commented on July 24, 2024

You should provide me more info on how you're using it, then.

Since I'm using it with my copland config, with no such issue.

from lain.

Foxboron avatar Foxboron commented on July 24, 2024

Using the multicolor config. All vanilla. No edits too the code in the MPD widget, nor in lain.

from lain.

lcpz avatar lcpz commented on July 24, 2024

I still got no problems, even with vanilla multicolor.

I don't know if this may help, but I committed a little change to the curl call within the worker function.

Otherwise, are you sure sure your MPD is properly set? Try out with my mpd configs. Of course, you have to modify the paths accordingly.

from lain.

blueluke avatar blueluke commented on July 24, 2024

Getting the same issue - both with a default copland config and my own powerarrow variant.
From what I can tell, my .mpdconf seems to be fine (not that differnt from yours).

2nd fix had no effetc, either.

from lain.

lcpz avatar lcpz commented on July 24, 2024

I don't know what could cause this. 😢

I still think it may be a caching problem, I'll try something concrete later.

from lain.

blueluke avatar blueluke commented on July 24, 2024

I might have a hint. I checked the output of your curl query with a simple bash loop:

i=0
for (( ; ; ))
    do
        echo $i >> test.txt
        echo -e "status\ncurrentsong\nclose" | curl --connect-timeout 1 -fsm 1 "telnet://127.0.0.1:6600" >> test.txt
        sleep 1
        echo -e "\n\n" >> test.txt
        i=$(($i+1))
done

And tested some usual mpd usage (pausing, track change, etc.) before canceling the loop.
New mpd version: http://pastebin.com/0T2NjSiZ
And with a downgraded mpd 0.17: http://pastebin.com/ZU41pSK8

There's one important difference: In the new mpd version, "currentsong" is not showing in each query.
That might be the reason why the mpd widget can't fetch the current song properly.

from lain.

lcpz avatar lcpz commented on July 24, 2024

You are right. I found out this is affecting a lot of MPD-based programs too, like Sonata.

For the moment, I committed a semi-fix: it should remove the "acting up" behaviour.

About currentsong issue, which will cause the widget not to update or act weirdly most of the times, I'm asking the MPD community.

I'll work on a solution as soon as they answer me properly.

from lain.

Foxboron avatar Foxboron commented on July 24, 2024

Awesome! 👍

from lain.

blueluke avatar blueluke commented on July 24, 2024

Thanks for your efforts so far. 👍

Another thing I noticed: There also seems to be a problem with the state value grabbed from status as pausing/unpausing doesn't update correctly, too.

Even if currentsong returns nothing, shouldn't it still be able to fetch the correct state?

from lain.

lcpz avatar lcpz commented on July 24, 2024

I submitted a bug report here. Add your feedback so they can notice it better.

from lain.

blueluke avatar blueluke commented on July 24, 2024

I managed to find a (somewhat ugly) workaround.
Instead of doing one big echo "\nstatus\ncurrentsong\nclose", do seperateechocommands with a shortsleepin between.
Like this:
(echo -e "status";sleep 0.2;echo -e "currentsong";sleep 0.2;echo -e "close") | curl --connect-timeout 1 -fsm 1 "telnet://127.0.0.1:6600"

This seems to do the trick.
As I don't know how to implement this correctly with lua (My attempts at io.popen failed horribly...), I created a seperate bash-script which is called from within the mpd.lua:
Bash script: http://pastebin.com/di4vf90T
Changes to mpd.lua: http://pastebin.com/dz2EuK2N

Note that this ignores the password parts (I don't use any with my mpd) but I guess it can be added as another echo in the bash script.

from lain.

lcpz avatar lcpz commented on July 24, 2024

Good idea, I implemented it in 3a0aba5. Cheers, blueluke. 🍻

I'll be back on this if MPD people update me, but for now I consider the issue closed.

from lain.

Related Issues (20)

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.