Commit Graph

202 Commits

Author SHA1 Message Date
Thomas Goyne d4e17dde2e Factor out the idea of a pen bound to options to a utility class
Originally committed to SVN as r5759.
2011-10-19 04:19:01 +00:00
Thomas Goyne 85bfb91f73 Add cajun headers to the vc9 libaegisub project
Originally committed to SVN as r5745.
2011-10-17 21:59:24 +00:00
Thomas Goyne 306664d16e Make the browse and font pick buttons in the preferences dialog actually work, and delete BrowseButton as it's no longer used by anything.
Originally committed to SVN as r5732.
2011-10-11 00:06:44 +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 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 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 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
Niels Martin Hansen 7250b89cbd MSBuild project updates.
Originally committed to SVN as r5603.
2011-09-15 14:50:08 +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 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 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 6d8d1a48d3 Disable precompiled headers for the C files in release builds and not just debug
Originally committed to SVN as r5527.
2011-07-27 22:59:01 +00:00
Thomas Goyne 1cacc33d2d Simplify version.cpp
Originally committed to SVN as r5526.
2011-07-27 22:52:37 +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 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
Niels Martin Hansen b60e3a5bd4 Rename another clashing file in libaegisub.
Originally committed to SVN as r5490.
2011-07-18 01:08:41 +00:00
Niels Martin Hansen 89b97a55be Update and simplify project files for recent changes.
Originally committed to SVN as r5489.
2011-07-18 00:43:38 +00:00
Thomas Goyne b5a02e202e Rename libaegisub/windows/util.cpp so that it's actually used
Originally committed to SVN as r5443.
2011-07-15 04:03:36 +00:00
Thomas Goyne 67e9384ef4 Remove a bunch of pointless consts from agi::Path and rename the windows implementation so that it's actually used
Originally committed to SVN as r5442.
2011-07-15 04:03:28 +00:00
Karl Blomster 387fbdfdea fix xml parsing error in libaegisub project
Originally committed to SVN as r5355.
2011-02-22 01:26:46 +00:00
Amar Takhar 34e0eb837d Hand edit the libaegisub vcproj to include common/util.cpp
Originally committed to SVN as r5336.
2011-02-09 22:32:51 +00:00
Niels Martin Hansen acbe4bbb34 Add a bunch of new files to the libaegisub msbuild.
Originally committed to SVN as r5331.
2011-02-09 21:55:03 +00:00
Amar Takhar 78ed8e3694 Add stub path file for Windows and hand-edit vcproj to include the file.
Originally committed to SVN as r5318.
2011-02-07 18:02:26 +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
Niels Martin Hansen dd24ffac89 Do some grouping of source files in the VC10 project file.
Originally committed to SVN as r5242.
2011-01-19 04:05:30 +00:00
Niels Martin Hansen 7713ea20e0 Produce a default config_windows.h file if one doesn't already exist.
Allow setting the BUILD_CREDIT define through a property page.

Originally committed to SVN as r5224.
2011-01-16 23:51:41 +00:00
Niels Martin Hansen 652a8c7806 Lump all the custom targets etc. for Aegisub into a single file, instead of using many.
Also, no custom project items needed anyway.

Originally committed to SVN as r5223.
2011-01-16 23:01:26 +00:00
Niels Martin Hansen 1e7718d30b Run TSVN's SubWCRev as part of the build.
The detection of the tool location is tricky and doesn't seem to work entirely as it should. It Works For Me as it is now, though the property page setting doesn't show the correct default.

Originally committed to SVN as r5222.
2011-01-16 22:42:30 +00:00
Niels Martin Hansen 4c5d8f54ea Forgot svn:keywords...
Originally committed to SVN as r5188.
2011-01-14 07:52:41 +00:00
Niels Martin Hansen 238f2dedb6 Custom property page for the respack tool, how cool!
Also include the standard targets later to make the projects stop spewing build status files into wrong dirs.

