Commit Graph

951 Commits

Author SHA1 Message Date
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 46da1e538d Merge r4450 to unbreak non precompiled header building.
Originally committed to SVN as r4586.
2010-06-24 01:50:16 +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
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
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 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
Thomas Goyne 166c95975b Templatize VariableData's getters and setters
Originally committed to SVN as r4523.
2010-06-16 06:20:06 +00:00
Thomas Goyne c7ea710267 Use VideoContext::JumpToTime where appropriate
Originally committed to SVN as r4522.
2010-06-16 06:19:49 +00:00
Thomas Goyne 5338a60cdb Fix compilation errors when not using precompiled headers
Originally committed to SVN as r4511.
2010-06-14 19:26:27 +00:00
Amar Takhar 461616a47f Hook up default_path.json to the build
Originally committed to SVN as r4491.
2010-06-13 01:43:19 +00:00
Amar Takhar f497144525 Fix syntax errors
Originally committed to SVN as r4490.
2010-06-13 01:42:50 +00:00
Amar Takhar c95eb3fcce universalchardet is no longer optional.
Originally committed to SVN as r4481.
2010-06-12 05:29:01 +00:00
Thomas Goyne ccdc863496 Fix copy/paste error in r4244
Originally committed to SVN as r4479.
2010-06-11 02:25:40 +00:00
Thomas Goyne 40da39e1c8 Make updating the subtitle preview window roughly 50% faster
Originally committed to SVN as r4478.
2010-06-11 02:25:34 +00:00
Thomas Goyne 4ef9d41601 Don't require that subtitles passed to SubtitlesProvider::LoadSubtitles be a copy that can be deleted
Originally committed to SVN as r4477.
2010-06-11 02:25:28 +00:00
Thomas Goyne 72cbf4939f Fix flickering in color picker
Originally committed to SVN as r4476.
2010-06-11 02:25:23 +00:00
Thomas Goyne c290b6b811 Silence some prefast warnings
Originally committed to SVN as r4472.
2010-06-11 02:24:59 +00:00
Amar Takhar bc40eeb827 Don't use a wxChar for exception messages.
Originally committed to SVN as r4471.
2010-06-10 04:52:47 +00:00
Amar Takhar 2c703a3baa Remove instances of ^USER and swap them with ^CONFIG, ^USER will still exist but won't be in the default config. Also add 'last opened' paths.
Originally committed to SVN as r4470.
2010-06-09 23:45:05 +00:00
Thomas Goyne d278c99652 Make the color picker dialog update the color instantly when used from the style editor, rather than waiting for the dialog to be closed, and revert if the dialog is cancelled. Updates #355.
Originally committed to SVN as r4469.
2010-06-09 08:14:50 +00:00
Amar Takhar 9a3e1c58f0 Use an std::string for now when printing messages.
Originally committed to SVN as r4467.
2010-06-09 02:06:37 +00:00
Amar Takhar 931cc7f461 * Remove all instances of wxLogDebug and replace them with LOG_W, LOG_D, LOG_E and LOG_D_IF as required.
* Add LOG_(D|W|I)_IF for conditional logging.

