Commit Graph

126 Commits

Author SHA1 Message Date
Thomas Goyne 1285584e89 Add ?local for the user's local config dir; use it for FFMS2 indexes
Originally committed to SVN as r6235.
2012-01-08 01:34:57 +00:00
Thomas Goyne dc58b3db40 Clean up SetThreadName a little
Originally committed to SVN as r6217.
2012-01-08 01:05:51 +00:00
Thomas Goyne 71968aa4f3 Fix wxString::Format assertion failures in the stack walker
Originally committed to SVN as r6203.
2012-01-08 01:04:16 +00:00
Thomas Goyne e34b401201 Return -1 from AegisubApp::FilterEvent rather than wxEventFilter::Event_Skip, as the enum was added in wx 2.9.4
Originally committed to SVN as r6188.
2011-12-30 15:51:58 +00:00
Thomas Goyne 84d1315736 Write the config and MRU files to ?data in portable mode rather than ?user
Originally committed to SVN as r6187.
2011-12-30 01:21:03 +00:00
Thomas Goyne d192f1c332 Fix bad format string that made stack trace writing fail after one stack frame
Originally committed to SVN as r6184.
2011-12-29 05:36:49 +00:00
Thomas Goyne e36759a3b2 Remove the undocumented milisecond precision option
Originally committed to SVN as r6121.
2011-12-22 21:28:32 +00:00
Thomas Goyne ec63fad7c5 Make help buttons fall back to the docs wiki if the scraped html files aren't available locally
Originally committed to SVN as r6084.
2011-12-22 21:22:31 +00:00
Thomas Goyne cd3b9bfa37 Enable propagation of key events so that hotkeys work regardless of what's focused
Originally committed to SVN as r6054.
2011-12-22 21:17:58 +00:00
Thomas Goyne 59273bac4a Reenable the assertion failure handler
Originally committed to SVN as r6053.
2011-12-22 21:17:49 +00:00
Thomas Goyne f1ff18545a Make more of AegisubApp's methods private
Originally committed to SVN as r6049.
2011-12-22 21:17:12 +00:00
Thomas Goyne 2ec3ff157b Kill AegisubApp::OpenURL. It makes no sense for the top level application object to be doing this and it doesn't even save any code.
Originally committed to SVN as r6048.
2011-12-22 21:17:02 +00:00
Thomas Goyne 2439381c33 Fix misspelled word in the crash log
Originally committed to SVN as r6002.
2011-12-22 21:09:51 +00:00
Thomas Goyne 95a329a1e2 Flush the clipboard on exit so that it isn't cleared
Originally committed to SVN as r5957.
2011-12-02 04:35:59 +00:00
Thomas Goyne 6c995e7780 Add support for modifying hotkeys while the program is running
Originally committed to SVN as r5793.
2011-10-28 20:40:32 +00:00
Thomas Goyne 10464e4617 Kill AegisubApp::OnMouseWheel. It breaks the mouse wheel in dialogs, and it didn't actually work at the moment and isn't really the right way to handle mouse wheel forwarding in the first place
Originally committed to SVN as r5771.
2011-10-24 20:18:16 +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 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 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 1cacc33d2d Simplify version.cpp
Originally committed to SVN as r5526.
2011-07-27 22:52:37 +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 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 2eb4c856e8 Simplify and clean up command management code
Originally committed to SVN as r5456.
2011-07-15 04:05:01 +00:00
Thomas Goyne 256e098aa7 Remove header include order requirements
Originally committed to SVN as r5449.
2011-07-15 04:04:13 +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
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 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 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 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 e450cb3e7e Fix include paths
Originally committed to SVN as r5132.
2011-01-05 18:40:37 +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 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
Thomas Goyne 3345797ff6 Use signals in AudioController and AudioTimingController
Originally committed to SVN as r4907.
2010-12-08 08:09:16 +00:00
Amar Takhar c15777f844 Merge audio_display_rewrite branch to trunk. This is not a complete work, don't expect to time anything for a while.
Originally committed to SVN as r4903.
2010-12-08 03:36:10 +00:00
Thomas Goyne 36a102e558 Improve error reporting when an error occurs during startup
Originally committed to SVN as r4820.
2010-10-20 00:28:37 +00:00
Amar Takhar d3fca38ee7 Disable installing the assert handler until I find time to figure out how I can call the default handler which provides the popup / some handy debug tools.
Originally committed to SVN as r4787.
2010-09-15 05:19:01 +00:00
Amar Takhar 6f63041156 Redirect assertions to the logging system. This doesn't create a popup dialogue like the default method does. If someone actually wants that to happen let me know and I'll write something.
Originally committed to SVN as r4780.
2010-09-14 22:05:19 +00:00
Thomas Goyne f37e1bf87a Fix thread warnings on shutdown on unix
Originally committed to SVN as r4766.
2010-08-27 01:01:35 +00:00
Thomas Goyne 459b9e317d Display an error when the config file is corrupted rather than just crashing
Originally committed to SVN as r4751.
2010-08-25 19:31:11 +00:00
Amar Takhar d3077c3b8b Change emit_stdout to a private member variable, this was changed in r4575. Putting it on the stack won't work since it'll just unsubscribe which we don't want. Unfortunatly this is wrapped with _DEBUG everywhere in main.(h|cpp) if we need more debugging code in the future I'll figure out a better solution.
Originally committed to SVN as r4712.
2010-07-25 17:33:44 +00:00
Thomas Goyne acba2c6b63 Rewrite VFR handling in Aegisub.
Kill vfr.h and vfr.cpp and use the libaegisub versions of them instead.

