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
28afc48ca5
Eliminate an uninitialized variable warning
...
Originally committed to SVN as r5649.
2011-09-28 19:50:06 +00:00
Thomas Goyne
d419c7a447
Implement the Automation menu
...
Originally committed to SVN as r5648.
2011-09-28 19:49:56 +00:00
Thomas Goyne
5bb5f146a7
Make the project context available to lua C functions so that they can use that instead of VideoContext::Get()
...
Originally committed to SVN as r5647.
2011-09-28 19:49:47 +00:00
Thomas Goyne
dfef9191f9
Move the creation of the progress dialog for the audio caches to AudioProvider and just pass the BackgroundRunner to the caches. This still isn't the right place to be creating it, but this removes the UI-dependency for both caches.
...
Originally committed to SVN as r5646.
2011-09-28 19:49:37 +00:00
Thomas Goyne
a9dc1f045d
Remove "Config" from the name of ScriptConfigDialog and friends as they're used for more than just config, and clean up the implementations.
...
Originally committed to SVN as r5645.
2011-09-28 19:49:27 +00:00
Thomas Goyne
59d11f4cc4
Make it so auto4lua macros can have an IsActive function. Probably not very useful at the moment.
...
Originally committed to SVN as r5644.
2011-09-28 19:49:18 +00:00
Thomas Goyne
60ea67661a
Do a better job of setting the module load path in LuaAssFile
...
Originally committed to SVN as r5643.
2011-09-28 19:49:09 +00:00
Thomas Goyne
8ba559b7f7
Clean up Automation4::ScriptManager
...
Originally committed to SVN as r5642.
2011-09-28 19:48:58 +00:00
Thomas Goyne
eec3d64221
Make automation macros standard commands and remove the Automation4::Feature base class as it's no longer a useful abstraction.
...
Originally committed to SVN as r5641.
2011-09-28 19:48:47 +00:00
Thomas Goyne
492a0d3046
Make Automation4::Script mostly pure abstract and clean up the implementation of LuaScript
...
Originally committed to SVN as r5640.
2011-09-28 19:48:37 +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
6d0e44baad
Use LocalScriptManager::Reload rather than looping over the scripts manually in the am/manager command
...
Originally committed to SVN as r5638.
2011-09-28 19:48:20 +00:00
Thomas Goyne
af9315f1aa
Remove some lingering unused automation things in frame_main
...
Originally committed to SVN as r5637.
2011-09-28 19:48:11 +00:00
Thomas Goyne
f970508e67
Add the ability to unregister commands and clarify who owns command objects
...
Originally committed to SVN as r5636.
2011-09-28 19:48:02 +00:00
Thomas Goyne
8aca250fd0
Kill cmd::id and friends. It didn't work correctly as ids weren't stable and only VideoBox still used it
...
Originally committed to SVN as r5635.
2011-09-28 19:47:53 +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
5439c6dae6
Remove some old video options from default_config.json
...
Originally committed to SVN as r5633.
2011-09-28 19:47:31 +00:00
Thomas Goyne
f341a63f14
Delete all the unused things in MatroskaWrapper (i.e. most of it), fix some derpy things, and make it throw typed exceptions.
...
Originally committed to SVN as r5632.
2011-09-28 19:47:21 +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
df100fb5a5
Pass a project context to AssExportFilter::GetConfigDialogWindow so that export filters don't have to use things like AssFile::top and VideoContext::Get
...
Originally committed to SVN as r5629.
2011-09-28 19:46:53 +00:00
Thomas Goyne
9ce579e187
Document and clean up a bunch of exporter related things. Break some friendships, and add a getter for export filter names.
...
Originally committed to SVN as r5628.
2011-09-28 19:46:41 +00:00
Thomas Goyne
cec07012e7
Add auto4_lua_factory.h to the vc9 project
...
Originally committed to SVN as r5627.
2011-09-28 19:46:32 +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
1329245a21
Clean up the automation dialog and don't let the user load the same script twice
...
Originally committed to SVN as r5625.
2011-09-28 19:46:14 +00:00
Thomas Goyne
53c0b6ff3a
Clean up and document ScriptFactory, and add a function to get the full wildcard string for all registered automation engines
...
Originally committed to SVN as r5624.
2011-09-28 19:46:05 +00:00
Thomas Goyne
7680d6c246
Move the local script logic from FrameMain to a new LocalScriptManager
...
Originally committed to SVN as r5623.
2011-09-28 19:45:55 +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
0a91be1c7c
Unconditionally enable building automation even if there are no enabled engines as there isn't really any reason not to and the defines uglify the code.
...
Originally committed to SVN as r5621.
2011-09-28 19:45:35 +00:00
Thomas Goyne
66e826edb3
Split LuaProgressSink into its own cpp file to cut down on the bloatedness of auto4_lua.cpp
...
Originally committed to SVN as r5620.
2011-09-28 19:45:25 +00:00
Thomas Goyne
0b6ef72242
Rewrite LuaScriptReader, making it simpler and adding support for more charsets
...
Originally committed to SVN as r5619.
2011-09-28 19:45:16 +00:00
Thomas Goyne
432abc309b
Remove WITH_OLD_HUNSPELL. 1.2.0 is four years old and the configure script doesn't even support older versions that would require WITH_OLD_HUNSPELL
...
Originally committed to SVN as r5618.
2011-09-28 19:45:07 +00:00
Thomas Goyne
4ec507f814
Clean up SubtitleFormat
...
Document all of the SubtitleFormat methods.
Add default implementations of CanReadFile and CanWriteFile that check
against the appropriate wildcard list.
Clean up and simplify a lot of very odd code.
Throw typed exceptions in all subtitle readers rather than strings.
Originally committed to SVN as r5617.
2011-09-28 19:44:53 +00:00
Thomas Goyne
156885b56d
Make AudioTimingControllerDialogue operate on a project context
...
Originally committed to SVN as r5616.
2011-09-28 19:44:44 +00:00
Thomas Goyne
a25c5c1909
Rewrite the subtitles edit control's syntax highlighting
...
Simplify and clean up the parsing code to better represent how VSFilter
actually handles many odd edge cases as well as making it significantly
faster.
Use an enum for syntax style IDs rather than magic numbers.
Add styles for comments, draw mode and karaoke templater variables
rather than reusing other styles and move some hardcoded style
information to the config file.
Operate on the utf-8 representation of the edit box text rather than a
wxString, as it's both faster and simpler.
Originally committed to SVN as r5615.
2011-09-28 19:44:34 +00:00
Thomas Goyne
67ab06e830
Add an optional argument to AssFile::Commit which indicates that only a single line was changed. Currently used only to cut down on file copies when coalescing.
...
Originally committed to SVN as r5614.
2011-09-28 19:44:24 +00:00
Thomas Goyne
c936306593
Rewrite nearly everything related to karaoke
...
Move most karaoke parsing/serializing/editing code to AssKaraoke rather
than being scattered all over the place, and add much better support for
non-karaoke override tags and comments.
Add a karaoke timing controller.
Redesign the karaoke syllable split/join interface to have a single mode
from which both splitting and joining can be done rather than separate
split and join modes.
Only show the karaoke split/join bar when karaoke mode is enabled.
Closes #886 , #987 , #1190 .
Originally committed to SVN as r5613.
2011-09-28 19:44:07 +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
Niels Martin Hansen
7250b89cbd
MSBuild project updates.
...
Originally committed to SVN as r5603.
2011-09-15 14:50:08 +00:00
Thomas Goyne
088976554c
Fix non-precomp-header compilation
...
Originally committed to SVN as r5602.
2011-09-15 06:12:26 +00:00
Thomas Goyne
d70fb7fe2d
Fix compilation errors
...
Originally committed to SVN as r5601.
2011-09-15 06:03:13 +00:00
Thomas Goyne
683dd6c0a9
Kill BaseGrid::SelectVisible
...
Originally committed to SVN as r5600.
2011-09-15 05:17:43 +00:00
Thomas Goyne
11c40188c2
Eliminate some old selection code in BaseGrid
...
Originally committed to SVN as r5599.
2011-09-15 05:17:36 +00:00
Thomas Goyne
05da23b22f
Mostly detangle the edit box from the subtitles grid
...
Originally committed to SVN as r5598.
2011-09-15 05:17:29 +00:00
Thomas Goyne
3c4191e649
Kill SubtitlesGrid::SetSubsToVideo
...
Originally committed to SVN as r5597.
2011-09-15 05:17:22 +00:00
Thomas Goyne
0c4eb020a4
Rewrite the shift times dialog, detangling it from the grid and making it modeless, and add support for characters outside the local charset in the shift history file path. Closes #1269 .
...
Originally committed to SVN as r5596.
2011-09-15 05:17:14 +00:00
Thomas Goyne
1f095b0a01
Remove the SubsEditBox from the context in favor of the SubsEditTextCtrl as it was the only public member of SubsEditBox
...
Originally committed to SVN as r5595.
2011-09-15 05:17:07 +00:00
Thomas Goyne
d022d2ae56
Eliminate pointless (and slow) setting of the edit box to its current text
...
Originally committed to SVN as r5594.
2011-09-15 05:17:00 +00:00