Originally committed to SVN as r5187.
2011-01-14 07:40:06 +00:00
Niels Martin Hansen a7dd3611a2 Here's an MSBuild project file for Aegisub itself!
Originally committed to SVN as r5186.
2011-01-14 03:49:28 +00:00
Niels Martin Hansen cda28d706b More clean-up of the MSBuild projects. (The IDE hates me for this.)
Originally committed to SVN as r5185.
2011-01-14 03:47:57 +00:00
Niels Martin Hansen 6490faa5c5 Prevent CSRI helper library from causing linking apps (like aegisub.exe) to export symbols.
Originally committed to SVN as r5184.
2011-01-14 02:05:01 +00:00
Niels Martin Hansen 8b58a63bd5 CSRI helper library MSBuild project.
Originally committed to SVN as r5183.
2011-01-14 01:30:17 +00:00
Niels Martin Hansen 59b8686fdc MSBuild project for chardet.
Originally committed to SVN as r5181.
2011-01-14 01:08:47 +00:00
Niels Martin Hansen 73905fb1b5 Add some DirectX detection.
Originally committed to SVN as r5180.
2011-01-11 22:04:47 +00:00
Niels Martin Hansen 87ac25bfa7 Add some missing files to the libaegisub project. Make Lua compile as C++ to get C++ name mangling, as Aegisub expects that.
Originally committed to SVN as r5179.
2011-01-11 22:04:21 +00:00
Niels Martin Hansen 5d6730919d Fix ResPack target not actually building the intended resource files.
Originally committed to SVN as r5176.
2011-01-11 21:36:13 +00:00
Niels Martin Hansen f1121898b9 Update ResPack project, write ResPack target for MSBuild and add libresrc project that uses the ResPack target.
The ResPack target is not ideal, it will regenerate the source files even when they are up to date, if only the object files are outdated. This means that in batch builds, the source files will get regenerated for every platform/config built.

Originally committed to SVN as r5175.
2011-01-11 20:25:47 +00:00
Niels Martin Hansen 3974dfd1f2 Reorganise the property sheet includes to use a master include, and use properties to control inclusion of wxWidgets and Freetype, and any further deps.
Originally committed to SVN as r5174.
2011-01-11 18:15:31 +00:00
Niels Martin Hansen a7954fc3e0 MSBuild project for libaegisub.
Originally committed to SVN as r5172.
2011-01-11 17:50:03 +00:00
Niels Martin Hansen 0d6edabbdc Prettify the property files a bit and add some real sample files for the userconfig dir.
Originally committed to SVN as r5161.
2011-01-10 17:46:15 +00:00
Niels Martin Hansen 5f7fbf48c6 Use project relative paths for source files, to work around this (possible) MSBuild bug:
https://connect.microsoft.com/VisualStudio/feedback/details/635294/using-absolute-path-in-clcompile-item-prevents-property-pages-from-showing

Originally committed to SVN as r5160.
2011-01-10 01:27:12 +00:00
Niels Martin Hansen 231220cc63 Oops, left in an Import that shouldn't be there anyway.
Originally committed to SVN as r5159.
2011-01-09 23:06:01 +00:00
Niels Martin Hansen a08eb28846 MSBuild projects for the contrib libraries, except CSRI.
There is an odd bug/glitch where it is impossible to view property pages for single source files through the VS 2010 IDE, but compilation works as intended.

Originally committed to SVN as r5157.
2011-01-09 08:01:57 +00:00
Niels Martin Hansen 95c2649721 Add a bunch more property files for MSBuild projects
Originally committed to SVN as r5156.
2011-01-09 07:08:36 +00:00
Amar Takhar 23d96d071c Add missing property sheets to x64 build config.
Originally committed to SVN as r5152.
2011-01-09 00:47:06 +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 c6b65d8b82 Remove deleted files from the projects and add the new files
Originally committed to SVN as r5131.
2011-01-05 18:40:30 +00:00
Thomas Goyne c6a823c731 Remove duplicate inclusion of several files in the project
Originally committed to SVN as r5077.
2010-12-31 21:02:56 +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 7c2e4e5115 Add tests for agi::keyframe
Originally committed to SVN as r5074.
2010-12-31 21:02:31 +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
Niels Martin Hansen d63a646c2a Small beginnings of MSBuild-based build system, for Visual Studio 2010/Windows 7.1 SDK.
So far proof of concept building just the respack program, using a semi-generalised form of finding wxWidgets. For it to find wxWidgets, a user configuration needs to be placed in the userconfig dir, see readme.txt.

