From 684c04600d1c53c1f2303bfe53d77b0825c422f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Taro?= Date: Sat, 15 Nov 2014 19:49:10 +0100 Subject: [PATCH] Various changes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Added comments - Bug fixes - Performance improvements (instead of calling getName(), names of artist and song are saved in a variable) - Removed useless readyStateInterval I hope that I’ve fixed marquee (finally) as well! --- .../blackberry10/build/device/bb10app.bar | Bin 457285 -> 457308 bytes .../blackberry10/build/simulator/bb10app.bar | Bin 457285 -> 457308 bytes platforms/blackberry10/www/scripts/helper.js | 19 ++- .../blackberry10/www/scripts/html5audio.js | 108 ++++++++---------- www/scripts/helper.js | 19 ++- www/scripts/html5audio.js | 24 ++-- 6 files changed, 84 insertions(+), 86 deletions(-) diff --git a/platforms/blackberry10/build/device/bb10app.bar b/platforms/blackberry10/build/device/bb10app.bar index 74d71c34ab47fbee7dd25da5a8a21895492069e8..c6c08ab6a314822f7b4db141967696bdcd912598 100644 GIT binary patch delta 7793 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 S51oLrUV_=d4|c)#lK%&flZ?s$ diff --git a/platforms/blackberry10/build/simulator/bb10app.bar b/platforms/blackberry10/build/simulator/bb10app.bar index 84575af34c85cdc891f5de126db395c0b9c847e9..955b32215c474297c7d5bf47e60d678cc5b5b8e5 100644 GIT binary patch delta 7793 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 N63h;MunWGI{6Et%jAj4; diff --git a/platforms/blackberry10/www/scripts/helper.js b/platforms/blackberry10/www/scripts/helper.js index ae262a9..95a244b 100644 --- a/platforms/blackberry10/www/scripts/helper.js +++ b/platforms/blackberry10/www/scripts/helper.js @@ -4,12 +4,19 @@ $(".radio").click(function() { }); // Fetch metadata for currently playing track -if (actual_cover_url) { - $('').load(function() { - $(this).insertBefore('#playing').addClass("radioimg"); - }); +if (isPlaying) { + if (actualCoverUrl) { + $('').load(function() { + $(this).insertBefore('#playing').addClass("radioimg"); + }); + } else { + $('').load(function() { + $(this).insertBefore('#playing').addClass("radioimg"); + }); + } } -if (station) { - get_song(station); +if (songMetadata && isPlaying) { + $("#artist").text(songMetadata[0]); + $("#song").text(songMetadata[1]); } \ No newline at end of file diff --git a/platforms/blackberry10/www/scripts/html5audio.js b/platforms/blackberry10/www/scripts/html5audio.js index 060a1de..98ded2b 100644 --- a/platforms/blackberry10/www/scripts/html5audio.js +++ b/platforms/blackberry10/www/scripts/html5audio.js @@ -1,8 +1,8 @@ // TODO: Create an object for every station, low-priority atm var expres = { - station_name: "Rádio EXPRES", - station_description: "Baví nás baviť vás", - station_icon: "../images/expres.png", + stationName: "Rádio EXPRES", + stationDescription: "Baví nás baviť vás", + stationIcon: "../images/expres.png", stream: { 20: "http://85.248.7.162:8000/20.aac", 48: "http://85.248.7.162:8000/48.aac", @@ -12,13 +12,13 @@ var expres = { } // Init variables -var actual_cover_url = null; -var getMetadata = null; // Function - setInterval() fn, which calls get_song(radio) for updating name of song -var isPlaying = false; // Bool - If stream is playing, it's given value is true -var readyStateInterval = null; // Function - setInterval() fn, see line 63 for more info -var stream = null; // Object - HTML5 Audio object -var streamURL = null; // String - URL of chosen stream -var station = null; +var actualCoverUrl = null; // String - URL of cover +var getMetadata = null; // Function - setInterval() fn, which calls getName(radio) for updating name of song +var isPlaying = false; // Bool - If stream is playing, it's given value is true +var songMetadata = null; // Array - Contains name of artist and name of song +var stream = null; // Object - HTML5 Audio object +var streamUrl = null; // String - URL of chosen radio stream +var station = null; // String - name of playing radio stream // HTML5audio object var html5audio = { @@ -29,43 +29,37 @@ var html5audio = { } // TODO: Implement switching of quality of stream + // Choose a radio station switch (radio) { case "expres": - streamURL = "http://85.248.7.162:8000/96.mp3"; + streamUrl = "http://85.248.7.162:8000/96.mp3"; break; case "slovensko": - streamURL = "http://live.slovakradio.sk:8000/Slovensko_128.mp3"; + streamUrl = "http://live.slovakradio.sk:8000/Slovensko_128.mp3"; break; case "funradio": - streamURL = "http://stream.funradio.sk:8000/fun128.mp3"; + streamUrl = "http://stream.funradio.sk:8000/fun128.mp3"; break; case "europa2": - streamURL = "http://ice2.europa2.sk/fm-europa2sk-128"; + streamUrl = "http://ice2.europa2.sk/fm-europa2sk-128"; break; case "jemne": - streamURL = "http://93.184.69.143:8000/;jemnemelodie-high-mp3.mp3"; + streamUrl = "http://93.184.69.143:8000/;jemnemelodie-high-mp3.mp3"; break; } + // Init chosen radio station - stream = new Audio(streamURL); + stream = new Audio(streamUrl); station = radio; - get_song(radio); + getName(radio); getMetadata = setInterval(function() { - get_song(radio); + getName(radio); }, 15000); - isPlaying = true; stream.play(); - readyStateInterval = setInterval(function(){ - if (stream.readyState && stream.readyState <= 2) { - isPlaying = true; - document.getElementById('activityindicator').style.display = 'block'; - } - }, 1000); - stream.addEventListener("waiting", function() { isPlaying = false; document.getElementById('activityindicator').style.display = 'block'; @@ -85,33 +79,32 @@ var html5audio = { }, stop: function() { document.getElementById('activityindicator').style.display = 'none'; - clearInterval(readyStateInterval); clearInterval(getMetadata); - isPlaying = false; if (stream) stream.pause(); stream = null; - actual_cover_url = null; + isPlaying = false; + actualCoverUrl = null; } }; // Parse stream track info -// TODO: Don't call ajaxCover() for Expres, Europa 2, Evropa 2 & Frekvence 1, +// TODO: Don't call getCover() for Expres, Europa 2, Evropa 2 & Frekvence 1, // because cover of track is already included in json callback -var get_song = function(station) { +var getName = function(station) { function reqListener () { if (station !== "slovensko" && station !== "europa2") { - var artist_song = null; + var metadata = null; if (station === "funradio") { - artist_song = []; - artist_song.push($(this.responseText).find("interpret")[0].textContent); - artist_song.push($(this.responseText).find("skladba")[0].textContent); + metadata = []; + metadata.push($(this.responseText).find("interpret")[0].textContent); + metadata.push($(this.responseText).find("skladba")[0].textContent); } if (station === "expres") { var json = JSON.parse(this.responseText); - artist_song = [json.stream.artist, json.stream.song]; + metadata = [json.stream.artist, json.stream.song]; } if (station === "jemne") { @@ -119,24 +112,24 @@ var get_song = function(station) { html.documentElement.innerHTML = this.responseText; var text = html.getElementsByTagName("body")[0].innerText; var info = text.replace(/[0-9]/g, "").replace(/,/g,"").split("-"); - artist_song = [info[0], info[1]]; + metadata = [info[0], info[1]]; } - if (artist_song[0] && !artist_song[1]) { - $("#artist").text(artist_song[0]); + if (metadata[0] && !metadata[1]) { + $("#artist").text(metadata[0]); $("#song").text(""); - } else if (!artist_song[0] && artist_song[1]) { + } else if (!metadata[0] && metadata[1]) { $("#artist").text(""); - $("#song").text(artist_song[1]); + $("#song").text(metadata[1]); } else { - $("#artist").html(artist_song[0]).text(); - $("#song").html(artist_song[1]).text(); + $("#artist").html(metadata[0]).text(); + $("#song").html(metadata[1]).text(); } // LAST.FM API for getting cover of song - if (artist_song[0] && artist_song[1]) { - ajaxCover(artist_song[0], artist_song[1]); - + if (metadata[0] && metadata[1]) { + getCover(metadata[0], metadata[1]); + songMetadata = [metadata[0], metadata[1]]; } else { // If we don't know either name of artist or song, replace img with station img if (!document.querySelector("#status > img")) { @@ -149,16 +142,14 @@ var get_song = function(station) { } } else { if (station === "slovensko") { - // Specific handling of Rádio Slovensko station var html = document.implementation.createHTMLDocument(''); html.documentElement.innerHTML = this.responseText; html.querySelector(".ro-slovensko > .playRadio > .overflow > strong").remove(); + $("#artist").text("Rádio Slovensko"); $("#song").text(function() { var text = html.querySelector(".ro-slovensko > .playRadio > .overflow").textContent; return text.replace(/-/,"").replace(" ",""); }); - - $("#artist").text("Rádio Slovensko"); } else { // TODO: The same for Evropa 2, Frekvence 1 $.get("http://rds.lagardere.cz/getRadio.php?station=okey", function(data) { @@ -167,8 +158,10 @@ var get_song = function(station) { var song = data.querySelector("songTitle").textContent. replace(/^\s*\/\/\s*\z/,""); - if (artist && song) - ajaxCover(artist, song); + if (artist && song) { + getCover(artist, song); + songMetadata = [metadata[0], metadata[1]]; + } $("#artist").text(function() { return artist; @@ -187,10 +180,9 @@ var get_song = function(station) { } else { document.querySelector("#status > img").src = "images/" + station +".png"; } - - if ($(".marquee").text().length > 20) - $(".marquee").marquee(); } + if ($(".marquee").text().length > 20) + $(".marquee").marquee(); } if (station) { @@ -203,7 +195,7 @@ var get_song = function(station) { } } -function ajaxCover(artist, track) { +function getCover(artist, track) { $.ajax({ type: "POST", url: "http://ws.audioscrobbler.com/2.0/?", @@ -219,7 +211,7 @@ function ajaxCover(artist, track) { // We already got url of image -> it means that callback was successful, // so add image to playing div - if (cover_url && actual_cover_url !== cover_url) { + if (cover_url && actualCoverUrl !== cover_url) { if (document.querySelector("#status > img")) { document.querySelector("#status > img").src = cover_url; @@ -228,7 +220,7 @@ function ajaxCover(artist, track) { $(this).insertBefore('#playing').addClass("radioimg"); }); } - actual_cover_url = cover_url; + actualCoverUrl = cover_url; } else if (!cover_url) { if (!document.querySelector("#status > img")) { $('').load(function() { @@ -237,7 +229,7 @@ function ajaxCover(artist, track) { } else { document.querySelector("#status > img").src = "images/" + station + ".png"; } - actual_cover_url = cover_url; + actualCoverUrl = cover_url; } else {} }, error: function(status) { diff --git a/www/scripts/helper.js b/www/scripts/helper.js index d56d7d2..95a244b 100644 --- a/www/scripts/helper.js +++ b/www/scripts/helper.js @@ -4,12 +4,19 @@ $(".radio").click(function() { }); // Fetch metadata for currently playing track -if (actualCoverUrl && isPlaying) { - $('').load(function() { - $(this).insertBefore('#playing').addClass("radioimg"); - }); +if (isPlaying) { + if (actualCoverUrl) { + $('').load(function() { + $(this).insertBefore('#playing').addClass("radioimg"); + }); + } else { + $('').load(function() { + $(this).insertBefore('#playing').addClass("radioimg"); + }); + } } -if (station) { - getName(station); +if (songMetadata && isPlaying) { + $("#artist").text(songMetadata[0]); + $("#song").text(songMetadata[1]); } \ No newline at end of file diff --git a/www/scripts/html5audio.js b/www/scripts/html5audio.js index 142351e..98ded2b 100644 --- a/www/scripts/html5audio.js +++ b/www/scripts/html5audio.js @@ -12,10 +12,10 @@ var expres = { } // Init variables -var actualCoverUrl = null; +var actualCoverUrl = null; // String - URL of cover var getMetadata = null; // Function - setInterval() fn, which calls getName(radio) for updating name of song var isPlaying = false; // Bool - If stream is playing, it's given value is true -var readyStateInterval = null; // Function - setInterval() fn, see line 63 for more info +var songMetadata = null; // Array - Contains name of artist and name of song var stream = null; // Object - HTML5 Audio object var streamUrl = null; // String - URL of chosen radio stream var station = null; // String - name of playing radio stream @@ -58,16 +58,8 @@ var html5audio = { getName(radio); }, 15000); - isPlaying = true; stream.play(); - readyStateInterval = setInterval(function(){ - if (stream.readyState && stream.readyState <= 2) { - isPlaying = true; - document.getElementById('activityindicator').style.display = 'block'; - } - }, 1000); - stream.addEventListener("waiting", function() { isPlaying = false; document.getElementById('activityindicator').style.display = 'block'; @@ -87,7 +79,6 @@ var html5audio = { }, stop: function() { document.getElementById('activityindicator').style.display = 'none'; - clearInterval(readyStateInterval); clearInterval(getMetadata); if (stream) stream.pause(); @@ -138,7 +129,7 @@ var getName = function(station) { // LAST.FM API for getting cover of song if (metadata[0] && metadata[1]) { getCover(metadata[0], metadata[1]); - + songMetadata = [metadata[0], metadata[1]]; } else { // If we don't know either name of artist or song, replace img with station img if (!document.querySelector("#status > img")) { @@ -167,8 +158,10 @@ var getName = function(station) { var song = data.querySelector("songTitle").textContent. replace(/^\s*\/\/\s*\z/,""); - if (artist && song) + if (artist && song) { getCover(artist, song); + songMetadata = [metadata[0], metadata[1]]; + } $("#artist").text(function() { return artist; @@ -187,10 +180,9 @@ var getName = function(station) { } else { document.querySelector("#status > img").src = "images/" + station +".png"; } - - if ($(".marquee").text().length > 20) - $(".marquee").marquee(); } + if ($(".marquee").text().length > 20) + $(".marquee").marquee(); } if (station) {