Commit Graph

1440 Commits

Author SHA1 Message Date
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 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
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
Thomas Goyne 5b3b821696 Always keep the active line visible in the grid
Originally committed to SVN as r5593.
2011-09-15 05:16:54 +00:00
Thomas Goyne 1cc5d4001a Rewrite the selection dialog, detangling it from SubtitlesGrid and making it modeless
Originally committed to SVN as r5592.
2011-09-15 05:16:47 +00:00
Thomas Goyne 584f36a744 Detangle the spellchecker dialog from the subtitles grid, make it modelss, and fix a lot of edges cases
Originally committed to SVN as r5591.
2011-09-15 05:16:41 +00:00
Thomas Goyne 934a5b24eb Refine the commit types
Switch to a bitmask with much more finely-grained information about what
changed in the commit, fixing a few potential correctness problems and
significantly improving the performance of several scenarios where commits
are spammed very frequently.

Originally committed to SVN as r5590.
2011-09-15 05:16:32 +00:00
Thomas Goyne 3f05fe6b3e Add support for labels in the audio display
Originally committed to SVN as r5589.
2011-09-15 05:16:26 +00:00
Thomas Goyne 3e708eab10 Slightly simplify parts of AudioDisplay
Originally committed to SVN as r5588.
2011-09-15 05:16:18 +00:00
Thomas Goyne e5d660e281 Hide visual tools while video is playing. Closes #1336.
Originally committed to SVN as r5586.
2011-09-02 00:03:40 +00:00
Thomas Goyne 182b57bd0f Fix compilation with precompiled headers off
Originally committed to SVN as r5579.
2011-08-31 04:23:18 +00:00
Thomas Goyne d82e2bb496 Use wxEVT_CONTEXT_MENU for context menus rather than right button down so that the context menu key works correctly. Updates #1238.
Originally committed to SVN as r5578.
2011-08-31 04:17:37 +00:00
Thomas Goyne 1c4410bb87 Make middle-click on the audio display seek the video to the clicked on time
Originally committed to SVN as r5577.
2011-08-31 04:17:31 +00:00
Thomas Goyne 02d4ee0cec Revert when the dialogue timing controller is created to avoid broken behavior when leaving karaoke mode
Originally committed to SVN as r5576.
2011-08-31 04:17:24 +00:00
Thomas Goyne 7155ace1d9 Fix merge error in ass_file.h
Originally committed to SVN as r5573.
2011-08-27 07:28:04 +00:00
Thomas Goyne 0de3ce42d5 Speed up BlockCache::Age somewhat
Originally committed to SVN as r5572.
2011-08-27 06:52:49 +00:00
Thomas Goyne 03d7849d12 Significantly speed up grid painting, especially when only some columns need to be repainted
Originally committed to SVN as r5571.
2011-08-27 06:52:42 +00:00
Thomas Goyne b8a1674c27 Remove some cruft from ScintillaTextCtrl and make SetUnicodeStyling significantly faster
Originally committed to SVN as r5570.
2011-08-27 06:52:35 +00:00
Thomas Goyne ccf9f64818 Make Assfile::SetScriptInfo slightly less slow
Originally committed to SVN as r5569.
2011-08-27 06:42:10 +00:00
Thomas Goyne e12bcc6aef Bind VideoContext::OnFileSave to the file save signal rather than the commit signal
Originally committed to SVN as r5568.
2011-08-27 06:42:03 +00:00
Thomas Goyne b14b2eceea Update the Makefile and vc2010 project
Originally committed to SVN as r5567.
2011-08-27 06:37:03 +00:00
Thomas Goyne 2006995645 Revert pending changes when audio is opened to fix problems with stale data
Originally committed to SVN as r5566.
2011-08-27 06:30:56 +00:00
Thomas Goyne a45b971b3a Redesign ToggleBitmap to operate on a command
Originally committed to SVN as r5565.
2011-08-27 06:30:49 +00:00
Thomas Goyne 3ecfd34bd3 Convert the audio toolbar over to the new dynamic toolbar system
Originally committed to SVN as r5564.
2011-08-27 06:30:42 +00:00
Thomas Goyne fc0db4fc36 Convert the VideoDisplay context menu over to the new menu system
Originally committed to SVN as r5563.
2011-08-27 06:30:35 +00:00
Thomas Goyne e2f464c94f Add commands for the video display context menu items
Originally committed to SVN as r5562.
2011-08-27 06:30:29 +00:00
Thomas Goyne ca6d5b1f3e Rearrange VideoDisplay's privates to make them a bit less randomly ordered and switch from auto_ptr to scoped_ptr
Originally committed to SVN as r5561.
2011-08-27 06:30:23 +00:00
Thomas Goyne bc70429ffb Remove #pragma once from subs_grid.h
Originally committed to SVN as r5560.
2011-08-27 06:30:16 +00:00
Thomas Goyne 41119ff6fc Convert the subtitles grid context menu over to the new menu system
Originally committed to SVN as r5559.
2011-08-27 06:30:10 +00:00
Thomas Goyne 017a6aa27d Do stuff to the AVS video provider
Remove the Matroska keyframe/timecode loading code, as opening MKVs via
Avisynth is dumb and didn't work very well anyway.

Fix framerate reporting by actually bothering to read the video
information before trying to use it.

Kill the VFW wrapper and just put the code in the avisynth video source.

