XMPlay Last.fm/Audioscrobbler plugin (xmp-scrobbler)

Started by yagood,

raina

Oh now I understand why it is so picky. Barely half the music I listen to displays anything in the message window. And library tags don't seem to end up there either. So maybe xmp-scrobbler should look into other places too or Ian should make library tags appear in the message string. Don't know which way would be easier.

The "track too short" error happens due to absent duration info, like with streamed radio stations etc. A SID file doesn't carry that data nor can it be calculated because the file is merely C64 program code wrapped in a container that the xmp-sid plugin hands to the emulator engine which in turn emulates a C64 and executes the code thus producing sound. If no more steps are taken, the program data is executed until it's manually stopped. Usually this means a SID song plays forever and here infinity is actually being interpreted as null and that's why the track is considered too short. Now xmp-sid does a bang-up job serving as a bridge between xmplay and the emulator engine and a frontend and one of it's features is the support for SLDB which is basically a database of actual lengths of SID songs to the point where they loop and start repeating themselves. When a SID song is loaded, its duration is looked up from the DB and applied but this info isn't transmitted to xmp-scrobbler which will continue to think the song is "-" in length and too short. For testing, grab xmp-sid from http://www.pieknyman.tk and any SID file from http://stil.c64.org .

Zarggg

Quote from: rainaAnd library tags don't seem to end up there either. So maybe xmp-scrobbler should look into other places too or Ian should make library tags appear in the message string. Don't know which way would be easier.

I have been wanting this feature for a while. IMHO, Ian should include an option (default "off") to have library tags supersede plugin tags, when available.

Tsorovan

Pardon if I'm wrong but isn't that what Show overridden tags in message window does? I don't use the library or tags at all, so I haven't used it, but the name of the option suggests that's exactly what it should do.

yagood

Quote from: rainaOh now I understand why it is so picky. Barely half the music I listen to displays anything in the message window. And library tags don't seem to end up there either. So maybe xmp-scrobbler should look into other places too or Ian should make library tags appear in the message string. Don't know which way would be easier.

Actually, from plugin level, I don't think I can look into "other places" - I have to stick to what XMPlay makes accessible and that is text from Message window (couple more things too of course, but we're talking about tags data here). Fortunately, there is an option (mentioned by Tsorovan) for showing overridden tags in Message window - technically it adds another section to the text - "Library tags" so I'll have to adjust xmp-scrobbler to search for this section first - if it's present, grab tags from there, if not - search as usual.

About SIDs - I'll test it, but I can't do much if XMPlay can't send proper length of the track. I'll try to do some testing with SLDB too - currently xmp-scrobbler grabs length at the very beginning so maybe it doesn't work because looking up in the database needs some time and length isn't accessible at first but after few seconds it's there, so hopefully I can delay length checking and mystery solved.

raina

Quote from: TsorovanPardon if I'm wrong but isn't that what Show overridden tags in message window does? I don't use the library or tags at all, so I haven't used it, but the name of the option suggests that's exactly what it should do.
You are absolutely right. Hadn't noticed that because like you, I don't use the library. Until now, that is. And it works, too! Just have to fill in "Worst of Horst" or something as the Album and modules do get submitted for now.

@Yagood, I seriously don't think the Album tag should be required. Very few modules belong to music disks for example and there's a ton of stream files too without the Album tag, output by online communities.

Delaying the duration checking sounds good and makes sense. Hopefully that will solve it and we don't have to bother Ian at all.

jammer

two suggestions :)

first - it simply crashes after some time. luckily it managed to send info about my mp3 once ;) hope that solution is only a matter of time ;)

second - original audioscrobbbler plugin allows user to include or exclude particular directories thus the shit which is listened to e.g. by my sister won't count :D

lingenfr

Quote from: rainaThe "track too short" error happens due to absent duration info, like with streamed radio stations etc.