Originally committed to SVN as r4465.
2010-06-08 23:21:39 +00:00
Amar Takhar 653ce8b13d Fix misspelled option name
Originally committed to SVN as r4464.
2010-06-08 12:07:56 +00:00
Thomas Goyne f361d1a67b Add support for rendering vector clips with multiple 'm' commands.
Originally committed to SVN as r4463.
2010-06-08 06:09:19 +00:00
Thomas Goyne c7da8d9f61 Store OptionValues used by VideoContext
Originally committed to SVN as r4462.
2010-06-08 06:09:13 +00:00
Thomas Goyne a12ec002c6 Fix crash when framestepping caused by an incorrect option name.
Originally committed to SVN as r4461.
2010-06-08 06:09:08 +00:00
Thomas Goyne ae099a3363 Vector clip tool always needs to repaint in modes 1-4.
Originally committed to SVN as r4460.
2010-06-08 06:09:02 +00:00
Thomas Goyne b867eec7f3 Make the vector clip visual tool use vertex arrays rather than immediate mode to render the spline
Originally committed to SVN as r4458.
2010-06-07 07:24:43 +00:00
Thomas Goyne fae2af36fc Only draw the line to the cursor in the rotatez tool if the cursor is over the video display.
Originally committed to SVN as r4457.
2010-06-07 07:24:37 +00:00
Thomas Goyne 83e35ac63d Only rerender the video display on mouse events if display will actually change
Originally committed to SVN as r4456.
2010-06-07 07:24:30 +00:00
Thomas Goyne 1b27b77ac3 Add glext.h to the precompiled header
Originally committed to SVN as r4455.
2010-06-07 07:24:25 +00:00
Thomas Goyne 303f4990a5 Update glext.h to a version that isn't four years old
Originally committed to SVN as r4454.
2010-06-07 07:24:18 +00:00
Amar Takhar ad0241e3df Add default_menu.json for safe keeping, I'm not sure if this is the final format.. whatever it ends up being this will be close.
Originally committed to SVN as r4453.
2010-06-07 06:40:19 +00:00
Thomas Goyne 3fbdf5b7e5 Make the vector clip tool mask based on winding number so that the masking matches VSFilter's clipping.
Originally committed to SVN as r4442.
2010-06-05 22:40:16 +00:00
Niels Martin Hansen ff34a08afd Make update checker use a compile-time list of tags to determine the appropriate updates to list, instead of a hard-coded OS check. The list of accepted tags is defined by the UPDATE_CHECKER_ACCEPT_TAGS macro. If this macro is undefined, the update checker will still compile, but will reject all updates with tags.
Updates #1132.

Originally committed to SVN as r4440.
2010-06-05 20:16:30 +00:00
Amar Takhar 083f1175a6 Remove iconv library dependency as this is brought in from libaegisub.
Originally committed to SVN as r4432.
2010-06-04 12:59:49 +00:00
Thomas Goyne eff4dcf404 Fix might-as-well-be-inifinite loop in VisualToolVectorClip
Originally committed to SVN as r4431.
2010-06-04 03:08:10 +00:00
Thomas Goyne 38d922c57a Remove time-consuming reparsing of the line in VisualTool::SetOverride
Originally committed to SVN as r4430.
2010-06-04 03:08:04 +00:00
Thomas Goyne 88f6bca9d7 Make ASS tag parsing ~50% faster.
Originally committed to SVN as r4429.
2010-06-04 03:07:58 +00:00
Thomas Goyne f001651865 Replace AssDialogueBlock::GetAsOverride etc. with dynamic_cast
Originally committed to SVN as r4428.
2010-06-04 03:07:52 +00:00
Thomas Goyne fe65f778b1 Don't set the line color for every visual feature as it's always the same
Originally committed to SVN as r4427.
2010-06-04 03:07:46 +00:00
Thomas Goyne 2659b79036 Update the edit box less often during visual tool drags, making drags ~20% faster.
Originally committed to SVN as r4426.
2010-06-04 03:07:41 +00:00
Thomas Goyne 625ce943f5 Cache OptionValue objects used by the video display
Originally committed to SVN as r4425.
2010-06-04 03:07:33 +00:00
Thomas Goyne 3d04db9e90 Fix build error when wx was not built with wxUSE_STL
Originally committed to SVN as r4424.
2010-06-03 20:54:46 +00:00
Thomas Goyne b6d29443a3 Move most character set conversion code to libaegisub and make everything use the new conversion functionality.
Originally committed to SVN as r4423.
2010-06-03 20:32:25 +00:00
Thomas Goyne 7337a11745 Explicitly set the charset to binary when loading subtitles from the video
Originally committed to SVN as r4422.
2010-06-03 20:32:17 +00:00
Thomas Goyne 71300869da Fix order that VisualToolVectorClip's members are initialized
Originally committed to SVN as r4421.
2010-06-03 20:32:10 +00:00
Thomas Goyne ca24f60a7e Fix memory leak when exporting a file fails
Originally committed to SVN as r4420.
2010-06-03 20:32:03 +00:00
Thomas Goyne f064624ecd Simplify charset detection
Originally committed to SVN as r4419.
2010-06-03 20:31:43 +00:00
Thomas Goyne 90893f1048 Make the capitalization of FFmpegSource in options consistent, as option names are now case-sensitive.
Originally committed to SVN as r4414.
2010-06-03 05:07:10 +00:00
Amar Takhar 2d1bea39cf * Change wxID_CLOSE to wxID_OK
* Destroy the dialogue when closed
 * Don't delete *sink.