If reading the keyframes from an avi file fails just warn the user
rather than refuse to load the video.

Originally committed to SVN as r5558.
2011-08-27 06:30:03 +00:00
Thomas Goyne 27867421b2 Fix some whitespace in frame_main.cpp
Originally committed to SVN as r5557.
2011-08-27 06:29:57 +00:00
Thomas Goyne fb1e6fcbaf Delete some obsolete event handling in FrameMain
Originally committed to SVN as r5556.
2011-08-27 06:29:51 +00:00
Thomas Goyne 5d07756838 Kill FrameMain::HasASSDraw as it's no longer used
Originally committed to SVN as r5555.
2011-08-27 06:29:45 +00:00
Thomas Goyne 626df4db05 Rewrite the dynamic menu generation code
Remove hardcoded assumptions about where in the menu items are and
instead bind menu items directly to commands so that customizing the
menu actually works.

Add support for user menu files that override the default one.

Add better support for multiple menus so that all of the menus can
potentially be created by the dynamic menu system rather than just the
main menu bar.

Add support for commands whose names change based on the current project
state so that undo and redo can work properly.

Simplify the menu json format and make commands responsible for
controlling what type of menu item is created rather than allowing
nonsensical configurations.

The Automation menu is currently not implemented.

Originally committed to SVN as r5554.
2011-08-27 06:29:36 +00:00
Thomas Goyne 319b454bb8 Add hotkeys to the tooltip for toolbar items
Originally committed to SVN as r5538.
2011-08-17 05:32:27 +00:00
Thomas Goyne d3e7f02597 Update the video box time boxes when detached video is first opened
Originally committed to SVN as r5537.
2011-08-17 05:32:21 +00:00
Thomas Goyne 20258438ec Fix incorrect initial size of the detached video dialog
Originally committed to SVN as r5536.
2011-08-17 05:32:15 +00:00
Thomas Goyne 561216d4c8 Make hotkey::check take a project context and make FrameMain::context private
Originally committed to SVN as r5532.
2011-07-29 23:16:55 +00:00
Thomas Goyne ef26170214 Rearrange FrameMain deinitialization so that things which depend on the project context are guaranteed to be destroyed before the context
Originally committed to SVN as r5531.
2011-07-29 23:16:46 +00:00
Thomas Goyne 65368c5f35 Detangle FrameMain and DialogDetachedVideo
Originally committed to SVN as r5530.
2011-07-29 23:16:36 +00:00
Thomas Goyne 3f50ce6d46 Delete FrameMain::LoadVFR as it's not longer used by anything
Originally committed to SVN as r5529.
2011-07-29 23:16:24 +00:00
Thomas Goyne 59755b5bb5 Add command to toggle medusa mode and fix the command names for many hotkeys
Originally committed to SVN as r5528.
2011-07-27 22:59:11 +00:00
Thomas Goyne 1cacc33d2d Simplify version.cpp
Originally committed to SVN as r5526.
2011-07-27 22:52:37 +00:00
Thomas Goyne 3a4c48d8df Fix compilation without precompiled headers
Originally committed to SVN as r5525.
2011-07-27 17:21:39 +00:00
Thomas Goyne db965eb766 Unbreak tag hiding in the grid
Originally committed to SVN as r5524.
2011-07-27 05:54:25 +00:00
Thomas Goyne d937bd80e7 Make opening audio from video actually work
Originally committed to SVN as r5523.
2011-07-27 05:36:42 +00:00
Thomas Goyne 0cc902487d Remove a now-bogus sanity check on thread count in the ffms video provider
Originally committed to SVN as r5522.
2011-07-27 05:36:36 +00:00
Thomas Goyne d3ab35a61f Use PersistLocation for DialogColorPicker
Originally committed to SVN as r5521.
2011-07-27 05:36:30 +00:00
Thomas Goyne 833c35f6ae Use PersistLocation for DialogStyleManager
Originally committed to SVN as r5520.
2011-07-27 05:36:24 +00:00
Thomas Goyne fc46b25726 Rewrite the translation assisant and make it work again
Originally committed to SVN as r5519.
2011-07-27 05:36:15 +00:00
Thomas Goyne 07b77203f1 Rewrite the styling assisant as changes to other parts of Aegisub have made almost all of it broken
Originally committed to SVN as r5518.
2011-07-27 05:36:09 +00:00
Thomas Goyne f906c3dcd2 Factor DialogDetachedVideo's position persistance logic into a seperate class so that it can be used for other dialogs.
Originally committed to SVN as r5517.
2011-07-27 05:36:02 +00:00
Thomas Goyne ead31761db Include lagi_pre.h in agi_pre.h and remove all duplicates
This eliminates some duplicated logic and potential tr1/non-tr1 header
mismatches, and removes the need for the #if defined(AGI_PRE) ||
defined(LAGI_PRE) guard that was used in a few of the libaegisub headers.

Originally committed to SVN as r5515.
2011-07-26 22:25:10 +00:00
Thomas Goyne 2ca6a04543 Remove the C++-only check from agi_pre.h and just don't include it in the C files
Originally committed to SVN as r5513.
2011-07-26 22:24:48 +00:00
Thomas Goyne 12318ced75 Remove the include guard from agi_pre.h as it seems to have magically become unnessesary
Originally committed to SVN as r5512.
2011-07-26 22:24:38 +00:00
Thomas Goyne 263d161d26 Don't pointlessly store a copy of the default hotkeys json in memory
Originally committed to SVN as r5510.
2011-07-26 20:26:09 +00:00
Thomas Goyne 8e975941b7 Fix inconsistant usage of 'Enter' and 'Return' by switching everything to 'Enter'
Originally committed to SVN as r5509.
2011-07-26 19:53:08 +00:00
Thomas Goyne af484a469d Make get_hotkey_str_first more likely to return the desired hotkey when multiple are available
Originally committed to SVN as r5508.
2011-07-26 19:52:57 +00:00
Thomas Goyne dabcdb2e8b Uninvert hotkey::Scan's return value
Originally committed to SVN as r5506.
2011-07-26 19:52:36 +00:00
Thomas Goyne ffe8c7a5d6 Only enable the 'Always' hotkey context when medusa mode is on
Originally committed to SVN as r5505.
2011-07-26 19:52:25 +00:00
Thomas Goyne 7deebf759b Remove the concept of disabled hotkeys; it's unnessesary and wasn't actually used
Originally committed to SVN as r5504.
2011-07-26 19:52:15 +00:00
Thomas Goyne 87abcddd87 Make the MRU code not so bizzarely overcomplicated
Originally committed to SVN as r5502.
2011-07-26 19:51:56 +00:00
Thomas Goyne 6f22088b06 Update libass include path to not look for the now nonexistant in-repo copy
Originally committed to SVN as r5494.
2011-07-20 20:09:03 +00:00
Thomas Goyne 4e0725104d Set default decoding threads for ffms to -1 so that it decides the number automatically
Originally committed to SVN as r5492.
2011-07-20 19:17:56 +00:00
Thomas Goyne 72bc33fda3 Fix compilation errors with precompiled headers disabled
Originally committed to SVN as r5484.
2011-07-16 06:42:55 +00:00
Thomas Goyne 0616b39ffe Fix a pile of warnings
Originally committed to SVN as r5483.
2011-07-16 05:01:36 +00:00
Thomas Goyne b509cb0be5 s/WITH_/HAVE_ in src/Makefile so that libass and ffms are actually used when present
Originally committed to SVN as r5482.
2011-07-16 03:52:30 +00:00
Thomas Goyne eea30df7db Kill in-repo libass and ffms and clean up some old cruft in the configure script
Originally committed to SVN as r5480.
2011-07-16 03:36:28 +00:00
Thomas Goyne da3e7e4d88 Only register the assdraw command on windows when assdraw is present
Originally committed to SVN as r5479.
2011-07-15 23:44:03 +00:00
Thomas Goyne 3d22da9fbc Skip invalid commands when constructing the toolbar and menu rather than exploding
Originally committed to SVN as r5478.
2011-07-15 23:43:52 +00:00
Thomas Goyne 26695a8cc8 Eliminate memory leak in menu code
Originally committed to SVN as r5476.
2011-07-15 17:36:44 +00:00
Thomas Goyne 5c7a848f21 Delete the menu on shutdown
Originally committed to SVN as r5475.
2011-07-15 17:36:35 +00:00
Thomas Goyne be8d841577 Delete built in export filters on exit
Originally committed to SVN as r5474.
2011-07-15 17:36:26 +00:00
Thomas Goyne faecc3304d Delete all commands on shutdown
Originally committed to SVN as r5473.
2011-07-15 17:36:17 +00:00
Thomas Goyne 1e2abbd45a Fix leak of all icon bitmaps
Originally committed to SVN as r5471.
2011-07-15 17:24:05 +00:00
Thomas Goyne 7842ccbeb1 Kill SubtitlesGrid::SetVideoToSubs
Originally committed to SVN as r5470.
2011-07-15 04:25:23 +00:00
Thomas Goyne e75ea7d2e8 Default to 16x16 icons if the requested size is invalid
The options system currently doesn't support constraints beyond those
forced by the type system, making it easy to set the icon size to a
value which would make it impossible to get to the preferences dialog to
fix it.

Originally committed to SVN as r5469.
2011-07-15 04:06:29 +00:00
Thomas Goyne 88f0659307 Rewrite the toolbar generation code
The old toolbar code didn't actually support any nontrivial
customization of toolbars, as it had a hardcoded list of commands which
would be enabled or disabled, and the checks for enabling/disabling
toolbar buttons was done only in the specific situations which those
commands used.

Make icon size a user customizable option and add support for
dynamically changing it at runtime.

Originally committed to SVN as r5468.
2011-07-15 04:06:23 +00:00
Thomas Goyne f4d44f7c18 Move the zoom box from the main toolbar to the video box
Originally committed to SVN as r5467.
2011-07-15 04:06:16 +00:00
Thomas Goyne b93bb888e3 Use IsActive in frame_main
Originally committed to SVN as r5466.
2011-07-15 04:06:10 +00:00
Thomas Goyne 2b9d47b9fe Add IsActive method to commands to indicate whether or not a radio/checkbox is currently selected
Originally committed to SVN as r5465.
2011-07-15 04:06:03 +00:00
Thomas Goyne ec2c36c743 Add type flags to commands
Originally committed to SVN as r5464.
2011-07-15 04:05:56 +00:00
Thomas Goyne 0af7ae7fca Clean up frame_main a bit
Delete some pointless comments, move documentation to the header, and
extend it a bit

Sort prototypes in the header

Move event IDs out of the header

Remove a few unused includes

Assorted cosmetic changse

Originally committed to SVN as r5463.
2011-07-15 04:05:49 +00:00
Thomas Goyne 95cadb5226 Clean up base_grid a bit
Reduce the visibilty of many members and document some of them

Cut down on recreation of wxPen and wxBrush objects in DrawImage,
probably speeding up painting somewhat

Simplify handling of extendRow

Move event IDs to base_grid.cpp

Remove worthless comments and dead code

Assorted cosmetic changes

Originally committed to SVN as r5462.
2011-07-15 04:05:43 +00:00
Thomas Goyne fdb6d108f8 Use agi::Context::Validate for the main frame's menus and toolbar
Originally committed to SVN as r5461.
2011-07-15 04:05:37 +00:00
Thomas Goyne ef4bfb1535 use agi::Context::Validate for subsgrid context menu item validation
Originally committed to SVN as r5460.
2011-07-15 04:05:31 +00:00
Thomas Goyne f098e2fac8 Add an optional Validate method to commands
Originally committed to SVN as r5459.
2011-07-15 04:05:22 +00:00
Thomas Goyne d405b061df Eliminate a lot of unnessesary includes of subs_grid.h
Originally committed to SVN as r5458.
2011-07-15 04:05:15 +00:00
Thomas Goyne 1d51dd20d2 Return a const reference from GetSelectedSet rather than copying it on every call
Originally committed to SVN as r5457.
2011-07-15 04:05:09 +00:00
Thomas Goyne 2eb4c856e8 Simplify and clean up command management code
Originally committed to SVN as r5456.
2011-07-15 04:05:01 +00:00
Thomas Goyne e6dc86212b Use the active line rather than first selected line in SubsEditBox
Originally committed to SVN as r5455.
2011-07-15 04:04:54 +00:00
Thomas Goyne 4d924b3f27 Move line joining from SubtitlesGrid to the commands
Originally committed to SVN as r5454.
2011-07-15 04:04:48 +00:00
Thomas Goyne 6ec63cdde1 Clean up libaegisub includes
Remove cajun includes from all public headers and the precompiled header

Add a pile of missing standard library headers used in multiple files
to lagi_pre

Originally committed to SVN as r5452.
2011-07-15 04:04:34 +00:00
Thomas Goyne 48fbedd25b Remove pointless #pragma onces
Originally committed to SVN as r5451.
2011-07-15 04:04:28 +00:00
Thomas Goyne 7e5e82090f Remove incorrect inclusions of config.h in headers
Originally committed to SVN as r5450.
2011-07-15 04:04:21 +00:00
Thomas Goyne 256e098aa7 Remove header include order requirements
Originally committed to SVN as r5449.
2011-07-15 04:04:13 +00:00
Thomas Goyne 63538d125e Implement lead in/out commands
Originally committed to SVN as r5448.
2011-07-15 04:04:07 +00:00
Thomas Goyne 401f026180 Fix crash when detaching video
Originally committed to SVN as r5447.
2011-07-15 04:04:01 +00:00
Thomas Goyne 0cb42343e0 Fix the video zoom dropdown
Originally committed to SVN as r5446.
2011-07-15 04:03:54 +00:00
Thomas Goyne 9c97544fc5 Temporary hack to make the visual typesetting tool mode hotkeys work
Originally committed to SVN as r5445.
2011-07-15 04:03:48 +00:00
Thomas Goyne 3df2885ce5 Temporary hack to make automation macros work
Originally committed to SVN as r5444.
2011-07-15 04:03:42 +00:00
Niels Martin Hansen 9d1cdab638 Merge rewritten ALSA player from 2.1.9. Closes #1106.
Not tested for compileability, and should probably also have printf's converted to logging statements.

Originally committed to SVN as r5421.
2011-06-12 00:45:02 +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
Grigori Goronzy e67b0ea54b wxGTK: do not freeze/thaw the main frame window
On certain configurations, this is problematic, because windows
sometimes are not thaw()'ed correctly, leading to an interface
that doesn't update. This is a workaround that simply disables all
freeze/thaw on the main frame. I haven't noticed any performance
issues.

