FANDOM

2,054,160 Pages

First steps

Hi all,

I'm making only first my steps trying to join your nice community, and naturaly - starting from questions :), so please be lenient, if you find some my questions stupid or answered already in comunity talk pages.

Now the questions:

1. One (and the main) of my raptures here was LyricWiki's SOAP web service for searching and updating lyrics. After some study of this servise documentation I made a little test project (Windows XP, VS 2005) and voila - a few lines of code (using method getSong()) gave me access to all LyricsWiki's riches! Nice. But my ardor was slumped after i've tried to use method postSong(). SOAP WS documentation states (in section 'Current Progress') that this method should be working. I suspect that my way of authentication (using standard for .NET ws credentials assignment) was wrong. So my question is: may be someone of you have tried to realize a LyricWiki SOAP WS (WDSL) client in .NET(c#/VB)? If so, - please, share your knowledge with me, my gratitude in advance:)

2. In one of sections in Community Portal I found a very interesting discussion, named Timestamping Lyrics, between capi and teknomunk. It was especialy interesting for me, because I have a huge collection of records with synchronised lyrics. So, following to teknomunk instruction I tried to use template {{Lrc}}. All was going fine untill I was asked to upload my .lrc file. Then I was informed that file I was trying to upload was corrupted and had a wrong extension, for a good measure. But file extension was .lrc and it wasn't corrupted assuredly (I have uploaded a lot of such files to lrcdb.org, if you know such site). Then I checked for information in Help:Contents/Uploading_Content and found that Timed lyrics files indeed are in acceptable files list, but... aren't active :(. So, the question: is it possible at all to upload lrc file and attach a link to it? If so, - how? Or may be this file format must meet some lyricWiki-specific requirements?

BTW, just for fun, - look at 'instructions' for uploading files of type 'Other files' at Help:Contents/Uploading Content/Other Files :)

regards,

Senvaikis 10:09, 3 October 2007 (EDT)

Welcome. Well, I don't really know about #1 as I am not the one responsible for the SOAP interface (that would be Sean). But about #2. I never really got going and so we didn't have a change to get all the problems worked out. If you don't mind working with me to get this fixed (I don't really have any lrc files myself, but if we get this working, I'll make a few for the songs I own.)
I somewhat think that it would be better if the lrc file was part of the wiki and not an uploaded file so that anybody can edit them and correct errors, but some of my initial tests show that we may have to modify the server software to make things more readable (which I don't really want to do, but will if lrc files start being used/uploaded). Have a look at Fiona Apple:Criminal/lrc for an example of what I mean (and download is [[1]], edit is [[2]])
If the links above give you any trouble with the spam filter, just let me know and I will get it fixed (by talking to Sean).
And at Help:Contents/Uploading Content/Other Files, how did I miss that happening? :/
I look forward to working with you on this and getting timed lyrics included into our growing lyrics database.
- teknomunk (talk,E,) 17:25, 3 October 2007 (EDT)
Thanks for quick response, teknomunk.
Glad to hear you are going to include lrc support, though it's not so obvious to me what is the best way of realizing it. I agree that editable part of song page with timed lyrics may look more convenient (and corresponding wiki-ideology) than linked uneditable file. But keep in mind one essential difference between unsynched and synched lyrics: in contradiction to the first, second one may have a lot of 'correct' timestamping versions for different record owners. This may happen due to dozen reasons, having nothing common with certain song release (different CD editions, countries, different rippers and players used, and so on...). It may lead to endless loop of such page reeditings. I may indeed be wrong, but imho that's why such service as MiniLyrics keeps all uploaded lrc versions (with uploader info). Keeping only one public reeditable timed lyrics version then should be arranged by some set of rules of such editing (e.g.: 'total +/- timestamp shift is inadmissible'). I'm too green here to dictate any solutions for you, so it's up to you what way to choose :). May be such question should be discussed more widely in community?
Anyway, I'm so hooked by LyricWiki, that promise to accept any solution you'll take and try to contribute to your nice work.
best regards, -Senvaikis 03:05, 4 October 2007 (EDT)

