Commit graph

8677 commits

Author SHA1 Message Date
b4f54a3adc
audio display: limit mouse event rate
Same as with visual typesetting.
2024-06-01 11:04:13 +02:00
07e4d38198
visual typesetting: limit event frequency
This change makes Aegisub a lot more responsive on platforms like X11
where mouse events may come in at very high frequencies and/or in bursts.
2024-06-01 11:04:12 +02:00
eb1c19a44e
Visual tools: Make X/Y rotation less sensitive 2024-06-01 11:04:10 +02:00
b664d8e8be
Hack shortcuts to set colors from video display 2024-06-01 11:04:09 +02:00
1c0337c2f7
Remove annoying modal dialogs 2024-06-01 11:04:08 +02:00
7a00e13624
Fix video toolbox keyframe color 2024-06-01 11:04:06 +02:00
arch1t3cht
80491bacbf Merge branch 'bugfixes' into feature 2024-05-31 00:08:05 +02:00
arch1t3cht
b7af9bd0d3 ci: Bump even more action versions 2024-05-31 00:07:49 +02:00
arch1t3cht
b4da179146 Merge branches 'bugfixes' and 'bestsource' into feature 2024-05-30 23:17:17 +02:00
arch1t3cht
eff71c27a4 Merge branch 'workarounds' into feature 2024-05-30 23:17:12 +02:00
arch1t3cht
b8f0906906 bestsource: Don't set any prefer_static argument
This should no longer be needed at all
2024-05-30 23:12:28 +02:00
0tkl
0a01ecf9ce bestsource: Bump to R4 2024-05-30 23:01:09 +02:00
arch1t3cht
0c53a99b71 Fix windows compilation with c++17 2024-05-30 22:40:20 +02:00
Ryan Lucia
3dd4e637f6 Bump boost to 1.83 2024-05-30 22:32:37 +02:00
arch1t3cht
7475425dcb osx: Remove bless -openfolder
This was deprecated for a while now and removed on aarch64.
The dmg build works without it now.
2024-05-30 22:31:30 +02:00
arch1t3cht
f7448a9920 Merge branches 'workarounds' and 'bestsource' into feature 2024-05-30 21:58:03 +02:00
arch1t3cht
e6da4e8e10 bestsource: Remove string_view defines
These are no longer necessary after switching to c++17.
2024-05-30 21:57:12 +02:00
arch1t3cht
0e44a3488e Merge branch 'bugfixes' into feature 2024-05-21 14:02:10 +02:00
arch1t3cht
d1916fc6f9 ci: Pin macos to macos-13 for now
macos-latest now runs on Apple Silicon, which fails one test
and probably still needs extra work for the packaging to work.
Until that's figured out, run on macos-13.
2024-05-21 14:01:17 +02:00
arch1t3cht
a067187537 Switch to C++17
I was originally planning to eventually rebase the various feature
branches on top of TypesettingTools/Aegisub's master, which switched
to C++20 and added various bigger refactors, but that turned out to
be even more involved than expected (due to the various
interdependencies between branches and the additional commits on feature
complicating rebases). ICU now requires C++17 and BestSource was already
pinned to an old version since newer versions need C++17, so let's just
bump the standard and put off the actual rebasing for later...
2024-05-20 16:55:34 +02:00
arch1t3cht
246dbd7670 ci: Update github actions versions yet again 2024-05-20 14:30:55 +02:00
arch1t3cht
a89158b5c2 ci: Try to work around yet another gh actions bug 2024-05-20 13:49:20 +02:00
arch1t3cht
628f1306ef ci: Make libdav1d a required dependency
This used to be enforced by patching the ffmpeg wrap,
but after upstream changes to the wrap this method is simpler.
2024-05-20 01:34:31 +02:00
arch1t3cht
a6ba1720db Merge branch 'workarounds' into feature 2024-05-20 01:33:04 +02:00
arch1t3cht
b31c2c3267 Remove patches to ffmpeg wraps
Equivalent functionality (allowing dependencies to be meson subprojects
and fixing the zlib HAVE_UNISTD_H issue) was merged upstream now
(thanks kasper), so this is no longer necessary. dav1d is now
enabled using -Dffmpeg:libdav1d=enabled.
2024-05-20 01:31:47 +02:00
arch1t3cht
49feee6b0b Merge branch 'vapoursynth' into feature 2024-05-19 21:31:48 +02:00
arch1t3cht
9b0fef1c38 vapoursynth: Fix division by zero in aegisub_vs.py progress indicator 2024-05-19 21:31:28 +02:00
arch1t3cht
1c22bb3e4e Merge branch 'bugfixes' into feature 2024-05-12 19:22:04 +02:00
arch1t3cht
551d4ff2e8 Point libass wrap to upstream libass
The meson PR was merged there now.
2024-05-12 19:21:26 +02:00
arch1t3cht
fad027f026 Merge branch 'workarounds' into feature 2024-05-12 00:44:02 +02:00
arch1t3cht
972e8dd4ba Point ffms2 wrap to upstream again
My pull request with multiple seeking fixes was merged there.
2024-05-12 00:43:52 +02:00
arch1t3cht
91b198d12d Merge branches 'bugfixes', 'bestsource' and 'vapoursynth' into feature 2024-04-18 16:11:10 +02:00
arch1t3cht
6ccf67359d ci: Fix meson configure call 2024-04-18 16:10:59 +02:00
arch1t3cht
2fdd7c70aa meson: Add freetype2 wrap
This wrap file used to be part of the libass wrap but was removed
there now.
2024-04-18 15:27:54 +02:00
arch1t3cht
39314072f9 bestsource: Fix switched 'audio' and 'video' strings 2024-04-18 15:21:02 +02:00
0tkl
9683959f2e bestsource: Bump to R2
Update DLL path for win installer
2024-04-18 14:30:52 +02:00
arch1t3cht
2f300ab1d3 Merge branch 'vapoursynth' into feature 2024-04-04 12:49:52 +02:00
arch1t3cht
8bbaf75e03 vapoursynth: Update outdated comment in default script 2024-04-04 12:47:11 +02:00
arch1t3cht
9c5ba15ce9 Update some dependencies in README 2024-04-04 12:46:15 +02:00
Oneric
e26fb17c95 readme: only link to CI builds from feature branch 2024-04-04 12:43:15 +02:00
arch1t3cht
a455e07f13 ci: Run meson configure to get more debug output 2024-04-03 18:30:50 +02:00
arch1t3cht
e1c3bb7d69 ci: install xxhash instead of jansson 2024-04-03 18:29:52 +02:00
arch1t3cht
7fa1ead157 Merge branch 'bestsource' into feature 2024-04-03 18:29:49 +02:00
arch1t3cht
900876cc7f bestsource: Bump to bestsource2
Update API usage, incorporate new features, and refactor a bit:
- Use new progress callback to show progress bar
- Use new frame info functions to get timecodes/keyframes instead of
  manually decoding
