186 lines
5.5 KiB
Python
186 lines
5.5 KiB
Python
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
# Copyright (C) 2016-2020 by Nathan Lovato, Daniel Oakey, Razvan Radulescu, and contributors
|
|
import bpy
|
|
|
|
|
|
class POWER_SEQUENCER_MT_main(bpy.types.Menu):
|
|
bl_label = "Power Sequencer"
|
|
|
|
def draw(self, context):
|
|
layout = self.layout
|
|
|
|
layout.separator()
|
|
|
|
layout.menu("POWER_SEQUENCER_MT_file")
|
|
layout.menu("POWER_SEQUENCER_MT_edit")
|
|
layout.menu("POWER_SEQUENCER_MT_select")
|
|
layout.menu("POWER_SEQUENCER_MT_trim")
|
|
layout.menu("POWER_SEQUENCER_MT_strips")
|
|
layout.menu("POWER_SEQUENCER_MT_transitions")
|
|
layout.menu("POWER_SEQUENCER_MT_audio")
|
|
layout.menu("POWER_SEQUENCER_MT_playback")
|
|
layout.menu("POWER_SEQUENCER_MT_preview")
|
|
layout.menu("POWER_SEQUENCER_MT_markers")
|
|
|
|
layout.separator()
|
|
|
|
layout.operator("power_sequencer.render_apply_preset", text="Apply Render Preset")
|
|
|
|
|
|
class POWER_SEQUENCER_MT_playback(bpy.types.Menu):
|
|
bl_label = "Playback"
|
|
|
|
def draw(self, context):
|
|
layout = self.layout
|
|
layout.operator("power_sequencer.playback_speed_increase")
|
|
layout.operator("power_sequencer.playback_speed_decrease")
|
|
layout.operator("power_sequencer.playback_speed_set")
|
|
|
|
|
|
class POWER_SEQUENCER_MT_strips(bpy.types.Menu):
|
|
bl_label = "Strip"
|
|
|
|
def draw(self, context):
|
|
layout = self.layout
|
|
layout.operator("power_sequencer.speed_up_movie_strip")
|
|
layout.operator("power_sequencer.speed_remove_effect")
|
|
|
|
layout.separator()
|
|
|
|
layout.operator("power_sequencer.concatenate_strips")
|
|
layout.operator("power_sequencer.swap_strips")
|
|
layout.operator("power_sequencer.toggle_selected_mute")
|
|
layout.operator("power_sequencer.channel_offset")
|
|
|
|
layout.separator()
|
|
|
|
layout.operator("power_sequencer.make_hold_frame")
|
|
|
|
|
|
class POWER_SEQUENCER_MT_transitions(bpy.types.Menu):
|
|
bl_label = "Transition"
|
|
|
|
def draw(self, context):
|
|
layout = self.layout
|
|
layout.operator("power_sequencer.fade_add")
|
|
layout.operator("power_sequencer.fade_clear")
|
|
|
|
layout.separator()
|
|
|
|
layout.operator("power_sequencer.crossfade_add")
|
|
layout.operator("power_sequencer.crossfade_edit")
|
|
layout.operator("power_sequencer.transitions_remove")
|
|
|
|
|
|
class POWER_SEQUENCER_MT_select(bpy.types.Menu):
|
|
bl_label = "Select"
|
|
|
|
def draw(self, context):
|
|
layout = self.layout
|
|
|
|
layout.operator("power_sequencer.select_linked_effect")
|
|
|
|
layout.separator()
|
|
|
|
layout.operator("power_sequencer.deselect_all_strips_left_or_right")
|
|
layout.operator("power_sequencer.deselect_handles_and_grab")
|
|
|
|
|
|
class POWER_SEQUENCER_MT_edit(bpy.types.Menu):
|
|
bl_label = "Edit"
|
|
|
|
def draw(self, context):
|
|
layout = self.layout
|
|
layout.operator("power_sequencer.delete_direct")
|
|
layout.operator("power_sequencer.ripple_delete")
|
|
|
|
layout.separator()
|
|
|
|
layout.operator("power_sequencer.gap_remove")
|
|
layout.operator(
|
|
"power_sequencer.copy_selected_sequences", text="Copy Selected", icon="COPYDOWN"
|
|
)
|
|
|
|
layout.separator()
|
|
|
|
layout.operator("power_sequencer.grab")
|
|
layout.operator("power_sequencer.grab_closest_cut")
|
|
layout.operator("power_sequencer.grab_sequence_handles")
|
|
|
|
layout.separator()
|
|
|
|
layout.operator("power_sequencer.trim_left_or_right_handles")
|
|
layout.operator("power_sequencer.snap_selection")
|
|
|
|
layout.separator()
|
|
|
|
layout.operator("power_sequencer.scene_cycle")
|
|
|
|
|
|
class POWER_SEQUENCER_MT_markers(bpy.types.Menu):
|
|
bl_label = "Marker"
|
|
|
|
def draw(self, context):
|
|
layout = self.layout
|
|
|
|
layout.operator("power_sequencer.marker_delete_closest")
|
|
layout.operator("power_sequencer.marker_delete_direct")
|
|
|
|
layout.separator()
|
|
|
|
layout.operator("power_sequencer.copy_markers_as_timecodes")
|
|
layout.operator("power_sequencer.marker_snap_to_cursor")
|
|
layout.operator("power_sequencer.set_preview_between_markers")
|
|
layout.operator("power_sequencer.markers_snap_matching_strips")
|
|
|
|
|
|
class POWER_SEQUENCER_MT_file(bpy.types.Menu):
|
|
bl_label = "File"
|
|
|
|
def draw(self, context):
|
|
layout = self.layout
|
|
layout.operator(
|
|
"power_sequencer.open_project_directory",
|
|
text="Open Project Directory",
|
|
icon="FILE_FOLDER",
|
|
)
|
|
layout.operator("power_sequencer.save_direct")
|
|
layout.operator("power_sequencer.import_local_footage")
|
|
|
|
|
|
class POWER_SEQUENCER_MT_trim(bpy.types.Menu):
|
|
bl_label = "Trim"
|
|
|
|
def draw(self, context):
|
|
layout = self.layout
|
|
layout.operator("power_sequencer.trim_three_point_edit")
|
|
layout.operator("power_sequencer.trim_to_surrounding_cuts")
|
|
|
|
layout.separator()
|
|
|
|
layout.operator("power_sequencer.mouse_trim")
|
|
layout.operator("power_sequencer.mouse_trim_instantly")
|
|
|
|
|
|
class POWER_SEQUENCER_MT_preview(bpy.types.Menu):
|
|
bl_label = "Preview"
|
|
|
|
def draw(self, context):
|
|
layout = self.layout
|
|
layout.operator("power_sequencer.preview_closest_cut")
|
|
layout.operator("power_sequencer.preview_to_selection")
|
|
|
|
layout.separator()
|
|
|
|
layout.operator("power_sequencer.set_timeline_range")
|
|
|
|
|
|
class POWER_SEQUENCER_MT_audio(bpy.types.Menu):
|
|
bl_label = "Audio"
|
|
|
|
def draw(self, context):
|
|
layout = self.layout
|
|
layout.operator("power_sequencer.align_audios")
|
|
layout.operator("power_sequencer.toggle_waveforms")
|
|
layout.operator("power_sequencer.mouse_toggle_mute")
|