Commit graph

3962 commits

Author SHA1 Message Date
Thomas Goyne
da0fb8cde7 Fix gcc build errors introduced in r4702
Originally committed to SVN as r4704.
2010-07-23 06:21:22 +00:00
Thomas Goyne
de1588cd1d Delete old tip of the day code. Closes #967.
Originally committed to SVN as r4703.
2010-07-23 06:16:00 +00:00
Thomas Goyne
397b234fba Move video decoding and subtitle rendering to a worker thread
Makes the click event handler for the grid no longer slow when video
autoscroll is enabled, making it harder to accidently select multiple
lines.

Makes seeking speed no longer limited by decoding/rendering speed;
seeking faster than video can be decoded simply results in dropped
frames.

Makes editing the file while a slow-rendering frame is visible far more
responsive.

Originally committed to SVN as r4702.
2010-07-23 05:58:39 +00:00
Thomas Goyne
926b6152f1 Fix detached video crashes.
Originally committed to SVN as r4701.
2010-07-23 04:15:36 +00:00
Thomas Goyne
242b1ee47b Remove deleted files from the makefile
Originally committed to SVN as r4700.
2010-07-20 03:28:50 +00:00
Thomas Goyne
fde4a7815d Make the subtitle edit box auto-commit all changes
This happens to fix most of the undo issues, as it's now much harder to
have uncommitted changes to the file.

Closes #355 and #586.

Originally committed to SVN as r4699.
2010-07-20 03:11:11 +00:00
Amar Takhar
51a75cd0fd Split the preferences to make managing the base code from the actual options. I should have done this yesterday however I completely underestimated how annoying it would be having it all in the same file.
Originally committed to SVN as r4698.
2010-07-19 17:53:29 +00:00
Amar Takhar
c3881ea772 Some documentation and reformatting
Originally committed to SVN as r4696.
2010-07-19 12:25:53 +00:00
Karl Blomster
9def56b61c fix compilation under visual studio
Originally committed to SVN as r4695.
2010-07-19 01:28:52 +00:00
Karl Blomster
cd810ae1c0 fix compilation of the avs provider
Originally committed to SVN as r4694.
2010-07-19 01:08:09 +00:00
Amar Takhar
12014b944e Remove unused macros.
Originally committed to SVN as r4693.
2010-07-18 23:31:21 +00:00
Amar Takhar
d8acbb205c Finish converting the rest to objects.
Originally committed to SVN as r4692.
2010-07-18 23:22:00 +00:00
Amar Takhar
1613a5961f Convert the Subtitles and Audio pages.
Originally committed to SVN as r4691.
2010-07-18 19:29:54 +00:00
Amar Takhar
dff3cb78f6 Start moving each page to it's own class, the first round of changes was intended as a proof-of-concept. Having each page as it's own object will allow for far easier handling of option changes and reverting.
Originally committed to SVN as r4690.
2010-07-18 16:36:31 +00:00
Amar Takhar
92d51d6f34 Move another block of code to reduce later diffs.
Originally committed to SVN as r4689.
2010-07-18 16:33:32 +00:00
Amar Takhar
1626024be8 Shift some code blocks around before modification to make sense of later diffs.
Originally committed to SVN as r4688.
2010-07-18 14:46:16 +00:00
Thomas Goyne
46d03e3e2b Refresh video display after undo/redo.
Originally committed to SVN as r4687.
2010-07-18 05:45:58 +00:00
Thomas Goyne
63cda2d755 Make gl contexts specific to VideoDisplays and only create/use them when the display is shown. Fixes a pile of X11-related assertion failures.
Originally committed to SVN as r4686.
2010-07-18 05:45:52 +00:00
Amar Takhar
f1ea264efc Revert r4684 as the change won't handle nonexistent styles correctly. updates #1232.
Originally committed to SVN as r4685.
2010-07-17 21:08:53 +00:00
Amar Takhar
6705e2fa61 Set the current style directly when updating the dropdown. The old way used Select() which caused an actual commit to happen. This has the side-effect of modifying the file on startup. We currently set the Actor using this method I don't see why doing the same for the Style won't work.
Originally committed to SVN as r4684.
2010-07-17 19:42:44 +00:00
Amar Takhar
c624b20777 Left align microseconds by 6 spaces.
Originally committed to SVN as r4683.
2010-07-17 17:47:59 +00:00
Amar Takhar
5755d7e1a0 Use %ld for size_t in RebuildRecentList, fixes an assert in wxString::Format.
Originally committed to SVN as r4682.
2010-07-16 15:44:54 +00:00
Amar Takhar
d3e9a906aa Use %ld for both wxFileOffset (off_t) and GetTicks() (time_t), also coalesce into a single wxString::Format. This fixes an assert in wx trunk. Unfortunatly it does not fix audio loading due to seperate breakage of libass in r4630:4631. closes #1228.
Originally committed to SVN as r4681.
2010-07-16 10:33:54 +00:00
Thomas Goyne
a32bbab0b6 Add selection-preserving logic to BaseGrid::UpdateMaps and eliminate some unnecessary updates and clears of the maps. Fixes a pile of cases where operations would result in incorrect or no selections, or scrolling to the top of the file.
Originally committed to SVN as r4677.
2010-07-13 05:29:08 +00:00
Thomas Goyne
4a8abae3a3 Kill options.h and options.cpp, which have been empty for a while
Originally committed to SVN as r4676.
2010-07-12 21:49:48 +00:00
Thomas Goyne
9d03e282ea Rewrite the recombine lines algorith to add support for arbitrary selections rather than requiring that each split line be fixed individually.
Originally committed to SVN as r4675.
2010-07-12 07:10:40 +00:00
Thomas Goyne
7e93d78d3a Fix crash when ActiveLine is NULL while video is loaded.
Originally committed to SVN as r4674.
2010-07-12 07:10:34 +00:00
Thomas Goyne
81b75d9f55 Significantly speed up AssLimitToVisibleFilter::ProcessSubs
Originally committed to SVN as r4673.
2010-07-11 03:31:33 +00:00
Thomas Goyne
ab27440853 Fix comment in vfr.cpp
Originally committed to SVN as r4672.
2010-07-11 03:31:28 +00:00
Thomas Goyne
002aad0b29 Don't call CompressForStack on copied AssFiles as the parsed data isn't copied in the first place.
Originally committed to SVN as r4671.
2010-07-11 03:31:19 +00:00
Thomas Goyne
4897f35dfc When deleting the last row of the grid, select the new last row rather than nothing.
Originally committed to SVN as r4670.
2010-07-09 07:31:56 +00:00
Thomas Goyne
c40aa7080a Eliminate almost all uses of AssFile::top.
Originally committed to SVN as r4669.
2010-07-09 07:31:48 +00:00
Thomas Goyne
5e22a0f151 Save selection over undo/redo.
Originally committed to SVN as r4668.
2010-07-09 07:31:43 +00:00
Thomas Goyne
2e5dc176db Rewrite Undo/Redo code
Make the undo and redo stacks non-static members of AssFile, making it
theoretically possible to have multiple open AssFiles with working undo.

