Commit Graph

226 Commits

Author SHA1 Message Date
Thomas Goyne 2bf23af00a Remove a lot of pointless headers for dialogs
Most of the dialogs in Aegisub have a public interface consisting of a
single function, so there's really no need to expose the actual dialog
classes to the rest of the program. Add dialogs.h with the declarations
of all of those functions (most of which are just ShowFooDialog()), and
kill a million other headers.
2014-05-22 14:58:39 -07:00
Thomas Goyne 6a8958f287 Delete the Clean Script Info macro
It doesn't actually do anything anymore.
2014-05-22 09:29:15 -07:00
Thomas Goyne 19e8f19e52 Redesign project file handling
Add a new Project class which is responsible for everything related to
opening and closing audio, video, subtitles, timecodes and keyframes.
This pulls almost everything not directly related to playing audio/video
out of the audio and video controllers, pulls more crap out of
FrameMain, and happens to make things a little simpler in the process.
2014-05-22 09:29:12 -07:00
Thomas Goyne cddefd8ed9 Add RGB <-> YCbCr conversion stuff to libaegisub 2014-05-19 19:32:25 -07:00
Thomas Goyne 2cf35b5043 Force-enable native TLS in wxWidgets
It is off by default on Windows due to that it breaks if a wx-using
library is loaded with LoadLibrary on XP, but that is not a use-case we
care about.
2014-05-17 18:32:04 -07:00
Thomas Goyne d0ce26d7df Add an option to resample the script to the resolution mismatch dialog
Closes #1382.
2014-05-17 18:01:41 -07:00
Thomas Goyne 0a1660c03b Add version information to the windows executable
Closes #913.
2014-05-15 08:39:09 -07:00
Thomas Goyne 48acd4aa13 Install libpng headers 2014-05-13 15:35:00 -07:00
Thomas Goyne b7b2ea2d61 Skip building wx files that don't actually define anything 2014-05-13 11:51:22 -07:00
Thomas Goyne 66ba65774a Add custom build system for wxWidgets 2014-05-13 11:02:46 -07:00
Thomas Goyne 843412beb0 Install headers before compiling rather than after 2014-05-13 09:24:40 -07:00
Thomas Goyne 95eb603f8d Link against zlib.lib rather than wxzlib.lib 2014-05-12 17:42:26 -07:00
Thomas Goyne a0efd18f96 Use wx's vendored copy of zlib rather than having a second copy in a submodule 2014-05-12 17:42:26 -07:00
Thomas Goyne 3db69b0a29 Add more missing project dependencies for working parallel builds 2014-05-10 08:19:59 -07:00
Thomas Goyne eb2793f88d Add msbuild build system for FFmpeg
This eliminates the need for a msys environment to build any part of
Aegisub. Also happens to make building FFmpeg much faster (~3 minutes
vs. ~10 minutes for me).
2014-05-10 08:19:59 -07:00
Thomas Goyne 2c0568090c Add a custom build task for getting the git version info
Eliminates the need to have a copy of git accessible in the msys
build environment and reduces the dependency on msys to just FFmpeg.