Proposition (timed lyrics)

I want to propose one of possible timed lyrics problem solutions, at least for a while we have no other solution.

To demonstrate this approach I've made one change in Buddy Guy:Mustang Sally - just added external link to lrcdb.org. If for some reasons community decides that such linking is unacceptable - I'll remove it. Unfortunately I couldn't get onto Anthony M. Cebzanov, owner of lrcdb.org, but I think he should not have any arguments against that. If such a way be acceptable, wiki'd get access to more than 15000 timed lyrics stored in lrcdb.org.

May be you'd like even to create a special {{LrcDB}} for it, something like that:

{{LrcDB |ID=9497 }} , producing such an output: LrcDB: Timed lyrics for Buddy Guy:Damn Right, I've Got The Blues:Mustang Sally,

or more detailed, like that:

{{LrcDB |artistLrcDbID=988 |ID=9497 }} , producing LrcDB: Buddy Guy](all lrcs for Buddy Guy on lrcdb.org) . Mustang Sally (all lrcs for song Mustang Sally on lrcdb.org) . Buddy Guy:Damn Right, I've Got The Blues:Mustang Sally (lrc for this certain song release).


Looking forward to the nearest future, when SOAP WS will be fully functional; having a lot of synchronized music, being strongly DB-oriented and ...lazy , I'd like to have ability to add new songs to wiki just calling appropriate WS hypothetic method PostSyncSong with LrcDbID as one of parameters for such template :).

What do you think about such approach?

--Senvaikis 08:01, 4 October 2007 (EDT)

Have a look at this and this  ♫Яєdxx Actions Words 05:29, 16 July 2008 (EDT)
Thanks, Redxx, now I understand (at least partially) your silent back-redirection of test timed lyrics subpage. Does that mean you've found an answer to one(#2) of my Unanswered Questions? Then would you be so kind to share your knowledge about Other Files (.lrc) uploading? --Senvaikis (talk) 07:49, 16 July 2008 (EDT)
...While waiting for your answer, I still want to ask you itemize particular reasons of above mentioned redirect. If it was done for misaplied song template, - it could be just removed or changed into any other header. Redirecting means that such page is unnaceptable at all. Hope you've read before my discussion with Teknomunk about timed lyrics, where he stated that such (editable wiki-style page) approach is even more acceptable than uploadable (uneditable) .lrc file. But when I looked at that discussion now, I found all Teknomunk's example links being red - e.g. they have been deleted for some reason. So, may be such approach is unacceptable indeed (though it wasn't documented anywhere)? But on other hand - .lrc uploading is still unavailable - or it isn't, but that's undocumented too. Or LW doesn't accept timed lyrics at all, in any form? TIA, --Senvaikis (talk) 10:04, 16 July 2008 (EDT)
Tom Waits...It was a mistake. It appeared on one of the lists (which as an admin I check regularly) which shows erroneous song pages. It appeared on the list because there was no song templates on page. However, I've reverted redirect but applied templates since those templates aren't optional. Tom Waits:Virginia Avenue/Lrc
Although I have reverted the redirect, my understanding of the links I provided you was that timed lyrics are acceptable if they are applied to song page by way of a link to an uploaded jpg (as shown). However it would be best to check this with Teknomunk for any new policy, since I believe you want to submit them directly on the song page. Personally, I would not like to see song pages taken over by timed lyrics, but it would be good to have a link to a separate page showing a timed version of the song if that was possible. Although how practical it would be to have 2 x song pages for each song I really don't know.. ♫Яєdxx Actions Words 18:34, 16 July 2008 (EDT)
Hi, Red; let me make some corrections:
  • "...you want to submit them directly on the song page" - wrong: I was never intended to do that; more like - nothing of the kind (read once more previous discussion with Teknomunk)
  • "...timed lyrics are acceptable if they are applied to song page by way of a link to an uploaded jpg" - wrong: lrc are just plain text files (still unaploadable, not to my knowledge).
  • "...to have 2 x song pages for each song" - not exactly: timed lyrics should not be treated as a second song page (regardless of approach). Even in case of wiki-style timed lyrics subpage it shouldn't be included in song list or in API search results. And so far API ignored such subpages, as you know from another issue (page splitting).
  • And the last note/doubt: keeping in mind previous note, are you sure that song header/footer templates are mandatory (...aren't optional) for such subpages? Then - mea culpa: page Muse:Uno/Lrc/ must be cued too, as having no footer...
Regards,--Senvaikis (talk) 02:47, 17 July 2008 (EDT)
Senv I just put those links there to help you. This is not my area of expertise. As such, although I do my best, I can't answer your queries on such matters with any accuracy. Sorry. My mistake though, I said upload .jpg. but as you rightly pointed out it isn't .jpg's that are being uploaded but .lrc files. (I could've at least got that bit right - lol) With regards to the Muse:Uno/Lrc/, that file has a song template. The other did not. There lies the difference.  ♫Яєdxx Actions Words 09:18, 17 July 2008 (EDT)
Yep...Anyway - thanks at least for attention and tolerance to my bad temper :)--Senvaikis (talk) 09:31, 17 July 2008 (EDT)

