Reply to this topic  Start new topic
> Beta test: Last Widget on Earth, no, seriously...
sneeka2
post Jan 30 2005, 05:21 PM
Post #1






Posts: 102
Joined: 26-January 04
Member No.: 2,186



Please help me beta test this one:

user posted image

Download: Last Widget on Earth

It's a widget to control your Last.fm stream. In case you don't know Last.fm yet: It's an online radio station which plays only music which fits your musical taste. You train it by skipping, banning or promoting songs as you listen. And this widget does exactly that.

For now it's Mac OS only, 'cause I couldn't yet figure out how to start the stream in any media player on Windows. If you know a way to start any (Windows) media player and hand over the stream URL using some runCommand() or something similar, please tell me.

And of course feedback is much appreciated.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
sneeka2
post Feb 1 2005, 09:28 AM
Post #2






Posts: 102
Joined: 26-January 04
Member No.: 2,186



So...

Did just nobody test this, or is there simply no feedback to give? smile.gif
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
redwing6454
post Feb 1 2005, 10:28 AM
Post #3






Posts: 432
Joined: 9-April 03
From: Phila., PA, USA
Member No.: 1,364



This is super!

I had never heard of Last.fm, but I love it. At the website, I suggested 3 artists, then chose a stream from someone who also liked them, and I was off and running. I am hearing all sorts of great artists I never would have found.

As for the widget: I love the look, and that it is re-sizable. Even though it is not a Last.fm function, users probably would like to see a play/pause on the widget (I use keyboard hot keys for that - so a play/pause button is not something I would use).

I am having trouble making it work. When I click on 'ban' or 'skip', the buttons dissapear, and are replaced by the words 'banning' or 'skipping'. The , after a second or two, the buttons come back - but the same track is still playing, and the same artwork/title are showing in the widget. I can only assume that the message isn't making it to Last.fm.

This is definitely something I would use. You have also obviously put a lot of effort and care into making it. I look forward to continued development.

Thanks!




User is offlineProfile CardPM
Go to the top of the page
+Quote Post
sneeka2
post Feb 1 2005, 10:40 AM
Post #4






Posts: 102
Joined: 26-January 04
Member No.: 2,186



QUOTE(redwing6454 @ Feb 1 2005, 11:28 AM)
I am having trouble making it work. When I click on 'ban' or 'skip', the buttons dissapear, and are replaced by the words 'banning' or 'skipping'. The , after a second or two, the buttons come back - but the same track is still playing, and the same artwork/title are showing in the widget. I can only assume that the message isn't making it to Last.fm.
*


That's strange. Does the song at least change in iTunes after a few more seconds? Might be a problem if iTunes buffers ahead too much. Does anybody else have this problem?

EDIT: Did you use any of the website's controls after you started the stream via the widget?

As for the play/pause button: I am thinking about an optional "advanced" interface, with more buttons and functions, but that'd clutter the interface a lot... How many people would be actually interested in additional functions (like a link to the artist's page, "random station" button, play/pause etc)?

And thanks for the generally positive feedback. smile.gif
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
redwing6454
post Feb 1 2005, 11:57 AM
Post #5






Posts: 432
Joined: 9-April 03
From: Phila., PA, USA
Member No.: 1,364



QUOTE(sneeka2 @ Feb 1 2005, 06:40 AM)
That's strange. Does the song at least change in iTunes after a few more seconds? Might be a problem if iTunes buffers ahead too much. Does anybody else have this problem?

Not a buffer issue. I tried clicking 'skip' right near the beginning of a song, and it will continue to play all the way to the end. I have also reduced my buffer size, with no effect.

QUOTE(sneeka2 @ Feb 1 2005, 06:40 AM)
EDIT: Did you use any of the website's controls after you started the stream via the widget?

No. Just to make sure, I have tried again without any of the webpages open.

Here's a thought - because I am a new user, and I haven't listened to enough tracks to have my own personal radio or profile radio, could that cause this problem?

What is being played, when I dont have enough tracks?

QUOTE(sneeka2 @ Feb 1 2005, 06:40 AM)
And thanks for the generally positive feedback. smile.gif

You are most welcome. The pleasure has been mine.




User is offlineProfile CardPM
Go to the top of the page
+Quote Post
sneeka2
post Feb 1 2005, 01:23 PM
Post #6






Posts: 102
Joined: 26-January 04
Member No.: 2,186



QUOTE(redwing6454 @ Feb 1 2005, 12:57 PM)
Here's a thought - because I am a new user, and I haven't listened to enough tracks to have my own personal radio or profile radio, could that cause this problem?
*


