Commit graph

8002 commits

Author SHA1 Message Date
wangqr 76802c3441 Remove unnecessary Realize() when constructing Visual Tools toolbar
The Realize() will change the toolbar size on macOS, which may trigger VideoDisplay::Render and VisualToolDrag::UpdateToggleButtons. Therefore, if we want to call Realize, it must be after setting VideoDisplay::tool and calling VisualTool::SetToolbar. Otherwise, the first will cause an infinite recursion from if(!tool) condition in VideoDisplay::Render, the latter will cause NULL dereference (because VisualToolDrag::toolbar is not set yet).

On the other hand, we do not need to call Realize here at all. If the toolbar does not show, we don't need to call Realize. If the toolbar will show, then Realize will be called by VisualTool after adding their buttons, in VisualTool::SetToolbar.

So we remove the Realize() call from VideoDisplay::SetTool.

Fix wangqr/Aegisub#21
Fix wangqr/Aegisub#44
2020-05-06 20:13:04 -04:00
wangqr ac88eadd78 Use wxGenericStaticBitmap on wxOSX>=3.1.0 to get mouse event
See https://trac.wxwidgets.org/ticket/18545
Fix wangqr/Aegisub#45
2020-05-06 15:32:54 -04:00
wangqr 839dcc5aed Handle @loader_path in libboost on macOS
See wangqr/Aegisub#39
2020-05-06 13:14:06 -04:00
wangqr f501567e2d Use native color depth for audio rendering
See wangqr/Aegisub#39
2020-05-06 12:48:56 -04:00
wangqr 5dd58aca8b Add write permission before install_name_tool when doing osx-bundle
Fix wangqr/Aegisub#39
2020-04-14 10:28:15 -04:00
wangqr b92a2593cb Expand all widgets in SubsEditBox to get a consistent height 2020-04-10 09:51:08 -04:00
wangqr c1dca9cb1f Remove icon size option from Windows
Windows now always use the default size, with correct HiDPI handling
2020-04-10 00:04:06 -04:00
wangqr 55f379e229 Add required windows macro for Boost::asio 2020-04-09 22:00:19 -04:00
wangqr 76f4b3aaa2 CMake: Remove /MP to support Ninja build 2020-04-09 21:59:27 -04:00
wangqr cdebf5f3d4 Handle long path in GDI font lister 2020-04-09 11:03:23 -04:00
Ryan Lucia a281285615 Set visual tool default feature color correctly
Fixes TypesettingTools/Aegisub#50
2020-04-08 18:10:52 -04:00
wangqr 0e01f053e2 Fix touch date issue in setup.ps1 2020-04-03 22:21:38 -04:00
wangqr 638f1eb99e Detect byte order
Since uchardet does not do that for us