- Use new tracklist API to show track selection dialogs
- Expose option of whether to apply RFF
- Show a warning when bestsource had to revert to linear decoding
- Reuse the swscale context across frames and ensure the format
  stays constant
- Add xxhash wrap
- No longer mark the bestsource video provider as slow
2024-04-03 18:29:31 +02:00
arch1t3cht
aa68c2e66b Merge branches 'misc' and 'bugfixes' into feature 2024-03-20 14:39:37 +01:00
Ryan Lucia
4b20bc7df0 ci: try to workaround github actions bug 2024-03-20 14:39:24 +01:00
moi15moi
7543060f1d Rework Windows font collector (arch1t3cht/Aegisub#107)
[src\meson.build] Add DirectWrite has dependency

[src\font_file_lister_gdi] Rework GDI FontCollector to use DirectWrite

This replaces all the logic of using the Windows registry to obtain the font path by using DirectWrite. The goal is simply to improve the quality of the code. This doesn't change any functionality

[src\meson.build] Remove Uniscribe has dependency

Uniscribe was only used for the FontCollector. Since we now use DirectWrite, we don't need it anymore.

[src\dialog_fonts_collector] Catch exceptions that FontCollector may raise

On Windows, the initialization of the FontCollector can raise an exception

[src\font_file_lister] Document the exception that GdiFontFileLister can throw

[src\font_file_lister_gdi] Correct possible memory leak when an error occur

Fix error caused by AddFontResource on Windows 10 or higher

[meson.build] Replace add_project_arguments with conf.set for HAVE_DWRITE_3

[src\dialog_fonts_collector] Update message error and optimisation

[src\font_file_lister_gdi] Correct documentation typo

[src\font_file_lister_gdi] Cosmetic nit - Initialize hfont in one line

[src\font_file_lister_gdi] Cosmetic nit - Remove if statements brace

[src\font_file_lister_gdi] Replace WCHAR param of normalizeFilePathCase to std::wstring

[src\font_file_lister_gdi] Replace WCHAR by std::wstring

[src\font_file_lister_gdi] Use IDWriteFontFace::GetSimulations to detect fake_italic/fake_bold

See this comment: https://github.com/arch1t3cht/Aegisub/pull/107#issuecomment-1975229652

[src\font_file_lister_gdi] If Win7/8 has Win 10 SDK on compile time, correctly verify if font has character(s)

With the Visual Studio 2019 toolchain on Windows 7, it installs the Windows 10 SDK by default. Because of this, ``HAVE_DWRITE_3`` is true, so the ``QueryInterface`` always fails. Now, if the ``QueryInterface`` fails, we try to verify if the font has characters with a Windows Vista SP2 compatible code.

[src\font_file_lister_gdi] Support facename that contains only whitespace AND truncated facename

Problem 1:
Previously, if a user wrote "\fn   ", it would return the font Arial, which is not what we want. This is because when we request EnumFontFamiliesEx with whitespace or an empty lfFaceName, it will enumerate all the installed fonts.

Solution 1:
To resolve this issue, let's implement a solution similar to libass to determine if the selected facename exists: 649a7c2e1f/libass/ass_directwrite.c (L737-L747)

Problem 2:
GDI truncates font names to 31 characters. See: https://github.com/libass/libass/issues/459
However, since I changed the method to determine if a facename exists, I ensured that we still support this "feature".

To test this, I used the font in: https://github.com/libass/libass/issues/710

[src\font_file_lister_gdi] Add a FIXME comment regarding the utilization of std::wstring over WCHAR

[src\font_file_lister_gdi] Add FIXME comment about charset
2024-03-20 14:38:45 +01:00
arch1t3cht
897ca32c26 Allow setting Encoding=-1 in style editor 2024-03-19 23:32:12 +01:00
arch1t3cht
cd2e894634 Merge branches 'bestsource', 'vapoursynth' and 'bugfixes' into feature 2024-03-08 01:54:29 +01:00
arch1t3cht
4f8cb846cc bestsource: Bump to R1 2024-03-08 01:54:14 +01:00