This is about my only issue also. I have listened to a number of Internet radio/streaming sites and get this error. N5md's is one example. I wonder if you couldn't just put in some default value when the app is unable to determine a length. Would that make anyone mad? I would think that it would be in the interest of folks like n5md since they are streaming the music in an effort to showcase their artists. I would think that the exposure on last.fm would do them good.

yagood

Quote from: jammertwo suggestions :)

first - it simply crashes after some time. luckily it managed to send info about my mp3 once ;) hope that solution is only a matter of time ;)

I know about these crashes, but unfortunately I haven't found a simple solution yet. However, if xmp-scrobbler crashes for you on some specific songs etc. - can you paste contents of your xmp-scrobbler.txt file into this forum? Maybe it will help.

Quote from: jammersecond - original audioscrobbbler plugin allows user to include or exclude particular directories thus the shit which is listened to e.g. by my sister won't count :D

Yes, it's quite handy feature. It's on my "to do" list.

Quote from: lingenfr
Quote from: rainaThe "track too short" error happens due to absent duration info, like with streamed radio stations etc.

This is about my only issue also. I have listened to a number of Internet radio/streaming sites and get this error. N5md's is one example. I wonder if you couldn't just put in some default value when the app is unable to determine a length. Would that make anyone mad? I would think that it would be in the interest of folks like n5md since they are streaming the music in an effort to showcase their artists. I would think that the exposure on last.fm would do them good.

