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
Thomas Goyne
dfc18afd34
Replace custom karaoke parsing code in LuaAssFile with AssKaraoke
...
Originally committed to SVN as r5626.
2011-09-28 19:46:23 +00:00
Thomas Goyne
3029436a2d
Drop some AS5-specific stuff in LuaAssfile
...
Originally committed to SVN as r5622.
2011-09-28 19:45:47 +00:00
Thomas Goyne
cc147d1660
Eliminate uses of c_str made unnecessary by changed to wxString::Format in wx 2.9
...
Originally committed to SVN as r5612.
2011-09-28 19:43:48 +00:00
Thomas Goyne
d990bbbb99
Eliminate all unnecessary uses of L and _T
...
Originally committed to SVN as r5611.
2011-09-28 19:43:11 +00:00
Thomas Goyne
d70fb7fe2d
Fix compilation errors
...
Originally committed to SVN as r5601.
2011-09-15 06:03:13 +00:00
Niels Martin Hansen
a98cfb7685
Merge r5409 from 2.1.9, see #1300 .
...
Originally committed to SVN as r5410.
2011-06-06 21:12:00 +00:00
Thomas Goyne
c40aa7080a
Eliminate almost all uses of AssFile::top.
...
Originally committed to SVN as r4669.
2010-07-09 07:31:48 +00:00
Thomas Goyne
2e5dc176db
Rewrite Undo/Redo code
...
Make the undo and redo stacks non-static members of AssFile, making it
theoretically possible to have multiple open AssFiles with working undo.
Slightly improve tracking of whether the file is modified: saving,
making a change, then undoing the change now results in the file being
shown as unmodified as with most programs with undo.
Add basic undo coalescing support.
Originally committed to SVN as r4667.
2010-07-09 07:31:34 +00:00
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
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
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
166c95975b
Templatize VariableData's getters and setters
...
Originally committed to SVN as r4523.
2010-06-16 06:20:06 +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
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
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
Amar Takhar
85d3ea9277
Commit patch for #1019 for jfs' as he doesn't have the branch compiling locally, I'll merge this to milestone:2.1.8 after this, updates #1019 .
...
Originally committed to SVN as r3644.
2009-10-08 20:24:25 +00:00
Amar Takhar
d348b4e33e
Fix all the headers in *.cpp, this includes:
...
* Wrapping all headers that are in agi_pre.h with AGI_PRE.
* Sorting alphabetically.
Originally committed to SVN as r3515.
2009-09-10 13:06:40 +00:00
Amar Takhar
7a8c5229fd
* Remove wxprec.h from all files other than agi_pre.h. Including this in various headers is useless as it includes wx.h which includes dozens of 'common' wx headers. With this we're unable to tell which files rely on which interfaces. This commit removes them and manually places in required headers as-needed.
...
* Update agi_pre.h to include some missing headers, also move required windowsheaders to the top of the list
* Use <> versus "" for the wx header in avisynth_wrap.cpp
* Remove xx/wx.h from agi_pre.h as it's included by wxprec.h.
Originally committed to SVN as r3513.
2009-09-10 10:26:50 +00:00