CC-1615 playlist editor handles cuein/out fadein/out edits with '00:00:00.000000' format.
This commit is contained in:
parent
32368e794c
commit
373a5df4e9
6 changed files with 287 additions and 175 deletions
|
@ -48,18 +48,27 @@ $(document).ready(function() {
|
|||
);
|
||||
});
|
||||
|
||||
function removeTextInput(){
|
||||
function removeCueInput(){
|
||||
var span = $(this).parent();
|
||||
var pos = span.parent().attr('id').split("_").pop();
|
||||
|
||||
var cueIn, cueOut;
|
||||
|
||||
var regExpr = new RegExp("^\\d{2}[:]\\d{2}[:]\\d{2}([.]\\d{1,4})?$");
|
||||
var regExpr = new RegExp("^\\d{2}[:]\\d{2}[:]\\d{2}([.]\\d{1,6})?$");
|
||||
var oldValue = $("#pl_tmp_time").val();
|
||||
var newValue = $(this).val().trim();
|
||||
|
||||
if(span.hasClass('pl_cue_in')){
|
||||
if(newValue === "")
|
||||
newValue = '00:00:00';
|
||||
cueIn = newValue;
|
||||
}
|
||||
else if(span.hasClass('pl_cue_out')){
|
||||
cueOut = newValue;
|
||||
}
|
||||
|
||||
//test that input is a time.
|
||||
if (!regExpr.test(newValue)) {
|
||||
if (newValue!=="" && !regExpr.test(newValue)) {
|
||||
span.empty();
|
||||
span.append(oldValue);
|
||||
span.click(addTextInput);
|
||||
|
@ -67,13 +76,6 @@ $(document).ready(function() {
|
|||
return;
|
||||
}
|
||||
|
||||
if(span.hasClass('pl_cue_in')){
|
||||
cueIn = $(this).val();
|
||||
}
|
||||
else if(span.hasClass('pl_cue_out')){
|
||||
cueOut = $(this).val();
|
||||
}
|
||||
|
||||
$.post("ui_handler.php",
|
||||
|
||||
{ 'act': 'PL.setClipLength', 'pos': pos, 'cueIn': cueIn, 'cueOut': cueOut },
|
||||
|
@ -92,24 +94,99 @@ $(document).ready(function() {
|
|||
span.click(addTextInput);
|
||||
alert(data.error);
|
||||
}
|
||||
else if(data.type==="cue"){
|
||||
span = li.find(".pl_playlength");
|
||||
span.empty();
|
||||
span.append(data.cliplength);
|
||||
span = li.find(".pl_playlength");
|
||||
span.empty();
|
||||
span.append(data.cliplength);
|
||||
|
||||
span = $(".pl_duration");
|
||||
span.empty();
|
||||
span.append(data.length);
|
||||
|
||||
if(data.cueIn){
|
||||
span = li.find(".pl_cue_in");
|
||||
span.empty();
|
||||
span.append(data.cueIn);
|
||||
span.click(addTextInput);
|
||||
}
|
||||
if(data.cueOut){
|
||||
span = li.find(".pl_cue_out");
|
||||
span.empty();
|
||||
span.append(data.cueOut);
|
||||
span.click(addTextInput);
|
||||
}
|
||||
|
||||
span = li.find(".pl_fade_in").find(".pl_time");
|
||||
span.empty();
|
||||
span.append(data.fadeIn);
|
||||
|
||||
span = li.find(".pl_fade_out").find(".pl_time");
|
||||
span.empty();
|
||||
span.append(data.fadeOut);
|
||||
},
|
||||
|
||||
"json"
|
||||
);
|
||||
}
|
||||
|
||||
function removeFadeInput(){
|
||||
var span = $(this).parent();
|
||||
var pos = span.parent().parent().attr('id').split("_").pop();
|
||||
|
||||
var fadeIn, fadeOut;
|
||||
|
||||
var regExpr = new RegExp("^\\d{2}[:]\\d{2}[:]\\d{2}([.]\\d{1,6})?$");
|
||||
var oldValue = $("#pl_tmp_time").val();
|
||||
var newValue = $(this).val().trim();
|
||||
|
||||
if(newValue === "")
|
||||
newValue = '00:00:00';
|
||||
|
||||
if(span.parent().hasClass('pl_fade_in')){
|
||||
fadeIn = newValue;
|
||||
}
|
||||
else if(span.parent().hasClass('pl_fade_out')){
|
||||
fadeOut = newValue;
|
||||
}
|
||||
|
||||
//test that input is a time.
|
||||
if (!regExpr.test(newValue)) {
|
||||
span.empty();
|
||||
span.append(oldValue);
|
||||
span.click(addTextInput);
|
||||
alert("please put in a time '00:00:00 (.0000)'");
|
||||
return;
|
||||
}
|
||||
|
||||
$.post("ui_handler.php",
|
||||
|
||||
{ 'act': 'PL.setFadeLength', 'pos': pos, 'fadeIn': fadeIn, 'fadeOut': fadeOut },
|
||||
|
||||
function(data){
|
||||
var li, span;
|
||||
|
||||
li = $("#pl_"+pos);
|
||||
if(data.error){
|
||||
var hidden = $("#pl_tmp_time");
|
||||
var time = hidden.val();
|
||||
|
||||
if(data.cueIn){
|
||||
span = li.find(".pl_cue_in");
|
||||
span.empty();
|
||||
span.append(data.cueIn);
|
||||
span.click(addTextInput);
|
||||
}
|
||||
if(data.cueOut){
|
||||
span = li.find(".pl_cue_out");
|
||||
span.empty();
|
||||
span.append(data.cueOut);
|
||||
span.click(addTextInput);
|
||||
}
|
||||
span = hidden.parent();
|
||||
span.empty();
|
||||
span.append(time);
|
||||
span.click(addTextInput);
|
||||
alert(data.error);
|
||||
}
|
||||
if(data.fadeIn){
|
||||
span = li.find(".pl_fade_in").find(".pl_time");
|
||||
span.empty();
|
||||
span.append(data.fadeIn);
|
||||
span.click(addTextInput);
|
||||
}
|
||||
if(data.fadeOut){
|
||||
span = li.find(".pl_fade_out").find(".pl_time");
|
||||
span.empty();
|
||||
span.append(data.fadeOut);
|
||||
span.click(addTextInput);
|
||||
}
|
||||
},
|
||||
|
||||
"json"
|
||||
|
@ -118,7 +195,7 @@ $(document).ready(function() {
|
|||
|
||||
function addTextInput(){
|
||||
var time = $(this).text().trim();
|
||||
var input = $("<input type='text' value="+time+" size='10' maxlength='13'/>");
|
||||
var input = $("<input type='text' value="+time+" size='10' maxlength='15'/>");
|
||||
|
||||
//Firefox seems to have problems losing focus otherwise, Chrome is fine.
|
||||
$(":input").blur();
|
||||
|
@ -126,7 +203,14 @@ $(document).ready(function() {
|
|||
|
||||
$(this).append(input);
|
||||
input.focus();
|
||||
input.blur(removeTextInput);
|
||||
|
||||
if($(this).hasClass('pl_cue_in') || $(this).hasClass('pl_cue_out')) {
|
||||
input.blur(removeCueInput);
|
||||
}
|
||||
else if($(this).parent().hasClass('pl_fade_in') || $(this).parent().hasClass('pl_fade_out')){
|
||||
input.blur(removeFadeInput);
|
||||
}
|
||||
|
||||
input.keypress(function(ev){
|
||||
//don't want enter to submit.
|
||||
if (ev.keyCode == '13') {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue