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
Thomas Goyne
e0f16da866
Move msbuild stuff to top level build folder
2012-11-12 18:35:21 -08:00
Thomas Goyne
b4c71e4673
Delete vs2008 build system
2012-11-12 18:35:21 -08:00
Thomas Goyne
9d4be82be8
Replace syntax highlighting logic with new stuff in libaegisub
2012-11-10 18:05:57 -08:00
Thomas Goyne
76adcad999
Move the spellchecker base class to libaegisub
2012-11-10 18:05:57 -08:00
Thomas Goyne
47bafe4b9f
Add a lexer for the body of dialogue lines to libaegisub
2012-11-10 18:05:56 -08:00
Thomas Goyne
08983adc96
Move agi::Color parsing to its own file
...
Keeping all uses of boost.spirit in a single translation unit helps
avoid having it murder compile times, which requires that it be off by
itself.
2012-11-10 18:05:56 -08:00
Thomas Goyne
ea5428b65f
Replace AssColor with agi::Color
...
Add agi::Color, and replace AssColor and all uses of wxColor that are
not immediately passed to/from wx with it.
2012-11-10 18:05:56 -08:00
Thomas Goyne
83761d881a
Convert AssFile::Line to an intrusive list
...
Gives O(1) pointer -> iterator conversions, better memory usage, better
performance, and overall slightly simplifies the code using it.
2012-11-10 18:05:56 -08:00
Thomas Goyne
67c01d11f6
Delete unfinished and unused stuff from libaegisub
2012-10-25 17:39:49 -07:00
Thomas Goyne
c7fb6a57a4
Remove the platform-specific agi::io implementations since they were nearly identical
2012-10-21 08:00:02 -07:00