Commit graph

2327 commits

Author SHA1 Message Date
Amar Takhar
9393850884 Commit the beginings of a logging api, this is fairly complete however it has no locking.
Originally committed to SVN as r4371.
2010-05-31 20:55:29 +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
Amar Takhar
9d854b69f3 Don't bother storing storing a single charset into an std::string, instead insert it into the std::map and fix Single() to return the first element. This keeps things simple and also ensures that DetectAll() will always return atleast one element which wasn't being done before.
Originally committed to SVN as r4369.
2010-05-28 13:08:00 +00:00
Amar Takhar
6736f5e292 Add a change that was missed in r4367.
Originally committed to SVN as r4368.
2010-05-28 08:04:55 +00:00
Amar Takhar
e408fe49c9 Add support for detecting character sets using UniversalChardet -- this superceeds character_detect.cpp.
Originally committed to SVN as r4367.
2010-05-28 07:40:21 +00:00
Amar Takhar
8dab221f8b Bring universalchardet up to 41661:ea9bbf0ff87f (2010-03-13).
Originally committed to SVN as r4366.
2010-05-27 02:20:34 +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
Amar Takhar
d171d0aef8 Add a regression test for r4347.
Originally committed to SVN as r4358.
2010-05-24 05:58:46 +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
8f67d48487 Initial support for external libass with pkg-config
This introduces the configure option --with-external-libass; the
internal copy is still used by default. Fixes #917.

Originally committed to SVN as r4356.
2010-05-24 02:44:31 +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
Amar Takhar
25497cf87d Completely remove the usage of POSIX functions from Acs. I've discovered the hard way that most things POSIX on Windows is a complete disaster.
With this we're now using native functions and all unit tests pass.

The code used in Check() is still a proof of concept and will probably be rewritten as issues are exposed.

Originally committed to SVN as r4354.
2010-05-23 20:39:14 +00:00
Amar Takhar
69ae630488 Fix binary name: s/aegisub/test/
Originally committed to SVN as r4353.
2010-05-23 20:21:05 +00:00
Amar Takhar
fc77763e95 Wrap the initial construction test with EXPECT_NO_THROW(), this will ensure any underlying exceptions are caught. The other tests need similar fixes which I'll look to later on unix.
Originally committed to SVN as r4352.
2010-05-23 20:12:34 +00:00
Amar Takhar
c65de83b26 Remove empty quotes, I forgot DOS echo doesn't require it.
Originally committed to SVN as r4351.
2010-05-23 20:06:47 +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
0dc6a082ca Fix memory leaks in Option
Originally committed to SVN as r4349.
2010-05-23 06:58:11 +00:00
Thomas Goyne
60a1bdc2df Fix memory leaks in mru.cpp
Originally committed to SVN as r4348.
2010-05-23 06:58:06 +00:00
Thomas Goyne
9fc28fc1d4 Make MRUManager::Remove work
Originally committed to SVN as r4347.
2010-05-23 06:58:01 +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
Amar Takhar
f7f59e5e1d Add an ErrorString utility which converts the code from GetLastError() into a human readable std::string.
Originally committed to SVN as r4345.
2010-05-22 21:09:37 +00:00
Amar Takhar
12711d8c12 * Add util_windows.cpp to test project.
* Fix typo in util_windows.cpp.

Originally committed to SVN as r4344.
2010-05-22 01:41:23 +00:00
Amar Takhar
ad005c3a9c Split unix/windows code into seperate files to preserve sanity.
Originally committed to SVN as r4343.
2010-05-22 01:38:07 +00:00
Amar Takhar
810ffa09c7 Convert the identifier to an std::string from wxString. For whatever reason wxString is producing addresses rather than strings when automatically converting. I've seen this behaviour before and it seems quite random. This will solve that problem.
Originally committed to SVN as r4342.
2010-05-22 01:22:53 +00:00
Amar Takhar
cb1a82baaa * Add a post build event to setup the unit test resource directory.
* Fix the build target, for some reason this isn't being taken from the property sheet jfs will have to look at it later..

Originally committed to SVN as r4341.
2010-05-21 17:33:04 +00:00
Amar Takhar
c1ad93ce93 Add a project for the unit tests.. this is incomplete (progress save)
Originally committed to SVN as r4340.
2010-05-21 06:06:46 +00:00
Amar Takhar
6a15775401 Add a temp (and ugly) workaround to get this building on windows. I'll make a proper solution when i next work on this file. (soonish)
Originally committed to SVN as r4339.
2010-05-21 06:03:20 +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
Amar Takhar
a584361bb8 Add a few missing redirects.
Originally committed to SVN as r4337.
2010-05-21 04:03:43 +00:00
Amar Takhar
580bdb8271 Add a windows equivalent of setup.sh
Originally committed to SVN as r4336.
2010-05-21 04:02:08 +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
Thomas Goyne
d3c33d5e7c Fix file saving on Windows.
Originally committed to SVN as r4333.
2010-05-21 03:07:48 +00:00
Amar Takhar
cd8305987b Wrap io.h with _MSC_VER since it's only needed on windows. Eventually we'll have to create our own set of defined macros for various platforms.
Originally committed to SVN as r4332.
2010-05-21 01:19:40 +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
ea100e9bff Add simple automation macros to strip override tags and select overlapping lines. Closes #120.
Originally committed to SVN as r4305.
2010-05-19 00:44:31 +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
81282bf06e Add LICENCE to EXTRA_DIST.
Originally committed to SVN as r4261.
2010-05-06 16:07:00 +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
aa417cf903 Remove unintentionally added tabs.
Originally committed to SVN as r4174.
2010-03-13 18:16:40 +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
Kevin Ollivier
277f1959ad We should still increment currentItem when the file and dir tests both return false, as otherwise we get into infinite recursion processing the same item.
Originally committed to SVN as r4172.
2010-03-13 17:43:47 +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
Thomas Goyne
409bcc561a Update the windows build system to work with the changes made in r4169.
Originally committed to SVN as r4170.
2010-03-03 01:28:47 +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
Amar Takhar
e4364ae6f9 Fix typo. (from kovensky), should be merged to 2.1.9
Originally committed to SVN as r4164.
2010-03-01 19:36:57 +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