Ejemplo n.º 1
0
def add_to_render_queue():
    args_vals_list = render.get_args_vals_list_for_current_selections()
    render_path = render.get_file_path()

    # Get render start and end points
    if render.widgets.range_cb.get_active() == 0:
        start_frame = 0
        end_frame = -1  # renders till finish
    else:
        start_frame = current_sequence().tractor.mark_in
        end_frame = current_sequence().tractor.mark_out

    # Only do if range defined.
    if start_frame == -1 or end_frame == -1:
        if render.widgets.range_cb.get_active() == 1:
            rendergui.no_good_rander_range_info()
            return

    # Create render data object
    if render.widgets.args_panel.use_args_check.get_active() == False:
        enc_index = render.widgets.encoding_panel.encoding_selector.widget.get_active(
        )
        quality_index = render.widgets.encoding_panel.quality_selector.widget.get_active(
        )
        user_args = False
    else:  # This is not implemented
        enc_index = render.widgets.encoding_panel.encoding_selector.widget.get_active(
        )
        quality_index = render.widgets.encoding_panel.quality_selector.widget.get_active(
        )
        user_args = False

    profile = render.get_current_profile()
    profile_text = guicomponents.get_profile_info_text(profile)
    fps = profile.fps()
    profile_name = profile.description()
    r_data = batchrendering.RenderData(enc_index, quality_index, user_args,
                                       profile_text, profile_name, fps)

    # Add item
    try:
        batchrendering.add_render_item(PROJECT(), render_path, args_vals_list,
                                       start_frame, end_frame, r_data)
    except Exception as e:
        primary_txt = _("Adding item to render queue failed!")
        secondary_txt = _("Error message: ") + str(e)
        dialogutils.warning_message(primary_txt,
                                    secondary_txt,
                                    gui.editor_window.window,
                                    is_info=False)
        return
Ejemplo n.º 2
0
def _do_rendering():
    print "timeline render..."
    
    global aborted
    aborted = False
    render_consumer = get_render_consumer()
    if render_consumer == None:
        return

    # Set render start and end points
    if widgets.range_cb.get_active() == 0:
        start_frame = 0
        end_frame = -1 # renders till finish
    else:
        start_frame = current_sequence().tractor.mark_in
        end_frame = current_sequence().tractor.mark_out

    # Only render a range if it is defined.
    if start_frame == -1 or end_frame == -1:
        if widgets.range_cb.get_active() == 1:
            rendergui.no_good_rander_range_info()
            return

    file_path = get_file_path()
    project_event = projectdata.ProjectEvent(projectdata.EVENT_RENDERED, file_path)
    PROJECT().events.append(project_event)
    projectinfogui.update_project_info()

    # See if project and render fps match
    cnum = render_consumer.profile().frame_rate_num()
    cden = render_consumer.profile().frame_rate_den()
    pnum = PROJECT().profile.frame_rate_num()
    pden = PROJECT().profile.frame_rate_den()
    
    if (cnum == pnum) and (cden == pden):
        frames_rates_match = True
    else:
        frames_rates_match = False

    global progress_window
    progress_window = rendergui.render_progress_dialog(_render_cancel_callback,
                                                       gui.editor_window.window,
                                                       frames_rates_match)
                                                       
    set_render_gui()

    render_launch = RenderLauncher(render_consumer, start_frame, end_frame)
    render_launch.start()
Ejemplo n.º 3
0
def _do_rendering():
    print "timeline render..."

    global aborted
    aborted = False
    render_consumer = get_render_consumer()
    if render_consumer == None:
        return

    # Set render start and end points
    if widgets.range_cb.get_active() == 0:
        start_frame = 0
        end_frame = -1  # renders till finish
    else:
        start_frame = current_sequence().tractor.mark_in
        end_frame = current_sequence().tractor.mark_out

    # Only render a range if it is defined.
    if start_frame == -1 or end_frame == -1:
        if widgets.range_cb.get_active() == 1:
            rendergui.no_good_rander_range_info()
            return

    file_path = get_file_path()
    project_event = projectdata.ProjectEvent(projectdata.EVENT_RENDERED,
                                             file_path)
    PROJECT().events.append(project_event)
    projectinfogui.update_project_info()

    # See if project and render fps match
    cnum = render_consumer.profile().frame_rate_num()
    cden = render_consumer.profile().frame_rate_den()
    pnum = PROJECT().profile.frame_rate_num()
    pden = PROJECT().profile.frame_rate_den()

    if (cnum == pnum) and (cden == pden):
        frames_rates_match = True
    else:
        frames_rates_match = False

    global progress_window
    progress_window = rendergui.render_progress_dialog(
        _render_cancel_callback, gui.editor_window.window, frames_rates_match)

    set_render_gui()

    render_launch = RenderLauncher(render_consumer, start_frame, end_frame)
    render_launch.start()
