Commit Graph

357 Commits

Author SHA1 Message Date
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
Thomas Goyne ee38d27c2b Set the newline style for ffmpeg before checking out the working copy 2012-11-18 06:48:18 -08:00
Thomas Goyne 1a0258596a Fix some incorrect header includes in the projects resulting in excess rebuilds 2012-11-17 21:09:16 -08:00
Thomas Goyne 38efa5679e Fix statically linking fribidi 2012-11-17 17:34:38 -08:00
Thomas Goyne 4a749530f4 Add libass project 2012-11-17 17:34:37 -08:00
Thomas Goyne 291e411f4c Use a patched zconf.h that doesn't try to include unistd.h when it isn't available 2012-11-17 11:13:08 -08:00
Thomas Goyne 2c4908caf5 Add boost to the automatically fetched dependencies 2012-11-17 11:13:06 -08:00
Thomas Goyne 9344493558 Add boost path to configuration UI 2012-11-17 11:13:05 -08:00
Thomas Goyne 92b09ea7c6 Fix gratuitous rebuilding of libresrc 2012-11-17 11:12:59 -08:00
Thomas Goyne d98bd816a6 Use a timestamp file rather than trying to track FFmpeg's dependencies 2012-11-17 11:12:12 -08:00
Thomas Goyne 39e642d20e Add wxWidgets project 2012-11-16 20:21:23 -08:00
Thomas Goyne e0144394f5 Add the directory with inttypes.h to the include path for Makefile projects 2012-11-16 15:58:56 -08:00
Thomas Goyne 8ca862fa93 Force autocrlf to input for ffmpeg since it barfs on Windows newlines 2012-11-16 15:58:56 -08:00
Thomas Goyne 7bf664b28d Enable automatic NuGet package restoration 2012-11-16 15:58:56 -08:00
Thomas Goyne 30dd139cf3 Fix the include path for FFTW3 2012-11-16 15:58:55 -08:00
Thomas Goyne dfefdeaf8a Don't try to load the user config file if it doesn't exist 2012-11-16 15:58:55 -08:00
Thomas Goyne b169a05f08 Try to autodetect the location of msys 2012-11-16 15:58:55 -08:00
Thomas Goyne d6c8215df7 Set the default source paths for the deps to where the updater will put them 2012-11-16 15:58:55 -08:00
Thomas Goyne 6f01ad7f95 Add project to fetch and update most of Aegisub's external deps 2012-11-16 13:47:51 -08:00
Thomas Goyne 0be698965a Obey the platform/configuration set in the UI for ffmpeg and fribidi 2012-11-15 18:15:39 -08:00
Thomas Goyne eaf66ea329 Dynamically link the runtime for FFMS2 and FFmpeg 2012-11-15 15:25:24 -08:00
Thomas Goyne 558325bce3 Add zlib project 2012-11-14 14:35:49 -08:00
Thomas Goyne 73696b8efa Add msbuild target for building translations. Closes #1076. 2012-11-14 07:08:43 -08:00
Thomas Goyne 9a2b8fc408 Add dependency information to the fribidi project 2012-11-13 16:15:39 -08:00
Thomas Goyne d70094917b Add some dependency information to avoid pointlessly rebuilding ffmpeg 2012-11-13 11:01:50 -08:00
Thomas Goyne dbbb73651d Replace the post-build events with a new target with dep tracking and such 2012-11-12 18:35:34 -08:00
Thomas Goyne 6a0c790ff2 Add a FFMS2 project 2012-11-12 18:35:34 -08:00
Thomas Goyne 938a1d32c8 Add ffmpeg project 2012-11-12 18:35:28 -08:00
Thomas Goyne 692ef37b8f Add Clean and Rebuild targets to fribidi 2012-11-12 18:35:27 -08:00
Thomas Goyne 31e347febf Use ToolTask for ShellWrapper for simpler effective logging 2012-11-12 18:35:27 -08:00
Thomas Goyne e7ab194809 Set the output base relative to the project so that it works when building projects directly 2012-11-12 18:35:27 -08:00
Thomas Goyne ffcd455713 Add fribidi project 2012-11-12 18:35:27 -08:00
Thomas Goyne 3cf2a39884 Add msbuild task to update git_version.h 2012-11-12 18:35:27 -08:00
Thomas Goyne c759beda96 Add msys root directory to paths page 2012-11-12 18:35:27 -08:00
Thomas Goyne 154f831c7c Add a basic dialog for opening Autosave files
This currently consists of just a list of autosave files and the
timestamps of the versions available for each file. It'd probably be a
good idea to add more information to this later, such as the original
file path and perhaps a preview of the file?

