X-Git-Url: http://git.dj3c1t.com/?a=blobdiff_plain;f=app%2Fout%2Fdefault%2Fjs%2Factions%2Fsources.js;h=90a052ea9866158d1be79aa17021d4c6b1104fd5;hb=HEAD;hp=03a20c0b90fff92bf114ff60c3840cd39f8c6266;hpb=52114c90a76b0a88b7c9429d0b78d881fd0a993e;p=mw_sourceml diff --git a/app/out/default/js/actions/sources.js b/app/out/default/js/actions/sources.js index 03a20c0..90a052e 100644 --- a/app/out/default/js/actions/sources.js +++ b/app/out/default/js/actions/sources.js @@ -1,313 +1,36 @@ $(document).ready( function(){ init_show_xml_links(); - init_players("*"); - init_player_listener(); + init_players(""); init_menu_source("body"); + init_album_play_all(); } ); // ----------------------------------------------------------------- -// player audio +// players audio // -var current_document = false; -var autoplay_next = false; - -function init_players(target){ - $(target == "*" ? "audio" : target + " audio").each - ( function() - { var audio_elt = $(this).get(0); - var CAN_PLAY = false; - var id_document = $(this).attr("id").substring(6); - var id_source = null; - if((k = id_document.indexOf("_")) != -1) id_source = id_document.substring(0, k); - if(id_source){ - $(this).find("source").each( - function(){ - if(audio_elt.canPlayType($(this).attr("type"))) CAN_PLAY = true; - } - ); - if(CAN_PLAY){ - audio_elt.addEventListener("ended", track_ended, false); - $("#player_" + id_document + " .play").click(function() { play(id_document); return false; }); - $("#player_" + id_document + " .play").css("display", "inline"); - $("#player_" + id_document + " .pause").click(function() { pause(); return false; }); - $("#player_" + id_document + " .pause").css("display", "none"); - $("#player_" + id_document + " .stop").click(function() { stop(); return false; }); - $("#player_" + id_document + " .stop").css("display", "none"); - $("#document_" + id_document + " .no_player").remove(); - } - } - if(!CAN_PLAY) $("#player_" + id_document).remove(); - } - ); - $(target == "*" ? ".track" : target + " .track").each( - function(){ - if($(this).find(".player").size()){ - var id_source = $(this).attr("id").substring(6); - $(this).find(".player_progress").first().click( - function(e){ - if((progress_width = $(this).width()) != 0){ - play_source_from(id_source, (100 * (e.pageX - this.offsetLeft)) / progress_width); - } - } - ); - } - else $(this).find(".player_progress").first().css("cursor", "default"); - } - ); +function init_players(elt){ + $(elt + " audio").jaudioPlayer({ + "player_graphics": mw_path_url + "plugins/mw_sourceml/app/out/default/images/jaudio-player/jap-graphics.png", + "loading_img": mw_path_url + "plugins/mw_sourceml/app/out/default/images/jaudio-player/jap-loading.gif", + "auto_play_next_track": false, + "loop": false, + "waveform_class": "waveform" + }); } -function init_player_listener(){ - setInterval("player_listener_update()", 300); -} - -function player_listener_update(){ - if( - (current_document != false) - && (source_id = get_current_source_id()) - && (current_audio = $("#audio_" + current_document).get(0)) - && ($("#track_" + source_id + " .player_progress").size()) - ){ - $("#track_" + source_id + " .player_progress .position").not( - "#track_" + source_id + " .pistes .player_progress .position").not( - "#track_" + source_id + " .derivation .player_progress .position").css( - "width", - Math.round((100 * current_audio.currentTime) / current_audio.duration) + "%" - ); - } -} - -function get_current_source_id(){ - if(current_document != false){ - if($("#document_" + current_document).size()){ - var source_document_id = $("#document_" + current_document).attr("id").substring(9); - if((k = source_document_id.indexOf("_")) != -1){ - return source_document_id.substring(0, k); - } - } - } - return false; -} - -function play_all(){ - autoplay_next = play_first_source(); -} - -function play_first_source(){ - var FOUND = false; - $(".track").not(".pistes .track").not(".derivation .track").each( +function init_album_play_all(){ + $("#play_all a").click( function(){ - if(!FOUND){ - $(this).find(".documents li").not(".pistes .documents li").not(".derivation .documents li").each( - function(){ - if(!FOUND){ - var source_document_id = $(this).attr("id").substring(9); - if(source_document_id.length > 0){ - if($("#player_" + source_document_id).size()){ - FOUND = true; - play(source_document_id); - } - } - } - } - ); - } + $("audio").jaudioPlayer("set_option", "auto_play_next_track", true); + $("#audio_wrapper_1 .player_controls .play").trigger("click"); + return false; } ); - return FOUND; -} - -function play_next_source(){ - var FOUND = false; - if(current_document != false){ - if($("#document_" + current_document).size()){ - var current_source_document_id = $("#document_" + current_document).attr("id"); - var current_source_id = get_current_source_id(); - if(current_source_id != false){ - var CURRENT_FOUND = false; - $(".track").not(".pistes .track").not(".derivation .track").each( - function(){ - if(!FOUND){ - if(CURRENT_FOUND){ - $(this).find(".documents li").not(".pistes .documents li").not(".derivation .documents li").each( - function(){ - if(!FOUND){ - var source_document_id = $(this).attr("id").substring(9); - if(source_document_id.length > 0){ - if($("#player_" + source_document_id).size()){ - FOUND = true; - play(source_document_id); - } - } - } - } - ); - } - else{ - if(current_source_id == $(this).attr("id").substring("6")){ - CURRENT_FOUND = true; - } - } - } - } - ); - } - } - } - return FOUND; -} - -function play(id_document){ - if(current_document == id_document){ - if($("#audio_" + current_document).get(0).paused){ - gui_state("playing"); - $("#audio_" + current_document).get(0).play(); - } - } - else{ - if(current_document != false){ - var audio_elt = $("#audio_" + current_document).get(0); - audio_elt.pause(); - audio_elt.currentTime = 0; - gui_state("stoped"); - } - current_document = id_document; - _play(0); - } } -function play_source_from(id_source, position){ - if( - (current_document != false) - && (current_source_id = get_current_source_id()) - && (id_source == current_source_id) - ){ - _play(position); - } - else{ - stop(); - var FOUND = false; - $("#track_" + id_source + " .documents li").each( - function(){ - if(!FOUND){ - var source_document_id = $(this).attr("id").substring(9); - if(source_document_id.length > 0){ - if($("#player_" + source_document_id).size()){ - FOUND = true; - current_document = source_document_id; - _play(position); - } - } - } - } - ); - } -} - -function _play(position){ - if(current_document != false){ - var audio_elt = $("#audio_" + current_document).get(0); - audio_elt.preload = "auto"; - audio_elt.addEventListener("loadeddata", track_loadeddata, false); - audio_elt.addEventListener("canplaythrough", track_canplaythrough, false); - audio_elt.addEventListener("playing", track_playing, false); - gui_state("loading"); - audio_elt.position = position; - audio_elt.load(); - } -} - -function track_loadeddata(event){ - var audio_elt = event.target; - audio_elt.removeEventListener("loadeddata", track_loadeddata, false); - if(current_document != false){ - audio_elt.currentTime = audio_elt.position ? (audio_elt.position * audio_elt.duration) / 100 : 0; - } -} - -function track_canplaythrough(event){ - var audio_elt = event.target; - audio_elt.removeEventListener("canplaythrough", track_canplaythrough, false); - audio_elt.play(); -} - -function track_playing(event){ - var audio_elt = event.target; - audio_elt.removeEventListener("playing", track_playing, false); - gui_state("playing"); -} - -function pause(){ - if(current_document != false){ - var audio_elt = $("#audio_" + current_document).get(0); - audio_elt.pause(); - gui_state("paused"); - } -} - -function stop(){ - if(current_document != false){ - var audio_elt = $("#audio_" + current_document).get(0); - audio_elt.pause(); - audio_elt.currentTime = 0; - gui_state("stoped"); - current_document = false; - } - autoplay_next = false; -} - -function track_ended(){ - gui_state("stoped"); - var current_audio = $("#audio_" + current_document).get(0); - current_audio.pause(); - if(current_audio.currentTime) current_audio.currentTime = 0; - if(autoplay_next) autoplay_next = play_next_source(); -} - -function gui_state(state){ - gui_blur(); - if(current_document != false){ - var source_id = get_current_source_id(); - $("#track_" + source_id).removeClass("loading_player"); - if(state == "playing"){ - $("#player_" + current_document).find(".play").css("display", "none"); - $("#player_" + current_document).find(".pause").css("display", "inline"); - $("#player_" + current_document).find(".stop").css("display", "inline"); -// $("#track_" + source_id).removeClass("track"); - $("#track_" + source_id).addClass("playing_track"); - } - else if(state == "paused"){ - $("#player_" + current_document).find(".play").get(0).style.display = "inline"; - $("#player_" + current_document).find(".pause").get(0).style.display = "none"; - $("#player_" + current_document).find(".stop").get(0).style.display = "inline"; -// $("#track_" + source_id).removeClass("track"); - $("#track_" + source_id).addClass("playing_track"); - } - else if(state == "stoped"){ - $("#player_" + current_document).find(".play").get(0).style.display = "inline"; - $("#player_" + current_document).find(".pause").get(0).style.display = "none"; - $("#player_" + current_document).find(".stop").get(0).style.display = "none"; - $("#track_" + source_id).removeClass("playing_track"); -// $("#track_" + source_id).addClass("track"); - $("#track_" + source_id + " .player_progress .position").not( - "#track_" + source_id + " .pistes .player_progress .position").not( - "#track_" + source_id + " .derivation .player_progress .position").css("width", "0%"); - } - else if(state == "loading"){ - $("#track_" + source_id).addClass("loading_player"); - } - } -} - -function gui_blur(){ - if((current_document != false) && $("#player_" + current_document).size()){ - $("#player_" + current_document).find(".play").get(0).blur(); - $("#player_" + current_document).find(".pause").get(0).blur(); - $("#player_" + current_document).find(".stop").get(0).blur(); - } -} // ----------------------------------------------------------------- // source xml @@ -342,6 +65,7 @@ function toggle_source_list(id_block){ $("#source_list_" + id_block).slideUp(200); $("#source_list_" + id_block + " .pistes").empty(); $("#toggle_sources_list_" + id_block + ".block_list_toggle").html("[+]"); + $("audio").jaudioPlayer("clean_audio_elts"); } else{ $("#source_list_" + id_block).slideDown(200); @@ -365,6 +89,7 @@ function toggle_derivation_list(id_block){ $("#derivation_list_" + id_block).slideUp(200); $("#derivation_list_" + id_block + " .derivation").empty(); $("#toggle_derivation_list_" + id_block + ".block_list_toggle").html("[+]"); + $("audio").jaudioPlayer("clean_audio_elts"); } else{ $("#derivation_list_" + id_block).slideDown(200);