Web Source Alternative - Data Proxy


#1

I like the fact, that i am able to provide Scripts or Sources to integrate providers into Mp3-Tag. Well, as good as the web sources are, the scripting language is kind of weird and hard to learn, although its documented quite nicely... i don't want to complain, i just would like to suggest a feature, that could speed up integration of internet data provdiders...

Since web sources are divided into INDEX and ALBUM information on any URL, i think it would be great to integrate a Data Proxy feature into MP3-Tag, where a json format has to be specified.

An example:

  1. First write a server application in Node-JS, that is able to provide e.g. musicbrainz-data and covers via api
  2. Run the server on localhost:1337/discogs?q=my-title or whatever port you like, returning something like:
    [
	{
		id: "my-id",
		title: "my-title",
		subtitle: "my-subtitle",
		composer: "my-composer",
		artist: "my-artist",
		cover: "www.domain.com/cover.jpg",
		description: "my long description",
                "any-other-mp3-tag-placeholder": "placeholder-value",
		tracks: [
			{id: "", start: 0, end: 302, title: "my-track-title"}
		]
	}
]
  1. localhost:1337?q=%search-query% will provide INDEX-Data as json
  2. localhost:1337?id=%id% will provide ALBUM-Data as json
  3. configure a new data proxy in MP3-Tag providing the base url (localhost:1337) and the provider-name (discogs)

That Feature would make it possible, to write something in any language you like to provide Tag-Data for MP3Tag.

In my case i would like to write a nodejs app as data proxy, which is way more flexible than web source scripting, at least in my opinion.

For the first glance: My app is already running and i wrote a "general" websource, but I am not aware of a full list of fields that are available for INDEX and ALBUM-Data

What do you think?


#2

I like the idea and can help with specific questions you might have regarding the "general" web source.

For Index and Album data you can basically come up with your own field names, but I suggest looking at http://help.mp3tag.de/main_tags.html for a list of standard fields.