var gform;gform||(document.addEventListener("gform_main_scripts_loaded",function(){gform.scriptsLoaded=!0}),document.addEventListener("gform/theme/scripts_loaded",function(){gform.themeScriptsLoaded=!0}),window.addEventListener("DOMContentLoaded",function(){gform.domLoaded=!0}),gform={domLoaded:!1,scriptsLoaded:!1,themeScriptsLoaded:!1,isFormEditor:()=>"function"==typeof InitializeEditor,callIfLoaded:function(o){return!(!gform.domLoaded||!gform.scriptsLoaded||!gform.themeScriptsLoaded&&!gform.isFormEditor()||(gform.isFormEditor()&&console.warn("The use of gform.initializeOnLoaded() is deprecated in the form editor context and will be removed in Gravity Forms 3.1."),o(),0))},initializeOnLoaded:function(o){gform.callIfLoaded(o)||(document.addEventListener("gform_main_scripts_loaded",()=>{gform.scriptsLoaded=!0,gform.callIfLoaded(o)}),document.addEventListener("gform/theme/scripts_loaded",()=>{gform.themeScriptsLoaded=!0,gform.callIfLoaded(o)}),window.addEventListener("DOMContentLoaded",()=>{gform.domLoaded=!0,gform.callIfLoaded(o)}))},hooks:{action:{},filter:{}},addAction:function(o,r,e,t){gform.addHook("action",o,r,e,t)},addFilter:function(o,r,e,t){gform.addHook("filter",o,r,e,t)},doAction:function(o){gform.doHook("action",o,arguments)},applyFilters:function(o){return gform.doHook("filter",o,arguments)},removeAction:function(o,r){gform.removeHook("action",o,r)},removeFilter:function(o,r,e){gform.removeHook("filter",o,r,e)},addHook:function(o,r,e,t,n){null==gform.hooks[o][r]&&(gform.hooks[o][r]=[]);var d=gform.hooks[o][r];null==n&&(n=r+"_"+d.length),gform.hooks[o][r].push({tag:n,callable:e,priority:t=null==t?10:t})},doHook:function(r,o,e){var t;if(e=Array.prototype.slice.call(e,1),null!=gform.hooks[r][o]&&((o=gform.hooks[r][o]).sort(function(o,r){return o.priority-r.priority}),o.forEach(function(o){"function"!=typeof(t=o.callable)&&(t=window[t]),"action"==r?t.apply(null,e):e[0]=t.apply(null,e)})),"filter"==r)return e[0]},removeHook:function(o,r,t,n){var e;null!=gform.hooks[o][r]&&(e=(e=gform.hooks[o][r]).filter(function(o,r,e){return!!(null!=n&&n!=o.tag||null!=t&&t!=o.priority)}),gform.hooks[o][r]=e)}});
/* = 0;if(!is_postback){return;}var form_content = jQuery(this).contents().find('#gform_wrapper_1');var is_confirmation = jQuery(this).contents().find('#gform_confirmation_wrapper_1').length > 0;var is_redirect = contents.indexOf('gformRedirect(){') >= 0;var is_form = form_content.length > 0 && ! is_redirect && ! is_confirmation;var mt = parseInt(jQuery('html').css('margin-top'), 10) + parseInt(jQuery('body').css('margin-top'), 10) + 100;if(is_form){jQuery('#gform_wrapper_1').html(form_content.html());if(form_content.hasClass('gform_validation_error')){jQuery('#gform_wrapper_1').addClass('gform_validation_error');} else {jQuery('#gform_wrapper_1').removeClass('gform_validation_error');}setTimeout( function() { /* delay the scroll by 50 milliseconds to fix a bug in chrome */ }, 50 );if(window['gformInitDatepicker']) {gformInitDatepicker();}if(window['gformInitPriceFields']) {gformInitPriceFields();}var current_page = jQuery('#gform_source_page_number_1').val();gformInitSpinner( 1, 'https://joemcnally.com/wp-content/plugins/gravityforms/images/spinner.svg', true );jQuery(document).trigger('gform_page_loaded', [1, current_page]);window['gf_submitting_1'] = false;}else if(!is_redirect){var confirmation_content = jQuery(this).contents().find('.GF_AJAX_POSTBACK').html();if(!confirmation_content){confirmation_content = contents;}jQuery('#gform_wrapper_1').replaceWith(confirmation_content);jQuery(document).trigger('gform_confirmation_loaded', [1]);window['gf_submitting_1'] = false;wp.a11y.speak(jQuery('#gform_confirmation_message_1').text());}else{jQuery('#gform_1').append(contents);if(window['gformRedirect']) {gformRedirect();}}jQuery(document).trigger("gform_pre_post_render", [{ formId: "1", currentPage: "current_page", abort: function() { this.preventDefault(); } }]); if (event && event.defaultPrevented) { return; } const gformWrapperDiv = document.getElementById( "gform_wrapper_1" ); if ( gformWrapperDiv ) { const visibilitySpan = document.createElement( "span" ); visibilitySpan.id = "gform_visibility_test_1"; gformWrapperDiv.insertAdjacentElement( "afterend", visibilitySpan ); } const visibilityTestDiv = document.getElementById( "gform_visibility_test_1" ); let postRenderFired = false; function triggerPostRender() { if ( postRenderFired ) { return; } postRenderFired = true; jQuery( document ).trigger( 'gform_post_render', [1, current_page] ); gform.utils.trigger( { event: 'gform/postRender', native: false, data: { formId: 1, currentPage: current_page } } ); gform.utils.trigger( { event: 'gform/post_render', native: false, data: { formId: 1, currentPage: current_page } } ); if ( visibilityTestDiv ) { visibilityTestDiv.parentNode.removeChild( visibilityTestDiv ); } } function debounce( func, wait, immediate ) { var timeout; return function() { var context = this, args = arguments; var later = function() { timeout = null; if ( !immediate ) func.apply( context, args ); }; var callNow = immediate && !timeout; clearTimeout( timeout ); timeout = setTimeout( later, wait ); if ( callNow ) func.apply( context, args ); }; } const debouncedTriggerPostRender = debounce( function() { triggerPostRender(); }, 200 ); if ( visibilityTestDiv && visibilityTestDiv.offsetParent === null ) { const observer = new MutationObserver( ( mutations ) => { mutations.forEach( ( mutation ) => { if ( mutation.type === 'attributes' && visibilityTestDiv.offsetParent !== null ) { debouncedTriggerPostRender(); observer.disconnect(); } }); }); observer.observe( document.body, { attributes: true, childList: false, subtree: true, attributeFilter: [ 'style', 'class' ], }); } else { triggerPostRender(); } } );} );
/* ]]> */
Holy shit is right!! Wonderful.
Gorgeous captures!
WOW. As I believe you don’t do much if any retouching (?) this looks amazing. The makeup is FLAWLESS. So is the lighting, of course 🙂
Joe, none of the photos captured by you are less than stunning irrespective or the camera or lens used. It is because of this reason that I humbly request you to please capture a photo twice with different lenses with the same composition, and same lighting setup. for ex 70-200 at 135, 135 mm, 85 mm 1.4 etc. To my eye, every photo in every blog is stunning and unless another photo is available for comparison, I’m not able to gauge the impact of 135 mm 1.4 over 85 mm 1.4 or other lens. Please, provide a comparison in one of the blogs for us . Many thanks in advance.
Hi, Joe. Really nice peace of work. But where is the 4th speedlite placed?
Kind regards from Germany ;o)
Hey Stefan…one is in the overhead soft box, two into the uplite, and one raw flash behind…..
Just curious if this is all TTL or if there is some metering involved. Thanks.
Wow, the lightning is simply brilliant, especially in the second photo. First one is a tad too bright for my taste, but that’s just me! The Uplight really works great. We all have a “Holy shit” lens in our kit haha
Awesome…that lens kicks ass….:-))
All done initially with TTL. Once I get my ratios in a happy place, because I will be shooting a lot, I then push the units into manual from the wireless controls at camera.
Good proposal Vardhan. Too extensive and time consuming for me to undertake without some client funding, but I will keep it in mind. All the best, Joe
Awesome as always, Joe! One question. You say: “I then push the units into manual from the wireless controls at camera”. Other than the Profoto Air TTL which you can switch from TTL to manual and you have the ratios at hand. For the Nikon the values are lost in the manual setup.
So the question is: Do you start over from the beginning for flashes or do you just do the key light from scratch and then you use the TTL ratio values for the other groups to set them for the manual (maybe you should talk to Nikon to take over the measured TTL values for manual setup 😉
Yep, you be right. No indication of the power settings in TTL then translating to manual. Gotta figure it out. Over the years, I’ve gotten used to making some decent guessing!!!
Simply stunning.
So, do you only use this in dark rooms in need of light, or do you take this outside or wherever you are shooting in challenging lighting? Also, what editing program do you use? I use lightroom and I was wondering what professionals in the field use and suggest.
Perfect lighting for an actress, Hides all those wrinkles and give them a glow..
That 2nd image is just absolutely gorgeous. In the first image, I love the bottom catchlight from the uplite. Beautiful!
Wow – love it!
woooh..speachless.. it’s my dream to be a photographer.. thank you for sharing a lovely moment with us.
Great lightning work the photo editing is a very fine one which is not too contrast and saturation appears cool. Nice one Joe.
Stunning lighting from the master.
I love your pictures, thanks for sharing!!! Hope to see you in Germany if you will ever be here 😉
When I first saw the 3/4 image on Instagram I thought…holy cow that’s a tough one with those whites. Seeing it larger here and the tighter shot with it just confirms it…nobody has mastered speedlights like you. There’s no denying how sophisticated and deft you are with them. And thanks once again for a great teaching blog.
Many thanks Art…as always, coming from a pro of your stature, it means alot…..all the best…Joe