Originally committed to SVN as r4413.
2010-06-03 03:07:43 +00:00
Amar Takhar 2e156b8c4f Add a temp stub to dialog_log.cpp to get it building on windows. This still has memory issues which I'll fix along with a new util function to get localtime_r() data on windows+unix.
Originally committed to SVN as r4412.
2010-06-03 01:22:02 +00:00
Amar Takhar 719b7c2281 Add a basic "log window", this will be more polished and useful later on for now it's just something quick and dirty.
There are a few issues to fix:
 * Delete the pointer in frame_main from the modless dialog.
 * Fix string storage in the logging class.
 * Close button doesn't work.

Originally committed to SVN as r4406.
2010-06-02 23:47:39 +00:00
Thomas Goyne 6c13d8f250 Fix merge error in r4401.
Originally committed to SVN as r4403.
2010-06-02 22:54:38 +00:00
Thomas Goyne 9767b715ca Explicitly initialize VisualToolScale's members
Originally committed to SVN as r4402.
2010-06-02 07:22:59 +00:00
Thomas Goyne 7bf9e41526 Document gl_text, fix some minor memory leaks and fix a rendering error that happened only in debug builds.
Originally committed to SVN as r4401.
2010-06-02 07:22:53 +00:00
Thomas Goyne fd00cf9a21 Fix bug where visual tools could leave no lines selected.
Originally committed to SVN as r4400.
2010-06-02 07:22:48 +00:00
Amar Takhar d295ce7b0a Convert a bunch of wxLog* to the new logging method.
Originally committed to SVN as r4399.
2010-06-01 08:21:30 +00:00
Amar Takhar 002f284bea Fix r4383: trunk doesn't use wxString for exceptions anymore.
Originally committed to SVN as r4393.
2010-06-01 07:55:24 +00:00
Thomas Goyne ac42fcda5d Fix undo problems with cross and drag visual tools.
Originally committed to SVN as r4388.
2010-06-01 03:21:25 +00:00
Thomas Goyne da6c47c20b Load rotation from a line's style when it's not set by an override tag.
Originally committed to SVN as r4387.
2010-06-01 03:21:20 +00:00
Thomas Goyne 9e6454a798 Fix a few spots where x and y were swapped in the X/Y rotation tool.
Originally committed to SVN as r4386.
2010-06-01 03:21:14 +00:00
Niels Martin Hansen 0fe2071082 Add a null-pointer check to update checker. Updates #1164.
Originally committed to SVN as r4383.
2010-06-01 02:08:22 +00:00
Niels Martin Hansen db3c67cfaf Change description of framerate transform export filter to something more modern. Updates #1069.
Originally committed to SVN as r4379.
2010-06-01 00:06:08 +00:00
Amar Takhar f7993ce3ac Remove the (59!) wxLogDebug lines, this is being rewritten by jfs so there's no point on porting it to the new logging system.
Originally committed to SVN as r4375.
2010-05-31 23:04:27 +00:00
Amar Takhar e7b859b9f7 Switch to using libaegisub for character set detection. There are some bugs here but it seems to be more consistent than the last version. There are two remaining issues left: when the character set is unknown we need to provide a full list to choose from. The second: if the file is detected as US-ASCII we need to give a parse error to the user if we run into problems. Right now we'll load the file fine and disable a lot of options.. with no message to the user.
Originally committed to SVN as r4370.
2010-05-29 02:25:19 +00:00
Thomas Goyne 6df5d97568 Eliminate a redundant rerender of the frame when committing changes from
the visual tools. Makes all visual tools roughly twice as fast when real
time mode is enabled.

Originally committed to SVN as r4365.
2010-05-26 22:09:00 +00:00
Thomas Goyne e120ecc190 Make move/pos toggle modify all selected lines
Originally committed to SVN as r4364.
2010-05-26 07:17:46 +00:00
Thomas Goyne 877eabdce7 Fix selection issues with visual features
Selections in drag mode now follow the following rules:

 * If a line is selected in the grid, at least one visual feature
   corresponding to the line is selected.

 * If a line has any features selected, that line is selected in the
   grid.

In addition, all control points now start out selected in the vector
clip tool, and all tools should no longer discard the current selection
at unpredictable or unintended times.

