Commit graph

284 commits

Author SHA1 Message Date
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
Thomas Goyne
cbd76e7010 Rewrite the video rendering code to support displaying videos which are larger than the maximum texture size. This does not currently support YV12 (which Aegisub currently never uses), but should be otherwise functional.
Originally committed to SVN as r3615.
2009-10-05 04:22:28 +00:00
Thomas Goyne
39954493c0 Add platform_windows.h and .cpp to the project.
Originally committed to SVN as r3614.
2009-10-05 02:43:14 +00:00
Thomas Goyne
e1469154ea Create vcproj for reporter and make it build (but not be very useful) on windows.
Originally committed to SVN as r3610.
2009-10-03 17:16:52 +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
Niels Martin Hansen
f810fd20ce Rename audio_spectrum.* to audio_renderer_spectrum.* in preparation of converting the spectrum into a slave of AudioRenderer. See #951 and #990.
Originally committed to SVN as r3398.
2009-08-13 16:04:45 +00:00
Niels Martin Hansen
b9e7e178c2 Remove changelog.txt reference from MSVC project file, c.f. r3389.
Originally committed to SVN as r3392.
2009-08-12 23:48:27 +00:00
Niels Martin Hansen
5501c42cb0 Add (currently unused) AudioRendrer class and companions, see #951, #965 and #990.
Originally committed to SVN as r3390.
2009-08-12 23:42:53 +00:00
Niels Martin Hansen
96acbe33c3 Rename Kanji Timer step 1: Rename source files.
Updates #870.

Originally committed to SVN as r3357.
2009-08-04 01:53:26 +00:00
Niels Martin Hansen
8c08cb78a0 Make ffms2.dll not delayload, it's a required component and having it delayload only makes tracing loader errors harder.
Originally committed to SVN as r3355.
2009-08-03 21:32:39 +00:00
Niels Martin Hansen
23767950a9 Let Aegisub project file pick up wx relative to the solution file, using VSProps from r3273.
Originally committed to SVN as r3274.
2009-07-25 16:57:11 +00:00
Niels Martin Hansen
0cd1058e8d VSProps files to pick up a wx installation relative to the solution file.
Originally committed to SVN as r3273.
2009-07-25 16:56:01 +00:00
Thomas Goyne
e6d6a056c9 Change resources filename back to libresrc.cpp/h.
Originally committed to SVN as r3272.
2009-07-25 16:15:13 +00:00
Thomas Goyne
c641c6e656 Switch all icons in Aegisub to use the new png versions, using a new small tool to store the pngs as byte arrays in a cpp file.
Originally committed to SVN as r3265.
2009-07-25 04:49:59 +00:00
Amar Takhar
d51396738b Revert part of r3260: SIGH, why can't svn let you ctrl-c out of a commit further down in the process? You can only do it if you catch it early, though it's also my fault for not paying attention that I had local changes.
Originally committed to SVN as r3261.
2009-07-25 02:34:33 +00:00
Amar Takhar
4a757421d9 Rename scripts/ to tools/ as it makes more sense, initially the directory only contained scripts however with the addition of our 3rd tool it makes sense to just rename the entire direectory. Keeping the old scripts/ dir around was just extra clutter and would probably cause confusion as to which place a new script/tool should go.
Originally committed to SVN as r3260.
2009-07-25 02:29:04 +00:00
Karl Blomster
1e4119f337 Add quicktime audio provider to VS2008 project and to Makefile.am.
Originally committed to SVN as r3255.
2009-07-24 06:06:56 +00:00
Thomas Goyne
87e96be4b5 Make the windows build system work with the XMP buttons.
Originally committed to SVN as r3242.
2009-07-23 23:54:06 +00:00
Thomas Goyne
4f5f165d30 Removed the rest of the uses of delayload_libauto3.vsprops from aegisub_vs2008.vcproj.
Originally committed to SVN as r3233.
2009-07-23 21:26:54 +00:00
harukalover
6d82665116 Removed FloatSpinCtrl since it was unused and can be replaced by wxSpinCtrlDouble now that we have switched to wx2.9
Originally committed to SVN as r3232.
2009-07-23 21:02:39 +00:00
harukalover
581b515f22 Removed delayload_libauto3.vsprops now that auto3 is gone
Originally committed to SVN as r3231.
2009-07-23 20:55:46 +00:00
Karl Blomster
8ef5d3869a Actually add the new common class files (derp) and add them to the makefile/msvc project.
Originally committed to SVN as r3226.
2009-07-23 20:19:42 +00:00
Niels Martin Hansen
f35b48470a Seems Fluff forgot to remove some files from MSVC project when removing DShow video provider. Updates #930.
Originally committed to SVN as r3207.
2009-07-23 01:43:58 +00:00
Niels Martin Hansen
07900b05f0 Oops, build-breaker = me. Forgot to save MSVC project before committing so the removed property sheet was still referenced. Updates #938.
Originally committed to SVN as r3206.
2009-07-23 01:41:48 +00:00
Niels Martin Hansen
31657f94da The removal of Auto4 Ruby and Auto4 Perl code. Updates #665 and #938.
Originally committed to SVN as r3205.
2009-07-23 01:39:57 +00:00
Niels Martin Hansen
be26ba4652 Surgically remove Automation 3.
Going to break UNIX build and Windows buildbot for now.

Originally committed to SVN as r3196.
2009-07-23 00:19:36 +00:00
Niels Martin Hansen
ff8c8e1817 Add exception.h declaring some base exception classes. For the sake of experimenting and showing the concept, change one (probably never thrown) exception to use the new style exceptions.
No new source files to compile, just a new header.

Originally committed to SVN as r3190.
2009-07-22 00:10:36 +00:00
Karl Blomster
ce2a549517 Implemented a basic QuickTime video provider. Works in my simple tests on Windows, but I have no idea if it even compiles on Mac.
I leave it up to verm to add detection for it to configure; it's disabled by default (#ifdef'd out unless you #define WITH_QUICKTIME).

Originally committed to SVN as r3187.
2009-07-21 20:24:25 +00:00
Karl Blomster
2b2a7f4212 Implement a YUV4MPEG video provider. (YUV4MPEG is an uncompressed video format originally created for use by mjpegtools but is also commonly used by a lot of Unix video software; see http://wiki.multimedia.cx/index.php?title=YUV4MPEG2 or http://manpages.ubuntu.com/manpages/karmic/en/man5/yuv4mpeg.5.html (man 5 yuv4mpeg, if you have mjpegtools installed) for a description of the format.)
Currently lacks a few features (no RFF flag parsing is done, interlacing is not supported and the colorspace conversion to RGB32 could stand considerable improvement) but at least now Aegisub is capable of reading video without FFMS2 or Avisynth. Updates #920.

Originally committed to SVN as r3168.
2009-07-19 04:13:46 +00:00
Karl Blomster
cdc69b847f Remove the deprecated ffmpeg providers from the MSVC2008 project file.
Originally committed to SVN as r3149.
2009-07-16 19:11:00 +00:00
Niels Martin Hansen
24de0a249a Add missing iconv include dir to MSVC project property sheet.
Originally committed to SVN as r3138.
2009-07-14 21:57:38 +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
7eb58e57e2 Fix include path for MSVC project to point to the new location of ffms2 sources.
Originally committed to SVN as r3124.
2009-07-13 22:43:46 +00:00
Karl Blomster
956f657c8d - Moved lib/ffms2.lib to FFmpegSource2/ffms2.lib.
- Deleted the lib folder since nothing uses it anymore.
- Modifed the #include of ffms.h in ffmpegsource_common.h to make it easier to use an external ffms2 instead of the one in the repository.
- Updated vs2008 project file to reflect these changes.
- Easily claims build breaker's hat.

Originally committed to SVN as r3052.
2009-06-12 17:10:45 +00:00
Amar Takhar
8cfb941a3c Remove *portaudio2.(cpp|h) from the vcproj.
Originally committed to SVN as r3046.
2009-06-11 03:00:12 +00:00
Niels Martin Hansen
a312985f36 Split video backend and UI into separate groups in MSVC project file.
Originally committed to SVN as r2942.
2009-05-16 12:46:22 +00:00
Niels Martin Hansen
863d89ba4f aegisub_endian.h was missing from MSVC project.
Originally committed to SVN as r2932.
2009-05-14 23:58:24 +00:00
Niels Martin Hansen
523421300d Split audio sources in MSVC project into Backend and UI groups.
Originally committed to SVN as r2925.
2009-05-14 21:25:08 +00:00
Niels Martin Hansen
92202a99bf Some more delayload vsprops files.
Originally committed to SVN as r2882.
2009-04-29 19:08:40 +00:00
Niels Martin Hansen
f5bc001e90 Move more project settings into property sheet files.
Originally committed to SVN as r2829.
2009-04-18 13:40:52 +00:00
Karl Blomster
f6016573c8 revert revision 2825 since apparently it broke all of jfs' changes
Originally committed to SVN as r2827.
2009-04-18 13:02:13 +00:00
Karl Blomster
caa26103f5 add portaudio_x86.dll to the list of delay-loaded dll's in the vs2008 project file
Originally committed to SVN as r2825.
2009-04-18 09:37:54 +00:00
Niels Martin Hansen
fe393f82af No longer support anything for Windows-builds but Visual Studio 2008/VC9.
Remove all outdated, unmaintained project files and some unused dirs, and other stuff related to outdated build methods.

Originally committed to SVN as r2821.
2009-04-17 22:08:37 +00:00
Niels Martin Hansen
30057004f1 Some changes to property sheets went unsaved before previous commit, oops.
(This made linking in various things impossible.)

Originally committed to SVN as r2820.
2009-04-17 21:58:17 +00:00
Niels Martin Hansen
77791217a0 Refactor Visual Studio 2008 build and make libauto3 and Lua 5.0 build on VC9.
* The most important project properties (especially paths) are now stored in VSProps files in generalised ways.
* Projects share VSProps files so they place output files in same locations and thus agree on where to find them.
* Avoid inconsistencies between build configurations/platforms as has happened often before.
* Now distributable binaries (aegisub.exe and aegisub-auto3.dll) will be placed in $(SolutionDir)/bin/, static libraries under $(SolutionDir)/lib/ and object files etc. under $(SolutionDir)/build/. Note that those locations are controlled by where the solution file is placed in the file system.
* libauto3 is no longer pulled in by a #pragma in auto4_auto3.c, but must instead be pulled in by making the aegisub project depend on the auto3 project, which must in turn depend on the lua50 project.
* Final binary filenames are now somewhat different. You get aegisub32.exe, aegisub64d.exe, aegisub-auto3lib32d.dll and more.
* There's still more that can be factored out, things like optimisation flags and defines.

Originally committed to SVN as r2819.
2009-04-17 21:53:48 +00:00
Karl Blomster
cc26be476e add portaudio2 player to the vs2005 project as well while I'm at it
Originally committed to SVN as r2814.
2009-04-17 19:45:33 +00:00
Karl Blomster
8a6206e5d0 add portaudio2 audio player to config/config_windows0.h and the vs2008 project file
Originally committed to SVN as r2813.
2009-04-17 19:44:07 +00:00
Rodrigo Braz Monteiro
6106546f74 Fixed windows project.
Originally committed to SVN as r2766.
2009-03-14 20:52:01 +00:00
Amar Takhar
b2bcb09943 Fix vs2008 build (Patch from Haruka)
Originally committed to SVN as r2762.
2009-03-12 05:56:02 +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
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
Niels Martin Hansen
15fb8e8fdb "New", nicer solution for including the SVN revision information in Windows builds.
Originally committed to SVN as r1170.
2007-05-08 00:06:39 +00:00
Rodrigo Braz Monteiro
06cff2e2f2 Renamed /core/ to /aegisub/ to avoid issues with unix systems being unable to delete core dumps.
Originally committed to SVN as r652.
2006-12-28 23:43:23 +00:00