No no, you will always be able to skip, ban or promote songs. After all that's how Last.fm builds up your profile in the first place...

I will have a look at that later today when I'm home. I hope they didn't change the web service over night, as this is just in beta testing as well. Might post another version with debug enabled later to determine what causes the problem...
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
redwing6454
post Feb 1 2005, 04:23 PM
Post #7






Posts: 432
Joined: 9-April 03
From: Phila., PA, USA
Member No.: 1,364



QUOTE(sneeka2 @ Feb 1 2005, 09:23 AM)
Might post another version with debug enabled later to determine what causes the problem...


I enabled debug, and even inserted some additional print statements. Here is a copy of a session where I banned the first song playing, but it kept playing.

CODE

Konfabulator 1.8.2 on 2005-02-01 11:19:23 -0500
Loaded Widget 'Last widget on earth' (Last Widget on Earth.widget)
<snip>
next song at: Tue Feb 01 2005 11:23:31 GMT-0500 (EST)
Artist : Disturbed
ArtURL : http://test.audioscrobbler.com/music/Disturbed
Track  : Prayer
<snip>
running command: curl --data "session=5b7d5fad0d12e59c37ecdf969af09e75&command=ban" http://wsdev.audioscrobbler.com/radio/control.php
<snip>
next song at: Tue Feb 01 2005 11:23:31 GMT-0500 (EST)
Artist : Disturbed
ArtURL : http://test.audioscrobbler.com/music/Disturbed
Track  : Prayer

<snip>



The line that starts "running command:", is one that I added as part of the skip.onMouseUp and hate.onMouseUp event handlers.

I had another thought - does this require that I have iScrobbler installed? Because I don't.

I will try installing and report back. dry.gif




User is offlineProfile CardPM
Go to the top of the page
+Quote Post
sneeka2
post Feb 1 2005, 04:51 PM
Post #8






Posts: 102
Joined: 26-January 04
Member No.: 2,186



QUOTE(redwing6454 @ Feb 1 2005, 05:23 PM)
The line that starts "running command:", is one that I added as part of the skip.onMouseUp and hate.onMouseUp event handlers.


You should get a reply back from Last.fm after sending the curl command. Could you capture that in a variable and print what it gives you? Should be either response=OK or response=FAILED.

QUOTE(redwing6454 @ Feb 1 2005, 05:23 PM)
I had another thought - does this require that I have iScrobbler installed? Because I don't. I will try installing and report back.


No, that doesn't have anything to do with the Last.fm stream. The Audioscrobbler plugins merely record your listening habits when you play from your local library to help build your profile, but it's totally independent from the Last.fm service...


Oh, and... Please shorten the the above <code> part a little, makes it kinda hard to read the site now... laugh.gif
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Ricky Romero
post Feb 1 2005, 05:13 PM
Post #9






Posts: 2,017
Joined: 8-February 03
From: Bay Area, California
Member No.: 153



Wow, what a beautifully designed Widget. smile.gif I like the introductory text and the way the typography is used throughout. Very cool.




Oh, hello. Greetings, one and everyone. Welcome to me.... Homestar!... Runner!... Homestar Runner.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
redwing6454
post Feb 1 2005, 05:18 PM
Post #10






Posts: 432
Joined: 9-April 03
From: Phila., PA, USA
Member No.: 1,364



CODE


running command: curl --data "session=5b7d5fad0d12e59c37ecdf969af09e75&command=skip" http://wsdev.audioscrobbler.com/radio/control.php
curl returned:  % Total    % Received % Xferd  Average Speed          Time             Curr.
                                Dload  Upload Total    Current  Left    Speed

 0     0    0     0    0     0      0      0 --:--:--  0:00:01 --:--:--     0
 0     0    0     0    0     0      0      0 --:--:--  0:00:02 --:--:--     0
100    11    0    11    0     0      4      0 --:--:--  0:00:02 --:--:--     6
100    11    0    11    0     0      4      0 --:--:--  0:00:02 --:--:--     6
response=OK


EDIT:
I have figured something out.
Putting 'http://wsdev.audioscrobbler.com/radio/control.php?session=5b7d5fad0d12e59c37ecdf969af09e75&command=skip' in my browser will make the track skip properly.

Putting 'curl --data "session=5b7d5fad0d12e59c37ecdf969af09e75&command=skip" http://wsdev.audioscrobbler.com/radio/control.php' into the Terminal will NOT make it skip.

but
Putting 'curl "http://wsdev.audioscrobbler.com/radio/control.php?session=5b7d5fad0d12e59c37ecdf969af09e75&command=skip" ' into the Terminal will make it work right.