Updates #513.

Originally committed to SVN as r4363.
2010-05-26 07:17:39 +00:00
Thomas Goyne d2a81d871b Make several methods in BaseGrid static or const and clean up some of the implementations.
Originally committed to SVN as r4362.
2010-05-26 07:17:34 +00:00
Thomas Goyne acc1e93728 Also update origins when setting multiple lines with the drag tool. Updates #513
Originally committed to SVN as r4361.
2010-05-26 07:17:28 +00:00
Thomas Goyne 5283c1527b Add updating multiple lines at once to the cross visual tool and make it only happen if alt is held down in both cross and drag. Updates #513.
Originally committed to SVN as r4360.
2010-05-26 07:17:15 +00:00
Amar Takhar 2d57debd49 Commit the beginings of the Path class to hold the internal representation of paths, this is extremely rough since I have to wait until we can do charset conversion in libaegisub to handle windows paths before going any further.
Originally committed to SVN as r4359.
2010-05-24 17:57:07 +00:00
Grigori Goronzy e9c806d0de Handle libass messages with wxLog* family of functions
Originally committed to SVN as r4357.
2010-05-24 03:41:06 +00:00
Grigori Goronzy 61ab7d1f2c Fix ALSA player compilation. (missing includes)
Originally committed to SVN as r4355.
2010-05-24 01:46:04 +00:00
Thomas Goyne 1e975eee89 Add double-click positioning to drag visual tool.
Sets the last clicked-on feature to the double-clicked spot and applies
the same relative movement to all other selected lines (including ones
not visible on the current frame).

Updates #513.

Originally committed to SVN as r4350.
2010-05-23 08:53:27 +00:00
Thomas Goyne d5df0fd545 Fix incorrect setting of float values in the style editor introduced in 7a29bffb847ce2e2f877ddf773aec4afb821018b
Originally committed to SVN as r4346.
2010-05-23 06:57:54 +00:00
Thomas Goyne 9157465a18 Fix loading video/keyframes/timecodes from the MRU list.
Originally committed to SVN as r4338.
2010-05-21 04:40:38 +00:00
Thomas Goyne 68914197d5 Re-add local config file support for standalone installations.
Originally committed to SVN as r4335.
2010-05-21 03:52:11 +00:00
Amar Takhar 40e12403d5 Merge all changes from the libaegisub branch into trunk, the effective range is r4175:4330. All options have been re-done and now use Cajun to support a json-backed format.
Initial support for low-level access and file I/O methods are included as well.

Originally committed to SVN as r4331.
2010-05-21 01:13:36 +00:00
Thomas Goyne 23972b10bc Add selection and control of multiple visual features
Make all visual tools support selecting and manipulating multiple visual
features at once, allowing multiple lines to be moved at once, entire
vector clips to be translated, etc. Controls:

  - Left click: Select control clicked control only
  - Ctrl-left click: Add/remove control to selection
  - Drag control (with or without ctrl): Move all selected controls,
    after setting/adding to selection if target is not in the selection
  - Click on no control: Clear selection

Lots of little stuff to fix still.

Updates #513.

Originally committed to SVN as r4322.
2010-05-20 08:55:58 +00:00
Thomas Goyne 8ff2728322 Move all userdata in VisualDraggableFeature not used by VisualTool to subclasses specific to each tool that needs userdata.
Originally committed to SVN as r4321.
2010-05-20 08:55:52 +00:00
Thomas Goyne a282393b47 Template VisualTool on the type of draggable features to use
Originally committed to SVN as r4320.
2010-05-20 08:55:46 +00:00
Thomas Goyne 2ef8302a6d Add boost/shared_pointer.hpp to the precompiled header
Originally committed to SVN as r4319.
2010-05-20 08:55:41 +00:00
Thomas Goyne 40a0c8994a Simplify the VisualTool interface a bit.
Originally committed to SVN as r4318.
2010-05-20 08:55:35 +00:00
Thomas Goyne e023831134 Detangle the visual tools from SubsEditBox a bit by making changes to the file no longer go through the edit box.
Originally committed to SVN as r4317.
2010-05-20 08:55:29 +00:00
Thomas Goyne 34a7d21a42 Kill the redundant VisualToolEvent nonsense and make the drag tool just use OnSubTool like the vector clip mode.
Originally committed to SVN as r4316.
2010-05-20 08:55:23 +00:00
Thomas Goyne 2ec4a97dbb Fix bad coordinate conversion in the clip visual tool
Originally committed to SVN as r4315.
2010-05-20 08:55:18 +00:00
Thomas Goyne 0e527355eb Kill some code that was last uncommented before revision 1000.
Originally committed to SVN as r4314.
2010-05-20 08:55:13 +00:00
Thomas Goyne 519039131f Fix crash in freehand draw mode of the vector clip visual tool
Originally committed to SVN as r4313.
2010-05-20 08:55:08 +00:00
Thomas Goyne 94bffb5b9d Fix compile error in gcc introduced in r4307 (instantiating templates with private inner types is a msvc extension)
Originally committed to SVN as r4311.
2010-05-19 03:24:07 +00:00
Thomas Goyne f4124e373c Add single-axis modes to all visual tools
Make all visual tools only update the most-changed axis whenever shift
is held down. Previously the rotate and scale tools used ctrl for this
and shift for snapping to round values; these have been swapped for
consistency.

