Thomas Goyne
584284aa79
Reject vfr timecodes which are all identical
2014-07-15 09:11:40 -07:00
Thomas Goyne
92b8b2851b
Don't build the dialogue lexer on every use
...
Building the lexer takes much longer than actually lexing, and since the
lexer is stateless there's no reason not to just make it static.
2014-07-14 10:10:22 -07:00
Thomas Goyne
706a72d5c1
Eliminate several memory allocations per line when reading thesaurus files
2014-07-14 10:10:21 -07:00
Thomas Goyne
e713f741a4
Make some functions static
2014-07-08 16:38:16 -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
f0f836c47b
Eliminate a pointless std::map in charset_conv
2014-07-06 19:25:48 -07:00
Thomas Goyne
a22dd0f9ca
Clean up the json parser a little
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
789ff25f27
Remove some exceptions not used for much of anything
2014-06-11 12:52:30 -07:00
Thomas Goyne
47303007eb
Remove the ?docs token
...
It's not actually used anywhere and not even set on Windows.
2014-06-04 14:15:26 -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
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
8ba286c544
Fix moving files to the front of the MRU list
2014-05-30 08:30:31 -07:00
Thomas Goyne
72748d45f7
Fix crash on v1 timecode files with zero override ranges
2014-05-30 08:30:31 -07:00
Thomas Goyne
eec83bb32b
Cut down on FileNotFound exceptions thrown on startup
2014-05-27 06:42:46 -07:00
Thomas Goyne
d08f4e73b4
Only check for permissions if opening a file fails
2014-05-27 06:42:46 -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
6477ef933b
Use std::to_string rather than boost::lexical_cast
2014-05-26 09:34:19 -07:00
Thomas Goyne
41297e5ace
Remove non-spirit uses of boost.phoenix
...
The slightly more concise code is not worth the compilation speed hit.
2014-05-26 09:34:19 -07:00
Thomas Goyne
fed99649e9
Cut down on pointless uses of std::list
2014-05-26 09:34:19 -07:00
Thomas Goyne
20a7ec786f
Use initializer lists rather than std::make_pair
2014-05-26 09:34:18 -07:00
Thomas Goyne
9d3067ae75
Return absolute paths for files in project_properties()
2014-05-23 07:28:26 -07:00
Thomas Goyne
09e325a1c3
Clean up unused includes
2014-05-23 07:28:24 -07:00
Thomas Goyne
53f02d33a6
Fix a bunch of warnings when building with gcc on linux
2014-05-20 09:46:57 -07:00
Thomas Goyne
291437eed6
Handle ftruncate failures
2014-05-20 09:46:57 -07:00
Thomas Goyne
cddefd8ed9
Add RGB <-> YCbCr conversion stuff to libaegisub
2014-05-19 19:32:25 -07:00
Thomas Goyne
eadf555da3
Pass exceptions in async workers back to the main thread
2014-05-09 07:00:48 -07:00
Thomas Goyne
b4d49511be
Fix ignoring override blocks for CPS calculations
2014-05-08 12:34:04 -07:00
Thomas Goyne
f261688b11
Don't ignore the contents of override blocks when counting characters for selection preserving
2014-05-05 06:27:37 -07:00
Thomas Goyne
b4de0b9b82
Fix crash on zero-length lua files
2014-04-27 21:23:52 -07:00
Thomas Goyne
15ae2b0ccc
Eliminate a bunch of explicit constructors/destructors
...
Use explicitly defaulted destructors for base cases when possible,
eliminate aggregate initialization constructors where possible, and push
some more stuff to NSDMIs.
2014-04-25 14:53:24 -07:00
Thomas Goyne
d4fbe3040d
Preserve the insertion point (but not selection) when switching between lines
2014-04-25 08:00:45 -07:00
Thomas Goyne
6fc4c8da14
Move make_unique to its own header file
...
Rebuilding the entire project after touching util.h gets old fast.
2014-04-23 15:29:23 -07:00
Thomas Goyne
a30d6121fd
Don't block the UI while decoding audio for the caches
...
Simply zero the memory for audio which hasn't been decoded yet, modify
the audio renderer to avoid caching blocks which aren't ready yet, and
add a progress indiciator to the audio display scrollbar.
2014-04-22 12:34:20 -07:00
Thomas Goyne
6c6f60eb98
Add an option to ignore punctuation for the character counter
2014-04-18 20:11:38 -07:00
Thomas Goyne
2de95818db
Use ICU directly for character counting
...
ICU docs say not to create a new break iterator each time as
boost.locale does, and in fact creating the break iterator is about 90%
of the run time of the character counter, so use ICU directly and cache
the break iterator.
2014-04-18 20:11:38 -07:00
Thomas Goyne
af32733797
Move character count stuff to libaegisub
2014-04-18 20:11:38 -07:00
Thomas Goyne
c8033c2ef7
Initialize the charset converter for the thesaurus sooner
...
Narrows the window of time for a crash-on-exit when the user exits while
a thesaurus is being loaded.
2014-04-16 08:15:31 -07:00