(All 3 examples will give me an OK response, though.)




User is offlineProfile CardPM
Go to the top of the page
+Quote Post
sneeka2
post Feb 1 2005, 05:41 PM
Post #11






Posts: 102
Joined: 26-January 04
Member No.: 2,186



QUOTE(redwing6454 @ Feb 1 2005, 06:18 PM)
CODE
...
response=OK


OK, now I'm lost. It shouldn't give you a response=OK and then do nothing. Furthermore I tested it just now and it works perfectly fine for me. blink.gif

QUOTE(redwing6454 @ Feb 1 2005, 06:18 PM)
CODE
'curl --data "session=5b7d5fad0d12e59c37ecdf969af09e75&command=skip" http://wsdev.audioscrobbler.com/radio/control.php'
into the Terminal will NOT make it skip.


Hmm... which Mac OS version are you using then? Seems your curl behaves differently from mine. Still, I don't understand the response=OK then...

I might just change the curl command to what you suggested, as it's an HTTP POST request now anyway (the guys at Last.fm have been fiddling around with that somewhat recently...).
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
redwing6454
post Feb 1 2005, 05:46 PM
Post #12






Posts: 432
Joined: 9-April 03
From: Phila., PA, USA
Member No.: 1,364



QUOTE(sneeka2 @ Feb 1 2005, 01:41 PM)
which Mac OS version are you using then? Seems your curl behaves differently from mine.

10.3.7

I tried changing the widget to use URLs with built-in GET parameters, and it works great! Thanks!




User is offlineProfile CardPM
Go to the top of the page
+Quote Post
sneeka2
post Feb 1 2005, 06:08 PM
Post #13






Posts: 102
Joined: 26-January 04
Member No.: 2,186



Strange, I'm on 10.3.7 as well.

So, you doing a 'curl --get --data "session=...&command=skip" http://wsdev.audioscrobbler.com/radio/control.php' now, or what exactly?


Oh, and...

QUOTE(Ricky @ Feb 1 2005, 06:13 PM)
Wow, what a beautifully designed Widget.  smile.gif  I like the introductory text and the way the typography is used throughout.  Very cool.
*

Thanks, I appreciate that. cool.gif
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
redwing6454
post Feb 1 2005, 06:25 PM
Post #14






Posts: 432
Joined: 9-April 03
From: Phila., PA, USA
Member No.: 1,364



QUOTE(sneeka2 @ Feb 1 2005, 02:08 PM)
So, you doing a 'curl --get --data "session=...&command=skip" http://wsdev.audioscrobbler.com/radio/control.php' now, or what exactly?


In the 3 places you define the event handlers for the buttons I have:
CODE
     "runCommand('curl \"http://wsdev.audioscrobbler.com/radio/control.php?session=" + sessionID + "&command=love\"'); " +

     "runCommand('curl \"http://wsdev.audioscrobbler.com/radio/control.php?session=" + sessionID + "&command=skip\"'); " +

     "runCommand('curl \"http://wsdev.audioscrobbler.com/radio/control.php?session=" + sessionID + "&command=hate\"'); " +




User is offlineProfile CardPM
Go to the top of the page
+Quote Post
sneeka2
post Feb 1 2005, 07:39 PM
Post #15






Posts: 102
Joined: 26-January 04
Member No.: 2,186



Hmm, I'm still puzzled by the response=OK, as that should mean that it's solely Last.fm's problem if the stream still doesn't change. Could you try again with the original version to see if maybe it was indeed a temporary problem on their end? Anyway, changed it to your above suggested simpler way of doing it for now... Thanks Charlie. smile.gif

About the other question: Does anybody know how to start the Windows Media Player or WinAmp and hand over the stream URL? It should be as easy as using the standard Windows command prompt with a "c:\program files\winamp\winamp.exe http://stream.blablabla/and_so_on". It works on the standard cmd.exe/Start > Run prompt, but I didn't have any luck reproducing this using Konfab's runCommand()...
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Lars1024
post Feb 1 2005, 08:38 PM
Post #16






Posts: 695
Joined: 4-March 03
From: Stockholm, Sweden
Member No.: 1,074



QUOTE(sneeka2 @ Feb 1 2005, 11:40 AM)
Does anybody else have this problem?
*


Yes, I experienced the exact same problem. The skip button not skipping and so on, that is. Changing the curl calls to the (simplified) syntax suggested by redwing6454 made it work.

This is a great widget! I think I would put it on a list of my top 10 widgets ever. A great combination of functionality and appearance, exactly the stuff that makes a really good widget, in other words.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Fast Reply  Reply to this topic    Start new topic  
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members: