Commit graph

925 commits

Author SHA1 Message Date
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
Niels Martin Hansen
6fe0eb96be Define an RAII wrapper for the Win32 HANDLE type and make sure all handles created also get closed in the DSound2 audio player. Updates #1145.
Originally committed to SVN as r4084.
2010-02-05 15:13:11 +00:00
Niels Martin Hansen
702739b32e Doxygen-document DSound2 audio player
Originally committed to SVN as r4083.
2010-02-05 14:51:12 +00:00
Niels Martin Hansen
fe65749623 Merge r4081, closes #1126.
Originally committed to SVN as r4082.
2010-02-05 13:22:43 +00:00
Thomas Goyne
7ac273eca0 Fix problems with how VideoDisplay's size was being set resulting in the border being subtracted from the video size and the video always taking up the full width of the box even at very low zoom levels. Updates #1137, #1140.
Originally committed to SVN as r4077.
2010-01-31 18:49:37 +00:00
Grigori Goronzy
08817a3e98 Add missing includes to fix compilation without precompiled headers.
Fixes #1129. Patch by buscher.

Originally committed to SVN as r4076.
2010-01-31 14:55:03 +00:00
Grigori Goronzy
ba0cf4463f Delete gcc precompiled headers in distclean.
Originally committed to SVN as r4072.
2010-01-30 16:59:24 +00:00
Grigori Goronzy
5db8abd330 OSS player: convert device name to UTF-8 string.
Originally committed to SVN as r4071.
2010-01-30 15:08:50 +00:00
Thomas Goyne
b5064f8fc9 Replace lua's default lua module loader with one which uses our UTF-8-supporting script reader.
Originally committed to SVN as r4060.
2010-01-28 01:13:13 +00:00
Amar Takhar
e89e7b4be2 Make dictionary printfs easier to read. (also add one for the thesaurus)
Originally committed to SVN as r4051.
2010-01-26 13:56:56 +00:00
Amar Takhar
b822ec6343 Merge translations from 2.1.8.
Originally committed to SVN as r4047.
2010-01-26 13:43:02 +00:00
Amar Takhar
27a1d68ec4 Call OnUnhandledException() only when wxWidgets is compiled with exception handling.
Originally committed to SVN as r4044.
2010-01-26 13:18:53 +00:00
Amar Takhar
0cd4f1225d Merge 3906,r3909,r3910,r3912,r3928,r3931,r3932,r3933,r3935,r3936: merge update checker from 2.1.8, this also needs to be documented for doxygen. closes #1084.
Originally committed to SVN as r4042.
2010-01-26 13:14:05 +00:00
Thomas Goyne
0a12e60a36 Add the Automation include path to lua's module load path.
Originally committed to SVN as r4038.
2010-01-24 19:07:34 +00:00
Thomas Goyne
7ffc3d4080 Move more of the purely OpenGL-related code into VideoOutGL from VideoDisplay and simplify the calculation of the texture grid positions slightly.
Originally committed to SVN as r4037.
2010-01-24 19:05:20 +00:00
Thomas Goyne
ba088237d7 Add some documentation for AegisubCSConv and TextFileReader.
Originally committed to SVN as r4036.
2010-01-24 18:56:51 +00:00
Amar Takhar
c7d95e5590 Add greg to the about dialog credits.
Originally committed to SVN as r4035.
2010-01-24 02:37:47 +00:00
Amar Takhar
f43bff1e97 merge r4003 (options dialogue layout fixes)
Originally committed to SVN as r4021.
2010-01-21 00:28:07 +00:00
Amar Takhar
89e2428dbe merge r3992 (restart-helper fixes)
Originally committed to SVN as r4020.
2010-01-21 00:26:45 +00:00
Amar Takhar
4221919d4f merge r3983,r4002 (more string fixes.)
Originally committed to SVN as r4019.
2010-01-21 00:24:59 +00:00
Amar Takhar
79c1716ccd merge r3982.
Originally committed to SVN as r4017.
2010-01-21 00:01:46 +00:00
Amar Takhar
e76cfae9bb Merge r3974: asserts in colour picker dialog.
Originally committed to SVN as r4015.
2010-01-20 22:49:26 +00:00
Niels Martin Hansen
f1fa69d528 Merge r3999 to trunk, updates #566.
Also, 4000 GET.

Originally committed to SVN as r4000.
2010-01-19 08:50:40 +00:00
Thomas Goyne
80fdea74e6 Merge r3994 from the 2.1.8 branch. Closes #999.
Originally committed to SVN as r3995.
2010-01-19 01:05:51 +00:00
Grigori Goronzy
8c8f59b5ff Fix ALSA player. Works On My Computer [tm].
Originally committed to SVN as r3990.
2010-01-15 22:58:51 +00:00
Grigori Goronzy
6006fb5bba Redirect mouse events from the color picker dialog to the dropper icon
to make the color dropper work on Unix/GTK. OS X still needs fixes.

Originally committed to SVN as r3975.
2010-01-12 03:19:49 +00:00
Niels Martin Hansen
7e079a3fc2 Merge r3967 from 2.1.8, closes #971.
Originally committed to SVN as r3968.
2010-01-10 16:15:31 +00:00