}
for (var src in audioContent)
{
+ try
+ {
audioContent[src].coverArt = new Image();
audioContent[src].coverArt.onload = function(){
};
audioContent[src].coverArt.src = (audioContent[src].coverArtURI !== undefined && audioContent[src].coverArtURI !== "") ? audioContent[src].coverArtURI : "images/musicButton.png";
+ }
+ catch(err)
+ {
+ console.log("Failed to load audio cover image");
+ }
}
}
function fillMediaList(contentList)
{
- if (!imagesLoaded)
+ //Don't try and fill an empty content list or an audio list that hasn't finished loading the thumbnails
+ if (contentList.length <=0 || (contentList === audioContent && !imagesLoaded))
return false;
var iconURI;
{
if (!lightColor)
{
- $("#mediaListItems").append("<li><a href='#'>"
- "<canvas id=canvasNum" + i + " width=" + canvasW + " height=" + canvasH + "> </canvas>"
+ $("#mediaListItems").append("<li><a href='#'>" +
+ "<canvas id=canvasNum" + i + " width=" + canvasW + " height=" + canvasH + "> </canvas>" +
"</a></li>"
);
}
else
{
- $("#mediaListItems").append("<li><a href='#' class='lightColor'>"
- "<canvas id=canvasNum" + i + " width=" + canvasW + " height=" + canvasH + "> </canvas>"
+ $("#mediaListItems").append("<li><a href='#' class='lightColor'>" +
+ "<canvas id=canvasNum" + i + " width=" + canvasW + " height=" + canvasH + "> </canvas>" +
"</a></li>"
);
}
switch (currentPlayerType)
{
case "AUDIO":
- updateMediaName(audioContent[listIndex].artists[0], audioContent[listIndex].title, audioContent[listIndex].coverArt);
- $("#audioSrc").attr("src", audioContent[listIndex].contentURI);
- audioPlayer.load();
+ try
+ {
+ updateMediaName(audioContent[listIndex].artists[0], audioContent[listIndex].title, audioContent[listIndex].coverArt);
+ $("#audioSrc").attr("src", audioContent[listIndex].contentURI);
+ audioPlayer.load();
+ }
+ catch(err)
+ {
+ console.log("updateMediaName error: " + err.message);
+ }
break;
+
case "VIDEO":
- updateMediaName(videoContent[listIndex].artists[0], audioContent[listIndex].title, vidIcon);
- $("#videoSrc").attr("src", videoContent[listIndex].contentURI);
- videoPlayer.load();
- $("#mediaList").fadeOut(300);
+ try
+ {
+ updateMediaName(videoContent[listIndex].artists[0], audioContent[listIndex].title, vidIcon);
+ $("#videoSrc").attr("src", videoContent[listIndex].contentURI);
+ videoPlayer.load();
+ $("#mediaList").fadeOut(300);
+ }
+ catch(err)
+ {
+ console.log("updateMediaName error: " + err.message);
+ }
break;
+
case "IMAGE":
- $("#imagePlayer").css("background", "url(" + imageContent[listIndex].contentURI + ") no-repeat center");
- $("#imagePlayer").css("background-size", "contain");
- $("#mediaList").fadeOut(300);
+ try
+ {
+ $("#imagePlayer").css("background", "url(" + imageContent[listIndex].contentURI + ") no-repeat center");
+ $("#imagePlayer").css("background-size", "contain");
+ $("#mediaList").fadeOut(300);
+ }
+ catch(err)
+ {
+ console.log("updateMediaName error: " + err.message);
+ }
break;
+
default:
break;
}
var artistText = new TextObject(currentCTX,{"text" : contentList[i].title, "xLoc" : canvasH + 20, "yLoc" : canvasH / 2.5 , "zLoc" : 0});
var trackText = new TextObject(currentCTX,{"text" : " ", "xLoc" : canvasH + 20, "yLoc" : canvasH / 1.1 , "zLoc" : 0});
break;
+
default:
break;
}
var emptyContent = true;
if (!content || content === undefined || content.length <= 0)
- console.log("Invalid content");
+ console.log("Invalid content for " + contentType);
else
{
emptyContent = false;
switch (contentType)
{
case "AUDIO":
- if (!emptyContent)
- {
- audioContent = content;
- sortByAlpha(audioContent);
- $("#audioSrc").attr("src", audioContent[0].contentURI);
-
- var imgSources = [];
- for (var i=0; i < audioContent.length; i++)
+ if (!emptyContent)
{
- var iconURI = (audioContent[i].thumbnailURIs !== undefined && audioContent[i].thumbnailURIs !== null) ? audioContent[i].thumbnailURIs[0] : "images/musicButton.png";
- audioContent[i].coverArtURI = iconURI;
+ try
+ {
+ audioContent = content;
+ sortByAlpha(audioContent);
+
+ $("#audioSrc").attr("src", audioContent[0].contentURI);
+
+ var imgSources = [];
+ for (var i = 0; i < audioContent.length; i++)
+ {
+ var iconURI = (audioContent[i].thumbnailURIs !== undefined && audioContent[i].thumbnailURIs !== null) ? audioContent[i].thumbnailURIs[0] : "images/musicButton.png";
+ audioContent[i].coverArtURI = iconURI;
+ }
+
+ loadImages(fillMediaList);
+ }
+
+ catch (err)
+ {
+ console.log("Error when parsing audioContent");
+ }
}
- loadImages(fillMediaList);
- }
contentType = "VIDEO";
break;
+
case "VIDEO":
if (!emptyContent)
{
}
contentType = "IMAGE";
break;
+
case "IMAGE":
if (!emptyContent)
{
}
contentType = undefined;
break;
+
default:
console.log("Undefined content search type");
nextContentType = undefined;
{
case "AUDIO":
//show audio player
- updateMediaName(audioContent[listIndex].artists[0], audioContent[listIndex].title, audioContent[listIndex].coverArt);
+ try
+ {
+ updateMediaName(audioContent[listIndex].artists[0], audioContent[listIndex].title, audioContent[listIndex].coverArt);
+ }
+ catch(err)
+ {
+ console.log("updateMediaName failed for showMediaMenu (audio) : " + err.message);
+ }
+
$("#mediaName").fadeIn(800);
$(".sortButton").fadeIn(800);
currentPlayer.fadeIn(800);
+
$("#mediaList").addClass("mediaListAudioList");
if (screenOrientation === "landscape" )
$("#mediaList").fadeIn(800);
break;
+
case "VIDEO":
//show video
setTimeout(function(){currentPlayer.show()}, 800); //The video element can't be faded, so wait a moment before showing
break;
+
case "IMAGE":
//show image
currentPlayer.fadeIn(800);
break;
- default:0
- console.log("Invalid player type");
+
+ default:
+ console.log("Invalid player type");
break;
}
}
{
case ("mainMusicButton"):
currentPlayer = $("#audioPlayer");
- currentPlayerControls = document.getElementById("audioPlayer");
- currentPlayerType = "AUDIO";
- currentContent = audioContent;
- showMediaMenu();
+ currentPlayerControls = document.getElementById("audioPlayer");
+ currentPlayerType = "AUDIO";
+ currentContent = audioContent;
+ showMediaMenu();
break;
+
case ("mainVideoButton"):
currentPlayer = $("#videoPlayer");
- currentPlayerControls = document.getElementById("videoPlayer");
- currentPlayerType = "VIDEO";
- currentContent = videoContent;
- showMediaMenu();
+ currentPlayerControls = document.getElementById("videoPlayer");
+ currentPlayerType = "VIDEO";
+ currentContent = videoContent;
+ showMediaMenu();
break;
+
case ("mainImageButton"):
currentPlayer = $("#imagePlayer");
- currentPlayerControls = imageControls;
- currentPlayerType = "IMAGE";
- currentContent = imageContent;
- showMediaMenu();
+ currentPlayerControls = imageControls;
+ currentPlayerType = "IMAGE";
+ currentContent = imageContent;
+ showMediaMenu();
break;
default:
console.log("Error: No menu by that name");
audioPlayer.pause();
$("#playButton").attr("src","images/playButton.png");
-
$("#audioSrc").attr("src", audioContent[listIndex].contentURI);
updateMediaName(audioContent[listIndex].artists[0], audioContent[listIndex].title, audioContent[listIndex].coverArt);
audioPlayer.load();
videoPlayer.pause();
$("#playButton").attr("src","images/playButton.png");
-
$("#videoSrc").attr("src", videoContent[videoIndex].contentURI);
videoPlayer.load();
}