Fix wangqr/Aegisub#38
2020-04-03 22:21:00 -04:00
wangqr 799d96602d Fix uchardet enable macro
It should be applied to libaegisub
2020-04-03 22:19:25 -04:00
wangqr 01f6e86901 Modernize CMake (part 2) 2020-03-31 02:26:31 -04:00
wangqr c0c2a9100d Modernize CMake (part 1) 2020-03-30 20:32:16 -04:00
wangqr 5318838b93 Migrate tests/setup.bat to PowerShell
Removed set / ping hacks
2020-03-29 22:25:15 -04:00
wangqr 62708e8e5c Ensure stdcall on XAudio2 callback
Fix for x86 build
2020-03-29 22:18:49 -04:00
wangqr 4b096e6c6e Merge branch 'dev-small-changes' into dev 2020-03-20 20:15:18 -04:00
wangqr ef99ce14fd Detect iconv type at compile time instead of project generation 2020-03-20 08:03:44 -04:00
wangqr 88c486aca4 Change default audio output to XAudio2 on Windows
Downmix defaults to disabled on non-Windows OSes, because we don't support non-mono output at the moment
2020-03-20 04:13:41 -04:00
wangqr 3351235434 Move macOS specific build issue to Wiki 2020-03-14 01:00:44 -04:00
wangqr 64d0f86d8d Add git_version.h generation to CMake 2020-03-11 17:07:33 -04:00
wangqr 3394f22a93 Expand layer SpinCtrl a little
to compensate wxMac bug with GetSizeFromText
2020-03-10 01:16:28 -04:00
wangqr f71919f2ae Fix missing config option for Align on macOS 2020-03-09 21:02:33 -04:00
wangqr b6b21930fa Use homebrew addon instead of manually executing 2020-03-09 20:23:48 -04:00
wangqr 7cad0e06f9 Remove redundant email notification 2020-03-09 20:01:24 -04:00
wangqr 3096376ee6 Revert special naming for LuaJIT shared object
This was a hack on macOS when LuaJIT is dynamic only, and no longer needed as we are also using static LuaJIT on macOS now
2020-03-09 19:56:24 -04:00
wangqr 460cf9a9fd Drop support for macOS < 10.10
They are less than 2.4% in all macOS and 0.2% in all OS
2020-03-09 19:50:56 -04:00
wangqr db855e8cf5 Fix Travis warning 2020-03-09 19:47:07 -04:00
wangqr ed83c39807 Add back unit test to macOS
This reverts commit 272c2f48f1.
2020-03-09 17:36:52 -04:00
wangqr 52032dc14b Upgrade LuaJIT to 2.1.0-beta3 2020-03-09 13:01:09 -04:00
wangqr 3a50ba0386 Fix osx-fix-libs.py
Create symbolic links, to make libicu happy
Rewrite the script in python3, as python2 is deprecated
2020-03-08 19:17:53 -04:00
C.W. Betts e7b64aa741 Poke the OS X icons.
More recent versions of OS X caused the old icons to display incorrectly/as garbage.
2020-03-08 17:48:52 -04:00
wangqr 8034fbbd22 Fix missing config option 2020-03-08 03:36:46 -04:00
wangqr 272c2f48f1 Ignore unit tests on macOS for now 2020-03-08 03:24:04 -04:00
wangqr b557dfcb6e Update build instructions in README
CMake is not tested on macOS now, so don't include it in README. Be more specific on where to find dependencies.
2020-03-08 03:06:04 -04:00
wangqr 3556c9629e Remove IME handling code for Scintilla
The code was for wxCocoa, which is a dead implementation of wxWidgets. wxOSX/Cocoa does not need this hack anymore. And the code is causing linking errors due to using private structures in wxCocoa.

Revert fffb138b81
2020-03-08 01:48:58 -05:00
wangqr f8bd53c479 Add macOS to travis 2020-03-08 01:37:27 -05:00
wangqr 50f63a54d0 Rewrite build instructions 2020-03-07 20:10:45 -05:00
wangqr 6cad7c3d6c Fix build issue with AviSynth on linux 2020-03-06 16:18:52 -05:00
wangqr 6bd3f4c26b Use target name without directory in $*_OBJ macro
Fix Aegisub/Aegisub#171
2020-02-17 15:08:29 +08:00
wangqr cd7ee8d505 Use the first matched font in GDI font lister
Previously, when reading font data, we only set FaceName to the matched font. When we are using some font with special font weight (e.g. @Source Han Sans J Heavy), if we do not correct the font weight in the LOGFONTW struct, then subsequent call to get_font_data will fall back to default font. This causes wrongly matching Arial.ttf to any font that does not provide standard font weights.

Instead of only correcting FaceName using the matched font, we simply use the first matched font, thus the FaceName, Weight, CharSet, etc. will all be correct. This also eliminates the memcpy.
2020-01-05 17:12:02 -05:00
wangqr cb77c0b395 Add option to downmix FFMS audio
When enabled, restore FFMS to old behavior, downmixing auduo to S16 mono. This can reduce cache usage.

Fix wangqr/Aegisub#31
2019-12-26 17:31:59 -05:00
wangqr 80ef2fbf35 Submit "align to video" on double click
Fix wangqr/Aegisub#34
2019-12-25 18:38:42 -05:00
wangqr 20fc9043e8 Don't shrink the size of layer SpinCtrl on GTK3 2019-11-21 23:04:51 -05:00
wangqr a520f8a4a3 Rerender video display after EVT_PAINT
Otherwise the video display will be blank after restore from minimized.
2019-11-10 23:17:43 -05:00
wangqr 1bda6052b6 Use GetSizeFromText instead of GetSizeFromTextSize(GetTextExtent) 2019-11-07 16:06:53 -05:00
wangqr 557e81be1d VideoDisplay: Move render code to render callback
Previously, Render is called every time when the content is updated from event callbacks. So simply moving the mouse around will spam the event queue and cause video stuck. Now we do render in render callback, and only set a flag to indicate the need of re-render.
2019-11-04 07:03:45 -05:00
wangqr f2676ddc3a Avisynth audio provider: add option to allow no downmix 2019-11-02 22:26:02 -04:00