Probably trivially faster due to how slow shell scripts are on Windows.
2014-05-10 06:12:37 -07:00
Thomas Goyne 94a060a556 Add unicode case conversion functions to the automation module 2014-05-09 07:00:48 -07:00
Thomas Goyne 74e995b915 Disable more wx stuff we don't use 2014-05-08 17:26:27 -07:00
Thomas Goyne 36d9a3c490 Add msbuild build system for fribidi
Thankfully the release tarball comes with pre-built versions of
the generated files.
2014-05-08 15:03:42 -07:00
Thomas Goyne 2e40f2b246 Switch to downloading a release tarball for fribidi 2014-05-08 14:41:38 -07:00
Thomas Goyne 135b61595c Add missing build dependencies on minilua 2014-05-08 13:13:45 -07:00
Thomas Goyne b2c210ffeb Delete old config file for ICU 2014-05-08 12:38:58 -07:00
Thomas Goyne 679b96fdfe Add msbuild build system for ICU 2014-05-08 12:34:04 -07:00
Thomas Goyne d3a4bed994 Port respack to lua
Simplifies the build system a little by cutting down on the number of
helpers that need to be built.
2014-05-08 10:39:18 -07:00
Thomas Goyne 9f8a10b014 Strip a few more MB of unused stuff from ICU's data files 2014-05-07 15:57:48 -07:00
Thomas Goyne 86ebd15ffb Update to ICU 53.1 2014-05-06 17:20:13 -07:00
Thomas Goyne ca1cf8d9e7 Set the version in the Windows installer automatically 2014-05-06 08:07:57 -07:00
Niels Martin Hansen 5a4920c48f Option to change parallel make options for gmake based VS projects
It seems that gmake can livelock in parallel make mode on Windows
in some cases. This provides an escape hatch for those cases.
2014-05-04 10:35:15 +02:00
Niels Martin Hansen 5bb4754e40 Option to disable HAALISOURCE when building FFMS2 on VS
Visual Studio Express does not supply ATL and can't build the Haali-
supplied code in FFMS2, so provide an escape hatch for that.
2014-05-04 09:56:37 +02:00
Niels Martin Hansen 143de0713b Remove whitespace in MSYS shell environment vars
It seems that whitespace around the paths in the PATH, LIB, INCLUDE env
vars can break in some situations, making the build fail entirely.
Unfortunately this also makes the file harder to read and diff.
2014-05-03 01:08:56 +02:00
Thomas Goyne 81c72c5fe9 Install lua.hpp when building luajit 2014-05-02 13:16:43 -07:00
Thomas Goyne 1eba2f035c Add a separate SSA subtitle format and move all of the SSA writing stuff there 2014-04-30 06:29:37 -07:00
Thomas Goyne e5f935678e Build LuaJIT in Lua 5.2 mode on Windows as well 2014-04-28 10:58:55 -07:00
Thomas Goyne 5be69dc7e8 Fix compilation of LuaJIT on x64 Windows 2014-04-28 09:13:09 -07:00
Thomas Goyne 63f4bf1beb Switch from regular Lua to LuaJIT 2014-04-28 07:38:30 -07:00
Thomas Goyne 9492192b73 Switch back to building Lua as C
In preparation for switching to LuaJIT, which doesn't support PUC Lua's
thing of using C++ exceptions for lua_error.

Requires replacing all uses of lua_error (and things calling lua_error)
with custom versions that throw an exception instead and adding an
exception -> lua error wrapper at all C++ -> Lua boundaries.
2014-04-27 10:37:23 -07:00
Thomas Goyne 2adcc76cf6 Switch automation tests to busted
This requires shuffling a bunch of stuff around to get a CLI lua
executable that uses an automation-like environment, but that's
something that'll be nice to have in the future anyway.

Busted indirectly depends on lfs and we currently can't use external
binary modules, so add a copy of lfs to the repo and build it with
Aegisub.
2014-04-26 08:16:38 -07:00
Thomas Goyne b8af29da0d Move some of the automation machinery to libaegisub 2014-04-25 15:03:18 -07:00
Niels Martin Hansen d53c36e67f Merge branch 'extradata'
Conflicts:
	src/ass_parser.cpp
