* fixed IE bug with firefogg disabled loading js2 for upload page
authorMichael Dale <dale@users.mediawiki.org>
Fri, 31 Jul 2009 02:44:37 +0000 (02:44 +0000)
committerMichael Dale <dale@users.mediawiki.org>
Fri, 31 Jul 2009 02:44:37 +0000 (02:44 +0000)
* added support for two-pass encoding (firefogg bzr trunk)
* added support for setting in and out points

js2/mwEmbed/example_usage/Firefogg_Make_Advanced.html
js2/mwEmbed/jsScriptLoader.php
js2/mwEmbed/libAddMedia/mvAdvFirefogg.js
js2/mwEmbed/mv_embed.js
js2/mwEmbed/php/languages/mwEmbed.i18n.php

index 669bf12..110024e 100644 (file)
@@ -89,9 +89,9 @@ Make Ogg Video</h1>
 <br>   
        <br>
        <div style="margin-right:auto;margin-left:auto;width:500px;" id="loadFogg">Loading firefogg<blink>...</blink></div>     
-       <div style="margin-right:auto;margin-left:auto;width:500px;height:250px"  id="firefogg_app"></div>
+       <div style="margin-right:auto;margin-left:auto;width:500px;height:230px"  id="firefogg_app"></div>
        
-       <div style="height:250px"></div>
+       <div style="height:265px"></div>
        <center><span style="font:size:80%">Built using <a href="http://firefogg.org">firefogg</a>, <a href="http://www.mediawiki.org/wiki/Media_Projects_Overview#MwEmbed">MwEmbed</a> and <a href="http://jqueryui.com/">jquery.ui</a>. Supports  
                <a href="#" id="doThemeRoller">...</a>
        </span>
index 1fc8da4..e73612f 100644 (file)
@@ -273,7 +273,7 @@ class jsScriptLoader {
                                $jmsg[$msgKey] = wfMsgNoTrans( $msgKey );
                        }
                        //return the updated loadGM json with fixed new lines:
-                       return 'loadGM( ' . ApiFormatJson::getJsonEncode( $jmsg ) . ')';
+                       return 'loadGM( ' . json_encode( $jmsg ) . ')';
                } else {
                        $this->error_msg.= "Could not parse JSON language msg in File:\n" .
                                                                $this->cur_file . "\n";
index 410a996..51a7c4d 100644 (file)
@@ -5,14 +5,14 @@
 //@@todo put all msg text into loadGM json
 
 loadGM({
-       "help-sticky": "Help (Click to Keep Help on Screen)",
+       "help-sticky": "Help (Click to Stick)",
        "fogg-cg-preset": "Preset: <strong>$1</strong>",
        "fogg-cg-quality": "Basic Quality and Resolution Control",
        "fogg-cg-meta": "Meta Data for the Clip",
+       "fogg-cg-range" : "Encoding Range",
        "fogg-cg-advVideo": "Advanced Video Encoding Controls",
        "fogg-cg-advAudio": "Advanced Audio Encoding Controls",
-       "fogg-preset-custom": "Custom Settings"
-       
+       "fogg-preset-custom": "Custom Settings" 
 });
 
 var mvAdvFirefogg = function( iObj ){
@@ -20,7 +20,7 @@ var mvAdvFirefogg = function( iObj ){
 }
 var default_mvAdvFirefogg_config = {
        //which config groups to include
-       'config_groups'  : ['preset', 'quality', 'meta', 'advVideo', 'advAudio'],
+       'config_groups'  : ['preset', 'range', 'quality', 'meta', 'advVideo', 'advAudio'],
        
        //if you want to load any custom presets must follow the mvAdvFirefogg.presetConf json outline below
        'custom_presets'        : {}, 
@@ -34,7 +34,7 @@ var default_mvAdvFirefogg_config = {
 
 mvAdvFirefogg.prototype = {    
        //the global groupings and titles for for configuration options : 
-       config_groups : [ 'preset','quality', 'meta'     ,'advVideo', 'advAudio'],              
+       config_groups : [ 'preset', 'range', 'quality', 'meta', 'advVideo', 'advAudio'],                
        //list of pre-sets:      
        //local instance encoder config:
        default_local_settings:{
@@ -71,6 +71,24 @@ mvAdvFirefogg.prototype = {
                        'group'         : 'quality',
                        'help'           : "Used to set the <i>Visual Quality</i> of the encoded video. (not used if you set bitrate in advanced controls below)"
                },
+               'twopass':{
+                       't'             : "Two Pass Encoding",
+                       'type'  : "boolean",
+                       'group' : "quality",
+                       'help'  : "Two Pass Encoding enables more consitant quality by making two passes over the video file"
+               },
+               'starttime':{                   
+                       't'             : "Start Second",
+                       'type'  : "float",
+                       'group' : "range",
+                       'help'  : "Only encode from time in seconds"
+               },
+               'endtime':{                     
+                       't'             : "End Second",
+                       'type'  : "float",
+                       'group' : "range",
+                       'help'  : "only encode to time in seconds"
+               },
                'audioQuality': {
                        'd'                     : 1,
                        't'                     : 'Audio Quality',
@@ -350,7 +368,7 @@ mvAdvFirefogg.prototype = {
                        '<label for="_' + cK + '">' +                                   
                         cConf.t + ':' + 
                         '<span title="' + gM('help-sticky') + '" class="help_'+ cK + ' ui-icon ui-icon-info" style="float:left"></span>'+
-                        '</label></td><td>';
+                        '</label></td><td valign="top">';
                //if we don't value for this: 
                var dv = ( this.default_encoder_config[cK].d ) ? this.default_encoder_config[cK].d : '';                
                //switch on the config type
@@ -358,7 +376,9 @@ mvAdvFirefogg.prototype = {
                        case 'string':
                        case 'date':
                        case 'int':
-                               out+= '<input type="text" class="_' + cK + ' text ui-widget-content ui-corner-all" value="' + dv + '" >' ;
+                       case 'float':
+                               var size = ( cConf.type =='string' ||cConf.type == 'date' )?'14':'4';
+                               out+= '<input size="' + size + '" type="text" class="_' + cK + ' text ui-widget-content ui-corner-all" value="' + dv + '" >' ;
                        break;
                        case 'boolean':
                                var checked_attr = (dv===true)?' checked="true"':'';
@@ -472,10 +492,13 @@ mvAdvFirefogg.prototype = {
                                case 'boolean':
                                        $j(_this.selector + ' ._'+cK).click(function(){
                                                _this.updateLocalValue(  _this.getClassId(this), $j(this).is(":checked") );
+                                               _this.updatePresetSelection('custom');
                                        })
                                break;
                                case 'select':
                                case 'string':
+                               case 'int':
+                               case 'float':
                                        //@@check if we have a validate function on the string
                                        $j(_this.selector + ' ._'+cK).change(function(){                                                                
                                                $j(this).val( _this.updateLocalValue(
index b6b3743..530b27e 100644 (file)
@@ -921,11 +921,15 @@ function mv_jqueryBindings(){
                }
                
                $.fn.baseUploadInterface = function(iObj){
-                       mvJsLoader.doLoad([
-                                 'mvBaseUploadInterface',
-                                 '$j.ui',
+                       mvJsLoader.doLoadDepMode([
+                               [
+                                       'mvBaseUploadInterface',
+                                       '$j.ui',
+                               ],
+                               [
                                  '$j.ui.progressbar',
-                                 '$j.ui.dialog'        
+                                 '$j.ui.dialog'
+                               ]
                        ],function(){                           
                                myUp = new mvBaseUploadInterface( iObj );
                                myUp.setupForm();
index 5e2f1b5..e140a00 100644 (file)
 #<JAVASCRIPT EN REPLACE>
 $messages['en'] = array(
        /*
-       * js file: /libTimedText/mvTextInterface.js
+       * js file: /libSequencer/mvSequencer.js
        */
-       'select_transcript_set' => 'Select Layers',
-       'auto_scroll' => 'auto scroll',
-       'close' => 'close',
-       'improve_transcript' => 'Improve',
+       'menu_clipedit' => 'Edit Media',
+       'menu_transition' => 'Transitions & Effects',
+       'menu_cliplib' => 'Add Media',
+       'menu_resource_overview' => 'Resource Overview',
+       'menu_options' => 'Options',
+       'loading_timeline' => 'Loading TimeLine <blink>...</blink>',
+       'loading_user_rights' => 'Loading user rights <blink>...</blink>',
+       'no_edit_permissions' => 'You don\'t have permissions to save changes to this sequence',
+       'edit_clip' => 'Edit Clip',
+       'edit_save' => 'Save Sequence Changes',
+       'saving_wait' => 'Save in Progress (please wait)',
+       'save_done' => 'Save Done',
+       'edit_cancel' => 'Cancel Sequence Edit',
+       'edit_cancel_confirm' => 'Are you sure you want to cancel your edit. Changes will be lost',
+       'zoom_in' => 'Zoom In',
+       'zoom_out' => 'Zoom Out',
+       'cut_clip' => 'Cut Clips',
+       'expand_track' => 'Expand Track',
+       'colapse_track' => 'Collapse Track',
+       'play_from_position' => 'Play From Playline Position',
+       'pixle2sec' => 'pixles to seconds',
+       'rmclip' => 'Remove Clip',
+       'clip_in' => 'clip in',
+       'clip_out' => 'clip out',
+       'mv_welcome_to_sequencer' => '<h3>Welcome to the sequencer demo</h3> very <b>limited</b> functionality right now. Not much documentation yet either',
+       'no_selected_resource' => '<h3>No Resource selected</h3> Select a Clip to enable editing',
+       'error_edit_multiple' => '<h3>Multiple Resources Selected</h3> Select a single clip to edit it',
+       'mv_editor_options' => 'Editor options',
+       'mv_editor_mode' => 'Editor mode',
+       'mv_simple_editor_desc' => 'simple editor (iMovie style)',
+       'mv_advanced_editor_desc' => 'advanced editor (Final Cut style)',
+       'mv_other_options' => 'Other Options',
+       'mv_contextmenu_opt' => 'Enable Context Menus',
+       'mv_sequencer_credit_line' => 'Developed by <a href="http://kaltura.com">Kaltura, Inc.</a>  in partnership with the <a href="http://wikimediafoundation.org/wiki/Home">Wikimedia Foundation</a> ( <a href="#">more info</a> )',
 
        /*
-       * js file: /libAddMedia/mvBaseUploadInterface.js
+       * js file: /libSequencer/mvTimedEffectsEdit.js
        */
-       'upload-transcode-in-progress' => 'Doing Transcode & Upload (do not close this window)',
-       'upload-in-progress' => 'Upload in Progress (do not close this window)',
-       'upload-transcoded-status' => 'Transcoded',
-       'uploaded-status' => 'Uploaded',
-       'wgfogg_wrong_version' => 'You have firefogg installed but its outdated, <a href="http://firefogg.org">please upgrade</a> ',
-       'upload-stats-fileprogres' => '$1 of $2',
-       'mv_upload_completed' => 'Your upload is complete',
-       'mv_upload_done' => 'Your upload <i>should be</i> accessible <a href="$1">here</a>',
-       'upload-unknown-size' => 'Unknown size',
-       'mv-cancel-confim' => 'Are you sure you want to cancel?',
-       'successfulupload' => 'Successful Upload',
-       'uploaderror' => 'Upload error',
-       'uploadwarning' => 'Upload warning',
-       'unknown-error' => 'Unknown Error',
-       'return-to-form' => 'Return to form',
-       'file-exists-duplicate' => 'This file is a duplicate of the following file',
-       'fileexists' => 'A file with this name exists already, please check <b><tt>$1</tt></b> if you are not sure if you want to change it.',
-       'fileexists-thumb' => '<center><b>Existing file</b></center>',
-       'ignorewarning' => 'Ignore warning and save file anyway',
-       'file-thumbnail-no' => 'The filename begins with <b><tt>$1</tt></b>',
-       'go-to-resource' => 'Go to Resource Page',
-       'wgfogg_waring_bad_extension' => 'You have selected a file with an unsuported extension (<a href="http://commons.wikimedia.org/wiki/Commons:Firefogg#Supported_File_Types">more information</a>).',
-       'cancel-button' => 'Cancel',
-       'ok-button' => 'OK',
+       'transition_in' => 'Transition In',
+       'transition_out' => 'Transition Out',
+       'effects' => 'Effects Stack',
+       'remove_transition' => 'Remove Transition',
+       'edit_transin' => 'Edit Transition Into Clip',
+       'edit_transout' => 'Edit Transition Out of Clip',
 
        /*
-       * js file: /libAddMedia/mvAdvFirefogg.js
+       * js file: /libClipEdit/mvClipEdit.js
        */
-       'help-sticky' => 'Help (Click to Keep Help on Screen)',
-       'fogg-cg-preset' => 'Preset: <strong>$1</strong>',
-       'fogg-cg-quality' => 'Basic Quality and Resolution Control',
-       'fogg-cg-meta' => 'Meta Data for the Clip',
-       'fogg-cg-advVideo' => 'Advanced Video Encoding Controls',
-       'fogg-cg-advAudio' => 'Advanced Audio Encoding Controls',
-       'fogg-preset-custom' => 'Custom Settings',
+       'mv_crop' => 'Crop Image',
+       'mv_apply_crop' => 'Apply Crop to Image',
+       'mv_reset_crop' => 'Rest Crop',
+       'mv_insert_image_page' => 'Insert Into page',
+       'mv_insert_into_sequence' => 'Insert Into Sequence',
+       'mv_preview_insert' => 'Preview Insert',
+       'mv_cancel_image_insert' => 'Cancel Insert',
+       'sc_fileopts' => 'Clip Detail Edit',
+       'sc_inoutpoints' => 'Set In-Out points',
+       'sc_overlays' => 'Overlays',
+       'sc_audio' => 'Audio Control',
+       'sc_duration' => 'Duration',
+       'mv_template_properties' => 'Template Properties',
+       'mv_custom_title' => 'Custom Title',
+       'mv_edit_properties' => 'Edit Properties',
+       'mv_other_properties' => 'Other Properties',
+       'mv_resource_page' => 'Resource Page:',
+       'mv_set_in_out_points' => 'Set in-out points',
+       'mv_start_time' => 'Start Time',
+       'mv_end_time' => 'End Time',
+       'mv_preview_inout' => 'Preview/Play In-out points',
 
        /*
        * js file: /libAddMedia/searchLibs/metavidSearch.js
@@ -66,21 +92,6 @@ $messages['en'] = array(
        */
        'imported_from' => '$1 imported from [$2 $3]. See the original [$4 resource page] for more info',
 
-       /*
-       * js file: /libAddMedia/mvFirefogg.js
-       */
-       'fogg-select_file' => 'Select File',
-       'fogg-select_new_file' => 'Select New File',
-       'fogg-save_local_file' => 'Save Ogg',
-       'fogg-check_for_fogg' => 'Checking for Firefogg <blink>...</blink>',
-       'fogg-installed' => 'Firefogg is Installed',
-       'fogg-for_improved_uplods' => 'For Improved uploads: ',
-       'fogg-please_install' => '<a href="$1">Install Firefogg</a>. More <a href="http://commons.wikimedia.org/wiki/Commons:Firefogg">about firefogg</a>',
-       'fogg-use_latest_fox' => 'Please first install <a href="http://www.mozilla.com/en-US/firefox/upgrade.html?from=firefogg">Firefox 3.5</a>. <i>then revisit this page to install the <b>firefogg</b> extention</i>',
-       'fogg-passthrough_mode' => 'Your selected file is already ogg or not a video file',
-       'fogg-transcoding' => 'Encoding Video to Ogg',
-       'fogg-encoding-done' => 'Encoding Done',
-
        /*
        * js file: /libAddMedia/remoteSearchDriver.js
        */
@@ -110,52 +121,69 @@ $messages['en'] = array(
        'missing_desc_see_soruce' => 'This Asset is missing a description. Please see the [$1 orginal source] and help describe it',
 
        /*
-       * js file: /libSequencer/mvSequencer.js
+       * js file: /libAddMedia/mvFirefogg.js
        */
-       'menu_clipedit' => 'Edit Media',
-       'menu_transition' => 'Transitions & Effects',
-       'menu_cliplib' => 'Add Media',
-       'menu_resource_overview' => 'Resource Overview',
-       'menu_options' => 'Options',
-       'loading_timeline' => 'Loading TimeLine <blink>...</blink>',
-       'loading_user_rights' => 'Loading user rights <blink>...</blink>',
-       'no_edit_permissions' => 'You don\'t have permissions to save changes to this sequence',
-       'edit_clip' => 'Edit Clip',
-       'edit_save' => 'Save Sequence Changes',
-       'saving_wait' => 'Save in Progress (please wait)',
-       'save_done' => 'Save Done',
-       'edit_cancel' => 'Cancel Sequence Edit',
-       'edit_cancel_confirm' => 'Are you sure you want to cancel your edit. Changes will be lost',
-       'zoom_in' => 'Zoom In',
-       'zoom_out' => 'Zoom Out',
-       'cut_clip' => 'Cut Clips',
-       'expand_track' => 'Expand Track',
-       'colapse_track' => 'Collapse Track',
-       'play_from_position' => 'Play From Playline Position',
-       'pixle2sec' => 'pixles to seconds',
-       'rmclip' => 'Remove Clip',
-       'clip_in' => 'clip in',
-       'clip_out' => 'clip out',
-       'mv_welcome_to_sequencer' => '<h3>Welcome to the sequencer demo</h3> very <b>limited</b> functionality right now. Not much documentation yet either',
-       'no_selected_resource' => '<h3>No Resource selected</h3> Select a Clip to enable editing',
-       'error_edit_multiple' => '<h3>Multiple Resources Selected</h3> Select a single clip to edit it',
-       'mv_editor_options' => 'Editor options',
-       'mv_editor_mode' => 'Editor mode',
-       'mv_simple_editor_desc' => 'simple editor (iMovie style)',
-       'mv_advanced_editor_desc' => 'advanced editor (Final Cut style)',
-       'mv_other_options' => 'Other Options',
-       'mv_contextmenu_opt' => 'Enable Context Menus',
-       'mv_sequencer_credit_line' => 'Developed by <a href="http://kaltura.com">Kaltura, Inc.</a>  in partnership with the <a href="http://wikimediafoundation.org/wiki/Home">Wikimedia Foundation</a> ( <a href="#">more info</a> )',
+       'fogg-select_file' => 'Select File',
+       'fogg-select_new_file' => 'Select New File',
+       'fogg-save_local_file' => 'Save Ogg',
+       'fogg-check_for_fogg' => 'Checking for Firefogg <blink>...</blink>',
+       'fogg-installed' => 'Firefogg is Installed',
+       'fogg-for_improved_uplods' => 'For Improved uploads: ',
+       'fogg-please_install' => '<a href="$1">Install Firefogg</a>. More <a href="http://commons.wikimedia.org/wiki/Commons:Firefogg">about firefogg</a>',
+       'fogg-use_latest_fox' => 'Please first install <a href="http://www.mozilla.com/en-US/firefox/upgrade.html?from=firefogg">Firefox 3.5</a> (or later). <i>then revisit this page to install the <b>firefogg</b> extention</i>',
+       'fogg-passthrough_mode' => 'Your selected file is already ogg or not a video file',
+       'fogg-transcoding' => 'Encoding Video to Ogg',
+       'fogg-encoding-done' => 'Encoding Done',
 
        /*
-       * js file: /libSequencer/mvTimedEffectsEdit.js
+       * js file: /libAddMedia/mvBaseUploadInterface.js
        */
-       'transition_in' => 'Transition In',
-       'transition_out' => 'Transition Out',
-       'effects' => 'Effects Stack',
-       'remove_transition' => 'Remove Transition',
-       'edit_transin' => 'Edit Transition Into Clip',
-       'edit_transout' => 'Edit Transition Out of Clip',
+       'upload-transcode-in-progress' => 'Doing Transcode & Upload (do not close this window)',
+       'upload-in-progress' => 'Upload in Progress (do not close this window)',
+       'upload-transcoded-status' => 'Transcoded',
+       'uploaded-status' => 'Uploaded',
+       'wgfogg_wrong_version' => 'You have firefogg installed but its outdated, <a href="http://firefogg.org">please upgrade</a> ',
+       'upload-stats-fileprogres' => '$1 of $2',
+       'mv_upload_completed' => 'Your upload is complete',
+       'mv_upload_done' => 'Your upload <i>should be</i> accessible <a href="$1">here</a>',
+       'upload-unknown-size' => 'Unknown size',
+       'mv-cancel-confim' => 'Are you sure you want to cancel?',
+       'successfulupload' => 'Successful Upload',
+       'uploaderror' => 'Upload error',
+       'uploadwarning' => 'Upload warning',
+       'unknown-error' => 'Unknown Error',
+       'return-to-form' => 'Return to form',
+       'file-exists-duplicate' => 'This file is a duplicate of the following file',
+       'fileexists' => 'A file with this name exists already, please check <b><tt>$1</tt></b> if you are not sure if you want to change it.',
+       'fileexists-thumb' => '<center><b>Existing file</b></center>',
+       'ignorewarning' => 'Ignore warning and save file anyway',
+       'file-thumbnail-no' => 'The filename begins with <b><tt>$1</tt></b>',
+       'go-to-resource' => 'Go to Resource Page',
+       'wgfogg_waring_bad_extension' => 'You have selected a file with an unsuported extension (<a href="http://commons.wikimedia.org/wiki/Commons:Firefogg#Supported_File_Types">more information</a>).',
+       'cancel-button' => 'Cancel',
+       'ok-button' => 'OK',
+
+       /*
+       * js file: /libAddMedia/mvAdvFirefogg.js
+       */
+       'help-sticky' => 'Help (Click to Stick)',
+       'fogg-cg-preset' => 'Preset: <strong>$1</strong>',
+       'fogg-cg-quality' => 'Basic Quality and Resolution Control',
+       'fogg-cg-meta' => 'Meta Data for the Clip',
+       'fogg-cg-range' => 'Encoding Range',
+       'fogg-cg-advVideo' => 'Advanced Video Encoding Controls',
+       'fogg-cg-advAudio' => 'Advanced Audio Encoding Controls',
+       'fogg-preset-custom' => 'Custom Settings',
+
+       /*
+       * js file: /mv_embed.js
+       */
+       'loading_txt' => 'loading <blink>...</blink>',
+       'loading_title' => 'Loading...',
+       'size-gigabytes' => '$1 GB',
+       'size-megabytes' => '$1 MB',
+       'size-kilobytes' => '$1 K',
+       'size-bytes' => '$1 B',
 
        /*
        * js file: /libEmbedVideo/embedVideo.js
@@ -197,40 +225,5 @@ $messages['en'] = array(
        'mv_generic_missing_plugin' => 'You browser does not appear to support playback type: <b>$1</b><br> visit the <a href="http://commons.wikimedia.org/wiki/Commons:Media_help">Playback Methods</a> page to download a player<br>',
        'mv_for_best_experience' => 'For a better video playback experience we recommend <b><a href="http://www.mozilla.com/en-US/firefox/upgrade.html?from=mv_embed">Firefox 3.5</a></b>',
        'mv_do_not_warn_again' => 'Do not warn me again.',
-
-       /*
-       * js file: /libClipEdit/mvClipEdit.js
-       */
-       'mv_crop' => 'Crop Image',
-       'mv_apply_crop' => 'Apply Crop to Image',
-       'mv_reset_crop' => 'Rest Crop',
-       'mv_insert_image_page' => 'Insert Into page',
-       'mv_insert_into_sequence' => 'Insert Into Sequence',
-       'mv_preview_insert' => 'Preview Insert',
-       'mv_cancel_image_insert' => 'Cancel Insert',
-       'sc_fileopts' => 'Clip Detail Edit',
-       'sc_inoutpoints' => 'Set In-Out points',
-       'sc_overlays' => 'Overlays',
-       'sc_audio' => 'Audio Control',
-       'sc_duration' => 'Duration',
-       'mv_template_properties' => 'Template Properties',
-       'mv_custom_title' => 'Custom Title',
-       'mv_edit_properties' => 'Edit Properties',
-       'mv_other_properties' => 'Other Properties',
-       'mv_resource_page' => 'Resource Page:',
-       'mv_set_in_out_points' => 'Set in-out points',
-       'mv_start_time' => 'Start Time',
-       'mv_end_time' => 'End Time',
-       'mv_preview_inout' => 'Preview/Play In-out points',
-
-       /*
-       * js file: /mv_embed.js
-       */
-       'loading_txt' => 'loading <blink>...</blink>',
-       'loading_title' => 'Loading...',
-       'size-gigabytes' => '$1 GB',
-       'size-megabytes' => '$1 MB',
-       'size-kilobytes' => '$1 K',
-       'size-bytes' => '$1 B',
 );
 #</JAVASCRIPT EN REPLACE>
\ No newline at end of file