diff --git a/LICENCE b/LICENCE new file mode 100644 index 0000000..7e2519e --- /dev/null +++ b/LICENCE @@ -0,0 +1,20 @@ +Copyright (c) 2011 Gregory Eremin + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file diff --git a/README.md b/README.md index 6f91be4..2b6ccad 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,7 @@ Don't forget to log in to [vk.com API](http://vk.com/developers.php?oid=-17680044&p=Open_API) +### CoffeeScript example ```coffeescript vk_music = new VkontakteMusic vk_music.search "Kasabian", "L.S.F. (Lost Souls Forever)", "2:17", (url) -> @@ -11,4 +12,15 @@ vk_music.search "Kasabian", "L.S.F. (Lost Souls Forever)", "2:17", (url) -> audio.play() ``` -If you need a compiled JavaScript version, feel free to compile it yourself on [CoffeeScript's home page](http://jashkenas.github.com/coffee-script/). +### JavaScript example +```javascript +var vk_music; +vk_music = new VkontakteMusic; +vk_music.search("Kasabian", "L.S.F. (Lost Souls Forever)", "2:17", function(url) { + var audio; + audio = document.createElement("audio"); + audio.setAttribute("src", url); + document.getElementsByTagName("body")[0].appendChild(audio); + return audio.play(); +}); +``` \ No newline at end of file diff --git a/lib/vkontakte_music.min.js b/lib/vkontakte_music.min.js new file mode 100644 index 0000000..f4d4440 --- /dev/null +++ b/lib/vkontakte_music.min.js @@ -0,0 +1,9 @@ +/* + * Vkontakte (VK.com) API music search tool + * https://github.com/magnolia-fan/vkontakte_music_search + * + * Copyright 2011, Gregory Eremin + * Licensed under the MIT license. + * https://raw.github.com/magnolia-fan/vkontakte_music_search/master/LICENSE + */ +var VkontakteMusic;VkontakteMusic=function(){function a(){}return a.prototype.query_results={},a.prototype.search=function(a,b,c,d,e){var f,g;return e==null&&(e=!1),f=this.prepareQuery(a,b),this.query_results[f]!=null&&!e&&d(this.query_results[f]),g=this,VK.Api.call("audio.search",{q:f},function(h){var i,j;return i=g.range(h.response,a,b,c),j=null,i.length>0&&(j=i[0].url),g.query_results[f]=i,d(e?i:j)})},a.prototype.range=function(a,b,c,d){var e,f,g,h,i;typeof d=="string"&&(d=d.split(":"),d=parseInt(d[0],10)*60+parseInt(d[1],10));for(f=0,i=a.length;f0&&(g.artist===b?h+=10:g.artist.split(b).length===2?h+=5:g.title.split(b).length===2&&(h+=4)),g.artist.length>0&&(g.title===c?h+=10:g.title.split(c).length===2&&(h+=5)),parseInt(g.duration,10)===d?h+=15:(e=Math.abs(parseInt(g.duration,10)-d),e<10&&(h+=10-e)),a[f].score=h}return a.length>0&&typeof a[0]!="object"&&(a.splice(0,1),a.sort(function(a,b){return b.score-a.score})),a},a.prototype.prepareQuery=function(a,b){return a+" "+b.replace(/\(.*\)/i,"").split("/")[0]},a.prototype.trim=function(a){while(a.indexOf(" ")!==-1)a=a.replace(" "," ");return a.charAt(0)===" "&&(a=a.substring(1)),a.charAt(a.length-1)===" "&&(a=a.substring(0,a.length-1)),a},a}() \ No newline at end of file diff --git a/vkontakte_music.coffee b/src/vkontakte_music.coffee similarity index 88% rename from vkontakte_music.coffee rename to src/vkontakte_music.coffee index e31be4f..10abc89 100644 --- a/vkontakte_music.coffee +++ b/src/vkontakte_music.coffee @@ -1,3 +1,11 @@ +### + * Vkontakte (VK.com) API music search tool + * https://github.com/magnolia-fan/vkontakte_music_search + * + * Copyright 2011, Gregory Eremin + * Licensed under the MIT license. + * https://raw.github.com/magnolia-fan/vkontakte_music_search/master/LICENSE + ### class VkontakteMusic query_results: {}