Thomas Goyne
162e119afa
Make subs.delete accept a table of rows to delete
...
Lua has a limit to how many arguments can be pushed onto the stack, so
when deleting very large numbers of lines at once unpacking a table can
fail.
2014-04-16 08:11:38 -07:00
Thomas Goyne
1d5292fdee
Kill config.h and just force-include acconf.h in non-pch builds
2014-04-16 08:11:37 -07:00
Thomas Goyne
dcf1270fc4
Ensure boost.locale is initialized with a UTF-8 locale on OS X
...
This fixes the find/replace dialog stripping non-us-ascii characters
from the file.
See #1587 for the same issue on Windows.
2014-04-15 16:57:45 -07:00
Thomas Goyne
489eca221d
Fix compilation with clang
2014-04-15 11:09:25 -07:00
Thomas Goyne
a141ef1264
Remove the never-actually-used BASE block type
2014-04-15 11:09:25 -07:00
Thomas Goyne
3528e49286
Make the duration field not completely wrong in frame mode
2014-04-15 11:09:25 -07:00
Thomas Goyne
780c93ed4d
Make modifying multiple lines at once less brittle
...
Only count characters outside of override blocks for the relative
positions to do the edits on each line, which handles the case where the
lines have different lengths of stuff in override blocks but the same
text.
2014-04-15 06:19:12 -07:00
Thomas Goyne
7ed3fbade0
Eliminate some awful in/out arguments
2014-04-15 06:19:12 -07:00
Thomas Goyne
0e04794ffd
Make the edit box buttons less dumb with multiple lines selected
...
Apply the modification at the cursor position to each selected line
rather than just setting all selected lines to the active line's text.
Still doesn't have good results in any nontrivial cases, but it's at
least sometimes useful.
2014-04-14 13:52:14 -07:00
Thomas Goyne
7fc78d40ab
Switch from boost::ptr_vector to a vector of unique_ptr
...
ptr_vector hasn't been updated for C++11, so despite being specifically
designed to store pointers to objects it's less safe and not really any
easier to use than a regular vector of unique_ptrs
2014-04-14 13:52:14 -07:00
Thomas Goyne
f53d840520
Unbind the progress dialog's idle handler when it's unneeded
2014-04-06 09:57:01 -07:00
Thomas Goyne
3e4b6a725f
Change both selection and active line in SetSelectionAndActive before announcing
2014-04-04 09:01:03 -07:00
Thomas Goyne
df762b5b99
Add a checked iterator_to() to AssFile
...
iterator_to requires that the object be in the list, which is sometimes
not the case when processing a commit which removed the active line or a
selected line. To handle this, add a checked version that returns
Events.end() when it is not in the list rather than crashing.
2014-04-04 09:01:02 -07:00
Thomas Goyne
9c4574ed34
Add a missing word to a help string
2014-04-04 09:01:02 -07:00
Thomas Goyne
54fa37c855
Fix compilation on linux
...
Closes tgoyne/aegisub#4 .
2014-04-03 17:43:41 -07:00
Thomas Goyne
b8d67b3d8e
Update row numbers after an order-changing commit
2014-04-01 09:19:30 -07:00
Thomas Goyne
caf5ac9cd7
Sort the audio display markers
...
This was accidentally removed in 5d3bc0d
. Closes #1731 .
2014-04-01 09:19:30 -07:00
Thomas Goyne
c59b9d59b8
Clean up OptionValue
...
Make the vtables less absurdly huge (knocks 100KB off aegisub32.exe),
eliminate some copies of the values when constructing the options, and
use an enum class for the value type.
2014-03-31 10:23:36 -07:00
Thomas Goyne
fcd0df2e96
Preserve the old selection when an automation script doesn't return a new one
2014-03-31 08:11:43 -07:00
Thomas Goyne
3bbbc56053
Add the line's row number to AssDialogue
...
The grid needs to be able to map AssDialogue * to a row number, and just
storing it in the AssDialogue is nearly strictly better than a std::map
mapping events to rows. Probably will be of use elsewhere as well.
2014-03-31 08:11:43 -07:00
Thomas Goyne
84c5eb25b3
Actually check lines other than the active line in the spellchecker dialog
2014-03-31 08:11:43 -07:00
Thomas Goyne
dbec5ff0bc
Fix out-of-bounds read when looking for subtitles in a matroska file with no subtitles
2014-03-28 09:15:09 -07:00
Thomas Goyne
4a46f09d31
Force the final progress of operations to 100%. Closes #1728 .
2014-03-27 19:17:24 -07:00
Thomas Goyne
f07a2559b8
Update the grid scrollbar after dialogue count changes
2014-03-27 18:49:16 -07:00
Thomas Goyne
ad8d11d87f
Don't animate the progress bar when moving backwards
2014-03-27 07:21:55 -07:00
Thomas Goyne
cf6e274c49
Fix incorrect capitalization of frame_main.h
...
Closes tgoyne/aegisub#3 .
2014-03-27 06:50:16 -07:00
Thomas Goyne
2ba88537a8
Pull some global init logic out of FrameMain's constructor
2014-03-26 11:33:33 -07:00
Thomas Goyne
35301df5f7
Remove the (unimplemented) machinery for automation subtitle formats
2014-03-26 11:17:38 -07:00
Thomas Goyne
e477005ecd
Eliminate some uses of std::bind
2014-03-26 10:38:38 -07:00
Thomas Goyne
e5e3bff7f8
Clean up some stuff in menu.cpp
2014-03-26 10:25:24 -07:00
Thomas Goyne
0931194b4f
Remove most inclusions of main.h
2014-03-26 10:12:43 -07:00
Thomas Goyne
16804f41c9
Delete in-repo copy of intttypes.h since vs2013 has it
2014-03-26 08:25:24 -07:00
Thomas Goyne
c4c0f6f125
Kill VideoContext::Get()
2014-03-26 08:23:43 -07:00
Thomas Goyne
aa46c49403
Pull some of the context (de)init out of FrameMain
...
And actually do deinitialize more of the stuff in the context.
2014-03-25 20:04:48 -07:00
Thomas Goyne
821f54a372
Delay showing the font caching dialog until subtitles are actually rendered
2014-03-25 20:04:48 -07:00
Thomas Goyne
39626db787
Eliminate all uses of FrameMain via the global app object
2014-03-25 17:06:48 -07:00
Thomas Goyne
e596de03c7
Fix moving the top line of the file down
2014-03-25 17:06:48 -07:00
Thomas Goyne
b5a8217fcd
Remove pointless wxSafeYield in FrameMain's constructor
...
This was needed to make the splash screen appear, and was missed when
the splash screen was killed.
2014-03-25 17:06:48 -07:00
Thomas Goyne
523d858374
Extract SelectionController from BaseGrid
2014-03-25 17:06:47 -07:00
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