Once more about SOAP WS client in .NET

Hi, I still hope someone'll come here to help me using LW SOAP WS (wsdl) (further - WS) in .NET. Surelly I'm not the one looking for such help :).

If that happens, here is some additional info. As I said, using WS method getSong() wasn't a problem in .NET - it worked like a charm, whereas calling postSong() resulted with an internal error message There is an error in XML document (1, 525). But what a surprise was when I found that regardless of error this method nonetheless did posted the lyrics of the song to WL! Truth to tell, posting was far from ideal, but it happend :).

So, what was wrong with it?

a)First of all, it was anonymous, despite my efforts to authenticate WS, assigning network credentials with my WL username/psw.
b)Album name and the year of album were replaced by one letter (as showed further testing - the first letter of first album in album array)

So, now I need to invoke some .NET coding to ilustrate where are my possible errors. Let's start from beginning. I added to my project new Web Refference (let's name it lwWs), using wsdl, provided by Sean. After that I've got access to LW WS namespace lwWS with webservice lwWs.LyricWiki:

Dim lws As New lwWs.LyricWiki
lws.Credentials = New NetworkCredential(my_uname, my_psw, "lyricwiki.org") ' ''(as we can see now - it doesn't work)''
....
Dim rez As lwWs.LyricsResult= lws.getSong(tbArt.Text, tbTit.Text) ' ''(works fine, because it doesn't require authentication and uses only simple string-type parameters)''

So, getting song lyrics is as simple as:

dim lyrics as string=rez.lyrics

Now let's take a look at method LyricWiki.postSong() how it's viewable in .NET object browser:

Public Function postSong(ByVal overwriteIfExists As Boolean, ByRef artist As String, ByRef song As String, ByVal lyrics As String, ByVal onAlbums() As String, ByRef message As String) As Boolean

According such declaration - that's the way I used it:

dim rez as boolean = lws.postSong(False, tbArt.Text, tbTit.Text, rtbRez.Text, albArr, msgStr) '''(Here albArr - string array, containing album names)''

Regarding p.a) - it's obvious that assigning WS network credentials using system.Net.NetworkCredential was bad (or insufficient).

Speaking about p.b), - I'm almost sure that WL WS treats parameter onAlbums not as string array (as declares .NET), but as AlbumResultArray-type array, containing structures of type AlbumResult, as one can see in server.wsdl. But if it's so - how can I call this method in .NET, which requires parameter onAlbums to be string array? Seems that wsdl file is missing some type declarations. That's why after posting WL gets only first letter of first album instead of albumName & the Year.

Pufff...., seems to me that's all I can say about my adventures with WL WS in .NET :)

Just for demonstration of all this stuff I've left unedited resuls of my experments with SAHB:Water Beastie (see history). BTW, calling postSong with onAlbums = nothing (null in c#) gives 'better' results: SAHB:Nightmare City :)

regards, --Senvaikis 09:07, 10 October 2007 (EDT)

Community content is available under Copyright unless otherwise noted.