Originally committed to SVN as r5373.
2011-02-23 13:14:48 +00:00
Amar Takhar d6d06b53eb Add Audio/OSS/Device option required by the OSS audio player.
Originally committed to SVN as r5372.
2011-02-23 05:14:25 +00:00
Amar Takhar 6d96457555 Remove "Font/Cache/FontConfig" in lieu of "Cache/FontConfig" and add "Cache/FFmpegSource".
Originally committed to SVN as r5334.
2011-02-09 21:57:31 +00:00
Amar Takhar 436ea23e4c Instantiate agi::Path, I have no idea if this works on windows since my build is still broken and jfs' code is untested. If someone else doesn't get to it I'll see about fixing my build and making it work. (if it's even broken...)
Originally committed to SVN as r5323.
2011-02-08 05:05:54 +00:00
Amar Takhar b3c5bb6e92 Add corrected default_path.json which should have been in r5315.
Originally committed to SVN as r5317.
2011-02-07 18:02:04 +00:00
Thomas Goyne b3562eb917 Implement the overscan mask command
Originally committed to SVN as r5268.
2011-01-25 04:24:19 +00:00
Thomas Goyne 95c45b3102 Remove pointless #pragma once from video_box.h
Originally committed to SVN as r5267.
2011-01-23 07:48:15 +00:00
Thomas Goyne 8d968e4dd5 Move the code for updating the time/frame display boxes from VideoDisplay to VideoBox
Originally committed to SVN as r5266.
2011-01-23 07:48:07 +00:00
Thomas Goyne 091c8170f2 Make several of VideoDisplay's members private
Originally committed to SVN as r5265.
2011-01-23 07:47:59 +00:00
Thomas Goyne 14420102e4 Update the frame number display and visual typesetting tool when opening a new video
Originally committed to SVN as r5264.
2011-01-23 07:47:52 +00:00
Thomas Goyne 10c3a2ca16 Only bind wxEVT_COMMAND_MENU_SELECTED once rather than once per command as large numbers of event handlers make wx explode
Originally committed to SVN as r5263.
2011-01-23 06:45:03 +00:00
Thomas Goyne 88be46c657 Add missing #include <algorithm> in ass_export_filter.cpp
Originally committed to SVN as r5262.
2011-01-21 06:32:02 +00:00
Thomas Goyne 41f9426634 Make the "From Video" button in the framerate transform configuration actually do something
Originally committed to SVN as r5261.
2011-01-21 06:09:28 +00:00
Thomas Goyne b851e50092 Open the correct dialog in tool/export
Originally committed to SVN as r5260.
2011-01-21 06:09:20 +00:00
Thomas Goyne ab00aa74ea Actually initialize the context in DialogResample
Originally committed to SVN as r5259.
2011-01-21 06:09:13 +00:00
Thomas Goyne af92002d8c Redesign export filters to not be static singletons, removing the need to jump through hoops to avoid static initialization order issues
Originally committed to SVN as r5258.
2011-01-21 06:09:04 +00:00
Thomas Goyne 83a461ca63 Port DialogVideoDetails to agi::Context
Originally committed to SVN as r5257.
2011-01-21 04:57:44 +00:00
Thomas Goyne 6ad2098749 Make VideoSlider use commands for its key events
Originally committed to SVN as r5256.
2011-01-21 04:57:36 +00:00
Thomas Goyne 1f79d89e5b Port DialogJumpTo to agi::Context
Originally committed to SVN as r5255.
2011-01-21 04:57:28 +00:00
Thomas Goyne e8b8f876bd Eliminate some uses of VideoContext::Get()
Originally committed to SVN as r5254.
2011-01-21 04:57:21 +00:00
Thomas Goyne 9c07798cb5 Delete some dead code in FrameMain
Originally committed to SVN as r5253.
2011-01-21 04:57:12 +00:00
Thomas Goyne 71daddeeb2 Convert the video box buttons over to commands
Originally committed to SVN as r5252.
2011-01-20 05:58:01 +00:00
Thomas Goyne b286339ce0 Eliminate a few uses of VideoContext::Get()
Originally committed to SVN as r5251.
2011-01-20 05:57:53 +00:00
Thomas Goyne 9ec1e1ba79 Explicitly set Collisions to the default (Normal) in the default file so that opening and closing the properties dialog on the default file is a no-op
Originally committed to SVN as r5250.
2011-01-20 05:57:46 +00:00
Thomas Goyne 79e11ef5cf Convert the properties dialog over to operating on a context
Originally committed to SVN as r5249.
2011-01-20 05:57:38 +00:00
Thomas Goyne 5f0d5757be Make NumValidator less bizzare
Originally committed to SVN as r5248.
2011-01-20 05:57:30 +00:00
Thomas Goyne a8ebc1e456 Make AssFile handle autosaving on every commit itself rather than going through FrameMain
Originally committed to SVN as r5247.
2011-01-20 05:57:23 +00:00
Thomas Goyne cecaff404b Finish killing FrameMain::SaveSubtitles
Originally committed to SVN as r5246.
2011-01-20 05:57:15 +00:00
Thomas Goyne 5270a3bf3a Remove withCharset parameter from FrameMain::SaveSubtitles as it was never used (saving with a charset is done by exporting)
Originally committed to SVN as r5245.
2011-01-20 05:57:08 +00:00
Thomas Goyne 1a26edc869 Delete FrameMain::SynchronizeProject as the last use of it was removed in r5207
Originally committed to SVN as r5244.
2011-01-20 05:56:59 +00:00
Niels Martin Hansen 0762422b20 Super fancy property pages for configuring the build in VC10. Doesn't want to display the defaults (properly) but that's not so important :)
Originally committed to SVN as r5243.
2011-01-19 06:40:23 +00:00
Thomas Goyne ccddf8eab1 Make hotkey::check return whether any hotkeys matched, and skip events which did not match any hotkeys
Originally committed to SVN as r5241.
2011-01-19 03:12:46 +00:00
Thomas Goyne ec3d1a9d35 Don't try to reorder things by swapping entries in a set
Originally committed to SVN as r5240.
2011-01-18 06:01:29 +00:00
Thomas Goyne 2183442089 Remove the unmodifiered frame left/right hotkeys from default
Originally committed to SVN as r5239.
2011-01-18 05:13:34 +00:00
Thomas Goyne 45c33ab675 Add commands for the remaining subtitles grid hotkeys and remove SubtitlesGrid::OnKeyDown entirely
Originally committed to SVN as r5238.
2011-01-18 05:13:26 +00:00
Thomas Goyne c3325cb543 Remove AegisubApp::OnKeyDown
It was an odd hack to ensure that medusa mode didn't mark keydown events
as processed (resulting in EVT_CHAR never triggering), but there should
be a better way to do this when we reintroduce global timing hotkeys.

