Commit Graph

399 Commits

Author SHA1 Message Date
Thomas Goyne eb548306e9 Don't skip the first dialogue line in the kanji timer 2014-03-24 12:40:03 -07:00
Thomas Goyne 5214efd553 Fix issues with RecombineOverlaps 2014-03-24 12:40:03 -07:00
Thomas Goyne e71270f0f0 Refactor the rest of the factories 2014-03-24 12:40:03 -07:00
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