Commit graph

329 commits

Author SHA1 Message Date
Thomas Goyne
99d74e18b3 Add LPeg 0.10
0.11 has a bug that makes it crash on MoonScript, and 0.12 is much slower.

LPeg isn't packaged as a C library and consists of a whopping two files
so just compile it as part of Aegisub.
2013-05-03 06:41:07 -07:00
Thomas Goyne
90b35efa75 Remove most of the fetched dependencies since they're now submodules 2013-04-21 18:24:07 -07:00
Thomas Goyne
9667a7b21f Build Lua as C
Linux distros nearly always package Lua built as C, so build it as C on
Windows as well to cut down on needless differences.
2013-04-21 18:02:04 -07:00
Thomas Goyne
8cd1a0a9d4 Remove in-repo copy of lua 5.1 and use the submodule instead 2013-04-21 18:02:03 -07:00
Thomas Goyne
9c98d1bc13 Fix the output path for dictionaries in the portable install 2013-04-20 06:53:20 -07:00
Thomas Goyne
1096ef8c6e Disable a pile of wx things we don't use 2013-04-16 20:05:44 -07:00
Thomas Goyne
82476832af Build wx without wxRegex 2013-04-16 20:05:44 -07:00
Thomas Goyne
68662211a1 Make Lua 5.1 a required dependency 2013-04-16 20:05:43 -07:00
Thomas Goyne
c556a47509 Replace wxRegex bindings for lua with boost::regex bindings
API is mostly unchanged other than the addition of a lot more flags.
Should be less buggy since it has an actual test suite, and generally
has a more powerful regex syntax with better support for Unicode.

The bindings are written in MoonScript. For now the compiled form is
store in the repo for convenince.
2013-04-16 20:05:43 -07:00
Thomas Goyne
44188267d6 Extract some common helper methods to auto4_lua_utils.h 2013-04-09 20:14:53 -07:00
Thomas Goyne
e33dc4ae3a Add the en_US dictionary to the portable installer 2013-04-07 08:43:57 -07:00
Thomas Goyne
a15d1cb43d Fix the paths in the PortableInstaller filters 2013-04-07 08:43:57 -07:00
Thomas Goyne
5ff00c6996 Remove MPC-HC VSFilter from the portable installer files 2013-04-07 08:43:57 -07:00
Thomas Goyne
c640f279ba Create the output directory for the portable installer if it doesn't exist 2013-04-07 08:43:56 -07:00
Thomas Goyne
73217fd0e9 Move uuencoding logic to libaegisub and add tests 2013-02-07 16:02:44 -08:00
Thomas Goyne
79cd9448f8 Update to ICU 50.1.2 2013-02-06 13:38:35 -08:00
Thomas Goyne
bec9483429 Cut all the stuff from ICU's data file that we don't need 2013-02-06 13:38:35 -08:00
Thomas Goyne
523fcd72b0 Add agi::fs tests 2013-02-06 13:38:34 -08:00
Thomas Goyne
47c36c9033 Use ICU/boost.locale for case-insensitive searching
Do proper unicode case-folding for case-insensitive searching rather
than converting only ascii characters to lowercase. The Turkish 'i' is
still not handled correctly (since it's the only place where
case-folding is locale-dependent), but that's probably not worth caring
about as long as we don't have a Turkish UI translation.

This affects both the find/replace dialog and the select lines dialog.