2014-04-25 17:22:15 +02:00
Niels Martin Hansen bcd41bd986 Windows build system for luabins (untested) 2014-04-25 15:08:54 +02:00
Thomas Goyne 6fc4c8da14 Move make_unique to its own header file
Rebuilding the entire project after touching util.h gets old fast.
2014-04-23 15:29:23 -07:00
Thomas Goyne af32733797 Move character count stuff to libaegisub 2014-04-18 20:11:38 -07:00
Thomas Goyne 5df871f599 Extract all of the column-specific logic from BaseGrid 2014-04-18 12:17:03 -07:00
Thomas Goyne 5721cd1453 Update ffms2 2014-04-17 11:46:28 -07:00
Thomas Goyne df42fdb2d2 Restore the text selection and cursor position on undo 2014-04-17 11:46:28 -07:00
Thomas Goyne c1f968a252 Add filters file for the FFMS2 project 2014-03-28 09:05:36 -07:00
Thomas Goyne 290cdefd9d Skip building the wx libraries we don't use 2014-03-26 15:13:21 -07:00
Thomas Goyne 736b1d2fa7 Actually enable optimizations for ICU in release builds 2014-03-26 12:34:14 -07:00
Thomas Goyne 16804f41c9 Delete in-repo copy of intttypes.h since vs2013 has it 2014-03-26 08:25:24 -07:00
Thomas Goyne aa46c49403 Pull some of the context (de)init out of FrameMain
And actually do deinitialize more of the stuff in the context.
2014-03-25 20:04:48 -07:00
Thomas Goyne 523d858374 Extract SelectionController from BaseGrid 2014-03-25 17:06:47 -07:00
Thomas Goyne e71270f0f0 Refactor the rest of the factories 2014-03-24 12:40:03 -07:00
Thomas Goyne 470f85d365 Convert VideoProviderManager to AudioProviderManager's new design 2014-03-24 09:25:26 -07:00
Thomas Goyne 938025acb1 Redesign AudioProviderFactory
Register functions which create each type of provider rather than the
provider types themselves so that the concrete types don't need to be
publicly exposed, and use a static list of providers rather than
registering them at runtime.
2014-03-24 06:55:35 -07:00
Thomas Goyne cb1f04481a Use read_file_mapping for reading attachments 2014-03-21 07:44:22 -07:00
Thomas Goyne 58db99cd24 Simplify PCMAudioProvider a bit and pull it fully into the cpp file 2014-03-20 20:26:17 -07:00
Thomas Goyne 3222275750 Use boost.interprocess's mmap wrapper in the PCM provider 2014-03-20 20:25:44 -07:00
Thomas Goyne aab025c830 Write minidumps on windows rather than just basic stack traces 2014-03-20 10:41:12 -07:00
Thomas Goyne 61b19a17e8 Extract crashlog writing from main.cpp 2014-03-20 10:41:12 -07:00
Thomas Goyne b7b8c3d251 Update fontconfig 2014-03-14 07:00:37 -07:00
Thomas Goyne 409eee4510 Install CSRI and iconv headers rather than mucking about with include paths 2014-03-11 12:27:34 -07:00
Thomas Goyne 843e71331f Add in-repo copy of Lua and use it rather than the system copy
Aegisub needs Lua built as C++ (for stack unwinding on errors). No one
packages it like that, so at the moment we can't actually use systme
packages for Lua.

Fixes a bunch of memory leaks on Automation errors.
2014-03-11 12:15:01 -07:00
Thomas Goyne 33a4a056a4 Move everything up a level since the root dir no longer has stuff 2014-03-11 12:14:57 -07: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
Rodrigo Braz Monteiro 7b552282ff Fixed config for MSVC
Originally committed to SVN as r2622.
2009-01-04 06:42:49 +00:00
Amar Takhar 0763541848 Change how configuration works.
* move win32/config0.h -> config/config_windows0.h
  * move win32/stdint.h -> msvc/stdint.h
  * move posix/defines.h -> config/config_unix.h
  * add config.h - brings in config_(windows|unix).h as required
  * add config.h to *.cpp
  * Self-contain FFmpegSource2 with required function defines wrapped with
    __UNIX__ instead of the now removed defines.h.
  * Edit aegisub_vs2008.vcproj to remove explicit inclusion of config.h, also
    change VCPreBuildEventTool to create windows_config.h from
    windows_config0.h.  Add msvc to include path.
  * Change configure to create ./acconf.h instead of posix/acconf.h