Slightly improve tracking of whether the file is modified: saving,
making a change, then undoing the change now results in the file being
shown as unmodified as with most programs with undo.

Add basic undo coalescing support.

Originally committed to SVN as r4667.
2010-07-09 07:31:34 +00:00
Thomas Goyne
518e78ac6f SSA doesn't have a layer field
Originally committed to SVN as r4666.
2010-07-08 07:44:21 +00:00
Thomas Goyne
5c976dc0a0 Make AssDialogue::GetData ~50% faster
Originally committed to SVN as r4665.
2010-07-08 07:15:04 +00:00
Thomas Goyne
1da57a4be5 Make AssStyle::Clone ~15 times faster.
Originally committed to SVN as r4664.
2010-07-08 07:14:55 +00:00
Thomas Goyne
a59d2a8e2e Fix 64-bit compilation errors
Originally committed to SVN as r4663.
2010-07-08 04:50:46 +00:00
Thomas Goyne
acba2c6b63 Rewrite VFR handling in Aegisub.
Kill vfr.h and vfr.cpp and use the libaegisub versions of them instead.

Rather than the globals VFR_Input and VFR_Output, everything related to
frame rate is now part of the video context. Most things which used to
use VFR_Output now call VideoContext::TimeAtFrame etc.; video providers,
rather than modifying VFR_Input directly, now have getters for their
frame rates which VideoContext calls. Read-only public access to
VFR_Input and VFR_Output are still provided (hopefully temporarily) for
a few things which were awkward to do through VideoContext.

The Avisynth provider now might correctly handle VFR MKVs which can be
opened with DirectShowSource but not DSS2.

Rework keyframe handling as well, so that it continues to match the vfr
handling in design and implementation.

Originally committed to SVN as r4662.
2010-07-08 04:29:04 +00:00
Thomas Goyne
9322f95071 Rewrite vfr.cpp in libaegisub with tests. Not yet used by Aegisub itself.
Originally committed to SVN as r4661.
2010-07-07 05:24:16 +00:00
Thomas Goyne
929fa83dd9 Move the bulk of TextFileWriter's logic to libaegisub.
Originally committed to SVN as r4660.
2010-07-07 02:41:46 +00:00
Thomas Goyne
02237f2a7a Make the std::string overloads of IconvWrapper::Convert significantly faster
Originally committed to SVN as r4659.
2010-07-07 02:41:40 +00:00
Thomas Goyne
5ed8bf89f6 Fix gcc build errors
Originally committed to SVN as r4658.
2010-07-06 19:33:09 +00:00
Thomas Goyne
d7ad7e861f Fix occasional truncation problems with Windows-1258
Originally committed to SVN as r4657.
2010-07-06 19:23:16 +00:00
Thomas Goyne
6623239682 Work around BOM-related issues with UTF-32 and UTF-16 with unspecified byte order
Originally committed to SVN as r4656.
2010-07-06 19:23:10 +00:00
Thomas Goyne
ee4c5dee0b Remove charsets which libiconv does not support from charsets.def
Originally committed to SVN as r4655.
2010-07-06 19:23:01 +00:00
Thomas Goyne
2c2dc19f4f Update the time boxes in the video display when video is first loaded
Originally committed to SVN as r4650.
2010-06-30 06:39:27 +00:00
Thomas Goyne
65d40e2408 Fix minor error in vfr.cpp: lines which end exactly on a frame's start time are not visible on that frame.
Originally committed to SVN as r4649.
2010-06-30 06:29:27 +00:00
Thomas Goyne
be1ed9e672 Make visual tools pass around iterators for everything related to visual features rather than a mix of pointers and indices, and clean up feature creation. Fixes a large pile of selection-related bugs.
Originally committed to SVN as r4648.
2010-06-30 06:29:14 +00:00
Thomas Goyne
8bd5b16699 Fix bad lengths for utf-8 strings in text_file_writer.cpp
Originally committed to SVN as r4647.
2010-06-30 01:18:35 +00:00