Aegisub
Aegisub copied to clipboard
Feature Request: Sign Nudging with arrow keys
Given:
- I have a script open
- I have selected some lines of dialogue
- I have a video loaded, displaying the lines
- I am in
Drag Subtitlesmode - I am hovering over the video area (it is my active area, not the lines, not the dialogue)
When:
I tap the arrow keys (or other assigned hotkeys)
Then:
I want the sign to adjust it's position by 1 pixel
- This could be adjustable with an option, or with modifiers, like
Shift +means "move by 10 pixels"
Why?
There's a number of times when I'd like to be able to select a line and adjust it by perhaps a few pixels in a direction, particularly if I'm doing multi-layer signs and want to add a custom shadow. It's also useful for some manual fbf transforms
I think this does exactly what you want: https://github.com/TypesettingTools/line0-Aegisub-Scripts/blob/master/l0.Nudge.lua You'll need to bind it to hotkeys, and I have an update for it that I can't push until I get updated builds out to people, but its current functionality should still be sufficient for most purposes. If that doesn't work for you or you have a convincing argument for why it should be built into Aegisub itself though, do follow up. Otherwise, feel free to close this issue.
While I am aware it's available in line0's script set and will work with a bit of setup , I think this feature should be native in the Aegisub set. Don't mind if it's low priority as a working plugin is available.
I'm still inclined to leave it as just a script, though I do agree it should be less work to set up. I think ideally scripts would have the ability to set up default keybinds upon installation. DepCtrl 0.7 should offer the post-install hook needed for this, and so then I'd just have to expose the configuration to the lua api, which is something other people have requested for different purposes anyway. I'll keep this open until that's possible though, and in case others want to weigh in or you still don't think that's appropriate.
For what it's worth, this is the exact kind of behavior that small Lua scripts would be perfect for implementing. Aegisub would probably benefit in general from non-performance critical functionality being implemented in a higher-level language like Lua, but the way automation is designed really inhibits this sort of usage.
As far as technical problems with nudge go, I recall being able to crash Aegisub by holding down the hotkey bound to it. Not sure if that problem was ever resolved, but I think it was probably some weird race condition or something. The other issue is that the round-trip time for running nudge is actually pretty slow because Aegisub has to draw a window every time it runs (also the pop-up window flashing is annoying). Though again, this is a design flaw (imo) in automation—it has no concept of background execution of macros.
Yeah I agree, making the Lua API more powerful and moving functionality to it is the way to go, but the former bit is kind of key there. Also, if you have suggestions on how to approach restructuring the script engine to allow for background macros I'm all ears.
I'll test for the Nudge crash whenever I get a chance, and if I can reproduce it I'll fix it eventually. There are a bunch of dumb crashes in that vein that I've found by spam-running macros, so I imagine it probably still exists.