mirror of
https://github.com/blender/blender-addons.git
synced 2025-08-20 13:22:58 +00:00
Add the VSE addon Power Sequencer
This commit is contained in:
58
power_sequencer/operators/snap.py
Normal file
58
power_sequencer/operators/snap.py
Normal file
@ -0,0 +1,58 @@
|
||||
#
|
||||
# Copyright (C) 2016-2019 by Nathan Lovato, Daniel Oakey, Razvan Radulescu, and contributors
|
||||
#
|
||||
# This file is part of Power Sequencer.
|
||||
#
|
||||
# Power Sequencer is free software: you can redistribute it and/or modify it under the terms of the
|
||||
# GNU General Public License as published by the Free Software Foundation, either version 3 of the
|
||||
# License, or (at your option) any later version.
|
||||
#
|
||||
# Power Sequencer is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
|
||||
# without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License along with Power Sequencer. If
|
||||
# not, see <https://www.gnu.org/licenses/>.
|
||||
#
|
||||
import bpy
|
||||
|
||||
from .utils.functions import get_sequences_under_cursor
|
||||
from .utils.doc import doc_name, doc_idname, doc_brief, doc_description
|
||||
|
||||
|
||||
class POWER_SEQUENCER_OT_snap(bpy.types.Operator):
|
||||
"""
|
||||
*Brief* Snaps selected strips to the time cursor ignoring locked sequences.
|
||||
|
||||
Automatically selects sequences if there is no active selection.
|
||||
"""
|
||||
|
||||
doc = {
|
||||
"name": doc_name(__qualname__),
|
||||
"demo": "",
|
||||
"description": doc_description(__doc__),
|
||||
"shortcuts": [
|
||||
({"type": "S", "value": "PRESS", "shift": True}, {}, "Snap sequences to cursor")
|
||||
],
|
||||
"keymap": "Sequencer",
|
||||
}
|
||||
bl_idname = doc_idname(__qualname__)
|
||||
bl_label = doc["name"]
|
||||
bl_description = doc_brief(doc["description"])
|
||||
bl_options = {"REGISTER", "UNDO"}
|
||||
|
||||
@classmethod
|
||||
def poll(cls, context):
|
||||
return context.sequences
|
||||
|
||||
def execute(self, context):
|
||||
sequences = (
|
||||
context.selected_sequences
|
||||
if len(context.selected_sequences) > 0
|
||||
else get_sequences_under_cursor(context)
|
||||
)
|
||||
frame = context.scene.frame_current
|
||||
for s in sequences:
|
||||
s.select = True
|
||||
bpy.ops.sequencer.snap(frame=frame)
|
||||
return {"FINISHED"}
|
Reference in New Issue
Block a user