Closes #993.

Originally committed to SVN as r4310.
2010-05-19 03:24:01 +00:00
Thomas Goyne 115dacb37e Clean up VisualFeature a bit and make most of OpenGlWrapper's methods const
Originally committed to SVN as r4309.
2010-05-19 03:23:55 +00:00
Thomas Goyne 008d59d71e As we require RTTI anyway, kill AssEntry::GetAsDialogue/Style/Attachment and just use dynamic_cast
Originally committed to SVN as r4308.
2010-05-19 00:44:52 +00:00
Thomas Goyne 2124a1dbd3 Rework how sorting works and add sorting by style
Rather than going through a ton of work to ensure that every AssEvent
has a sensible start time that happens to leave it in the right place
after sorting, simply sort only consecutive blocks of AssDialogues and
leave everything else untouched. Note that this results in different
behavior when there are multiple [Events] sections in a file -- rather
than moving lines between sections and keeping the number of lines per
section constant, each section keeps the lines it had.

As it's now easy to do, also add sorting by style name and end time.

Closes #614.

Originally committed to SVN as r4307.
2010-05-19 00:44:44 +00:00
Thomas Goyne a573b0897b Add "Open Subtitles From Video" menu option. Closes #253.
Originally committed to SVN as r4306.
2010-05-19 00:44:37 +00:00
Thomas Goyne a073d48f26 Make all of the controls in the Style Manager dynamically sized. Results in slightly wider buttons with English and much better sized buttons in other languages. Updates #1101
Originally committed to SVN as r4303.
2010-05-17 19:48:17 +00:00
Thomas Goyne 49abae2698 Fix a merge conflict and some newline issues
Originally committed to SVN as r4290.
2010-05-16 07:06:08 +00:00
Thomas Goyne 2c876e79c3 Make visual tools use only screen coordinates.
Previously the visual typesetting tools and the overlay mask used
several coordinate frames, converting between them in many places in
inconsistent ways.  This elimiates all uses of coordinate frames other
than screen and script, and makes the conversion done in one place, and
only when parsing or serializing ASS.

This fixes:

 - A few minor rounding errors

 - Horrible brokeness when only part of the video frame is being
   displayed, due to higher levels of zoom than fit onscreen or panning
   the video

 - Distortion of the visual typesetting tools when the combination of
   overridden aspect ratio, script resolution, and video resolution did
   not result in square pixels.

 - Resolution-dependence of the visual typesetting tools, which resulted
   in some tools becoming hard to use at zooms outside the range of
   100-200%.

 - Some draggable controls used the mouse's script coordinates,
   resulting in noticable jerky movement at high zoom levels or when
   using strange script resolutions.

Closes #966.

