Commit graph

8458 commits

Author SHA1 Message Date
arch1t3cht
0d16753d0a Patch ffmpeg wrap to make it find the zlib subproject 2023-01-26 22:56:53 +01:00
arch1t3cht
5c065dc74e Revert "Patch ffmpeg wrap to compile with simd extensions"
Support for these has been added upstream now.
This reverts commit 77cc1a6b22.
2023-01-26 22:56:53 +01:00
arch1t3cht
5dd001388b Revert "ffmpeg wrap: pin version"
This reverts commit 74d75a568e.
2023-01-26 22:56:53 +01:00
arch1t3cht
f6954ab903 Point ffi-experiments to fixed fork 2023-01-26 22:56:53 +01:00
arch1t3cht
36a18e5ba3 meson: revert icu detection in harfbuzz 2023-01-26 22:56:53 +01:00
arch1t3cht
60897b2327 meson: Set NDEBUG on release builds
The old MSVC build system also set this:
6f546951b4/build/standard-settings.props (L62)
2023-01-26 21:04:04 +01:00
arch1t3cht
642251b2dd Deduplicate automation autoload path
Fixes TypesettingTools/Aegisub#168
Fixes arch1t3cht/Aegisub#15
2023-01-26 20:52:20 +01:00
arch1t3cht
36e5275418 visual tools: Add perspective tool 2023-01-25 23:24:11 +01:00
arch1t3cht
352e41f19b video zoom: Fix zoom when script_res != video_res 2023-01-20 00:18:51 +01:00
arch1t3cht
4c2b47d5de visual tools: Fix grid in RotateXY tool
Fix the grid scaling when the video is not at 100% zoom, and scale the
grid with \fscx / \fscy .
2023-01-14 14:20:24 +01:00
arch1t3cht
ddfd4501f0 visual tools: Add more tag get functions
Add getters for alignment, outline, shadow, font size, and the raw
extents of the text. Also handle overriding \xbord and \ybord correctly.
2023-01-14 14:18:04 +01:00
arch1t3cht
9cfc72bd83 visual tools: Add RemoveOverride function 2023-01-14 14:16:05 +01:00
arch1t3cht
8b142a05e5 visual tools: Add EndDrag and EndHold hooks 2023-01-14 14:14:42 +01:00
arch1t3cht
bfdf01df9a visual tools: Add general interface for setting subtools 2023-01-14 13:56:21 +01:00
arch1t3cht
f5a730fa45 avisynth: Only increase refcount when fully initialized
When Avisynth is not installed or not functional, this would otherwise
cause a crash when trying to initialize Avisynth more than once, since
after the first time the refcount would have been incrased anyway.
2023-01-14 00:13:47 +01:00
arch1t3cht
0d0ed49546 vapoursynth: Only set loaded when fully initialized 2023-01-13 23:52:27 +01:00
arch1t3cht
8fc301fad4 ci: Use GITHUB_TOKEN if available 2023-01-12 13:36:39 +01:00
arch1t3cht
d08726606f meson: Also add regen dependencies for bitmaps 2023-01-10 21:47:29 +01:00
arch1t3cht
c0f337a992 Allow '+' and 'E' in numbers when tokenizing drawings 2023-01-07 14:42:52 +01:00
arch1t3cht
74b9353038 Allow higher decimal precision in style editor
Also, allow negative fsp.
This doesn't change the behaviour of the SpinCtrl increment/decrement
buttons, just the precision that can manually be set. Small values of
fsp can be useful as a hack to disable all ligatures. Precise values of
fscx/fscy can be useful to compensate for anamorphic resolutions. The
other fields were made more precise for consistency.
2023-01-07 14:42:52 +01:00
arch1t3cht
15cca59679 Validate wxVariant type in hotkey CommandRenderer
This fixes a crash on Windows when double-clicking the draggable
separator between the column headers "Command" and "Description" in the
hotkey configuration dialog.
2023-01-02 15:29:00 +01:00
arch1t3cht
1bd426f69a folding: Switch to extradata for storage
This makes the internal juggling of fold data even more complicated, but
it has a number of advantages:
- Folds will preserved even when opening the file with Aegisub builds
  that don't know about folding.
- Folds will be preserved by automation scripts that re-insert every
  line.
- Folds do not break when adding or deleting lines in a text editor or
  some other editor, as long as the lines involving folds aren't
  touched.
- In particular, merging changes using tools like git will not break
  folds.
- Copy/pasting folds also keeps the folds to some extent. This is
  impossible to solve in full generality, but simple cases like
  cut/pasting a folded section somewhere else work, as long as the file
  isn't saved in between.
- This will give automation scripts full access to folding without
  needing to set up any additional API functions.
