Thomas Goyne
d5dde6cff2
Reduce error-handling bloat a bit
2015-07-28 16:22:48 -07:00
Thomas Goyne
b0f4c9f1ad
Remove agi::vfr::Framerate's explicit swap implementation
2015-07-28 14:30:03 -07:00
Thomas Goyne
fefa31eb47
Improve code coverage of tests
2015-07-28 14:30:03 -07:00
Thomas Goyne
74ac2ab1fe
Extract some more find/replace logic to libaegisub
2015-07-27 10:29:22 -07:00
Thomas Goyne
879788fe83
Eliminate some gratuitous exceptions
2015-02-15 08:19:10 -08:00
Thomas Goyne
5d8aeb8b40
Replace most remaining uses of boost::split with agi::Split
2015-02-08 08:11:14 -08:00
Thomas Goyne
01558bf10d
Fix type_name compilation on OS X
...
Reverts 2986932f31
. There are more types
of ints than sizes of ints, so using the stdint types doesn't work.
2015-02-07 14:56:50 -08:00
Thomas Goyne
427037a552
Reimplement boost::split_iterator to make it less slow
...
boost::split_iterator type-erases the predicate, which makes it require
a virtual call per character (!) along with a heap allocation. As it
turns out we only ever need one predicate (comparing to a single
character), so replace it with a split_iterator that just does that.
2015-02-07 14:56:27 -08:00
Niels Martin Hansen
2986932f31
Fix issues with type_name on Win64 build
...
Both size_t and unsigned long long are aliases for
unsigned __int64 on Win64, and causes a duplicate definition.
Replacing all the integer type_name definitions with stdint.h
names should avoid this problem.
2015-01-20 21:22:14 +01:00
Thomas Goyne
b6edf58651
Eliminate some object file bloat
2015-01-01 10:23:59 -08:00
Thomas Goyne
b29fcd4f89
Add some extern template declarations for stuff with vtables
2014-12-28 20:43:29 -08:00
Thomas Goyne
e485c469e2
Pull some of OptionValue to a cpp file
2014-12-28 20:21:48 -08:00
Thomas Goyne
5089499e8b
Remove Excetipion's virtual destructor
2014-12-28 19:52:42 -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
5201773a3b
Slightly optimize returning strings to lua from ffi functions
2014-12-28 16:46:37 -08:00
Thomas Goyne
010f6c4f79
Debloatify some stuff
2014-12-28 12:30:01 -08:00
Thomas Goyne
76afcdafa1
Eliminate uses of dynamic_cast on everything but GUI widgets
2014-12-28 12:29:54 -08:00
Thomas Goyne
44506eae56
Fix compilation with compilers with non-totally-broken templates
2014-12-24 16:46:51 -08:00
Thomas Goyne
0a18fe6cd3
Fix stack corruption when a script tries to select an invalid line
2014-12-24 16:24:51 -08:00
Thomas Goyne
416b9809c8
Update boost to 1.56
...
Closes #1818 .
2014-08-16 14:01:58 -07:00
Thomas Goyne
a01a84fb4f
Extract some common ffi API stuff
2014-07-28 12:30:44 -07:00
Thomas Goyne
0cf35894e1
Convert the lfs module to using the ffi
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
de686bdb6f
Remove the automation thread priority stuff
...
It hasn't actually been used for anything for a while, and if a single
normal-priority thread can make your system unresponsive it's time to
upgrade to an OS that's isn't garbage.
2014-07-23 15:29:55 -07:00
Thomas Goyne
584284aa79
Reject vfr timecodes which are all identical
2014-07-15 09:11:40 -07:00
Thomas Goyne
585e9489d9
Move some of the audio provider machinery to libaegisub
...
And add tests.
2014-07-10 11:44:56 -07:00
Thomas Goyne
a11da3350c
Save a backup copy of the old hotkey file if migrating from the old format
2014-07-07 09:42:02 -07:00
Thomas Goyne
935c6bc3a7
Store hotkeys in a less dumb format
2014-07-06 19:25:49 -07:00
Thomas Goyne
3b34ed9a77
Move AssTime to libaegisub and add tests
2014-07-06 19:25:49 -07:00
Thomas Goyne
f0f836c47b
Eliminate a pointless std::map in charset_conv
2014-07-06 19:25:48 -07:00
Thomas Goyne
d9016cc8ea
Debloat and slightly speed up the MRU code
2014-07-06 19:25:48 -07:00
Thomas Goyne
518342b919
Make the hotkey code a bit less bloated
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
93522e30a8
Use a static table of tokens for agi::Path
...
The set of possible tokens is fixed, so using std::map is a bunch of
pointless overhead (that turns out to not even really simplify the
code).
2014-07-04 20:37:36 -07:00
Thomas Goyne
6ce9ce1546
Remove unused helper function
2014-07-03 10:57:53 -07:00
Thomas Goyne
4c88449e4c
Make UnknownElement moveable and not copyable
...
And remove the unused comparison functionality.
2014-06-29 10:45:26 -07:00
Thomas Goyne
4c0e578eda
Rewrite the remaining bits of json::Writer
2014-06-29 10:45:26 -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
c9608ab610
Remove an exception not used for anything useful
2014-06-28 19:49:39 -07:00
Thomas Goyne
7780fadfc6
Fix restarting the application after changing the UI language on OS X
2014-06-14 06:51:53 -07:00
Thomas Goyne
789ff25f27
Remove some exceptions not used for much of anything
2014-06-11 12:52:30 -07:00
Thomas Goyne
eebd1dba21
Use iconv rather than std::wstring_convert
...
libstdc++ 4.8 does not have <codecvt>.
2014-05-30 11:53:15 -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
8d26c66d0f
Remove a bunch of unused functionalty from agi::Exception
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
4da1443194
Store connected slots in a vector rather than a map
2014-05-26 09:34:20 -07:00
Thomas Goyne
6c685daf98
Ditch boost.circular_buffer
...
It drags in a ton of crap, is kinda slow at runtime due to using
std::deque, and doesn't actually make the code much simpler than just
using a manual ring buffer.
2014-05-26 09:34:19 -07:00
Thomas Goyne
1f7c47239b
Replace timeval junk with std::chrono
2014-05-26 09:34:19 -07:00
Thomas Goyne
650cfcb043
Remove a bunch of unused crap from lagi_pre.h
2014-05-26 09:34:19 -07:00