Originally committed to SVN as r4289.
2010-05-16 06:39:11 +00:00
Thomas Goyne 74a9bdeb41 Limit the canvas size to the window's size to avoid things exploding at high zoom levels
Originally committed to SVN as r4288.
2010-05-16 06:39:06 +00:00
Thomas Goyne 94cf2949f1 Make the calculation of black borders in the video display happen on resize rather than on draw.
Originally committed to SVN as r4287.
2010-05-16 06:38:59 +00:00
Thomas Goyne 624df412ea Kill the horrifying PrettyFloat function and just use g instead of f everywhere it was used.
Originally committed to SVN as r4280.
2010-05-13 18:41:46 +00:00
Thomas Goyne 1654f4a102 Remove a redundant (and incorrect) check for if the mouse is over the video
Originally committed to SVN as r4279.
2010-05-13 18:37:51 +00:00
Thomas Goyne 247e756c9b Move doxygen stuff for VideoDisplay to the header and fill in some missing docs.
Originally committed to SVN as r4278.
2010-05-13 18:37:46 +00:00
Thomas Goyne 290353d467 Bump copyright years on video_display.*
Originally committed to SVN as r4277.
2010-05-13 18:37:41 +00:00
Thomas Goyne 5215049c07 Add mouse wheel video zooming
Originally committed to SVN as r4276.
2010-05-13 18:37:35 +00:00
Amar Takhar f002850e17 Fix distfile creation.
Originally committed to SVN as r4260.
2010-05-06 16:05:34 +00:00
Thomas Goyne c7e06e9451 Change the uses of -1 for invalid positions in the visual typesetting tools to INT_MIN, as -1 is sometimes a perfectly valid coordinate
Originally committed to SVN as r4258.
2010-05-01 01:45:16 +00:00
Thomas Goyne 5cbabf2d35 Add an option to only display visual typesetting tools when the mouse is over the video.
Originally committed to SVN as r4257.
2010-05-01 01:45:10 +00:00
Thomas Goyne 61c141a714 Change zoom to an arbitrary percentage rather than an index into a fixed list of allowed zooms
Originally committed to SVN as r4256.
2010-05-01 01:07:05 +00:00
Thomas Goyne 42781c1c62 Make the shift times history display one-based frame numbers when shifting the selection onwards. Updates #1098
Originally committed to SVN as r4255.
2010-05-01 01:07:00 +00:00
Thomas Goyne 7a7b7fb5e9 Add menu options for the tag hiding modes to the view menu. Closes #433
Originally committed to SVN as r4254.
2010-04-30 20:42:07 +00:00
Thomas Goyne 2fea4bb1ba Ensure that after using the select lines dialog, the active line is always one of the selected lines. Updates #1176.
Originally committed to SVN as r4253.
2010-04-30 20:42:01 +00:00
Thomas Goyne ae82498273 Make a few parameters in gl_text const references
Originally committed to SVN as r4252.
2010-04-30 16:15:18 +00:00
Thomas Goyne 47beda4c89 Fix build error introduced in r4250 when not using precompiled headers.
Originally committed to SVN as r4251.
2010-04-30 16:15:12 +00:00
Thomas Goyne c3a986414c Make OpenGLTextTexture use the smallest texture that is large enough to fit the requested glyph rather than always using 256x256
Originally committed to SVN as r4250.
2010-04-30 03:00:19 +00:00
Thomas Goyne 27a159793a (Re)add catch for wchar_t in VideoDisplay::Render as it turns out that some of the stuff it calls still throws strings
Originally committed to SVN as r4249.
2010-04-30 03:00:15 +00:00
Thomas Goyne fd701c67ec Kill supportsGlClampToEdge, which hasn't actually been used for a while
Originally committed to SVN as r4248.
2010-04-30 03:00:09 +00:00
Thomas Goyne b90fdcc111 Make the video display use OpenGL display lists, slightly simplifying the code and reducing the amount of state explicitly tracked.
Originally committed to SVN as r4247.
2010-04-30 03:00:04 +00:00
Thomas Goyne 5f82c5bb02 Make the style manager dialog select the new styles when copying styles between the current script and storage, and fix a few cases where buttons were incorrectly enabled or disabled. Updates #1186.
Originally committed to SVN as r4244.
2010-04-24 21:48:06 +00:00
Thomas Goyne de459275a1 Fix crash when using the drag visual tool on a line with a four-argument move tag. Closes #1002.
Originally committed to SVN as r4239.
2010-04-22 01:09:24 +00:00
Thomas Goyne 792c8ec66e Specifically catch exceptions thrown by the subtitle renderer so that we can give a slightly more useful error message.
Originally committed to SVN as r4238.
2010-04-22 01:09:16 +00:00
Kevin Ollivier 9fcdfebf82 Fix the waf build after the libresrc changes, and also tweak the script to properly handle dependency tracking with the generated files.
Originally committed to SVN as r4173.
2010-03-13 17:50:51 +00:00
Amar Takhar 6a9b0b5589 * Return an std::string
* Be const correct.
 * Use c_str() to ensure null termination.
 * Remove stray , from default_mru.json.

