Thomas Goyne
d8021262df
Enable "Make times continous" when only one line is selected. Closes #822 .
...
Originally committed to SVN as r4706.
2010-07-23 06:40:22 +00:00
Thomas Goyne
35e33bd036
Fix crash when video loading fails.
...
Originally committed to SVN as r4705.
2010-07-23 06:40:12 +00:00
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
Niels Martin Hansen
ce4babb192
Update table.copy_deep function to correctly handle self-referencing tables and tables with circular references. Doesn't handle tables with meta-tables overriding regular field get/set behaviour but that isn't intended either way. Also add a test of this.
...
Originally committed to SVN as r4645.
2010-06-30 00:36:25 +00:00
Niels Martin Hansen
816b12cec6
Fix selection indexes returned from Auto4 Lua macros to be zero-based instead of one-based. Updates #1219 .
...
Originally committed to SVN as r4643.
2010-06-29 23:14:46 +00:00
Thomas Goyne
cac536fc80
On Windows, send debug logging to the debugger rather than stdout.
...
Originally committed to SVN as r4642.
2010-06-29 23:08:42 +00:00
Niels Martin Hansen
c0b22973fa
Change subs edit box text-formatting buttons to use 16x16 images instead of 24x24 images. Also change the buttons to fully auto-size instead of fixing one or both dimensions.
...
Originally committed to SVN as r4641.
2010-06-29 18:33:22 +00:00
Niels Martin Hansen
f07c8f031e
Clean up About box:
...
Update year to include 2010 (a little late for that...)
Fix bitmap not showing up.
Make control creation and layout simpler.
Originally committed to SVN as r4640.
2010-06-29 17:48:17 +00:00
Niels Martin Hansen
3589353641
Add some real exception catching to our wxApp class, now we should be able to get decent messages from all exceptions thrown inside event handlers.
...
Originally committed to SVN as r4639.
2010-06-29 10:31:15 +00:00
Niels Martin Hansen
201f654ca9
Fix option data type for the version check auto check toggle, avoid insane exception when closing version check result dialogue.
...
Originally committed to SVN as r4638.
2010-06-29 10:06:19 +00:00
Niels Martin Hansen
37cd66c950
Make the cool stuff in r4606 a little less cool, but apparently wxGtk doesn't let you freeze invisible windows and get away with it, so we'll have to live with a little extra flicker.
...
Originally committed to SVN as r4636.
2010-06-28 22:15:40 +00:00
Grigori Goronzy
6589d258ce
Merge r4634.
...
Originally committed to SVN as r4635.
2010-06-28 11:14:00 +00:00
Thomas Goyne
b0afd8659c
Frame data does need to be uploaded to the video card on every change as the subtitles and video frame are not seperate.
...
Originally committed to SVN as r4633.
2010-06-28 07:39:42 +00:00
Thomas Goyne
a3ff2cc746
Switch visual tools over to using GetSelectedSet for everything
...
Originally committed to SVN as r4632.
2010-06-28 07:39:36 +00:00
Thomas Goyne
5588cda268
Significantly revamp how visual tools interact with the rest of the program
...
Rather than just have a single Refresh method that gets called whenever
something happens that could possibly be of interest to the visual
tools, add seperate methods for signaling frame number changes and
changes to the file, and use the new SelectionController stuff for other
things that used to merit a Refresh. This eliminates a large amount of
redundant reparsing of lines which happened on paint, as well as a large
number of redundant repaints.
Frame data is now only uploaded to the video card when the frame number changes
rather than when anything at all changes, slightly improving performance when
using mesa's software opengl implementation.
Vector clip and drag tools now do a slightly better job of not
discarding the user's selection for no apparent reason, and strange
selection behavior from clicking on visual features should now be
entirely fixed.
Everything but the constructor and toolbar event handler in the visual
tool implementations are now private.
Originally committed to SVN as r4631.
2010-06-28 07:13:15 +00:00
Thomas Goyne
d30326b20d
Don't create the default visual tool until video is loaded so that visual tools can assume video is loaded.
...
Originally committed to SVN as r4630.
2010-06-28 07:13:08 +00:00
Thomas Goyne
dfb844b6ab
Make lines_added and lines_removed in SelectionListener::OnSelectedSetChanged mutually exclusive.
...
Originally committed to SVN as r4629.
2010-06-28 07:13:03 +00:00
Thomas Goyne
574a247559
Fix segfault caused by AssExportFilterChain not getting initialized.
...
Originally committed to SVN as r4628.
2010-06-28 07:12:57 +00:00
Thomas Goyne
894d55d7a2
Add overload of GetSelectedSet that just returns the selection
...
Originally committed to SVN as r4627.
2010-06-28 07:12:52 +00:00
Thomas Goyne
9ff34fb00d
Revert r4612: "Remove redundant handler for ctrl-clicking the grid", as I completely misread what the code was doing.
...
Originally committed to SVN as r4626.
2010-06-28 07:12:36 +00:00
Amar Takhar
743997b266
Make the logging for charset detection more useful by print the detected character set(s)
...
Originally committed to SVN as r4625.
2010-06-27 20:03:38 +00:00
Thomas Goyne
af5d34590a
Sort styles after lowercasing them rather than before so they actually get in the right order.
...
Originally committed to SVN as r4624.
2010-06-27 07:53:36 +00:00
Thomas Goyne
cd0378519d
Add float overload to VariableData and use it in visual_tool.cpp rather than pretending that float* and double* are the same thing.
...
Originally committed to SVN as r4623.
2010-06-27 07:53:31 +00:00
Thomas Goyne
75d9ecd14a
Fix selection issues with visual tools
...
Originally committed to SVN as r4622.
2010-06-27 07:53:25 +00:00
Thomas Goyne
7f7771bcdc
Remove unused variables
...
Originally committed to SVN as r4621.
2010-06-27 07:53:20 +00:00
Thomas Goyne
caba46bf0b
Remove features for deleted control points
...
Originally committed to SVN as r4620.
2010-06-27 07:53:14 +00:00
Thomas Goyne
dc2836e9e5
Fix bug where features for the wrong line were displayed in the rectangular clip tool
...
Originally committed to SVN as r4619.
2010-06-27 07:53:08 +00:00
Thomas Goyne
44888bb008
Reenable Start/Cancel buttons in the font collector dialog even if the collection fails.
...
Originally committed to SVN as r4618.
2010-06-27 05:05:44 +00:00
Thomas Goyne
7c4bf32566
Don't allow deselection of the only selected line
...
Originally committed to SVN as r4617.
2010-06-27 04:55:19 +00:00
Thomas Goyne
11b30c8bb4
When the active line is deselected via ctrl-clicking, set the active line to a line which is selected.
...
Originally committed to SVN as r4616.
2010-06-27 04:55:14 +00:00
Thomas Goyne
74d887a4c4
Add ctrl-shift-click block selection adding
...
Originally committed to SVN as r4615.
2010-06-27 04:55:08 +00:00
Thomas Goyne
2f80c6b26a
Update lastRow when rows are ctrl-clicked
...
Originally committed to SVN as r4614.
2010-06-27 04:55:03 +00:00
Thomas Goyne
a47080137d
Repaint rows when they are added or removed from the selection
...
Originally committed to SVN as r4613.
2010-06-27 04:54:58 +00:00
Thomas Goyne
4db892935c
Remove redundant handler for ctrl-clicking the grid
...
Originally committed to SVN as r4612.
2010-06-27 04:54:52 +00:00
Thomas Goyne
934da32931
Select the first line when opening a file
...
Originally committed to SVN as r4611.
2010-06-27 04:54:46 +00:00
Thomas Goyne
5598b787c7
Fix gcc build errors
...
Originally committed to SVN as r4610.
2010-06-27 03:24:03 +00:00
Niels Martin Hansen
c5c306f90c
Make SubtitlesGrid::InsertLine() smarter about updating maps, saves quite a lot of time on big insertions.
...
Originally committed to SVN as r4609.
2010-06-26 15:49:05 +00:00
Niels Martin Hansen
22de62de77
Add selection change notification batching to the grid. This doesn't seem to actually improve performance, it might rather be line inserts that are glacial.
...
Originally committed to SVN as r4608.
2010-06-26 15:40:10 +00:00
Niels Martin Hansen
4c604931aa
Fix mistake in DummySelectionController template class, should make G++ a little happier.
...
Originally committed to SVN as r4607.
2010-06-26 14:26:38 +00:00
Niels Martin Hansen
52627a0fc5
Show splash screen much earlier, and show main window much later. Also be smoother about the display of the main window, avoid flickery relayouting. Remove splash screen "click to close" behaviour as well as timed close, just hide it when the main window has been shown.
...
Originally committed to SVN as r4606.
2010-06-26 14:16:59 +00:00
Niels Martin Hansen
c15f0ada62
Be more sure the audio display's grid pointer is initialised properly. Should fix audio loading.
...
Originally committed to SVN as r4605.
2010-06-26 14:09:15 +00:00
Niels Martin Hansen
c9c2fa6404
Move "active line" responsibility to the grid. There are at the very least a bunch of redraw issues that need to be sorted out, probably much worse things are hiding.
...
Originally committed to SVN as r4604.
2010-06-26 11:32:16 +00:00
Niels Martin Hansen
c4a27da4fc
Change the grid to use more sensible maps to keep track of index/object mappings for subtitle lines, and follow the SelectionController model. (Hopefully the new maps can also give slightly better performance.)
...
Try to keep the original API intact. Some redundant or unused functions in SubtitleGrid were removed. The LoadFromAss() function was renamed to UpdateMaps() since that was its real purpose. (Note that SubtitleGrid now has an UpdateMaps() function that overshadows BaseGrid::UpdateMaps(), but SubtitleGrid::UpdateMaps() calls the hidden function. They are not virtual.)
This does not yet fix visual tool feature selection.
Generally, things just feel more broken still. Further work will fix things.
Originally committed to SVN as r4603.
2010-06-26 07:26:27 +00:00
Niels Martin Hansen
70d41d31b2
Remove the SelectionChangeSubscriber mechanism from the grid and implement some basic selection change notification through SelectionController.
...
Change SelectionListener interface so it receives the set of lines added and removed from selection, instead of just the complete new selection.
Update VisualTool<> to use SelectionListener to receive selection change notifications.
This change (temporarily, I hope) breaks feature selection in visual drag mode, when changing selection via the grid. This is caused by the grid selection change first clearing the entire selection, which sends a separate notification about selection clear. This causes the last visual feature to be deselected, and then the visual tool base reselects the active line, causing a new notification for selection to be sent. The active line happens to be the newly clicked line, and the selection notification enters during the externalChange guard being set, and is then ignored for feature update purposes. When control returns to the original SelectRow call in the grid, the line to be selected has already been selected and then nothing happens.
The best fix is to avoid two notifications being required to deselect all then reselect one line in the first place, so making the grid selection handling saner is the best fix.
Originally committed to SVN as r4602.
2010-06-26 04:38:02 +00:00
Niels Martin Hansen
e60d476f4a
Turn BaseGrid into a do-nothing SelectionController<AssEntry>.
...
Originally committed to SVN as r4601.
2010-06-25 01:49:12 +00:00
Niels Martin Hansen
1a626bb14e
Add SelectionController adapted from ADR branch, now templatized on the item data type. Intentionally not making this a merge, the selection controller needs to logically come from trunk into ADR, even if it was added there originally.
...
Originally committed to SVN as r4600.
2010-06-25 01:44:29 +00:00
Niels Martin Hansen
4f0982c7d5
"Intelligently" append dialogue lines to the end of the Events section instead of to the absolute end of file. This will make appending lines slower if attachments are present, but much safer. Updates #1211 .
...
Originally committed to SVN as r4598.
2010-06-24 20:48:49 +00:00
Niels Martin Hansen
6b36d730af
Fix attachments dialogue infinite looping if closed with attachments present. Updates #1212 .
...
Originally committed to SVN as r4596.
2010-06-24 20:43:23 +00:00
Niels Martin Hansen
a71b83f61c
Add some docstrings to Auto4 LuaAssFile class.
...
Originally committed to SVN as r4595.
2010-06-24 19:32:23 +00:00
Niels Martin Hansen
eec24ce562
Remove empty attachments sections when the Attachments dialogue is closed. Updates #1212 .
...
Originally committed to SVN as r4593.
2010-06-24 19:14:13 +00:00
Thomas Goyne
e2a42ccb6c
If undo/redo would result in there being no lines selected, select the last line
...
Originally committed to SVN as r4592.
2010-06-24 07:16:21 +00:00