TypesettingTools / Aegisub-Motion

Lua plugin for Aegisub auto4 that parses motion tracking data and applies it to selected subtitles.
Other
172 stars 23 forks source link

Aegisub-Motion Apply, Trim and Trim Each greyed out. #25

Closed Moodkiller closed 9 years ago

Moodkiller commented 9 years ago

I am using Aegisub trunk build version r8700. I have installed Aegisub-Motion v1.0.0 beta 5 from here (https://github.com/TypesettingCartel/Aegisub-Motion/releases) by creating the "automation" folder in the location given by %appdata%\Aegisub and subsiqently copying the "autoload" and "include" folders respectivly. However, when I open Aegisub up, the Apply, Trim and Trim Each options are greyed out and can't be clicked from the menu.

The Config and Trim Settings can however...

Using this on Windows 7 x64 with an installed version (not portable) Aegisub.

torque commented 9 years ago

This is because the apply, trim and trim each functions require a video loaded in Aegisub in order to work. On Windows, it should provide a message in the bottom status bar indicating the problem when you hover the mouse over the greyed out menu item. I know this doesn't work on OS X, and I'm not sure about Linux.

Either way, apply can be run using a dummy video, but trim and trim each both require an actual video file on your disk to be loaded in order to work. Aegisub-Motion uses the frame timings from the loaded video as well as its resolution to calculate when and where the subtitles should be positioned, so running it without a video loaded doesn't make sense. Similarly, trim and trim each send the loaded video to an encoder to create a clip containing the currently selected scene, and won't have anything to trim if there's no video loaded.

Unfortunately, the Aegisub UI does not do a very good job of clarifying why the macros won't run. Perhaps instead it would be more user-friendly to just pop up an error window if there isn't a video loaded. I'll think about it.

Moodkiller commented 9 years ago

I dont believe it... I had a feeling it was something simple, but I didn't think "loading a video" simple. Gave me the impression that a 'gui' element was missing from the script. Indeed you are correct, at the bottom it tells you what the error is when you hover over the greyed out text, though it isn't that obvious as your eyes are focused at the top of the screen.

By your logics, the 'Revert' option should also be greyed out (especially when opening a new Aegisub file) as there is nothing to revert back to?

Either a pop-up would work like you suggested, or a simple error/informative message appearing when hovering over the greyed out text, informing you what the issue is. Thanks for that... hopefully this helps someone else in the future and maybe something will come out of this.

torque commented 9 years ago

Unfortunately, determining whether or not the revert function can run (in the general sense) requires pretty much running the entire revert function. Since the validation function (the function that determines whether or not the script can run) is run every time the menu is opened and under some other circumstances as well, it should be fast. Because of this, it's impractical to disable it in cases where it would have nothing to do. Also, running it when it has nothing to do does nothing because it operates on data already present in the script, rather than data provided by the user.

Which I guess comes down to me shifting the blame to Aegisub.