Add a utility library that wraps LWLibavSource and can parse its .lwi
file to obtain timecodes and keyframes. It also contains a function to
generate and save keyframes using WWXD or Scxvid. Update the default
scripts to use these functions.
Unlike the other arguments for the resize function, "range_in" does not
use the same format as in the frame props. A frame prop _Range=1 means
limited, while an argument range_in=1 means full range.
Aegisub will automatically override the YCbCr Matrix field of the
current file's Script Properties with the video's reported color space.
The FFMS2 provider guesses a color space for all videos, but we don't
do this for Vapoursynth. Thus, we now disable this overriding whenever
the colorspace isn't known.
On Windows, Python changes the application's locale upon being called,
which will break wxwidgets, causing various assertion error dialogs or
even crashes (for example when interacting with any sort of float edit
control). Saving the locale and restoring it afterwards seems to be
the only really possible way to remedy this.
Since FileNotFound exceptions don't abort the provider search, opening
an invalid path would show errors such as "vapoursynth not found" when
VapourSynth wasn't installed, even if VapourSynth wasn't selected as the
default video provider.
This default script will be executed to load any file whose file name
extension is not .py or .vpy .
The gui code for setting the default script is still a bit wonky as it
doesn't fit the rest of the preferences pages nicely, but it works for
now.
Since ASS rendering depends on the storage size of the video libass
needs to know about it to render the subtitles correctly. If it isn't
told about the storage size libass uses the value from PlayRes{X,Y} as
a guess, but this isn't always correct.
With Aegisub currently always rendering at storage resolution
this ends up the same as the frame size.
* [mac/build] update build steps
* [macos] bundle app
* [macos] build dmg
* [ci] setup macOS CI
* [i18n] TODO: rm WX locale files
* [deps] set main branch to main
* Fix osx-fix-libs.py
Create symbolic links, to make libicu happy
Rewrite the script in python3, as python2 is deprecated
* Add write permission before install_name_tool when doing osx-bundle
Fixwangqr/Aegisub#39
* Handle @loader_path in libboost on macOS
See wangqr/Aegisub#39
* [tools/mac] use python3
* [ci/mac] install & using system deps
* [ci/win] don't build fribidi:docs
* [ci/mac] trying openal-soft
* [ci/mac] use pulseaudio in CI
* [ci/win] only run aeg's test
* [ci/win] fix CI
* [ci/win] fix CI: not use dict `{}`
* [ci] run ci
* [ci/win] don't build docs
* [ci/win] remove args tail newline
* [ci/win] false->disabled
* Use md title format
Co-authored-by: Ryan Lucia <ryan@luciaonline.net>
* Recover file permissions.
* [ci/win] disable fontconfig
Co-Authored-By: Ryan Lucia <ryan@luciaonline.net>
* [ci/win] disable libass:fontconfig
Co-authored-by: wangqr <wangqr@wangqr.tk>
Co-authored-by: Ryan Lucia <ryan@luciaonline.net>
Previously, margins were clamped to 0..9999, but negative margins are
well supported by most renderers. In addition, previously lua
automations automations were able to produce these negative margin
values, and they would be saved correctly. However, re-opening the file
would clamp the values, and they could not be edited in the edit box.
This commit changes the clamping to be -9999..99999, and allows entering
(and editing) negative values in all relevant fields. In addition, this
makes the subtitle edit box margin fields take 5 characters instead of 4
to accommodate negative numbers up to 9999 (also the reason for raising
the upper bound).