Thomas Goyne
a7f4fb5b87
Run clang-modernize on things
2013-11-23 09:57:22 -08:00
Thomas Goyne
95ef444c20
More unique_ptr
2013-10-27 13:07:19 -07:00
Thomas Goyne
de7b09f7f7
Change some enums into enum classes
2013-06-12 20:01:21 -07:00
Thomas Goyne
72d4577d7d
Kill scoped_ptr in favor of unique_ptr
2013-06-11 16:06:58 -07:00
Thomas Goyne
b2f5a993d9
Actually define __ipairs on LuaAssFile
2013-05-01 21:21:07 -07:00
Thomas Goyne
68662211a1
Make Lua 5.1 a required dependency
2013-04-16 20:05:43 -07:00
Thomas Goyne
44188267d6
Extract some common helper methods to auto4_lua_utils.h
2013-04-09 20:14:53 -07:00
Thomas Goyne
1e0f08c0ed
Mostly purge wxWidgets from non-UI stuff
...
Use boost::filesystem::path for all paths, and std::string for all other
strings, converting to/from wxString as close to the actual uses of wx
as possible.
Where possible, replace the uses of non-UI wxWidgets functionality with
the additions to the standard library in C++11, or the equivalents in
boost.
Move the path token management logic to libaegisub (and rewrite it in
the process).
Add a basic thread pool based on asio and std::thread to libaegisub.
This touches nearly every file in the project and a nontrivial amount of
code had to be rewritten entirely, so there's probably a lot of broken
stuff.
2013-02-06 13:22:15 -08:00
Thomas Goyne
3ec82952f8
Partially de-wxify AssStyle
2012-12-31 07:09:31 -08:00
Thomas Goyne
6e3cc883b3
Replace most uses of type::iterator with auto
2012-12-22 15:35:13 -08:00
Thomas Goyne
8c2062f0c7
Store AssOverrideTags directly rather than a vector of pointers
2012-12-10 17:04:18 -08:00
Thomas Goyne
9b44f92235
Make AssEntry purely a base class and add AssInfo
...
Now that all the other junk is being dropped from the file, script info
lines are the only thing left which was a concrete AssEntry, and
AssEntry wasn't actually a very good way to store them.
2012-12-07 18:55:29 -08:00
Thomas Goyne
96cf5ea7ed
Kill the #ifndef AGI_PRE guards
...
They don't actually improve compilation performance and make it more
annoying to modify what things are in the precompiled header.
2012-12-02 06:33:29 -08:00
Thomas Goyne
ff03fef2db
Use the C++ versions of C headers
2012-12-01 17:24:59 -08:00
Thomas Goyne
6ab8345148
Use nullptr in more places
2012-11-30 10:44:09 -08:00
Thomas Goyne
e77e810bd8
Use emplace_back where applicable
2012-11-30 10:44:09 -08:00
Thomas Goyne
6b09bdfe70
Factor out some duplicated code
2012-11-26 07:11:30 -08:00
Thomas Goyne
4e8e5b597c
Change AssEntry::group to an enum
2012-11-25 14:01:50 -08:00
Thomas Goyne
b94547aa71
Drop format and header lines from the in-memory file representation
...
They're just pointless cruft, so drop them from the file when parsing
and re-add them when saving as ASS or SSA.
2012-11-24 16:24:00 -08:00
Thomas Goyne
67df64e879
Use range-based for loops in a bunch of places
2012-11-12 18:35:25 -08:00
Thomas Goyne
ea5428b65f
Replace AssColor with agi::Color
...
Add agi::Color, and replace AssColor and all uses of wxColor that are
not immediately passed to/from wx with it.
2012-11-10 18:05:56 -08:00
Thomas Goyne
83761d881a
Convert AssFile::Line to an intrusive list
...
Gives O(1) pointer -> iterator conversions, better memory usage, better
performance, and overall slightly simplifies the code using it.
2012-11-10 18:05:56 -08:00
Thomas Goyne
59eae9ab85
Store the lines in LuaAssFile in a vector
...
This makes the implementation better match the exposed interface and
simplifies some of the code.
2012-11-10 18:05:55 -08:00
Thomas Goyne
e44c47c863
Remove $Id$ markers since git doesn't support them
2012-10-25 17:39:49 -07:00
Thomas Goyne
c7fd04a739
Rename ASS -> Ass in symbol names
...
Most types and functions used Ass, but a decent number used ASS, so make
them consistent.
2012-10-16 09:52:19 -07:00
Thomas Goyne
53433426bb
Fix some stuff from Coverity Scan
...
Mostly just bugs in unreachable code and stylistic things, but there's a
few incorrect reachable things that were working by coincidence and
gratuitous dynamic_casts.
2012-10-15 18:16:09 -07:00
Thomas Goyne
a1fad1f947
Drop support for ASS2
...
It is very unlikely that anyone has ever actually used ASS2 for
anything, and in practice it was not usable anyway as the bottom margin
was always either ignored or blindly overwritten.
2012-10-12 14:54:08 -07:00
Thomas Goyne
a0c92f83f9
Fix some PVS-Studio warnings
2012-10-12 14:51:30 -07:00
Thomas Goyne
fc64bcaa36
Don't normalize syllable durations when parsing karaoke for automation
...
Originally committed to SVN as r6478.
2012-02-16 05:21:00 +00:00
Thomas Goyne
a7d54f3d69
Make AssEntry::group const as it really should never change
...
Originally committed to SVN as r6408.
2012-02-01 00:47:38 +00:00
Thomas Goyne
c2d3c910c7
Replace some uses of "" with wxString()
...
Despite special-casing zero-length input, wxString("") takes over four
times as long as wxString() - and on a 10k line script, this change cuts
AssFile's copy constructor's runtime in half.
Originally committed to SVN as r6401.
2012-01-31 00:44:43 +00:00
Thomas Goyne
dad803e956
Set the start and end times of syllables relative to the line's start time rather than time 0 to match 2.1.x's behavior. Closes #1440 .
...
Originally committed to SVN as r6397.
2012-01-31 00:44:07 +00:00
Thomas Goyne
d55f1622f1
Fix backwards-compatibilty break in the lua karaoke parser
...
Insert an empty syllable at the beginning of the karaoke syllable table
to better mimick 2.1.x's behavior.
Originally committed to SVN as r6369.
2012-01-26 21:19:25 +00:00
Thomas Goyne
cae10121ed
Fix a bunch of -pedantic stuff
...
Originally committed to SVN as r6181.
2011-12-28 21:27:06 +00:00
Thomas Goyne
7adbe07b4e
Silence a bunch of PREFast warnings
...
Originally committed to SVN as r6162.
2011-12-26 22:20:49 +00:00
Thomas Goyne
f974fdb1b2
Delete aegisub.parse_tag_data and aegisub.unparse_tag_data
...
Originally committed to SVN as r6128.
2011-12-22 21:29:47 +00:00
Thomas Goyne
71345af81a
Overload operator int() on AssTime and remove GetMS/SetMS
...
Originally committed to SVN as r6123.
2011-12-22 21:28:51 +00:00
Thomas Goyne
207ca88c5c
Set modification mask correctly when appending lines
...
Originally committed to SVN as r6080.
2011-12-22 21:21:55 +00:00
Thomas Goyne
f78d52448e
Fix appending and deleting rows via the subtitles object index syntax
...
Originally committed to SVN as r6079.
2011-12-22 21:21:47 +00:00
Thomas Goyne
38ffdc4135
Improve error message when a field is missing from a subtitle line
...
Originally committed to SVN as r6078.
2011-12-22 21:21:38 +00:00
Thomas Goyne
776c7e69a8
When appending lines from a lua script, always append the new line to the end of the appropriate section, creating the section if needed
...
Originally committed to SVN as r6077.
2011-12-22 21:21:29 +00:00
Thomas Goyne
c04af51c86
Include lua.hpp rather than the .h versions on non-windows as lua is normally compiled as C, not C++
...
Originally committed to SVN as r5831.
2011-11-08 01:18:16 +00:00
Thomas Goyne
1364527681
Fix error when trying to insert to the end of the file from auto4lua
...
Originally committed to SVN as r5760.
2011-10-23 17:00:14 +00:00
Thomas Goyne
3776051f96
Make the karaoke syllable table from aegisub.parse_karaoke_data zero-based for backward compatibility
...
Originally committed to SVN as r5694.
2011-09-30 20:42:09 +00:00
Thomas Goyne
c328bdfa5f
Fix typo that resulted in automation macros not being able to set undo points
...
Originally committed to SVN as r5669.
2011-09-29 00:10:22 +00:00
Thomas Goyne
b55ff3f803
Switch auto4lua to a transactional model which applies changes to the subtitle file only if a macro runs to completion without errors or the user cancelling. Significantly improves behavior when the user cancels and fixes a race condition caused by committing on threads other than the GUI thread.
...
Originally committed to SVN as r5650.
2011-09-28 19:50:14 +00:00
Thomas Goyne
c09259c93d
Throw typed exceptions in automation rather than strings
...
Originally committed to SVN as r5639.
2011-09-28 19:48:28 +00:00
Thomas Goyne
53b6765dd8
Redesign DialogProgress
...
Add agi::ProgressSink and agi::BackgroundRunner interfaces to libaegisub
which represent a generic progress sink and a thing which calls funtions
that need progress sinks. Make DialogProgress implement
agi::BackgroundRunner, invoking the passed function on a worker thread
and giving it a progress sink to update the dialog with.
Rewrite Automation4::ProgressSink, LuaThreadedCall and all related
classes to be based on agi::ProgressSink. Automation now simply uses
DialogProgress (although that's merely an implementation detail) and
adds a single method to route dialog opening from the worker thread to
the GUI thread.
Originally committed to SVN as r5634.
2011-09-28 19:47:40 +00:00
Thomas Goyne
2ca9392942
Set more finely-grained commit types from LuaAssFile rather than always using COMMIT_NEW
...
Originally committed to SVN as r5631.
2011-09-28 19:47:12 +00:00
Thomas Goyne
08a61c7fd4
Refactor LuaAssFile's implementation
...
Switch to 1-based indices to match Lua rather than converting back and
forth all over the place.
Eliminate a bunch of duplicated code.
Fix a few memory leaks.
Automatically set an undo point at the end of a macro if there are any
uncommited changes.
Originally committed to SVN as r5630.
2011-09-28 19:47:03 +00:00