Rather than having it be a configurable option, simply build in final
release mode if Aegisub is being built from a signed tag, and get the
version information from that tag.
Drop the version number from the OS X app bundle when not building from
a tag as it done everywhere else. Drop the arch suffix since ppc hasn't
been tested in years and isn't worth testing as it's only going to get
less relevant as time goes on.
Remove some redundant definitions in the build system.
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.
glibc's iconv implementation supports ISO-6937-2, but libiconv doesn't
due to that these days the only place it's used is in a few old subtitle
formats. As a result, on everything but linux we need our own converter.
Conversion from ISO-6937-2 is currently not supported.
Originally committed to SVN as r6632.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.