2023-01-02 02:40:19 +01:00
arch1t3cht
3b02a199f0 vapoursynth: Fix default argument for color range
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.
2023-01-02 02:13:04 +01:00
arch1t3cht
abe2a81c99 folding: Fix crash when clicking fold column header 2022-12-11 18:53:36 +01:00
arch1t3cht
6d83aa9101 Update CI actions versions 2022-12-01 21:36:09 +01:00
arch1t3cht
74d75a568e ffmpeg wrap: pin version 2022-11-30 22:58:08 +01:00
arch1t3cht
3b7cb30e1f Raise size limit of dummy video in config dialog
This is to facilitate some tricks with tracing rendered subtitles in
programs like GIMP with higher accuracy. Use at your own risk.
2022-11-30 22:35:27 +01:00
arch1t3cht
cba8d3644f Remove "Video Panning" option
It's probably stable enough at this point, and hiding it behind an
option just creates more confusion than it prevents.
2022-11-17 17:29:18 +01:00
arch1t3cht
b3b4b96238 Fix HDD audio cache provider when channels > 1 2022-11-15 18:31:19 +01:00
arch1t3cht
c0edbb2710 Fix syntax highlighting with empty clip 2022-11-09 09:36:45 +01:00
arch1t3cht
c8ff1bc960 Clear column width cache after updating grid style
Fixes arch1t3cht/Aegisub#11
2022-11-08 00:49:42 +01:00
arch1t3cht
fca902b0a1 CI-Build 2022-11-04 2022-11-04 00:48:42 +01:00
arch1t3cht
bd4e79fdf9 Merge branch 'vector_clip_actions' into feature 2022-11-04 00:46:15 +01:00
arch1t3cht
b1a9867f16 Visual perspective tool: First functioning version 2022-11-04 00:45:32 +01:00
arch1t3cht
277d1e15cd CI-Build 2022-11-02 2022-11-03 00:03:36 +01:00
arch1t3cht
9d4a67b523 Merge branches 'info', 'video_panning_option', 'fixes', 'misc', 'vapoursynth' and 'wangqr_gui' into feature 2022-11-03 00:03:23 +01:00
arch1t3cht
7ddfef7517 Add syntax highlighting for drawings and vector clips
The highlighting distinguishes drawing commands from coordinates, and
colors x and y coordinates in different colors to make coordinates
easier to visually parse. Furthermore, in cubic Bezier curves, it
underlines the coordinates which corresponds to endpoints of the curves.
2022-11-02 23:58:01 +01:00
arch1t3cht
b7f3e19e00 vapoursynth: Don't update script colorspace if colorspace unknown
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.
2022-11-02 23:51:15 +01:00
arch1t3cht
a3b131a312 vapoursynth: Reset locale after initializing
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.
2022-11-02 23:51:10 +01:00
arch1t3cht
399042e9e9 Revert "fix"
This was a test commit I never meant to push...

This reverts commit cc9d13d21a.
2022-11-02 23:48:59 +01:00
arch1t3cht
4edd619229 README: Typo fix 2022-11-02 23:08:36 +01:00
arch1t3cht
28db5d31ce video zoom: Fix crash on windows when making detached video too small 2022-11-02 23:07:55 +01:00
arch1t3cht
6cc22750c1 Revert "video zoom: Fix crash on windows when making detached video too small"
This reverts commit b38493ee68.
2022-11-02 23:07:03 +01:00
arch1t3cht
2ee6f6e904 Fix overscan mask being half as thick as it should be
The percent values used for the overscan masks follow the BBC's
guidelines, as in
https://en.wikipedia.org/wiki/Overscan#Overscan_amounts .
However, these measure the per-side width as opposed to the total
percentage of width/height being cut off. Thus, they should not be
divided by two when drawing the mask.
2022-11-02 21:57:57 +01:00
arch1t3cht
04ccc15fd4 Fix overscan mask with DPI scaling 2022-11-02 21:57:57 +01:00
arch1t3cht
a0d381019f README: wangqr_gui and some general info 2022-11-02 19:50:25 +01:00
arch1t3cht
245cc68afa Fix FrameAtTime computation for CFR
The new formula is just the inverse function of the CFR part of
the TimeAtFrame function.

To see how the previous implementation was faulty, see either the added
tests, or
- In Aegisub, open a dummy video with a frame rate of 23.976
- Make a subtitle event with start time 04:44.41
- Double-click the line to (supposedly) seek to its first frame
- This will seek one frame earlier than it should, and the event will
  not be displayed on the resulting frame.
2022-11-02 02:19:38 +01:00
arch1t3cht
3583e57ddc vapoursynth: use exact fraction for frame rate 2022-11-02 02:18:52 +01:00
arch1t3cht
962295cf1e vapoursynth: Fix offset in audio block's first frame 2022-11-02 02:18:52 +01:00
arch1t3cht
a5aa4eca29 vapoursynth: Properly pass through script errors 2022-11-02 02:18:52 +01:00