Originally committed to SVN as r4954.
2010-12-11 16:35:22 +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 0e6d8631fd Add scoped_ptr.h
Originally committed to SVN as r4902.
2010-12-07 19:09:37 +00:00
Thomas Goyne 13f052317e Convert OptionValue over to agi::signal
Originally committed to SVN as r4899.
2010-12-07 19:09:15 +00:00
Thomas Goyne 4fc1ff6ad6 Add simple signal/slot implementation loosly based on boost.sigal
Originally committed to SVN as r4898.
2010-12-07 19:09:08 +00:00
Thomas Goyne 12bf2a595d Disable analysis on build for libaegisub as it results in versions of Visual Studio that do not support /analyze rebuilding the entire project every time.
Originally committed to SVN as r4852.
2010-11-21 05:14:11 +00:00
Thomas Goyne d840c9eaae Put libaegisub win32/debug intermediate files in the standard location
Originally committed to SVN as r4851.
2010-11-21 05:13:57 +00:00
Thomas Goyne c571f64f86 Fix compilation error on unix when using internal libass
Originally committed to SVN as r4848.
2010-11-18 04:31:38 +00:00
Thomas Goyne 6a186d0bcb Add vcproj for libass and fix msvc compilation errors
Originally committed to SVN as r4840.
2010-11-11 04:48:20 +00:00
Karl Blomster f34d37d091 remove assorted forgotten traces of the splash screen
Originally committed to SVN as r4831.
2010-11-07 19:32:40 +00:00
Thomas Goyne 9780243586 Add NOMINMAX to the libaegisub project
Originally committed to SVN as r4775.
2010-09-09 06:47:45 +00:00
Thomas Goyne a6abc79b95 Add inttypes.h to the precompiled header
Originally committed to SVN as r4752.
2010-08-25 19:31:20 +00:00
Thomas Goyne 58ca596359 Define NOMINMAX on Windows and remove workarounds for problems caused by those macros.
Originally committed to SVN as r4732.
2010-08-12 06:39:49 +00:00
Thomas Goyne e7eba4c00d Add Select All and Select None buttons to the import style from script dialog.
Originally committed to SVN as r4729.
2010-08-10 01:47:29 +00:00
Thomas Goyne 71fb04cd29 Rework most of the various factories to not need an explicit helper class for each class constructable via a factory.
Originally committed to SVN as r4716.
2010-08-02 06:31:38 +00:00
Thomas Goyne f0aa85dfbb Delete the quicktime provider, as it's unmaintained and doesn't work
Originally committed to SVN as r4715.
2010-07-27 03:52:40 +00:00
Thomas Goyne d4a4db0388 Kill scrubbing code and audio_provider_stream; they were last touched four years ago and never did work.
Originally committed to SVN as r4709.
2010-07-25 03:11:00 +00:00
Thomas Goyne de1588cd1d Delete old tip of the day code. Closes #967.
Originally committed to SVN as r4703.
2010-07-23 06:16:00 +00:00
Thomas Goyne 397b234fba Move video decoding and subtitle rendering to a worker thread
Makes the click event handler for the grid no longer slow when video
autoscroll is enabled, making it harder to accidently select multiple
lines.

Makes seeking speed no longer limited by decoding/rendering speed;
seeking faster than video can be decoded simply results in dropped
frames.

Makes editing the file while a slow-rendering frame is visible far more
responsive.

Originally committed to SVN as r4702.
2010-07-23 05:58:39 +00:00
Thomas Goyne fde4a7815d Make the subtitle edit box auto-commit all changes
This happens to fix most of the undo issues, as it's now much harder to
have uncommitted changes to the file.

Closes #355 and #586.