Closes #781.
2012-11-12 18:35:26 -08:00
Thomas Goyne f628f92747 Significantly restructure the msbuild projects to make them actually work 2012-11-12 18:35:25 -08:00
Thomas Goyne 238356406f Extract calltip logic from the edit ctrl to libaegisub 2012-11-12 18:35:25 -08:00
Thomas Goyne e4d6b8661b Add range adaptor for filtering to a specific subclass from a heterogeneous range
This makes looping over the subtitle file and parsed dialogue lines less
awkward in many cases.
2012-11-12 18:35:25 -08:00
Thomas Goyne 8af78a6a61 Add fontconfig project 2012-11-12 18:35:25 -08:00
Thomas Goyne 3add0e5b91 Add freetype2 project 2012-11-12 18:35:24 -08:00
Thomas Goyne aaccf94269 Remove support for externally-built FFTW3 2012-11-12 18:35:24 -08:00
Thomas Goyne 6b52c4f4aa Copy FFTW3's header to a more convenient place after building it 2012-11-12 18:35:24 -08:00
Thomas Goyne 4bb1b182c8 Add a conditional project reference to FFTW3 2012-11-12 18:35:24 -08:00
Thomas Goyne b308b1ec9c Add a project file for FFTW3 2012-11-12 18:35:24 -08:00
Thomas Goyne a4e96f22f7 Use the full path to the source file for the intermediate file location
This fixes the issues with multiple files in different directories with
the same name overwriting each other's object files.
2012-11-12 18:35:24 -08:00
Thomas Goyne 8ad1e2d4a9 Actually include the user's global properties file 2012-11-12 18:35:24 -08:00
Thomas Goyne 338e604455 Include user config file in libresrc to get the wx path 2012-11-12 18:35:24 -08:00
Thomas Goyne cfc9f81f85 Define NOMINMAX for Aegisub 2012-11-12 18:35:24 -08:00
Thomas Goyne 735d687ec5 Add wx paths to the config properties 2012-11-12 18:35:24 -08:00
Thomas Goyne 83597e1a68 Actually define the update checker defines when enabled 2012-11-12 18:35:23 -08:00
Thomas Goyne 7f4a3b4967 Set defaults for more build options 2012-11-12 18:35:23 -08:00
Thomas Goyne 5f1f84ec32 Include default config before aegisub.props so that it actually works 2012-11-12 18:35:23 -08:00
Thomas Goyne c4daf53030 Remove logic to create the default config file 2012-11-12 18:35:23 -08:00
Thomas Goyne 45ff83637a Rearrange the build settings a bit and add update checker settings 2012-11-12 18:35:23 -08:00
Thomas Goyne b7e7a9054c Remove FinalRelease config setting 2012-11-12 18:35:23 -08:00
Thomas Goyne 5db559265f Drop support for config_windows.h 2012-11-12 18:35:23 -08:00
Thomas Goyne 0aba5206c0 Normalize whitespace in Aegisub.targets 2012-11-12 18:35:23 -08:00
Thomas Goyne f1ef0582cb Update Aegisub project 2012-11-12 18:35:23 -08:00
Thomas Goyne f3d32c6726 Increase memory limit for precompiled header compilation 2012-11-12 18:35:23 -08:00
Thomas Goyne 67af6f89a8 Fix Aegisub source directory path 2012-11-12 18:35:22 -08:00
Thomas Goyne 8c3f556387 Remove SubWCRev build step 2012-11-12 18:35:22 -08:00
Thomas Goyne b2a5fe406c Unconditionally enable Lua and Hunspell 2012-11-12 18:35:22 -08:00
Thomas Goyne 08eb738de5 Update libresrc project 2012-11-12 18:35:22 -08:00
Thomas Goyne 98cf1b7350 Update respack project 2012-11-12 18:35:22 -08:00
Thomas Goyne c2510b1ef0 Remove explicit references to libraries and use project references instead 2012-11-12 18:35:22 -08:00
Thomas Goyne fc7d50dfb5 Update CSRI source path 2012-11-12 18:35:22 -08:00
Thomas Goyne e5a852fc0c Update hunspell project 2012-11-12 18:35:22 -08:00
Thomas Goyne 6c23f14c81 Fix the default Aegisub source base 2012-11-12 18:35:22 -08:00
Thomas Goyne 2cf834806e Update libaegisub project 2012-11-12 18:35:21 -08:00
Thomas Goyne 7230afc3cf Update iconv project 2012-11-12 18:35:21 -08:00
Thomas Goyne a9bc2c99a7 Update lua project 2012-11-12 18:35:21 -08:00
Thomas Goyne 9b4fd7a051 Update universalchardet project 2012-11-12 18:35:21 -08:00
Thomas Goyne c41468354a Convert msbuild projects to vs 2012 format 2012-11-12 18:35:21 -08:00