Commit Graph

33 Commits

Author SHA1 Message Date
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 e270dc9aec Use stable_vector for AudioProviderRam's cache
stable_vector allocates its elements non-contiguously (as is required
for stability), while still giving O(1) indexing.
2012-12-22 14:44:35 -08:00
Thomas Goyne 96cf5ea7ed Kill the #ifndef AGI_PRE guards
They don't actually improve compilation performance and make it more
annoying to modify what things are in the precompiled header.
2012-12-02 06:33:29 -08:00
Thomas Goyne ebd56f2163 Include cstdint rather than stdint.h 2012-11-10 18:05:57 -08:00
Thomas Goyne 0893ed3f0a Remove references to tr1 2012-11-10 18:05:57 -08:00
Thomas Goyne 9088ae994c Remove windows.h from the precompiled header
It's only used by a few source files and it defines a ton of garbage.
2012-11-10 18:05:56 -08:00
Thomas Goyne 28175aadbe Switch to boost.container for containers of incomplete types
STL containers are not required to support incomplete types, and while
most implementations do, clang's libc++ does not.
2012-11-10 18:05:56 -08:00
Thomas Goyne a78417177a Move cajun implementations from .inl files included by the headers to .cpp files
Originally committed to SVN as r6004.
2011-12-22 21:10:10 +00:00
Thomas Goyne ead31761db Include lagi_pre.h in agi_pre.h and remove all duplicates
This eliminates some duplicated logic and potential tr1/non-tr1 header
mismatches, and removes the need for the #if defined(AGI_PRE) ||
defined(LAGI_PRE) guard that was used in a few of the libaegisub headers.

Originally committed to SVN as r5515.
2011-07-26 22:25:10 +00:00
Thomas Goyne 665cddf235 Remove some duplicated includes in lagi_pre.h
Originally committed to SVN as r5514.
2011-07-26 22:24:59 +00:00
Thomas Goyne 0616b39ffe Fix a pile of warnings
Originally committed to SVN as r5483.
2011-07-16 05:01:36 +00:00
Thomas Goyne 6ec63cdde1 Clean up libaegisub includes
Remove cajun includes from all public headers and the precompiled header

Add a pile of missing standard library headers used in multiple files
to lagi_pre

Originally committed to SVN as r5452.
2011-07-15 04:04:34 +00:00
Amar Takhar 96f24d6c25 Move sys/param.h under ifndef _WIN32, I need to be more vigilant against including Unix headers in Windows builds.
Originally committed to SVN as r5370.
2011-02-23 03:29:30 +00:00
Grigori Goronzy 066ec3014a libaegisub: use statvfs instead of statfs
statvfs is the portable POSIX defined interface and is supported on all
major UNIX platforms.

Originally committed to SVN as r5367.
2011-02-23 00:54:18 +00:00
Karl Blomster 7db22972a7 sys/mount.h and statfs(2) do not exist on windows
Originally committed to SVN as r5366.
2011-02-22 19:03:03 +00:00
Amar Takhar 8240d3e6b6 Add util::freespace to check for free space on a path. (with tests)
Originally committed to SVN as r5346.
2011-02-10 23:55:59 +00:00
Amar Takhar ef7b3c04e3 Add <climits>
Originally committed to SVN as r5342.
2011-02-10 01:33:34 +00:00
Amar Takhar 6615d3981f Add <locale>.
Originally committed to SVN as r5339.
2011-02-09 23:56:24 +00:00
Amar Takhar 944eaa535e Remove universalchardet headers from the precompiled header. For some reason this was causing issues with compliation on FreeBSD, rather than investigate why I removed it since it's used by exactly 1 file (charset_ucd.cpp). If it's going to cause one problem now it may cause another later that we may not notice.
Originally committed to SVN as r4919.
2010-12-08 14:32:30 +00:00
Thomas Goyne 0248e7c754 Add listeners for most non-audio options that need them. Closes #1047.
Originally committed to SVN as r4764.
2010-08-26 18:38:37 +00:00
Thomas Goyne 9322f95071 Rewrite vfr.cpp in libaegisub with tests. Not yet used by Aegisub itself.
Originally committed to SVN as r4661.
2010-07-07 05:24:16 +00:00
Thomas Goyne 929fa83dd9 Move the bulk of TextFileWriter's logic to libaegisub.
Originally committed to SVN as r4660.
2010-07-07 02:41:46 +00:00
Thomas Goyne afec51c4ed Include config.h in lagi_pre.h so that the conditional inclusion of sys/time.h actually works
Originally committed to SVN as r4543.
2010-06-18 06:59:55 +00:00
Thomas Goyne 61138e9b5d Add configure check for sys/time.h
Originally committed to SVN as r4529.
2010-06-16 07:49:35 +00:00
Thomas Goyne 5338a60cdb Fix compilation errors when not using precompiled headers
Originally committed to SVN as r4511.
2010-06-14 19:26:27 +00:00
Amar Takhar 60b9e5dee6 Define _X86_ so univeralchardet builds properly, this eventually needs to be fixed to use the autodetection code already in configure.in
Originally committed to SVN as r4486.
2010-06-12 07:04:46 +00:00
Thomas Goyne b6d29443a3 Move most character set conversion code to libaegisub and make everything use the new conversion functionality.
Originally committed to SVN as r4423.
2010-06-03 20:32:25 +00:00
Amar Takhar 9393850884 Commit the beginings of a logging api, this is fairly complete however it has no locking.
Originally committed to SVN as r4371.
2010-05-31 20:55:29 +00:00
Amar Takhar e408fe49c9 Add support for detecting character sets using UniversalChardet -- this superceeds character_detect.cpp.
Originally committed to SVN as r4367.
2010-05-28 07:40:21 +00:00
Thomas Goyne 0dc6a082ca Fix memory leaks in Option
Originally committed to SVN as r4349.
2010-05-23 06:58:11 +00:00
Thomas Goyne d3c33d5e7c Fix file saving on Windows.
Originally committed to SVN as r4333.
2010-05-21 03:07:48 +00:00
Amar Takhar cd8305987b Wrap io.h with _MSC_VER since it's only needed on windows. Eventually we'll have to create our own set of defined macros for various platforms.
Originally committed to SVN as r4332.
2010-05-21 01:19:40 +00:00
Amar Takhar 40e12403d5 Merge all changes from the libaegisub branch into trunk, the effective range is r4175:4330. All options have been re-done and now use Cajun to support a json-backed format.
Initial support for low-level access and file I/O methods are included as well.

Originally committed to SVN as r4331.
2010-05-21 01:13:36 +00:00