This will allow us to create a more standard and platform agnostic way of
configuration aegsisub during build time.

Originally committed to SVN as r2621.
2009-01-04 06:31:48 +00:00
Niels Martin Hansen ea2431ed4c Remove some failed stuff that shouldn't have been committed in the first place...
Originally committed to SVN as r2600.
2009-01-01 11:11:47 +00:00
Rodrigo Braz Monteiro 73c66cc585 OpenAL support in installer.
Originally committed to SVN as r2509.
2008-12-20 00:17:32 +00:00
Rodrigo Braz Monteiro 1a872ddb64 Updated something, I guess.
Originally committed to SVN as r2498.
2008-12-05 20:52:48 +00:00
Niels Martin Hansen a6c169a4b2 Complete rewrite of the DirectSound audio player, this time doing threading and synchronisation better, and following the COM apartment model strictly too. It replaces the old player by default, but the old is still available in the runtime configuration.
Originally committed to SVN as r2495.
2008-11-27 18:35:26 +00:00
Rodrigo Braz Monteiro 00383d8094 Apparently I changed the project or something.
Originally committed to SVN as r2454.
2008-11-14 01:22:23 +00:00
Rodrigo Braz Monteiro e86af6f7f7 Originally committed to SVN as r2434. 2008-11-09 01:19:17 +00:00
Rodrigo Braz Monteiro 213d68ec2e Updated VC2008 project.
Originally committed to SVN as r2418.
2008-10-27 22:34:53 +00:00
Rodrigo Braz Monteiro 14037b8a64 Fixed last patch and updated project.
Originally committed to SVN as r2353.
2008-09-14 15:20:15 +00:00
Rodrigo Braz Monteiro df3a25129e Fixed project and other stuff for ffmpegsource support.
Originally committed to SVN as r2341.
2008-09-10 22:01:35 +00:00
Niels Martin Hansen 2928449ecc Add some missing files to VC 2005 project.
Originally committed to SVN as r2300.
2008-08-11 00:00:34 +00:00
Rodrigo Braz Monteiro 29ed35de5c Updated projects to include /MP, and some changes to Athenasub.
Originally committed to SVN as r2292.
2008-07-27 21:24:38 +00:00
Rodrigo Braz Monteiro 15369e7545 Updated MSVC project files.
Originally committed to SVN as r2290.
2008-07-27 04:28:15 +00:00
Karl Blomster 51ee9dfdf9 add a few files to the VS2008 project file (patch by Harukalover)
Originally committed to SVN as r2250.
2008-07-14 22:44:10 +00:00
Rodrigo Braz Monteiro 4e2415a353 Added some commented out hackish code to test tesseract.
Originally committed to SVN as r2080.
2008-03-18 08:06:01 +00:00
Rodrigo Braz Monteiro 22b97b55d1 Updated ignores and added Aegisub ICL project.
Originally committed to SVN as r2071.
2008-03-16 18:22:45 +00:00
Rodrigo Braz Monteiro 72145e8fa8 Fixed some warnings on g++.
Originally committed to SVN as r2046.
2008-03-13 20:27:25 +00:00
Rodrigo Braz Monteiro cee958b2d3 Raised the warning level on MSVC8 to 4, and fixed several warnings caused by that.
Originally committed to SVN as r2045.
2008-03-13 19:12:55 +00:00
Rodrigo Braz Monteiro 5596fa106e Moved auto3 and perl factories to their own headers to avoid including library headers.
Originally committed to SVN as r2015.
2008-03-11 06:10:00 +00:00
Rodrigo Braz Monteiro ed7a434a9e More messing around with Lua.
Originally committed to SVN as r2001.
2008-03-09 21:49:46 +00:00
Rodrigo Braz Monteiro 825b2f3af0 Fixed registration of Ruby automation.
p.s.: embedding ruby on vc++ sucks.