Rather than the globals VFR_Input and VFR_Output, everything related to
frame rate is now part of the video context. Most things which used to
use VFR_Output now call VideoContext::TimeAtFrame etc.; video providers,
rather than modifying VFR_Input directly, now have getters for their
frame rates which VideoContext calls. Read-only public access to
VFR_Input and VFR_Output are still provided (hopefully temporarily) for
a few things which were awkward to do through VideoContext.

The Avisynth provider now might correctly handle VFR MKVs which can be
opened with DirectShowSource but not DSS2.

Rework keyframe handling as well, so that it continues to match the vfr
handling in design and implementation.

Originally committed to SVN as r4662.
2010-07-08 04:29:04 +00:00
Niels Martin Hansen 3589353641 Add some real exception catching to our wxApp class, now we should be able to get decent messages from all exceptions thrown inside event handlers.
Originally committed to SVN as r4639.
2010-06-29 10:31:15 +00:00
Thomas Goyne 2b47f34e76 Fix a pile of actual memory leaks
Originally committed to SVN as r4575.
2010-06-24 01:24:09 +00:00
Thomas Goyne 363198b2fa Add missing config:: in windows-specific code and move appname setting back before config file loading
Originally committed to SVN as r4549.
2010-06-18 07:23:17 +00:00
Amar Takhar 8ee9737b6f Move mru,opt objects out of the main singleton and into a global config:: namespace. With exception of the log object these are initialised during startup to ensure they are initalised after the log object.
Originally committed to SVN as r4538.
2010-06-18 02:23:27 +00:00
Thomas Goyne faf2e562cd Rename FrameMain::SubsBox to SubsGrid for consistency with the rest of Aegisub.
Originally committed to SVN as r4527.
2010-06-16 06:20:33 +00:00
Thomas Goyne b6d29443a3 Move most character set conversion code to libaegisub and make everything use the new conversion functionality.
Originally committed to SVN as r4423.
2010-06-03 20:32:25 +00:00
Amar Takhar d295ce7b0a Convert a bunch of wxLog* to the new logging method.
Originally committed to SVN as r4399.
2010-06-01 08:21:30 +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
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
Amar Takhar 27a1d68ec4 Call OnUnhandledException() only when wxWidgets is compiled with exception handling.
Originally committed to SVN as r4044.
2010-01-26 13:18:53 +00:00
Niels Martin Hansen 129585a2f8 Remove the ability for Aegisub to do its own file type associations. It's something the installer should be doing.
Originally committed to SVN as r3757.
2009-11-03 02:42:19 +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
Amar Takhar 05ae13a8ab * Rename stdwx.h to agi_pre.h as it doesn't include wx headers only, it's confusing.
* Rename include guard to AGI_PRE.

Originally committed to SVN as r3509.
2009-09-10 04:14:28 +00:00
Amar Takhar d519f4589d * Remove main.h from files that don't require it.
* Remove include guard in main.h as it's no longer required.
 * Sort wx headers and wrap with #ifndef WX_PRE.
 * Add #define WX_PRE to stdwx.h.

Originally committed to SVN as r3502.
2009-09-10 02:07:55 +00:00
Amar Takhar 0992a68488 Rewrite how wxStackWalker works:
* Change from fstream to wxFile.
 * Create both text-based and xml based reports (for the reporter)

Originally committed to SVN as r3499.
2009-09-09 07:04:10 +00:00
Amar Takhar 53b3f8468c Remove old MacRegisterDefaultTypeAndCreator that no longer wxist in wxCocoa. Add a note about how this is handled on unix and a todo item for fixing this on OSX.
Originally committed to SVN as r3487.
2009-09-05 03:56:45 +00:00
Amar Takhar 1155d1bcf8 wxUSE_STACKWALKER is defined to 0/1, so #ifdef doesn't work. (noticed by plork)
Originally committed to SVN as r3474.
2009-09-03 06:03:38 +00:00
Amar Takhar 78b0765608 Vastly simplify saving of backup .ass files when crashing.
* Remove "Autorecovery path" option, this should not be user configurable.
 * Crashes are now saved as recovered/YYYY-MM-DD-HHMMSS_<name>.ass (no pruning)

Originally committed to SVN as r3472.
2009-09-03 05:27:11 +00:00
Amar Takhar 01df6ba169 Remove the dual exception messages and strip it down to 1 short one, removing all references to crashlog.txt.
Originally committed to SVN as r3471.
2009-09-02 20:46:15 +00:00
Amar Takhar aef7375ddb * Add a new define WITH_EXCEPTIONS to allow exception handling to be forced on when in debug mode.
* Add --enable-debug-exceptions to set WITH_EXCEPTIONS.
 * Fix precompiled header msg using AC_RESULT. (forgot this in the original patch)

