Commit graph

696 commits

Author SHA1 Message Date
Thomas Goyne
dbe9bcfdad Extract some duplicated code 2014-03-24 12:40:03 -07:00
Thomas Goyne
470f85d365 Convert VideoProviderManager to AudioProviderManager's new design 2014-03-24 09:25:26 -07:00
Thomas Goyne
36a71be19f Remove virtual destructor from FFmpegSourceProvider 2014-03-24 06:55:35 -07:00
Thomas Goyne
938025acb1 Redesign AudioProviderFactory
Register functions which create each type of provider rather than the
provider types themselves so that the concrete types don't need to be
publicly exposed, and use a static list of providers rather than
registering them at runtime.
2014-03-24 06:55:35 -07:00
Thomas Goyne
7dd764db6b Remove the option to disable the PCM audio provider 2014-03-23 16:49:03 -07:00
Thomas Goyne
3d76d583e1 Use stdint types in MatroskaParser 2014-03-23 09:01:25 -07:00
Thomas Goyne
b1f132ec6f Use a proper auto-deleting temp file for the HD audio cache 2014-03-23 08:14:35 -07:00
Thomas Goyne
2eb211f5b6 Fix issues with showing the previous inactive line
The "previous" line for the first line was actually the last line of the
file, and the previous line for the second line was ignored entirely.

Closes #1719.
2014-03-21 16:41:22 -07:00
Thomas Goyne
3e9bb94126 Use boost range algorithms in audio_timing_dialogue.cpp 2014-03-21 16:11:56 -07:00
Thomas Goyne
5d3bc0d0d2 Modernize some code in audio_timing_dialogue.cpp 2014-03-21 16:01:24 -07:00
Thomas Goyne
66877105cb Remove old cruft from the precompiled headers 2014-03-21 15:02:12 -07:00
Thomas Goyne
53188cca47 Expunge remaining references to <fstream> and <iostream> 2014-03-21 14:31:48 -07:00
Thomas Goyne
db7c8f49cb Kill default_path.json since it was never used for anything 2014-03-21 14:04:17 -07:00
Thomas Goyne
e1bc828e44 Don't wrap the default config json blobs in std::strings 2014-03-21 14:02:49 -07:00
Thomas Goyne
d615dcb30a Replace all uses of strstream and stringstream with bufferstream
istringstream makes a copy of its input, which is not very nice for
performance. strstream doesn't do bounds checking, which is not very
nice for safety (and is deprecated).
2014-03-21 13:50:28 -07:00
Thomas Goyne
0268ffd345 Return a const char * from read_file_mapping::read 2014-03-21 13:23:12 -07:00
Thomas Goyne
23ff6dead1 Use read_file_mapping for YUV4MPEGVideoProvider 2014-03-21 10:57:14 -07:00
Thomas Goyne
220e6d18da Use read_file_mapping in TextFileReader 2014-03-21 09:28:17 -07:00
Thomas Goyne
87501931f6 Don't reset the progress animation timer when receiving redundant progress updates 2014-03-21 08:39:58 -07:00
Thomas Goyne
cb1f04481a Use read_file_mapping for reading attachments 2014-03-21 07:44:22 -07:00
Thomas Goyne
ad193f70a9 Use read_file_mapping for reading automation scripts 2014-03-21 07:22:31 -07:00
Thomas Goyne
95008b7dc1 Remove unused variable 2014-03-20 20:26:18 -07:00
Thomas Goyne
58db99cd24 Simplify PCMAudioProvider a bit and pull it fully into the cpp file 2014-03-20 20:26:17 -07:00
Thomas Goyne
df177ae869 Fix crash_writer_minidump.cpp's newlines 2014-03-20 20:26:17 -07:00
Thomas Goyne
0c9f39ca25 Use mmap for reading subtitles from Matroska files
Cuts cold-cache read time for an arbitrary 1 GB file read over a network
off a USB 2.0 hard drive from ~70 seconds to ~45 seconds.
2014-03-20 20:26:17 -07:00
Thomas Goyne
00b4d6908f Use read_file_mapping directly in the HD audio provider 2014-03-20 20:26:17 -07:00
Thomas Goyne
6c14c9bee9 Extract the rest of the mmap logic from the PCM provider. Closes #934. 2014-03-20 20:26:17 -07:00
Thomas Goyne
3222275750 Use boost.interprocess's mmap wrapper in the PCM provider 2014-03-20 20:25:44 -07:00
Thomas Goyne
3fa48281b0 Add an error check for trying to interact with expired subtitles objects 2014-03-20 14:13:11 -07:00
Thomas Goyne
aab025c830 Write minidumps on windows rather than just basic stack traces 2014-03-20 10:41:12 -07:00
Thomas Goyne
4b6946dcec Reinitialize the crash error message after the UI language is selected 2014-03-20 10:41:12 -07:00
Thomas Goyne
61b19a17e8 Extract crashlog writing from main.cpp 2014-03-20 10:41:12 -07:00
Thomas Goyne
feb3b45ced Fix crash on startup when the config file can't be written 2014-03-18 14:03:36 -07:00
Thomas Goyne
e74f1dc80e Use enum classes for the selection dialog modes 2014-03-18 13:46:13 -07:00
Thomas Goyne
59e8ec522e Fix Make times continuous 2014-03-16 16:56:36 -07:00
Thomas Goyne
1bd63ce35c Fix crash after inserting lines via subs.insert 2014-03-15 08:31:09 -07:00
Thomas Goyne
21d87ff1ca Remove some invalid finals that VC++ was okay with for some reason 2014-03-12 20:32:57 -07:00
Thomas Goyne
ea96c6e2ad Make everything final that can be
Apparently gcc does use final for devirtualization.
2014-03-12 19:07:30 -07:00
Thomas Goyne
ab39cfe362 Replace rref + const ref overloads with one version taking by value 2014-03-12 18:02:17 -07:00
Thomas Goyne
26c92453b8 Slather on some std::moves when setting the selection 2014-03-12 15:20:37 -07:00
Thomas Goyne
7c2363ee5b Add rref overloads to SetSelectedSet and SetSelectionAndActive 2014-03-12 15:20:34 -07:00
Thomas Goyne
92ae789b46 Eliminate a bunch of pointless copies of the selection set 2014-03-12 14:54:46 -07:00
Thomas Goyne
bd15a54ae3 Use proper plural forms for some UI strings 2014-03-12 09:20:46 -07:00
Thomas Goyne
409eee4510 Install CSRI and iconv headers rather than mucking about with include paths 2014-03-11 12:27:34 -07:00
Thomas Goyne
843e71331f Add in-repo copy of Lua and use it rather than the system copy
Aegisub needs Lua built as C++ (for stack unwinding on errors). No one
packages it like that, so at the moment we can't actually use systme
packages for Lua.

Fixes a bunch of memory leaks on Automation errors.
2014-03-11 12:15:01 -07:00
Thomas Goyne
33a4a056a4 Move everything up a level since the root dir no longer has stuff 2014-03-11 12:14:57 -07:00