Commit Graph

95 Commits

Author SHA1 Message Date
Thomas Goyne 037d385419 Guard uses of audio providers with a mutex when not using a cache as they aren't thread-safe. Updates #1509.
Originally committed to SVN as r6959.
2012-08-19 14:11:29 -07:00
Thomas Goyne 4294e5857d Port the EBU STL (tech 3264) subtitle format from 2.1.9
Split the configuration dialog off into its own file and mostly decouple
it from the subtitle format.

Save last used export settings to options and restore them the next time
the dialog is opened.

Use libaegisub for charset conversion and IO rather than wxWidgets.

Use libaegisub's line-wrapping logic and finish implementing all of the
various wrapping modes.

Make unchecking the "Translate alignments" checkbox do something.

Originally committed to SVN as r6636.
2012-03-29 19:05:26 +00:00
Thomas Goyne cbf9ee463e Remove export_clean_info.h/cpp from the vcproj
Originally committed to SVN as r6587.
2012-03-12 23:39:51 +00:00
Thomas Goyne 36548b93b1 Add a dialog manager for modeless dialogs so that they don't have to all be stuffed into the context
Originally committed to SVN as r6553.
2012-03-09 00:23:41 +00:00
Thomas Goyne 5a53aa5511 Delete aegisub.h. It's been a few years since it last had anything in it.
Originally committed to SVN as r6444.
2012-02-07 01:21:47 +00:00
Thomas Goyne aaf7285a6e Remove UI-related responsibilities from AudioController
Keeping track of audio markers and labels to be shown in the audio
display is not particularly related to AudioController's primary
responsiblity of controlling the playback of audio.

Originally committed to SVN as r6427.
2012-02-01 23:59:12 +00:00
Thomas Goyne 4675dbb29d Factor out the placeholder text behavior from SubsEditBox and make it work better
Handle switching from placeholder/normal mode when the value is changed
externally (such as from the active line changing) in addition to on
focus/blur, and improve behavior when the user sets the text to the
placeholder text.

Originally committed to SVN as r6321.
2012-01-20 05:14:50 +00:00
Thomas Goyne c75fb1d069 Add the OSS player to the vcproj
It's never used on Windows, but it's useful to have all of the files in
the project, and the other non-Windows audio players are already in the
project.

Originally committed to SVN as r6314.
2012-01-19 00:43:43 +00:00
Thomas Goyne 85733835d1 Kill setup.cpp and move library inclusion to config_windows0.h. Closes #949.
Originally committed to SVN as r6276.
2012-01-11 20:03:46 +00:00
Thomas Goyne 3c62a38c7a Replace MyThes thesaurus implementation with a custom one
Fixes a pile of unicode-related issues, such as dictionaries in a path
which does not fit into the system's local charset, and significantly
cuts down on the amount of code.

Originally committed to SVN as r6250.
2012-01-08 01:36:50 +00:00
Thomas Goyne 79fa487678 Delete the DVD subtitle format. It didn't work and it's been years since anyone last touched it.
Originally committed to SVN as r6044.
2011-12-22 21:16:23 +00:00
Thomas Goyne c36cd32127 Disable forced inclusion of the precompiled header for C files in x64 builds
Originally committed to SVN as r5989.
2011-12-07 00:19:51 +00:00
Thomas Goyne b993c02dee Move AegisubFileDropTarget to frame_main.cpp. It's under ten lines of code so there's really no point in having two separate files for it.
Originally committed to SVN as r5936.
2011-11-29 23:18:24 +00:00
Thomas Goyne 3f90614fd0 Delete static_bmp.[h|cpp] as it isn't actually used anywhere
Originally committed to SVN as r5930.
2011-11-29 23:17:31 +00:00
Thomas Goyne 275f32dfcf Remove audio_player_manager.h from the vc9 project as it hasn't existed for quite a while
Originally committed to SVN as r5890.
2011-11-19 01:14:24 +00:00
Thomas Goyne 3cf1718ef6 Add support for the inactive color scheme to the audio renderers
Originally committed to SVN as r5886.
2011-11-18 22:58:02 +00:00
Thomas Goyne 29518f585a Move AudioMarkerProviderKeyframes from audio_controller.cpp to its own header/source files
Originally committed to SVN as r5858.
2011-11-16 19:55:49 +00:00
Thomas Goyne be77dc8307 Mostly rewrite the visual tools and related classes
Convert all coordinates within the visual tools to Vector2D, which has
been significantly extended. Eliminates a lot of issues with accumulated
rounding errors and simplifies a lot of code.

Modernize the visual tools' interactions with the rest of Aegisub by
connecting to signals directly rather than routing everything through
the video display and converting the main visual tool mode toolbar to
the command system.

Extract all references to OpenGL from the visual tools and move them to
OpenGLWrapper as a first step towards making it possible to implement an
alternative video renderer. In the process, eliminate all uses of OpenGL
immediate mode.

Fix a bunch of minor issues and general instability.

Originally committed to SVN as r5823.
2011-11-06 17:18:20 +00:00
Thomas Goyne 7f06849531 Rewrite the audio format converters, splitting each conversion into its own class
Originally committed to SVN as r5796.
2011-10-29 03:46:36 +00:00
Thomas Goyne f48f17cd0b Implement the hotkey page of the preferences dialog
Originally committed to SVN as r5794.
2011-10-28 20:40:43 +00:00
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 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 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 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
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 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
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 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
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
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 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
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
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