Hmm... I can set default value (let's say 3 minutes) if length data is not available, but I wonder how this would work... Does XMPlay update tags data when listening to such radio stations (I mean when station plays new song)? If yes, probably I should periodically check for tag changes or something... it gets more complicated. I'll have to test it more with streamed radio stations and see how it really works. Thanks for the idea though.

I just want to say that you can see a lot of "I'll have to" or "to do list" in my posts lately, but I really do want to develop more features in xmp-scrobbler, so please be patient and keep reporting your ideas or bug descriptions. Thanks.

raina

Well, I'm not expecting radio streams to be supported at this point. I just mentioned them as a comparison to executable music. Both have seemingly endless duration but plugins are able to set duration for the latter.

lingenfr

Quote from: yagoodHmm... I can set default value (let's say 3 minutes) if length data is not available, but I wonder how this would work... Does XMPlay update tags data when listening to such radio stations (I mean when station plays new song)? If yes, probably I should periodically check for tag changes or something... it gets more complicated. I'll have to test it more with streamed radio stations and see how it really works. Thanks for the idea though.

So far the radio/streaming stations that I listen do at least update artist and track title. I will pay more attention for awhile to see if they are updating anything else.

If you did nothing else with this plug-in, it meets my needs. Good show. I am sure that as long as you are receptive and want to continue improving it, there will be plenty of folks with great ideas.

lingenfr

Bah, just when you thought it was safe to go out... I went to the last.fm site and they are not reporting an outage. I believe they are doing some upgrades over the next few weeks. Anyway, the plug-in is not submitting and here is the error I am getting:

2006-04-25 13:24:36   Submission failed: Plugin bug: Not all request variables are set
2006-04-25 13:24:36   Submit interval set to 1 second(s).
2006-04-25 13:27:09   DSP_NewTrack (CLOSE)
2006-04-25 13:27:09   DSP_NewTrack (OPEN)
2006-04-25 13:27:09   Next submission in 218 seconds...
2006-04-25 13:30:46   XMP_GetChannelData (id = 469767301, ch = info1, hconv = 503326085, hdata = 536879877, hszService = 49153, hszTopic = 49155)
2006-04-25 13:30:46   Submitting track: Reef - ROBOT RIFF (Glow)...
2006-04-25 13:30:46   Submitting cache...
2006-04-25 13:30:46   ...
2006-04-25 13:30:46   The server reported a processing error.
2006-04-25 13:30:46   HTTP/1.1 100 Continue

This repeats with each track.

yagood

#71
It's a cache bug. Delete your xmp-scrobbler.cache file, sorry for the inconvenience :-\

stanton

hey not bad man i like it and the pluse side is it dosnt use any memmory [havent notice the nummbers change]
and so far i have had no crash's and or bugs accore! my list is felling up now :) ty for nice little plugin hope it gets better later on :)

Zarggg

EDIT: Ignore this post. Better yet, it can be deleted.

jammer

one more to add :) scrobbler tend to claim that track is badly tagged whereas author and title are filled in. in both types of tags. why?

raina

lingenfr

Seems that everytime last.fm goes offline (which is frequently lately) I get this error and according to previous instructions have to delete my cache. Darn.


2006-05-07 21:59:45   Could not connect to server.
2006-05-07 21:59:45   couldn't connect to host
2006-05-07 21:59:45   Unable to handshake: sleeping...
2006-05-07 22:01:17   XMP_GetChannelData (id = 67110017, ch = info1, hconv = 100666753, hdata = 134222593, hszService = 49153, hszTopic = 49155)
2006-05-07 22:01:17   Submitting track: Seal - Get It Together (Seal IV)...
2006-05-07 22:01:46   Unable to handshake: sleeping...
2006-05-07 22:03:13   xmptd.rate = 0
2006-05-07 22:03:13   xmptd.chans = 0
2006-05-07 22:03:13   DSP_StopTrack
2006-05-07 22:03:14   DSP_NewTrack (CLOSE)
2006-05-07 22:03:15   DSP_Free()
2006-05-07 22:32:09   DSP_New()
2006-05-08 06:55:43   DSP_NewTrack (OPEN)
2006-05-08 06:55:43   Found entries in cache: 22.
2006-05-08 06:55:43   ...
2006-05-08 06:55:43   xmptd.rate = 44100
2006-05-08 06:55:43   xmptd.chans = 2
2006-05-08 06:55:43   Next submission in 119 seconds...
2006-05-08 06:55:47   Handshaking: Client up to date.
2006-05-08 06:55:47   Submit interval set to 1 second(s).
2006-05-08 06:55:47   Handshake successful.
2006-05-08 06:57:40   XMP_GetChannelData (id = 33555585, ch = info1, hconv = 67112321, hdata = 100668161, hszService = 49153, hszTopic = 49154)
2006-05-08 06:57:40   Submitting track: Seal - Get It Together (Seal IV)...
2006-05-08 06:57:40   Submitting cache...
2006-05-08 06:57:40   ...
2006-05-08 06:57:44   The server reported a processing error.
2006-05-08 06:57:44   HTTP/1.1 100 Continue


2006-05-08 06:57:44   Submission failed: Plugin bug: Not all request variables are set
2006-05-08 06:57:44   Submit interval set to 1 second(s).
2006-05-08 06:59:42   DSP_NewTrack (CLOSE)
2006-05-08 06:59:42   DSP_NewTrack (OPEN)
2006-05-08 06:59:42   Next submission in 116 seconds...
2006-05-08 07:01:37   XMP_GetChannelData (id = 134219906, ch = info1, hconv = 167777666, hdata = 201330434, hszService = 49153, hszTopic = 49154)
2006-05-08 07:01:37   Submitting track: Seal - Let Me Roll (Seal IV)...
2006-05-08 07:01:37   Submitting cache...
2006-05-08 07:01:37   ...
2006-05-08 07:01:40   The server reported a processing error.
2006-05-08 07:01:40   HTTP/1.1 100 Continue


2006-05-08 07:01:41   Submission failed: Plugin bug: Not all request variables are set
2006-05-08 07:01:41   Submit interval set to 1 second(s).
2006-05-08 07:03:04   xmptd.rate = 0
2006-05-08 07:03:04   xmptd.chans = 0
2006-05-08 07:03:04   DSP_StopTrack
2006-05-08 07:03:05   DSP_NewTrack (CLOSE)
2006-05-08 07:03:06   DSP_Free()