Originally committed to SVN as r1996.
2008-03-09 19:01:54 +00:00
Rodrigo Braz Monteiro a72c3abb3c Changed the way that automation factories are registered.
Originally committed to SVN as r1995.
2008-03-09 18:19:15 +00:00
Rodrigo Braz Monteiro 88b845852a Modifications for 2.1.2
Originally committed to SVN as r1987.
2008-03-09 04:16:52 +00:00
Rodrigo Braz Monteiro 1b7746e99f Basic ASS parsing in Aegilib (should I just go ahead and rename this to libgorgon already?) almost works.
Originally committed to SVN as r1982.
2008-03-08 22:49:26 +00:00
Rodrigo Braz Monteiro 8227971186 Another battle in the String Hell War
Originally committed to SVN as r1974.
2008-03-08 18:13:42 +00:00
Rodrigo Braz Monteiro 0c5d122cc5 Some early work to get the subs lib to work.
Originally committed to SVN as r1965.
2008-03-08 03:08:50 +00:00
Rodrigo Braz Monteiro 4f4f4cc91f Moved files relevant to providers to aegisub/include. A few things might be broken.
Originally committed to SVN as r1956.
2008-03-07 21:00:20 +00:00
Rodrigo Braz Monteiro 687b5bda32 Fixed assdraw3 crash and updated installer.
Originally committed to SVN as r1953.
2008-03-07 07:11:09 +00:00
Rodrigo Braz Monteiro d40168007f Updated version.cpp for the new release.
Originally committed to SVN as r1951.
2008-03-07 04:21:26 +00:00
Rodrigo Braz Monteiro 974efa126b Modified all providers to separate them between factory and factory manager. This will make plugin system easier. Also, made hunspell register manually as well.
Originally committed to SVN as r1946.
2008-03-07 02:32:29 +00:00
Rodrigo Braz Monteiro 6bdee2a765 Originally committed to SVN as r1945. 2008-03-07 00:47:57 +00:00
Rodrigo Braz Monteiro d181c3a7f6 Updated Visual Studio 2005 project file (thanks to Harukalover)
Originally committed to SVN as r1938.
2008-03-07 00:01:37 +00:00
Rodrigo Braz Monteiro b1eb77e1b9 Ops, a few missing files from provider change.
Originally committed to SVN as r1920.
2008-03-06 19:21:18 +00:00
Rodrigo Braz Monteiro c278baf4ec Forgot to update the vs2008 project to account for new headers... 2005 still needs updating, too.
Originally committed to SVN as r1903.
2008-03-05 16:44:06 +00:00
Rodrigo Braz Monteiro b1b2c3d7fb Changed audio providers to register manually.
Originally committed to SVN as r1891.
2008-03-05 02:19:50 +00:00
Rodrigo Braz Monteiro 59f1962e7c Changed video providers to be initialized explicitly. (Only avisynth tested, though)
Originally committed to SVN as r1890.
2008-03-05 02:05:01 +00:00
Niels Martin Hansen b25d7a8598 Some additional grouping of "Utilities" into sub-categories.
Originally committed to SVN as r1853.
2008-01-27 17:59:38 +00:00
Niels Martin Hansen 519ebb3db8 CMake include for detecting the location of wxWidgets.
Originally committed to SVN as r1850.
2008-01-27 03:50:41 +00:00
Rodrigo Braz Monteiro 542b8a1a61 ...and the 2005 one too.
Originally committed to SVN as r1829.
2008-01-24 17:48:54 +00:00
Rodrigo Braz Monteiro a4aa359c74 Updated the Visual Studio 2008 project...
Originally committed to SVN as r1828.
2008-01-24 17:48:34 +00:00
Rodrigo Braz Monteiro 43d8d2aa3a Small fix to vs2005 project.
Originally committed to SVN as r1820.
2008-01-23 21:51:42 +00:00
Rodrigo Braz Monteiro c3f54bfacf Added Visual Studio 2008 (VC++9) project files.
Originally committed to SVN as r1819.
2008-01-23 21:50:35 +00:00
Rodrigo Braz Monteiro 4a59329784 Made universalchardet work on Win64 (it's a one-line patch [prcpucfg.h:146] to make it work on other OS, but I don't know what the proper define is)
Originally committed to SVN as r1817.
2008-01-23 06:17:18 +00:00
Rodrigo Braz Monteiro f562f89632 A few tweaks to allow x64 building of Aegisub
Originally committed to SVN as r1816.
2008-01-23 05:26:24 +00:00
Niels Martin Hansen 46ccee56b5 Protect remaining audio players by #ifdef and add those to config0.h and vcproj.
Originally committed to SVN as r1807.
2008-01-21 20:57:20 +00:00
Rodrigo Braz Monteiro 849921c7c5 Added some initial code for DVD .sup generation (get lines from renderer and output them as 4-colour PNG files). This is currently only available on debug builds.
Originally committed to SVN as r1802.
2008-01-21 03:58:14 +00:00
Rodrigo Braz Monteiro 084eddd7cf Added a x64 platform to projects, but don't expect it to work.
Originally committed to SVN as r1798.
2008-01-20 23:37:44 +00:00
Rodrigo Braz Monteiro 5cafaeb976 Fixed all (?) warnings on MSVC++ and made the default project treat warnings as errors. This fixed several 64-compatibility warnings, as well.
Originally committed to SVN as r1797.
2008-01-20 22:38:07 +00:00
Rodrigo Braz Monteiro ca1d42ba55 Added a conversion audio provider to convert 8-bit audio into 16-bit.
Originally committed to SVN as r1774.
2008-01-19 02:18:08 +00:00
Rodrigo Braz Monteiro 864c446318 Fixes to Perl support on Windows
Originally committed to SVN as r1760.
2008-01-18 03:10:16 +00:00
Rodrigo Braz Monteiro c2aaa4eb8c Added shb's incomplete perl support code (doesn't build on VC++ yet)
Originally committed to SVN as r1741.
2008-01-16 18:29:29 +00:00
Rodrigo Braz Monteiro e271b979b2 Added OpenMP support on audio spectrum generation, and updated portuguese translation a little bit.
Originally committed to SVN as r1734.
2008-01-15 22:18:54 +00:00
Rodrigo Braz Monteiro 39ccfa89a6 Final changes to use hunspell from repository as a dep project
Originally committed to SVN as r1695.
2008-01-13 06:08:45 +00:00
Rodrigo Braz Monteiro 606f4807f8 Re-fixed release build. >_>
Originally committed to SVN as r1688.
2008-01-11 14:13:23 +00:00
Rodrigo Braz Monteiro 96bf1659a9 Mental note: make sure that you make changes on "All Settings", not just Debug.
Originally committed to SVN as r1675.
2008-01-10 23:29:26 +00:00
Rodrigo Braz Monteiro c0b9a2a5bd Got rid of build-credit.h
Originally committed to SVN as r1672.
2008-01-10 21:27:53 +00:00
Rodrigo Braz Monteiro ba1785d936 Made project ignore warning 4267.
Originally committed to SVN as r1670.
2008-01-10 21:07:10 +00:00
Rodrigo Braz Monteiro 2c366e76ee Added a small readme on how to set up MSVC to build the included project.
Originally committed to SVN as r1668.
2008-01-10 20:46:38 +00:00
Rodrigo Braz Monteiro 68203a896a Added auto3 lib+dll to repository and made auto4_auto3.cpp automatically link to it.
Originally committed to SVN as r1663.
2008-01-01 22:55:58 +00:00
Rodrigo Braz Monteiro 75b4fb1437 Made almost all major components of Aegisub optional... this might be severely broken still.
Originally committed to SVN as r1660.
2007-12-31 06:46:22 +00:00
Rodrigo Braz Monteiro 7d1d0fe46a Created early official .vcproj and folder structure
Originally committed to SVN as r1658.
2007-12-31 02:27:49 +00:00