Ejemplo n.º 4
0
def add_to_render_queue():
    args_vals_list = render.get_args_vals_list_for_current_selections()
    render_path = render.get_file_path()

    # Get render start and end points
    if render.widgets.range_cb.get_active() == 0:
        start_frame = 0
        end_frame = -1 # renders till finish
    else:
        start_frame = current_sequence().tractor.mark_in
        end_frame = current_sequence().tractor.mark_out
    
    # Only do if range defined.
    if start_frame == -1 or end_frame == -1:
        if render.widgets.range_cb.get_active() == 1:
            rendergui.no_good_rander_range_info()
            return

    # Create render data object
    if render.widgets.args_panel.use_args_check.get_active() == False:
        enc_index = render.widgets.encoding_panel.encoding_selector.widget.get_active()
        quality_index = render.widgets.encoding_panel.quality_selector.widget.get_active()
        user_args = False
    else: # This is not implemented
        enc_index = render.widgets.encoding_panel.encoding_selector.widget.get_active()
        quality_index = render.widgets.encoding_panel.quality_selector.widget.get_active()
        user_args = False

    profile = render.get_current_profile()
    profile_text = guicomponents.get_profile_info_text(profile)
    fps = profile.fps()
    profile_name = profile.description()
    r_data = batchrendering.RenderData(enc_index, quality_index, user_args, profile_text, profile_name, fps) 

    # Add item
    try:
        batchrendering.add_render_item(PROJECT(), 
                                       render_path,
                                       args_vals_list,
                                       start_frame,
                                       end_frame,
                                       r_data)
    except Exception as e:
        primary_txt = _("Adding item to render queue failed!")
        secondary_txt = _("Error message: ") + str(e)
        dialogutils.warning_message(primary_txt, secondary_txt, gui.editor_window.window, is_info=False)
        return
Ejemplo n.º 5
0
def _write_out_render_item(single_render_item_item):
    # Get render arga and path
    args_vals_list = render.get_args_vals_list_for_current_selections()
    render_path = render.get_file_path()

    # Get render start and end points
    if render.widgets.range_cb.get_active() == 0:
        start_frame = 0
        end_frame = -1 # renders till finish
    else:
        start_frame = current_sequence().tractor.mark_in
        end_frame = current_sequence().tractor.mark_out
    
    # Only do if range defined.
    if start_frame == -1 or end_frame == -1:
        if render.widgets.range_cb.get_active() == 1:
            rendergui.no_good_rander_range_info()
            return

    # Create batchrendering.RenderData object.
    # batchrendering.RenderData object is only used to display info about render,
    # it is not used to set render args.
    user_args = render.widgets.args_panel.use_args_check.get_active()
    enc_index = render.widgets.encoding_panel.encoding_selector.widget.get_active()
    quality_index = render.widgets.encoding_panel.quality_selector.widget.get_active()
    profile = render.get_current_profile()
    profile_text = guicomponents.get_profile_info_text(profile)
    fps = profile.fps()
    profile_name = profile.description()
    r_data = batchrendering.RenderData(enc_index, quality_index, user_args, profile_text, profile_name, fps) 
    if user_args == True:
        r_data.args_vals_list = args_vals_list # pack these to go for display purposes if used
    
    if single_render_item_item:
        # Add item
        try:
            batchrendering.add_single_render_item( PROJECT(), 
                                                   render_path,
                                                   args_vals_list,
                                                   start_frame,
                                                   end_frame,
                                                   r_data)
        except Exception as e:
            primary_txt = _("Render launch failed!")
            secondary_txt = _("Error message: ") + str(e)
            dialogutils.warning_message(primary_txt, secondary_txt, gui.editor_window.window, is_info=False)
            return
    else: # batch render item
        # Add item
        try:
            batchrendering.add_render_item(PROJECT(), 
                                           render_path,
                                           args_vals_list,
                                           start_frame,
                                           end_frame,
                                           r_data)
        except Exception as e:
            primary_txt = _("Adding item to render queue failed!")
            secondary_txt = _("Error message: ") + str(e)
            dialogutils.warning_message(primary_txt, secondary_txt, gui.editor_window.window, is_info=False)
            return