Closes #1342.
2013-02-06 13:38:33 -08:00
Thomas Goyne
1cc52611de Rearrange the tests files 2013-02-06 13:22:34 -08:00
Thomas Goyne
74028b9bcd Sort the files in the project 2013-02-06 13:22:33 -08:00
Thomas Goyne
1d5e270283 Remove duplicate copy of hotkey.h in the project file 2013-02-06 13:22:33 -08:00
Thomas Goyne
396ff897e5 Kill StandardPaths
It's now just a pointless wrapper around agi::Path.
2013-02-06 13:22:33 -08:00
Thomas Goyne
af37047736 Build the tests on Windows 2013-02-06 13:22:33 -08:00
Thomas Goyne
937f8497a5 Build gtest on Windows 2013-02-06 13:22:33 -08:00
Thomas Goyne
053bb9b76a Add googletest to the dependency fetcher 2013-02-06 13:22:33 -08:00
Thomas Goyne
86aca22502 Build boost.locale on Windows 2013-02-06 13:22:33 -08:00
Thomas Goyne
07adb5c84e Build boost.regex with ICU support 2013-02-06 13:22:32 -08:00
Thomas Goyne
91e43d3c17 Build ICU on Windows 2013-02-06 13:22:32 -08:00
Thomas Goyne
855902edb8 Add ICU to the libraries downloaded by the dependencies fetcher 2013-02-06 13:22:32 -08:00
Thomas Goyne
a0d3dbc550 Extract Loading/Saving/Undo stuff from AssFile
Add SubsController, which deals with things like what subtitle file is
currently open, rather than the contents of the current subtitle file.
Move the rest of the relevant logic from FrameMain there in addition to
all of the stuff from AssFile.
2013-02-06 13:22:32 -08:00
Thomas Goyne
69e1744fc7 Make agi::util::time_log less insane 2013-02-06 13:22:16 -08:00
Thomas Goyne
1e0f08c0ed Mostly purge wxWidgets from non-UI stuff
Use boost::filesystem::path for all paths, and std::string for all other
strings, converting to/from wxString as close to the actual uses of wx
as possible.

Where possible, replace the uses of non-UI wxWidgets functionality with
the additions to the standard library in C++11, or the equivalents in
boost.

Move the path token management logic to libaegisub (and rewrite it in
the process).

Add a basic thread pool based on asio and std::thread to libaegisub.

This touches nearly every file in the project and a nontrivial amount of
code had to be rewritten entirely, so there's probably a lot of broken
stuff.
2013-02-06 13:22:15 -08:00
Thomas Goyne
10e06ac3f9 Build and/or link the non-header-only boost libraries 2013-02-01 19:07:51 -08:00
Thomas Goyne
0e7df15170 Initial implementation of the split editbox 2013-01-14 08:37:03 -08:00
Thomas Goyne
b1dbb9a94b Decouple SearchReplaceEngine from DialogSearchReplace 2013-01-13 09:00:18 -08:00
Thomas Goyne
a99428c49d Extract options and MRU stuff from main.h
Nearly all of the files including main.h are doing so only for OPT_GET
and friends, which are rather unrelated to the main things that main.h
declares.
2013-01-09 16:48:31 -08:00
Thomas Goyne
c691099d24 Use CRC32 for ffms2 index filenames
No real advantages other than that it means md5.h/c can be deleted.
2013-01-09 16:48:30 -08:00
Thomas Goyne
43d3fac178 Fix compilation with libc++ 2012-12-28 09:44:53 -08:00
Thomas Goyne
745b9ab2a9 Build ffmpeg and ffms2 with libavresample 2012-12-26 19:32:47 -08:00
Thomas Goyne
36012c3302 Delete the respack-generated files on Clean 2012-12-17 17:21:26 -08:00
Thomas Goyne
a0d3b8595f Redesign AssOverrideParameter
Always store the original string form and convert it to the desired type
on demand. In most cases this is significantly faster as typically only
a few of the parameters in a line are actually read. In addition, this
makes it so that parameters which did not actually change are always
reserialized in their original form.

Delete VariableData as it's no longer used by anything.

Closes #1513.
2012-12-10 14:41:11 -08:00
Thomas Goyne
9b44f92235 Make AssEntry purely a base class and add AssInfo
Now that all the other junk is being dropped from the file, script info
lines are the only thing left which was a concrete AssEntry, and
AssEntry wasn't actually a very good way to store them.
2012-12-07 18:55:29 -08:00
Thomas Goyne
621b665885 Move the project configurations to aegisub.props 2012-12-02 06:33:30 -08:00
Thomas Goyne
5b31f10d0b Use the XP-compatible msvc runtime 2012-11-30 12:01:45 -08:00
Thomas Goyne
28b056e422 Add a msbuild project to build the portable installers 2012-11-24 16:24:00 -08:00
Thomas Goyne
6ed970ed5b Write a msbuild xml file with the current version information 2012-11-24 10:44:44 -08:00
Thomas Goyne
1880bb71df Disable parallel make for fribidi since it seems to have broken deps 2012-11-19 11:08:34 -08:00
Thomas Goyne
ffa69421cd Rename setup.h to setup-build.h
build is in the include path for git_version.h, so build/wx/setup.h
would get included rather than $PREFIX/include/wx/setup.h.
2012-11-18 21:10:21 -08:00
Thomas Goyne
799ca651d0 Copy the platform header before running respack 2012-11-18 07:12:04 -08:00