Putting this logic for delaying changes in the TextSelectionController
isn't the cleanest, but all attempts at saving this state somewhere in
the Lua API instead turned out even worse. Also, the logic for inverted
selections probably does belong in there.
This way, automation scripts won't nuke the fold data on any lines they
modify.
This is done as userdata for now, so scripts that don't know what
they're doing don't break the folds even further. If scripts get more
access to folds, it should be with a safer and simpler API.
Line folds are managed using metadata of AssDialogue elements, and
saved in the project properties. They only affect the appearance of the
subtitle grid, and have no impact on other line operations.
This cuts down on the data duplication for the command names and help
texts, at the expense of copying a bit of code from the general toolbar
logic.
Modifying the toolbar Populate() function to also add additional buttons
appears very hard or impossible.
- This refers to AviSynth < 2.5.6, which is from before 2005
- With the current setup (using GetAVSLinkage, these versions wouldn't
work anyway)
- The latest AviSynthPlus is bundled with the installer anyway
- Build the latest AviSynth headers using CMake, as proposed in #134
- Add and initialize AVS_Linkage to fix video loading
Video and audio playback now works in most cases, but still crashes for
some files.
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.
This reverts commit 3d525d9938790211b02a31a16d716498957891fc.
The default hotkey is not required. People can just add a custom one
from the hotkey settings if they want this.
I'm not entirely sure, that this is how it's supposed to be added.
This requires editing the already existing hotkey.json file (shows path
in log, if it exists).
Should this also be added to hotkey.cpp?
The preview window would change in width, when the video was being zoomed.
Possibly, because on windows, zooming only calls UpdateSize once, but on
linux, it gets called multiple, like 8 times.
Rounding fixed it.
* [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).
I haven't checked whether reverting this breaks IME input, and if it doesn't what changed on wx's end. However, this is the commit that uses private symbols, and so reverting it lets us build against upstream wx. Even if this is a loss in functionality, for now it's fine.
– Selection of different frequency mappings for the spectrum display,
from linear (current default) to logarithmic.
– Field added in the preference page to select the frequency mapping
– New preference key to remember this setting:
Audio/Renderer/Spectrum/FreqCurve
– Consistent display with high sampling rates (> 48 kHz)
– Fixed time shift with high quality settings
* Look for both system fonts and user fonts on Windows
* Move repeated font registry reading code to separate function
* Pass the files vector to read_fonts_from_key as a reference
* Allocate a larger filename buffer when necessary while reading fonts from registry
In 888be0607f some changes have been made to video_display.cpp which causes infinite recursion: the video display enables video/tool/cross tool when running VideoDisplay::Render() for the first time.
But when setting up the tool, the video box size is changed, which calls VideoDisplay::Render() again. So we need to set the tool BEFORE it modifies the box by "AddSeparator".
Fixwangqr/Aegisub#21
Co-authored-by: Charlie Jiang <cqjjjzr@126.com>
Previously visualSubToolBar has boarder while visualToolBar does not. So the width of the toolbar will change when toggling visualSubToolBar.
Now we remove the boarder so they have the same width. A separator is added at the top of visualToolBar instead to provide visual cue.
Fixwangqr/Aegisub#11
Instead of 1/3 screen per tick. So the distance of scroll no longer depends on the width of the audio box. Besides, 1/3 is feels to far for me when the audio box is wide.
See wangqr/Aegisub#5
The default fontsize is changed to 48. While it still looks small
on the default 720p video, it is actually bigger than
20 / 480 * 720 = 30
Here 720p is the default video resolution after 837d5a41d7. Some
common resolutions are also added to the preset list.
Fixwangqr/Aegisub#3
Aegisub crashes immediately after selecting any language
from the end of the list (above the 100th position).
This is because it can support no more than 100 languages.
This patch extends this limit up to 1000 languages (locales).
Fixes#131