Originally committed to SVN as r5237.
2011-01-18 03:42:51 +00:00
Thomas Goyne c9656381f1 Remove now-pointless #pragma once from audio_box.h
Originally committed to SVN as r5234.
2011-01-17 23:54:13 +00:00
Thomas Goyne e0051e09e3 Use commands for most of the buttons in the audio box and add hotkey support
Originally committed to SVN as r5233.
2011-01-17 23:54:05 +00:00
Thomas Goyne f79c9e57a0 Add commands for most of the audio box buttons/hotkeys
Originally committed to SVN as r5232.
2011-01-17 23:53:59 +00:00
Thomas Goyne 33d8dd2975 Update TooltipManager to work with commands
Originally committed to SVN as r5231.
2011-01-17 23:53:52 +00:00
Thomas Goyne 04a4c074b0 Add function to get the string representation of the hotkeys for a command, use it when generating the menu
Originally committed to SVN as r5230.
2011-01-17 23:53:46 +00:00
Thomas Goyne f2df585797 Move audio display hotkeys to the Audio category
Originally committed to SVN as r5221.
2011-01-16 08:50:00 +00:00
Thomas Goyne a2af06f302 Fix a few errors in the default hotkeys
Originally committed to SVN as r5220.
2011-01-16 08:49:53 +00:00
Thomas Goyne 8c8b149236 Fix a few warnings in the reporter
Originally committed to SVN as r5219.
2011-01-16 07:18:06 +00:00
Thomas Goyne be71a66600 Add command and AudioController support for saving audio clips
Originally committed to SVN as r5218.
2011-01-16 07:18:00 +00:00
Thomas Goyne 403d465475 Fix hotkeys with non-alphanumeric keys other than back, return, escape, space and delete
Originally committed to SVN as r5217.
2011-01-16 07:17:53 +00:00
Thomas Goyne a1bd974969 Partially convert the subtitles grid's context menu over to using commands
Originally committed to SVN as r5216.
2011-01-16 07:17:46 +00:00
Thomas Goyne df1dce3593 Kill SubtitlesGrid::ass and SubtitlesGrid::EditBox and convert everything that used them over to agi::Context
Originally committed to SVN as r5215.
2011-01-16 07:17:36 +00:00
Thomas Goyne 778338fa2b Remove FrameMain::menuCreated
Originally committed to SVN as r5214.
2011-01-16 07:17:29 +00:00
Thomas Goyne 6c0db27fac Remove some of FrameMain's friends
Originally committed to SVN as r5213.
2011-01-16 07:17:24 +00:00
Thomas Goyne 362e4c776b Make a large chunk of FrameMain's members private
Originally committed to SVN as r5212.
2011-01-16 07:17:17 +00:00
Thomas Goyne d84b768171 Remove the 'audio' and 'grid' public members from VideoContext and migrate everything that used them over to Context
Originally committed to SVN as r5211.
2011-01-16 07:17:08 +00:00
Thomas Goyne 169d3cd31c Add the selection controller to the context
Originally committed to SVN as r5210.
2011-01-16 07:17:02 +00:00
Thomas Goyne 8544565c0e Rearrange FrameMain initialization order to seperate context initialization and control creation a bit, and eliminate local pointers to non-view parts of the context
Originally committed to SVN as r5209.
2011-01-16 07:16:54 +00:00
Thomas Goyne 9f25b51a54 Rearrange context.h
Originally committed to SVN as r5208.
2011-01-16 07:16:48 +00:00
Thomas Goyne 7210ea17d8 Add pre-save signal to AssFile and move most of the logic in FrameMain::SaveSubtitles to slots for this signal
Originally committed to SVN as r5207.
2011-01-16 07:16:40 +00:00
Thomas Goyne 59300cbc27 Add a subtitle open signal and move most of the logic in FrameMain::LoadSubtitles to slots for this signal.
Originally committed to SVN as r5206.
2011-01-16 07:16:33 +00:00
Thomas Goyne 314a07c9ab Move post-video-load logic from FrameMain::LoadVideo to FrameMain::OnVideoOpen, and open videos via VideoContext directly
Originally committed to SVN as r5205.
2011-01-16 07:16:27 +00:00
Thomas Goyne 1664faf159 Make SubtitlesGrid listen for changes to "Subtitle/Grid/Hide Overrides" rather than refreshing it from the command
Originally committed to SVN as r5204.
2011-01-16 07:16:21 +00:00
Thomas Goyne bee57ccad3 Make DialogSpellChecker operate on a context rather than going through FrameMain
Originally committed to SVN as r5203.
2011-01-16 07:16:13 +00:00
Thomas Goyne 71937757a2 Remove #pragma once from context.h and fix resulting compilation errors
Originally committed to SVN as r5201.
2011-01-16 07:16:00 +00:00
Thomas Goyne 64ebce6c0f Move NextFrame and PrevFrame from VideoSlider to VideoContext
Originally committed to SVN as r5200.
2011-01-16 07:15:53 +00:00
Thomas Goyne 08ec92046f Implement MRU commands
Originally committed to SVN as r5199.
2011-01-16 07:15:46 +00:00
Thomas Goyne ecea389e62 Add macro for defining command groups (i.e. menus) as they're almost entirely boilerplate
Originally committed to SVN as r5198.
2011-01-16 07:15:40 +00:00
Thomas Goyne 583aed4533 Convert commands to structs to eliminate a line of boilerplate per command
Originally committed to SVN as r5197.
2011-01-16 07:15:32 +00:00
Thomas Goyne 9779eacbf1 Implement almost all stubbed-out commands other than the MRU ones
Originally committed to SVN as r5196.
2011-01-16 07:15:24 +00:00
Thomas Goyne 7afbce439d AppName has to be set before ?user can be used
Originally committed to SVN as r5195.
2011-01-16 07:15:18 +00:00
Thomas Goyne f604e0bacd Add spacers to the main toolbar
Originally committed to SVN as r5194.
2011-01-16 07:15:11 +00:00
Thomas Goyne 77cb5b75b8 Disable the video details menu item when no video is loaded
Originally committed to SVN as r5193.
2011-01-16 07:15:05 +00:00
Thomas Goyne 685d4841dc Wrap documentation in audio_timing.h at 80 columns
Originally committed to SVN as r5192.
2011-01-16 07:14:59 +00:00
Thomas Goyne daa8c58cd8 Don't announce marker movements that update the styled ranges as well; it's redundant and the marker move signal is more useful as only non-interactive markers.
Originally committed to SVN as r5191.
2011-01-16 07:14:53 +00:00
Thomas Goyne cc5952035e Don't declare methods as virtual in a class not intended to be inherited from
Originally committed to SVN as r5190.
2011-01-16 07:14:47 +00:00
Amar Takhar 75b732bf60 Use lowercase filenames for OS X includes. HFS is case-insensitive and since I'm cross-compiling the OS X version from Linux it fails when you try to include files using uppercase names when they're actually lowercase.
Originally committed to SVN as r5173.
2011-01-11 17:52:17 +00:00
Amar Takhar f576bf912a Add missing headers.
Originally committed to SVN as r5171.
2011-01-11 17:22:44 +00:00
Amar Takhar a3534f2cae Fix identifers, _misc is no longer used.
Originally committed to SVN as r5169.
2011-01-11 17:00:11 +00:00
Amar Takhar 3ce2b1d802 Fix build to use new method.
Originally committed to SVN as r5168.
2011-01-11 16:59:03 +00:00
Amar Takhar 1a9f9abbed Add respack manifests.
Originally committed to SVN as r5167.
2011-01-11 16:58:47 +00:00
Amar Takhar 29f02c515b Move buttons from 16/* and 24/* to button/*_(16|24).png. This is a closer representation of what they're like in-source and in the future we'll only have 1 version of each icon
Originally committed to SVN as r5166.
2011-01-11 16:57:44 +00:00
Amar Takhar 03ca62df22 Include dependency files into the Makefiles. This gives us dep tracking for headers.
Originally committed to SVN as r5162.
2011-01-10 21:27:39 +00:00
Amar Takhar 0d7b2c6e76 Add missing headers when not using precompiled header support. Some minor formatting in libaegisub/common/hotkey.cpp.
Originally committed to SVN as r5135.
2011-01-08 12:10:40 +00:00
Amar Takhar c95d92c2ca Add a temp conditional to avoid exceptions when a command doesn't exist since the hotkeys aren't fully converted.
Originally committed to SVN as r5134.
2011-01-06 15:33:55 +00:00
Thomas Goyne b56b641122 MSVC hurfs a blurf when two files in the same project have the same name
Originally committed to SVN as r5133.
2011-01-05 18:40:46 +00:00
Thomas Goyne e450cb3e7e Fix include paths
Originally committed to SVN as r5132.
2011-01-05 18:40:37 +00:00
Amar Takhar 1ac31c65bf Remove medusa commands, they don't technically exist anymore as we call it "global timing mode" now.
Originally committed to SVN as r5129.
2011-01-05 14:19:11 +00:00
Amar Takhar 2804e0cb52 Actually trigger a hotkey if it exists.
Originally committed to SVN as r5128.
2011-01-05 14:07:23 +00:00
Amar Takhar 167f09a610 Merge the dynamic menu, hotkey and toolbar branch to trunk. This doesn't include Windows support as vs2008 was being a major pain. This involves revisions r4921:4950, r4961:5002, r5005:5006, r5008:5056, r5062:5065, r5072, r5081:5082, r5087, r5096:5110, r5124:5125. Updates #1258.
Originally committed to SVN as r5126.
2011-01-05 13:00:46 +00:00
Amar Takhar efe88823c7 Add missing header.
Originally committed to SVN as r5091.
2011-01-02 02:37:05 +00:00
Amar Takhar 96a567086c Remove calls to wxPrintf and replace them with LOG_E().
Originally committed to SVN as r5090.
2011-01-02 02:33:24 +00:00
Amar Takhar 64f60e0215 Add missing header, thanks.. closes #1255
Originally committed to SVN as r5089.
2011-01-02 01:44:54 +00:00
Thomas Goyne d282b425c0 Update the audio display when keyframes are loaded/unloaded
Originally committed to SVN as r5086.
2010-12-31 23:53:42 +00:00
Thomas Goyne 7347c09ac0 Use Bind rather than Connect in AudioController
Originally committed to SVN as r5085.
2010-12-31 23:53:36 +00:00
Thomas Goyne cf89403a5b Listen for timecode load signals in AudioMarkerProviderKeyframes
Originally committed to SVN as r5084.
2010-12-31 23:53:30 +00:00
Thomas Goyne 4fdad923ad Timecodes and keyframes are always sorted, so fix some code that assumed they could be unsorted
Originally committed to SVN as r5083.
2010-12-31 23:53:23 +00:00
Thomas Goyne 17c07cc131 Add timecodes opened signal to VideoContext
Originally committed to SVN as r5080.
2010-12-31 21:03:18 +00:00
Thomas Goyne 824294078f Move YUV -> RGB conversion to VideoProviderYUV4MPEG and remove support for formats other than RGB32 from AegiVideoFrame
Originally committed to SVN as r5079.
2010-12-31 21:03:11 +00:00
Thomas Goyne 833e69b09f Replace MIN/MAX/MID with std::min/std::max/mid
Originally committed to SVN as r5078.
2010-12-31 21:03:03 +00:00
Thomas Goyne a566955047 Rename signals.h to signal.h
Originally committed to SVN as r5075.
2010-12-31 21:02:42 +00:00
Thomas Goyne edff7d6a2d Rewrite keyframe loading and saving code and move it to libaegisub
Originally committed to SVN as r5073.
2010-12-31 21:02:17 +00:00
Thomas Goyne ea93f6afba Remove pointless performance hurting call to glFinish
Originally committed to SVN as r5071.
2010-12-30 22:19:42 +00:00
Thomas Goyne 5370f3fa04 Make ThreadedFrameSource never lock jobMutex and fileMutex at the same time. Moderately improves responsiveness of the audio display while video is loaded.
Originally committed to SVN as r5070.
2010-12-30 22:19:36 +00:00
Thomas Goyne ca8b6d8525 Wrap docs in audio_controller.h at 80 columns rather than 100
Originally committed to SVN as r5069.
2010-12-30 22:19:30 +00:00
Thomas Goyne f3d1bc23bd Reduce the amount of repainting done when the selection changes to a new one that doesn't overlap the old selection
Originally committed to SVN as r5068.
2010-12-30 22:19:24 +00:00
Thomas Goyne 364f398c5f Kill VideoContext::keyframesRevision, which is no longer used
Originally committed to SVN as r5067.
2010-12-30 22:19:18 +00:00
Thomas Goyne 4684d5c4f8 Only refresh the audio portion of the audio display when markers are moved. Fixes bug where the timeline would sometimes be bold.
Originally committed to SVN as r5066.
2010-12-30 22:19:12 +00:00
Thomas Goyne a64dc820a4 Remove VideoDisplay's border as on Windows it's rendered on top of the client area, hiding part of the video and throwing off hit detection for the visual tools
Originally committed to SVN as r5061.
2010-12-30 19:13:53 +00:00
Thomas Goyne 5f0ba21e30 Fix bug where the first gl glyph in each row after the first would be overwritten, resulting in the incorrect number being shown in the cross visual tool
Originally committed to SVN as r5060.
2010-12-30 19:13:45 +00:00
Thomas Goyne 73c0515954 Add handling for invalid timecode errors when opening video
Originally committed to SVN as r5059.
2010-12-29 19:35:45 +00:00
Thomas Goyne bd7ac88f6b Apply container audio delay when the FFMS2 version used supports it. Closes #1251.
Originally committed to SVN as r5058.
2010-12-29 06:27:02 +00:00
Thomas Goyne ce2adcea79 Revert r4828 as I decided to fix it in FFMS2 instead.
Originally committed to SVN as r5057.
2010-12-29 06:26:56 +00:00
Thomas Goyne 36ded6ef89 Disable events while processing all file change events in SubsEditBox as apparently wxComboBox::Clear triggers change events on some platforms
Originally committed to SVN as r4960.
2010-12-12 00:34:02 +00:00
Niels Martin Hansen ba6fded1cd Make sure Windows builds don't get min and max macros defined from WinDef.h.
Originally committed to SVN as r4957.
2010-12-11 18:27:28 +00:00
Niels Martin Hansen d188673e7c Remove #ifdef block around #include "agi_pre.h", as it causes the VC10 compiler to explode. Hopefully this won't break build somewhere else.
Originally committed to SVN as r4956.
2010-12-11 16:52:12 +00:00
Niels Martin Hansen 60b3ea15c3 Switch _WINDOWS for _WIN32, as _WINDOWS doesn't seem to be defined using MSVC 2010 headers. On the other hand, _WIN32 is always defined by the compiler.
Originally committed to SVN as r4955.
2010-12-11 16:47:03 +00:00
Amar Takhar b0eb1dfe7c Add missing source files to Makefile.
Originally committed to SVN as r4918.
2010-12-08 14:31:24 +00:00
Thomas Goyne a6a4132ab5 Make the audio timing controller commit changes made
Originally committed to SVN as r4914.
2010-12-08 08:10:00 +00:00
Thomas Goyne e1e98d0ddd Only refresh the time columns of the subtitle grid when times change
Originally committed to SVN as r4913.
2010-12-08 08:09:55 +00:00
Thomas Goyne 27cb511556 Make blank audio actually blank
Originally committed to SVN as r4912.
2010-12-08 08:09:49 +00:00
Thomas Goyne a6236fa20c Only work around wxMac bugs on wxMac
Originally committed to SVN as r4911.
2010-12-08 08:09:44 +00:00