Originally committed to SVN as r4699.
2010-07-20 03:11:11 +00:00
Amar Takhar 51a75cd0fd Split the preferences to make managing the base code from the actual options. I should have done this yesterday however I completely underestimated how annoying it would be having it all in the same file.
Originally committed to SVN as r4698.
2010-07-19 17:53:29 +00:00
Thomas Goyne 4a8abae3a3 Kill options.h and options.cpp, which have been empty for a while
Originally committed to SVN as r4676.
2010-07-12 21:49:48 +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
Thomas Goyne 9322f95071 Rewrite vfr.cpp in libaegisub with tests. Not yet used by Aegisub itself.
Originally committed to SVN as r4661.
2010-07-07 05:24:16 +00:00
Thomas Goyne 929fa83dd9 Move the bulk of TextFileWriter's logic to libaegisub.
Originally committed to SVN as r4660.
2010-07-07 02:41:46 +00:00
Niels Martin Hansen 1a626bb14e Add SelectionController adapted from ADR branch, now templatized on the item data type. Intentionally not making this a merge, the selection controller needs to logically come from trunk into ADR, even if it was added there originally.
Originally committed to SVN as r4600.
2010-06-25 01:44:29 +00:00
Niels Martin Hansen 0e155767ae Add missing includes to MSVC libaegisub project
Originally committed to SVN as r4519.
2010-06-14 21:35:57 +00:00
Karl Blomster 62b63ca5b6 Fix a missing property sheet in the libaegisub vcproj
Originally committed to SVN as r4480.
2010-06-11 23:45:23 +00:00
Amar Takhar 3516b4ce74 Add a vsprops file to bring in include files for iconv, and in the future other contrib headers.
Originally committed to SVN as r4466.
2010-06-09 01:11:38 +00:00
Thomas Goyne 3d04db9e90 Fix build error when wx was not built with wxUSE_STL
Originally committed to SVN as r4424.
2010-06-03 20:54:46 +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
Niels Martin Hansen 5e8d5b221b Compiling, but untested, option change notifications. Doesn't seem to affect Aegisub aversely.
Has the limitation that one object can only subscribe once to one option value, but that shouldn't actually be a problem. (One object cannot have two different of its member functions subscribing to one option value.)

Originally committed to SVN as r4415.
2010-06-03 05:07:47 +00:00
Amar Takhar 3ba76f196f Commit a bunch of changes msvc wants to make anytime I open the solution: it's driving me nuts.
Originally committed to SVN as r4410.
2010-06-03 01:17:15 +00:00
Amar Takhar b40d709924 Add dialog_log.(cpp|h) to the build: It's *very* annoying how msvc decides to randomly write nonsense config settings to the project.
Originally committed to SVN as r4408.
2010-06-03 01:06:05 +00:00
Amar Takhar f6bf25c397 Change the object for windows/log.cpp to log_windows.obj -- I'm starting to dislike msvc more and more, how can people develop using this program?
Originally committed to SVN as r4407.
2010-06-03 01:03:17 +00:00
Amar Takhar 798e18490d Add windows/log.cpp to the libaegisub project.
Originally committed to SVN as r4398.
2010-06-01 08:19:51 +00:00
Amar Takhar 8eded1e7c6 Update project file, this should have been done in r4394.
Originally committed to SVN as r4395.
2010-06-01 08:03:51 +00:00
Amar Takhar 69ae630488 Fix binary name: s/aegisub/test/
Originally committed to SVN as r4353.
2010-05-23 20:21:05 +00:00
Amar Takhar f7f59e5e1d Add an ErrorString utility which converts the code from GetLastError() into a human readable std::string.
Originally committed to SVN as r4345.
2010-05-22 21:09:37 +00:00
Amar Takhar 12711d8c12 * Add util_windows.cpp to test project.
* Fix typo in util_windows.cpp.

Originally committed to SVN as r4344.
2010-05-22 01:41:23 +00:00
Amar Takhar cb1a82baaa * Add a post build event to setup the unit test resource directory.
* Fix the build target, for some reason this isn't being taken from the property sheet jfs will have to look at it later..

Originally committed to SVN as r4341.
2010-05-21 17:33:04 +00:00
Amar Takhar c1ad93ce93 Add a project for the unit tests.. this is incomplete (progress save)
Originally committed to SVN as r4340.
2010-05-21 06:06:46 +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
Thomas Goyne 409bcc561a Update the windows build system to work with the changes made in r4169.
Originally committed to SVN as r4170.
2010-03-03 01:28:47 +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 afd9133fc0 Remove PRS support, I've left the files in devel/prs they can be deleted at a later time.. Closes #1012.
Originally committed to SVN as r3748.
2009-10-28 01:10:11 +00:00