Originally committed to SVN as r4171.
2010-03-06 03:55:27 +00:00
Amar Takhar c3c14b0815 Change how libresrc is built:
* Instead of putting code into the .(c|h) files place it into two new files libresrc.(c|h)
 * Bitmaps now go into bitmaps.(c|h)
 * Default configs into default_config.(c|h)

With this approach we can easily embed any resources by simply calling it with common-respack and not having to do anything else.

Originally committed to SVN as r4169.
2010-03-03 00:44:17 +00:00
Thomas Goyne 0a8a495aea Fix a smattering of memory leaks.
Originally committed to SVN as r4157.
2010-02-25 21:45:39 +00:00
harukalover 41be900efa Fixed a memory leak that occurred whenever the Edit menu was opened due to the Undo/Redo items being replaced with new wxMenuItem's without deleting the previous items (now it just updates the label/enabled status without creating new wxMenuItem's)
Originally committed to SVN as r4139.
2010-02-21 06:09:28 +00:00
Niels Martin Hansen 6a431b9032 Do an additional range check before grabbing a dialogue line by index in BaseGrid. Not doing it makes MSVC debug runtimes spew assertions and whatnot. This shouldn't break anything... I hope it doesn't.
Originally committed to SVN as r4134.
2010-02-21 01:25:15 +00:00
Kevin Ollivier 5cafad1d81 Just call Next/PrevFrame now that the audio playing behavior is implemented inside those methods.
Originally committed to SVN as r4122.
2010-02-17 19:07:37 +00:00
Kevin Ollivier 3a58a48e1a Move the logic to play the audio on stepping through video into video_context so that the VideoSlider's Next/PrevFrame can behave consistently regardless of where they're called from.
Originally committed to SVN as r4121.
2010-02-17 19:04:41 +00:00
Kevin Ollivier 3082838aa1 Add an option to play audio when stepping through video, like some other video players do. Also, add .mov as a file format to load, as it is widely used on Mac and seems to work fine for me with ffmpeg.
Originally committed to SVN as r4120.
2010-02-17 06:24:29 +00:00
Kevin Ollivier 65b09da334 Add missing include.
Originally committed to SVN as r4107.
2010-02-15 03:06:04 +00:00
Thomas Goyne e5416f01dc Fix debug assertion in style manager when "Copy" is clicked with zero styles selected.
Originally committed to SVN as r4105.
2010-02-14 22:44:29 +00:00
Thomas Goyne 429a57ef68 Change the logic for when the style editor asks the user if they wish to update existing lines when renaming a style to be based on whether it is a newly created style rather than whether the style's name starts with "Copy of". Updates #1060.
Originally committed to SVN as r4103.
2010-02-14 22:26:45 +00:00
Thomas Goyne 509f748cfb Make VideoContext::SetVideo explicitly call VideoContext::UpdateDisplays rather than relying on the calling code restoring it to a consistent state. Updates #1159.
Originally committed to SVN as r4101.
2010-02-14 22:02:33 +00:00
Thomas Goyne 621cefe14e Fix compile error on non-windows caused by r4097.
Originally committed to SVN as r4099.
2010-02-14 18:06:56 +00:00
Thomas Goyne 175b2a4648 Rewrite the texture grid positioning code again, fixing several visual defects that showed up in OpenGL 1.1 mode. Updates #1153.
Originally committed to SVN as r4097.
2010-02-14 17:41:41 +00:00
Thomas Goyne c9ba8329ad Change all incorrect uses of __WXDEBUG__ to _DEBUG. __WXDEBUG__ being defined does not necessarily mean that it is a debug build, and by default it is defined in release builds of wx as of 2.9.1.
Originally committed to SVN as r4089.
2010-02-09 04:31:33 +00:00
Niels Martin Hansen 48e321f8ef Juggle a weird control structure to be more regular.
Originally committed to SVN as r4086.
2010-02-05 16:06:37 +00:00