Niels Martin Hansen
5bcfc81df5
Clean up produced object dirs during Windows build
...
Adds some additional MSBuild magic that chops dir names
from a given base, to avoid making deep, thin hierarchies
of dirs when building especially FFmpeg and libaegisub.
2015-01-14 04:45:02 +01:00
Niels Martin Hansen
719eff39b1
Integrate Yasm assembling better in VC build
...
By not having it blindly run before the ClCompile target
it won't be checked every time you choose to build a single
file from the IDE. Instead it becomes a separate build stage
of its own.
2015-01-14 03:40:36 +01:00
Niels Martin Hansen
a0a6194a26
Partially revert 68781a9
...
The change in source file paths breaks on some systems
2015-01-14 01:06:42 +01:00
Niels Martin Hansen
68781a95b2
Log names of files Yasm'd in FFmpeg build
2015-01-14 00:21:24 +01:00
Thomas Goyne
0b0eaed049
Also disable unused boost stuff on Windows
2015-01-01 10:24:01 -08:00
Thomas Goyne
069af7cfca
Build wx without wxAny
2015-01-01 10:24:01 -08:00
Thomas Goyne
e485c469e2
Pull some of OptionValue to a cpp file
2014-12-28 20:21:48 -08:00
Thomas Goyne
a6b1639320
Extract some bits that don't need to be templated from templates
...
Cuts compile time by about 10% and shrinks the final binary a little.
2014-12-28 16:46:38 -08:00
Thomas Goyne
7fc2b248ad
Update dependencies
2014-11-30 15:28:58 -08:00
Thomas Goyne
97a19d4fe2
Shut up strdup "deprecation" warnings
2014-07-28 15:52:37 -07:00
Thomas Goyne
a01a84fb4f
Extract some common ffi API stuff
2014-07-28 12:30:44 -07:00
Thomas Goyne
cf252fa91a
Add simple type -> type name string compile time reflection stuff
...
This is needed for passing types to the LuaJIT ffi.
2014-07-28 12:30:44 -07:00
Thomas Goyne
bffbae0ed9
Fix vc++ compilation
2014-07-10 12:55:38 -07:00
Thomas Goyne
3b34ed9a77
Move AssTime to libaegisub and add tests
2014-07-06 19:25:49 -07:00
Thomas Goyne
dd70da35d4
Remove some cruft from the fonts collector
2014-07-06 19:25:48 -07:00
Thomas Goyne
df8ad34838
Eliminate pointless runtime datastructures for CalltipProvider
...
And add some tests and make it actually work correctly.
2014-07-04 20:37:36 -07:00
Thomas Goyne
71b74a6e86
Remove -D__STDC_FORMAT_MACROS from CXXFLAGS
...
The inttypes defines are no longer used anywhere due to that agi::Format
doesn't require them.
2014-07-01 12:22:39 -07:00
Thomas Goyne
a38793497f
Drop support for the DirectX SDK and require the Windows 8 SDK for DirectSound
2014-06-29 10:45:27 -07:00
Thomas Goyne
bc410a99f6
Change the in-memory storage of options to a sorted vector
2014-06-29 10:01:00 -07:00
Thomas Goyne
6a3a401f57
Update fontconfig
2014-06-26 16:50:54 -07:00
Thomas Goyne
b8f20dfe49
Add a custom stream IO implementation for Freetype
...
Freetype expects its IO to perform like mmap (i.e. seeking to be free),
but the non-unix implementation uses fseek and fread. This
implementation simply reads the entire file into a buffer, as fonts
generally aren't very big.
Cuts the time to recreate the fontconfig cache on my machine by about
60%.
2014-06-26 16:50:54 -07:00
Thomas Goyne
99cf941edd
Trim a bit more out of the ICU data files
2014-06-26 16:50:43 -07:00
Thomas Goyne
3c57dda9ac
Update to hunspell 1.3.3
2014-06-26 16:50:43 -07:00
Thomas Goyne
5816af6c01
Disable RTTI for ffms2, hunspell, and universalchardet
...
They don't actually use it so it's just pointless bloat.
2014-06-24 13:14:21 -07:00
Thomas Goyne
556d655c0b
Update ffmpeg, ffms2, libass
2014-06-06 12:08:51 -07:00
Thomas Goyne
3bd6c302c3
Add a bunch of missing project references
2014-06-02 13:02:05 -07:00
Thomas Goyne
9f8a648017
Disable a bunch of ICU stuff we don't use
...
Bumps ~800KB off the executable (and 100MB off icu.lib).
2014-06-02 13:02:05 -07:00
Thomas Goyne
ff9beb850c
Build wx without iostream support
2014-05-31 08:11:32 -07:00
Thomas Goyne
060536824b
Kill ScintillaTextCtrl and just always use the UTF-8 methods
...
Trivially improves performance and reduces the opportunities for wxSTC
to fuck up.
2014-05-30 13:24:38 -07:00
Thomas Goyne
e6b495dc1b
Enable ffmpeg's png decoder
2014-05-30 13:24:38 -07:00
Thomas Goyne
db3452bcde
Disable decoders for dumb rarely-used formats which have huge data tables
2014-05-30 13:24:38 -07:00
Thomas Goyne
59489b8f8c
Extract some of the string formatter implementation to format.cpp
2014-05-30 11:53:15 -07:00
Thomas Goyne
37c02ae127
Replace wxString::Format with agi::format
...
It's modestly faster, significantly more type-safe, and doesn't assert
when there's too few arguments, which causes problems for plural forms.
Closes #1733 .
2014-05-30 11:53:14 -07:00
Thomas Goyne
b43788fa7f
Replace boost::format with agi::format
...
boost::format is slow to compile, slow to run, and has an unpleasant
interface.
2014-05-30 08:30:31 -07:00
Thomas Goyne
1f7c47239b
Replace timeval junk with std::chrono
2014-05-26 09:34:19 -07:00
Thomas Goyne
2bf23af00a
Remove a lot of pointless headers for dialogs
...
Most of the dialogs in Aegisub have a public interface consisting of a
single function, so there's really no need to expose the actual dialog
classes to the rest of the program. Add dialogs.h with the declarations
of all of those functions (most of which are just ShowFooDialog()), and
kill a million other headers.
2014-05-22 14:58:39 -07:00
Thomas Goyne
6a8958f287
Delete the Clean Script Info macro
...
It doesn't actually do anything anymore.
2014-05-22 09:29:15 -07:00
Thomas Goyne
19e8f19e52
Redesign project file handling
...
Add a new Project class which is responsible for everything related to
opening and closing audio, video, subtitles, timecodes and keyframes.
This pulls almost everything not directly related to playing audio/video
out of the audio and video controllers, pulls more crap out of
FrameMain, and happens to make things a little simpler in the process.
2014-05-22 09:29:12 -07:00
Thomas Goyne
cddefd8ed9
Add RGB <-> YCbCr conversion stuff to libaegisub
2014-05-19 19:32:25 -07:00
Thomas Goyne
2cf35b5043
Force-enable native TLS in wxWidgets
...
It is off by default on Windows due to that it breaks if a wx-using
library is loaded with LoadLibrary on XP, but that is not a use-case we
care about.
2014-05-17 18:32:04 -07:00
Thomas Goyne
d0ce26d7df
Add an option to resample the script to the resolution mismatch dialog
...
Closes #1382 .
2014-05-17 18:01:41 -07:00
Thomas Goyne
0a1660c03b
Add version information to the windows executable
...
Closes #913 .
2014-05-15 08:39:09 -07:00
Thomas Goyne
48acd4aa13
Install libpng headers
2014-05-13 15:35:00 -07:00
Thomas Goyne
b7b2ea2d61
Skip building wx files that don't actually define anything
2014-05-13 11:51:22 -07:00
Thomas Goyne
66ba65774a
Add custom build system for wxWidgets
2014-05-13 11:02:46 -07:00
Thomas Goyne
843412beb0
Install headers before compiling rather than after
2014-05-13 09:24:40 -07:00
Thomas Goyne
95eb603f8d
Link against zlib.lib rather than wxzlib.lib
2014-05-12 17:42:26 -07:00
Thomas Goyne
a0efd18f96
Use wx's vendored copy of zlib rather than having a second copy in a submodule
2014-05-12 17:42:26 -07:00
Thomas Goyne
3db69b0a29
Add more missing project dependencies for working parallel builds
2014-05-10 08:19:59 -07:00
Thomas Goyne
eb2793f88d
Add msbuild build system for FFmpeg
...
This eliminates the need for a msys environment to build any part of
Aegisub. Also happens to make building FFmpeg much faster (~3 minutes
vs. ~10 minutes for me).
2014-05-10 08:19:59 -07:00