Commit Graph

2739 Commits

Author SHA1 Message Date
Thomas Goyne 0248e7c754 Add listeners for most non-audio options that need them. Closes #1047.
Originally committed to SVN as r4764.
2010-08-26 18:38:37 +00:00
Thomas Goyne 0704887ad4 Save the last viewed page of the preferences dialog
Originally committed to SVN as r4763.
2010-08-26 18:38:31 +00:00
Thomas Goyne daa77301eb Remove "Colour/Background/Modified" option, which was made irrelevant by r4699.
Originally committed to SVN as r4762.
2010-08-26 18:38:26 +00:00
Thomas Goyne 069581b9be Make the preferences dialog actually update the configuration
Originally committed to SVN as r4761.
2010-08-26 18:38:20 +00:00
Thomas Goyne 5721003219 Split colors into two columns so that the preferences dialog is less awkwardly shaped
Originally committed to SVN as r4760.
2010-08-26 18:38:14 +00:00
Thomas Goyne 5d5f24cbd8 Remove Tip of the Day setting from default_config.json
Originally committed to SVN as r4759.
2010-08-26 18:38:09 +00:00
Thomas Goyne f15dd92fb1 Change App/Auto/Check For Updates to a bool so that the correct control is used in the preferences dialog
Originally committed to SVN as r4758.
2010-08-26 18:38:03 +00:00
Thomas Goyne 27a7c41a44 Fix option name for auto-updates checkbox
Originally committed to SVN as r4757.
2010-08-26 18:37:46 +00:00
Thomas Goyne 80af629325 Remove dangling reference to boost files in the makefile
Originally committed to SVN as r4756.
2010-08-26 18:03:00 +00:00
Thomas Goyne 06f0c231b0 Make the advanced video options page a child of the advanced options
Originally committed to SVN as r4755.
2010-08-25 19:31:38 +00:00
Thomas Goyne 34c571b81b Change the one use of boost::shared_ptr to std::tr1::shared_ptr and remove the local copy of boost::shared_ptr
Originally committed to SVN as r4754.
2010-08-25 19:31:31 +00:00
Thomas Goyne 574236875c Fix assertion failure in 32-bit builds
Originally committed to SVN as r4753.
2010-08-25 19:31:26 +00:00
Thomas Goyne a6abc79b95 Add inttypes.h to the precompiled header
Originally committed to SVN as r4752.
2010-08-25 19:31:20 +00:00
Thomas Goyne 459b9e317d Display an error when the config file is corrupted rather than just crashing
Originally committed to SVN as r4751.
2010-08-25 19:31:11 +00:00
Amar Takhar e6b41058d8 Remove duplicate inclusion of <libaegisub/log.h>.
Originally committed to SVN as r4750.
2010-08-22 21:22:49 +00:00
Amar Takhar 6742a17649 Add a workaround for [Hotkeys] header detection, all this code will go away when the Hotkeys are redone.
Originally committed to SVN as r4749.
2010-08-17 04:44:18 +00:00
Thomas Goyne d83c59819f Fix deadlock on pthreads-using platforms
Originally committed to SVN as r4748.
2010-08-16 03:06:28 +00:00
Amar Takhar 714fa65071 Rename 2.2 to 3.0 as this will now be the next version outside of 2.1.
Originally committed to SVN as r4747.
2010-08-15 18:40:58 +00:00
Amar Takhar b50255bfe9 Re-add code removed in r4745 and conditionalise it under BUILD_DARWIN.
Originally committed to SVN as r4746.
2010-08-15 16:55:52 +00:00
Amar Takhar 2bcaf14892 Remove some test code added when fixing the OSX build that slipped into r4743.
Originally committed to SVN as r4745.
2010-08-14 18:57:29 +00:00
Amar Takhar 3c5d4bc97e Relicense libosxutil code (osx/util.cpp and include/util_osx.h) using the same license as the rest of the library. (obsd/2-clause bsdl) Done with the permission of current copyright holder jfs (Niels Martin Hansen).
Originally committed to SVN as r4744.
2010-08-14 18:45:41 +00:00
Amar Takhar d4ba1f48ca Remove libosxutil and fold it into libaegisub.
Originally committed to SVN as r4743.
2010-08-14 17:42:37 +00:00
Amar Takhar 0d12775f4b osx-bundle target fixes.
Originally committed to SVN as r4742.
2010-08-14 17:38:37 +00:00
Thomas Goyne b9f9b0a80a Fix potential divide-by-zero with wxGTK when opening video.
Originally committed to SVN as r4741.
2010-08-13 05:51:31 +00:00
Thomas Goyne 9c93198c3b Honor the user's default zoom when possible rather than always overriding it based on the size of the window
Originally committed to SVN as r4740.
2010-08-13 05:51:26 +00:00
Thomas Goyne 768f74ae3c Make VideoDisplay set its initial zoom itself rather than FrameMain
Originally committed to SVN as r4739.
2010-08-13 05:51:17 +00:00
Amar Takhar 6bb5dd0bfd Use OSXSetModified() from wx instead of using Carbon directly.
Originally committed to SVN as r4738.
2010-08-13 00:33:54 +00:00
Amar Takhar 61656d633b * Make GL_EXT() a noop on OS X, it's not required.
* Conditionalise glMultiDrawArraysFallback since it's not used on OS X.
 * Stub APIENTRY at the top of visual_tool_vector_clip.cpp, this should never be added to a header but at the top of source files.

Originally committed to SVN as r4737.
2010-08-13 00:24:35 +00:00
Amar Takhar ce28cca7c6 Include missing header.
Originally committed to SVN as r4736.
2010-08-12 14:36:09 +00:00
Amar Takhar 9f1b1f1cad Use std::string on osx/unix as well as osx doesn't have strndup.
Originally committed to SVN as r4735.
2010-08-12 14:34:54 +00:00
Amar Takhar 0b4092b602 Fix compilation on Unix/OSX (fix from Plork)
Originally committed to SVN as r4734.
2010-08-12 10:13:29 +00:00
Amar Takhar cbbb917dce Use $INTLTOOLIZE instead of `intltoolize` in autogen.sh to ensure the binary, if specified is actually called. I'm amazed noone has noticed this before.
Originally committed to SVN as r4733.
2010-08-12 09:23:19 +00:00
Thomas Goyne 58ca596359 Define NOMINMAX on Windows and remove workarounds for problems caused by those macros.
Originally committed to SVN as r4732.
2010-08-12 06:39:49 +00:00
Thomas Goyne a400800b54 Remove the override for fonts.conf location on Windows as the default is close enough to sensible.
Originally committed to SVN as r4731.
2010-08-12 01:12:00 +00:00
Thomas Goyne c8851828cd Get the libass provider working on Windows. Requires a valid fontconfig config file (currently not included).
Originally committed to SVN as r4730.
2010-08-10 05:50:14 +00:00
Thomas Goyne e7eba4c00d Add Select All and Select None buttons to the import style from script dialog.
Originally committed to SVN as r4729.
2010-08-10 01:47:29 +00:00
Thomas Goyne 87fac1c571 Reduce flickering when changing zoom level.
Originally committed to SVN as r4728.
2010-08-03 20:21:25 +00:00
Thomas Goyne d5cbb534f8 Make VideoDisplay's size calculations slightly less convoluted.
Originally committed to SVN as r4727.
2010-08-03 20:21:19 +00:00
Thomas Goyne 11d67ec6ae Fix updating of the scroll bar after opening a new file.
Originally committed to SVN as r4726.
2010-08-03 20:21:13 +00:00
Thomas Goyne f66ef36f93 Change criteria for when opened files should be backed up; rather than not backing up binary files (which aren't detected correctly anymore and always was sort of kludgy), don't back up files which are not in a format we can't write.
Originally committed to SVN as r4725.
2010-08-03 20:21:04 +00:00
Thomas Goyne 3f954dadcc Merge OS X color picker fixes in r3996 and r3997 from 2.1.8. Closes #1114.
Originally committed to SVN as r4724.
2010-08-03 02:16:26 +00:00
Thomas Goyne 2a51ad837e Fix non-precompiled header compilation
Originally committed to SVN as r4723.
2010-08-02 22:14:11 +00:00
Thomas Goyne 46be23073e Fix a few gcc warnings
Originally committed to SVN as r4722.
2010-08-02 20:25:29 +00:00
Thomas Goyne ce97d995b4 Also remove timecodes and keyframes from the MRU lists when they cannot be found. Updates #717.
Originally committed to SVN as r4721.
2010-08-02 08:18:53 +00:00
Thomas Goyne 596ad4d65d Add missing throw statement
Originally committed to SVN as r4720.
2010-08-02 08:18:45 +00:00
Thomas Goyne caf81157f1 Fix portaudio player compilation
Originally committed to SVN as r4719.
2010-08-02 08:03:58 +00:00
Thomas Goyne ff85906cdc Fix compilation errors
Originally committed to SVN as r4718.
2010-08-02 07:21:02 +00:00
Thomas Goyne c10e9e3a5b Make video and audio providers throw typed exceptions.
Don't display error messages and try other providers when the user
cancels loading a file.

Remove files from the MRU lists if they can't be found.

Closes #717.

Originally committed to SVN as r4717.
2010-08-02 06:32:01 +00:00
Thomas Goyne 71fb04cd29 Rework most of the various factories to not need an explicit helper class for each class constructable via a factory.
Originally committed to SVN as r4716.
2010-08-02 06:31:38 +00:00
Thomas Goyne f0aa85dfbb Delete the quicktime provider, as it's unmaintained and doesn't work
Originally committed to SVN as r4715.
2010-07-27 03:52:40 +00:00
Thomas Goyne 6407e36c87 Store inner exceptions with shared_ptr rather than a bare pointer so that the inner exception survives copies
Originally committed to SVN as r4714.
2010-07-27 03:52:32 +00:00
Amar Takhar e2d9241efd No need to disable as this is done when it's deleted anyway.
Originally committed to SVN as r4713.
2010-07-25 17:34:17 +00:00
Amar Takhar d3077c3b8b Change emit_stdout to a private member variable, this was changed in r4575. Putting it on the stack won't work since it'll just unsubscribe which we don't want. Unfortunatly this is wrapped with _DEBUG everywhere in main.(h|cpp) if we need more debugging code in the future I'll figure out a better solution.
Originally committed to SVN as r4712.
2010-07-25 17:33:44 +00:00
Amar Takhar 79a67ae1ec Add some log messages when subscribing/unsubscribing emitters.
Originally committed to SVN as r4711.
2010-07-25 17:30:12 +00:00
Thomas Goyne 3bdf0f95c6 Remove audio_provider_stream.cpp from the makefile
Originally committed to SVN as r4710.
2010-07-25 05:42:36 +00:00
Thomas Goyne d4a4db0388 Kill scrubbing code and audio_provider_stream; they were last touched four years ago and never did work.
Originally committed to SVN as r4709.
2010-07-25 03:11:00 +00:00
Thomas Goyne 6040334278 Kill DEBUG_AVISYNTH_CODE as it hasn't actually worked for 3.5 years.
Originally committed to SVN as r4708.
2010-07-23 20:34:23 +00:00
Thomas Goyne 428fc78623 Kill dangling references to dialog_tip.h
Originally committed to SVN as r4707.
2010-07-23 07:00:35 +00:00
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
Thomas Goyne d8e8f9eb68 Fix bad option names
Originally committed to SVN as r4591.
2010-06-24 06:26:44 +00:00
Niels Martin Hansen 3b1189a8b2 Make attachments dialogue set undo points. Updates #1216.
Originally committed to SVN as r4590.
2010-06-24 06:13:51 +00:00
Niels Martin Hansen 7521d2d29d Fix AssAttachment::Clone() not being const causing it to not override AssEntry::Clone(), and make sure the group field is also copied during cloning. Updates #1216.
Originally committed to SVN as r4589.
2010-06-24 06:13:06 +00:00
Amar Takhar 8e912e3ff6 Include <algorithm> to get std::for_each
Originally committed to SVN as r4587.
2010-06-24 01:51:18 +00:00
Amar Takhar 46da1e538d Merge r4450 to unbreak non precompiled header building.
Originally committed to SVN as r4586.
2010-06-24 01:50:16 +00:00
Amar Takhar b5ed0d6c8c wrap config.h include under LAGI and put -DLAGI when compiling to ensure it's only included when building libaegisub.
Originally committed to SVN as r4585.
2010-06-24 01:49:48 +00:00
Thomas Goyne 4f53324ca3 Add the name of the option to OptionValue's error messages
Originally committed to SVN as r4582.
2010-06-24 01:24:49 +00:00
Thomas Goyne e2f8e69612 Beat some semblance of sanity into ass_override and related files. Fixes a pile of crashes when tags are missing expected parameters.
Originally committed to SVN as r4581.
2010-06-24 01:24:43 +00:00
Thomas Goyne c64e764648 Make AssFixStylesFilter an order of magnitude faster
Originally committed to SVN as r4580.
2010-06-24 01:24:37 +00:00
Thomas Goyne d1f36bdc43 Eliminate unnessesary character set conversions in TextFileWriter
Originally committed to SVN as r4579.
2010-06-24 01:24:32 +00:00
Thomas Goyne 53fb43c7e6 Fix significantly incorrect handling of pretty much everything in AssTransformFramerateFilter and make it better at deciding when it actually needs to do anything.
Originally committed to SVN as r4578.
2010-06-24 01:24:26 +00:00
Thomas Goyne 627d423017 Fix memory leak in VariableData
Originally committed to SVN as r4577.
2010-06-24 01:24:21 +00:00
Thomas Goyne cf9eef80ab Fix memory leak in AssLimitToVisibleFilter
Originally committed to SVN as r4576.
2010-06-24 01:24:15 +00:00
Thomas Goyne 2b47f34e76 Fix a pile of actual memory leaks
Originally committed to SVN as r4575.
2010-06-24 01:24:09 +00:00
Thomas Goyne cbf201ab86 Fix some "leaks" of things that should actually be alive for the lifetime of the program to reduce noise.
Originally committed to SVN as r4574.
2010-06-24 01:24:02 +00:00
Thomas Goyne 50d1b3ed2d Rewrite the ass parsing code in visual_tool.cpp, eliminating a lot of repeated code and making it better at finding the correct values.
Originally committed to SVN as r4573.
2010-06-24 01:23:43 +00:00
Amar Takhar 4bb8e8ea22 Merge r4550: remove wx headers.
Originally committed to SVN as r4572.
2010-06-23 13:20:24 +00:00
Thomas Goyne a40b9c4b91 Simplify and speed up AssFile's copy constructor and assignment operator.
Originally committed to SVN as r4565.
2010-06-22 00:03:33 +00:00
Thomas Goyne 7958f85ef3 Remove pointless call to AssDialogue::SetEntryData in AssFile::CompressForStack; makes pushing files onto the undo stack about 50% faster
Originally committed to SVN as r4564.
2010-06-22 00:03:28 +00:00
Thomas Goyne 5ed401d23d Use vector<int> instead of vector<bool> for tracking which rows are selected. Makes undo roughly twice as fast.
Originally committed to SVN as r4563.
2010-06-22 00:03:22 +00:00
Thomas Goyne 358b2734da Fix crash when pasting over
Originally committed to SVN as r4562.
2010-06-22 00:03:16 +00:00
Thomas Goyne 8756dc1800 Add copy constructor to AssDialogue and use it in Clone
Originally committed to SVN as r4561.
2010-06-22 00:03:11 +00:00
Thomas Goyne fe9aa56d10 Remove pointless IntSwap function from utils.h
Originally committed to SVN as r4560.
2010-06-22 00:03:03 +00:00
Niels Martin Hansen e5eb91a269 * Fix bug in SRT parsing: In some cases a blank line too much is counted.
* Make SRT no longer coalesce line breaks, Aegisub will now write SRT files with blank lines in subtitles.
Updates #1213.

Originally committed to SVN as r4558.
2010-06-20 19:42:13 +00:00
Niels Martin Hansen 2fc8420ee9 Rewrite SRT parsing to use more flexible algorithm, allow more freeform files. Updates #1213.
Originally committed to SVN as r4557.
2010-06-20 19:07:43 +00:00
Niels Martin Hansen 4c01f9a36b Declare a SubtitleFormatParseError exception, its ancestry might not be final yet. (I'm thinking it needs a file format error class as base, which in turn inherits from agi::InvalidInput.) Updates #1213 in preparation for the actual patch.
Originally committed to SVN as r4556.
2010-06-20 19:04:58 +00:00
Niels Martin Hansen 5bd0981a72 Make AssFile::Load catch agi::Exception and report it properly. The catching of reading/parsing errors probably doesn't really belong there, but just making things work for now. Updates #1213 in preparation for the actual patch.
Originally committed to SVN as r4555.
2010-06-20 19:03:05 +00:00
Thomas Goyne 363198b2fa Add missing config:: in windows-specific code and move appname setting back before config file loading
Originally committed to SVN as r4549.
2010-06-18 07:23:17 +00:00
Thomas Goyne cfa1758d2a Improve the handling of selected features in the vector clip tool and moderately improve performance
Originally committed to SVN as r4548.
2010-06-18 07:14:23 +00:00
Thomas Goyne 227f6b1d69 In the vector clip tool, draw the line to be inserted between the right points when there are multiple paths in the clip
Originally committed to SVN as r4547.
2010-06-18 07:14:17 +00:00
Thomas Goyne 6830fbe1ba Fix bug where the color spectrum sometimes would not repaint when it changed
Originally committed to SVN as r4546.
2010-06-18 07:14:11 +00:00
Thomas Goyne 3376a2d76a Always repaint the video display when the mouse enters it if visual tools are only shown on mouseover
Originally committed to SVN as r4545.
2010-06-18 07:14:06 +00:00
Thomas Goyne 961365dfff Make rotation and scale tools set all selected lines rather than just the active one
Originally committed to SVN as r4544.
2010-06-18 07:14:00 +00:00
Thomas Goyne afec51c4ed Include config.h in lagi_pre.h so that the conditional inclusion of sys/time.h actually works
Originally committed to SVN as r4543.
2010-06-18 06:59:55 +00:00
Amar Takhar 8ee9737b6f Move mru,opt objects out of the main singleton and into a global config:: namespace. With exception of the log object these are initialised during startup to ensure they are initalised after the log object.
Originally committed to SVN as r4538.
2010-06-18 02:23:27 +00:00
Thomas Goyne 75bd20a6dd Fix the rest of the build errors when not using precompiled headers
Originally committed to SVN as r4530.
2010-06-17 00:23:44 +00:00
Thomas Goyne 61138e9b5d Add configure check for sys/time.h
Originally committed to SVN as r4529.
2010-06-16 07:49:35 +00:00
Thomas Goyne d6b68dfb25 Kill VideoContext::Refresh's arguments; one has never actually done anything and the other is the same in all places where Refresh is called.
Originally committed to SVN as r4528.
2010-06-16 06:20:39 +00:00
Thomas Goyne faf2e562cd Rename FrameMain::SubsBox to SubsGrid for consistency with the rest of Aegisub.
Originally committed to SVN as r4527.
2010-06-16 06:20:33 +00:00
Thomas Goyne 43f3502043 Eliminate double inclusion of frame_main.h and remove #pragma once
Originally committed to SVN as r4526.
2010-06-16 06:20:27 +00:00
Thomas Goyne 392ce99083 Kill AssDialogue::UpdateData, which last had a non-empty body 3.5 years ago
Originally committed to SVN as r4525.
2010-06-16 06:20:19 +00:00
Thomas Goyne 8086fae633 Document AssFile's public methods
Originally committed to SVN as r4524.
2010-06-16 06:20:14 +00:00