Originally committed to SVN as r3451.
2009-09-02 07:59:17 +00:00
Amar Takhar 6ee2f98349 Note: This was done using a script! it's far from perfect but 95% of the work has been done already formatting-wise.
Document all functions, class, struct, union, enum, macro, variable, typedefs.  This isn't the actual document in itself but empty documentation using any old documentation if it was there.

This was done using exuberant ctags to get tag info, then a TCL script to parse/remove old comments and convert them into Doxygen-style.

Some notes:
 * Anything labeled 'DOCME' needs to be documented, @param and @return have been left blank as it would be annoying to delete the 'DOCME' from every one of those.
 * Some multiline comments may have been munged into single line comments
 * Leave the /// comments above global variables with a space, if they're harder to read then we'll be less likey to use them.
 * Enum comments can go after the enumeration itself '[value] /// comment'
 * include/aegisub/*.h haven't been converted yet, this will be done in a later commit
 * Some documentation blocks are in the wrong place, in the .h when it should be in the .cpp, or vice versa.

See http://devel.aegisub.org/wiki/Doxygen for some details on Doxygen and a 'style guide'.

Originally committed to SVN as r3312.
2009-07-29 22:59:22 +00:00
Amar Takhar 12aa34088a Switch all headers to using Doxygen and cleanup contact info
* Swap old email + website address with 'Aegisub Project http://www.aegisub.org/'
 * Set categories for all files (jfs)
 * Add descriptions for each file (jfs)
 * Add $Id$ keyword

Originally committed to SVN as r3310.
2009-07-29 05:43:02 +00:00
harukalover 072520bf5f Removed most of the wxWidgets 2.8 compatibility code
Originally committed to SVN as r3280.
2009-07-25 18:45:30 +00:00
Thomas Goyne 0ea2c53c1a Replaced most wx-based charset conversions with a custom iconv-based conversion. Closes #639, #666, #837, #849 and #877.
Originally committed to SVN as r3137.
2009-07-14 21:28:49 +00:00
Niels Martin Hansen 26c9dd2ce6 More cleanup of local config:
* Remove option from Options dialogue, it's an install-time thing really
 * Don't try to do file associations at startup if we're portable
 * General clean up of config handling code; properly make ?user point to ?data and then everything magically follows, makes a lot of handling cleaner

Originally committed to SVN as r3131.
2009-07-14 04:51:35 +00:00
Niels Martin Hansen f1c7ed639d Properly fix "local config" option, previously it only made config.dat local and kept everything else in %APPDATA% still. Now fixed, along with a load of other problematic uses of relative paths. Still a lot more to go.
This also makes a bit of sense of the default options for various paths that previously were implicitly relative to ?user or ?data but never explicitly specified in options.

Originally committed to SVN as r3130.
2009-07-14 03:02:17 +00:00
harukalover b3a69668bf * Fixed an issue with aegisub not trying to open the local config.dat in Windows builds, fixes #902
* Fixed an issue with aegisub failing to start if a local config.dat existed but aegisub did not have permission to write to it

Originally committed to SVN as r3090.
2009-06-30 05:55:03 +00:00
Niels Martin Hansen ac18b4889b Add super secret WITH_STARTUPLOG define, if enabled it causes insane amounts of message box spam during startup. Currently only implemented on Windows and should be disabled for almost all conceivable purposes.
Originally committed to SVN as r3051.
2009-06-12 16:59:53 +00:00
harukalover 4eeb89710d Fixed compilation support with wxWidgets 2.9.0 (seems to work correctly besides some minor gui issues)
Originally committed to SVN as r3049.
2009-06-11 23:30:33 +00:00
Niels Martin Hansen 390fb2d03c Remove all traces of local configuration support ("portable application") in non-Windows builds. Closes #856.
Originally committed to SVN as r3011.
2009-06-03 23:42:47 +00:00
Amar Takhar 91d73ec8ea SVN Transition Step 3/7
1. cd aegisub/
  2. svn mv *cpp *h src/
  3. svn mv Makefile.am MatroskaParser.c auto4_perldata.inc bitmaps boost \
     changelog.txt config gl include libosxutil libresrc md5.c msvc mythes.cxx \
     mythes.hxx res.rc src/
  4. cd ..
  5. svn mv FFmpegSource2/ INSTALL Makefile.am README  acinclude.m4 \
     autogen.sh automation/ bin build configure.in desktop dummy.txt lib \
     libass/ m4macros/ packages/ po/ scripts/ universalchardet/ aegisub/
  6. mkdir -p docs/wiki_convert
  7. svn add docs/wiki_convert
  8. cd docs
  9. svn mv aegisub_convert_docs.pl convert.bat output wiki_convert/

* See r2749 for full description.

Originally committed to SVN as r2752.
2009-03-08 08:30:39 +00:00