Commit graph

6288 commits

Author SHA1 Message Date
Thomas Goyne
9955a2c39d Log more stuff when creating audio providers 2012-12-27 08:49:37 -08:00
Thomas Goyne
572a58cd90 Have FFMS2 do the audio downmixing when possible
Aegisub's downmixer is terrible for anything with more than two channels
(averaging all the channels together is not even vaguely close to the
correct thing to do for 5.1), so libavresample should be far better.
2012-12-27 08:42:00 -08:00
Thomas Goyne
745b9ab2a9 Build ffmpeg and ffms2 with libavresample 2012-12-26 19:32:47 -08:00
Thomas Goyne
44323cef6d Use max_element rather than a loop 2012-12-26 19:27:25 -08:00
Thomas Goyne
6e3cc883b3 Replace most uses of type::iterator with auto 2012-12-22 15:35:13 -08:00
Thomas Goyne
d0f4d9df99 Replace all uses of lagi_wxString with to_wx 2012-12-22 15:18:38 -08:00
Thomas Goyne
e270dc9aec Use stable_vector for AudioProviderRam's cache
stable_vector allocates its elements non-contiguously (as is required
for stability), while still giving O(1) indexing.
2012-12-22 14:44:35 -08:00
Thomas Goyne
433368dc58 Fix some weirdness in the AVS audio provider 2012-12-22 12:14:32 -08:00
Thomas Goyne
46d2819312 Use lambdas for some of DialogProgress's stuff 2012-12-22 11:51:08 -08:00
Thomas Goyne
6e5b53d1a9 Move the logic for which AudioProvider to create out of AudioController
Audio providers should be responsible for determining whether or not
they can open a URI, since it's not really possible for anything else
to. As such move the (lack of) parsing of dummy audio URIs to
DummyAudioProvider, and try to create DummyAudioProviders in
AudioProvider::CreateProvider.
2012-12-22 09:30:47 -08:00
Thomas Goyne
a4607ff6be Clean up AudioProvider a bit
Factor out some duplicated code and clean up some cruft.
2012-12-22 07:49:59 -08:00
Thomas Goyne
31feab4a8b Rewrite the dummy video dialog
Use validators for transferring data to/from the controls and for
validating the values rather than a bunch of custom logic.
2012-12-21 17:01:13 -08:00
Thomas Goyne
0b5994e8eb Always update edit box styles when it's called directly 2012-12-21 16:56:27 -08:00
Thomas Goyne
e25fc4b334 Add Remove From Dictionary to the subs edit box context menu when applicable. Closes #1184. 2012-12-21 16:56:27 -08:00
Thomas Goyne
24aef1ffef Fix word-boundary checking for edit box spellchecking 2012-12-21 16:56:27 -08:00
Thomas Goyne
835f7c0f78 Only enable the Remove Word button when the word can be removed. Updates #1184. 2012-12-21 16:56:26 -08:00
Stjepan Henc
fe630e052b Add Remove Word button to the spellchecker dialog. Updates #1184. 2012-12-21 16:56:26 -08:00
Thomas Goyne
36012c3302 Delete the respack-generated files on Clean 2012-12-17 17:21:26 -08:00
Thomas Goyne
a2c14e9c5f Check the error code when FFMS2 can't create an indexer
Creating an indexer can fail for reasons other than the file not
existing. This check is still not completely correct, since FFMS2 uses
the wrong error codes in a bunch of places.
2012-12-17 10:14:08 -08:00
Thomas Goyne
eab11666a9 Remove some cruft from option.h 2012-12-17 09:32:42 -08:00
Thomas Goyne
4c6be1fe55 Fix y4m loading 2012-12-17 09:32:42 -08:00
Thomas Goyne
229e5d98c5 Avoid making a full copy of the file for ThreadedFrameSource when possible
When the set of changed lines is populated, only copy those lines rather
than the entire file. On large files, this makes amend commits roughly
twice as fast when video is open.
2012-12-17 09:32:42 -08:00
Thomas Goyne
fee60be5db Announce the set of lines changed in commits
Currently this is only populated when commits are amended, for the
simple reason that it's the only time that AssFile knows what lines
changed. It is probably worth expanding this in the future.
2012-12-17 09:32:42 -08:00
Thomas Goyne
4e72fff1d9 Check the right substrings in the spellchecker dialog. Closes #1560. 2012-12-12 18:08:07 -08:00
Thomas Goyne
72ae116196 Rename SubsEditBox's private members
Mostly to cut down on conflicts with the split-editbox branch.
2012-12-12 15:17:21 -08:00
Thomas Goyne
090905056b Remove spaces in > > in nested templates 2012-12-11 10:58:28 -08:00
Thomas Goyne
6e153ed7d9 Make OpenGLTextTexture moveable so that it doesn't need to be in a shared_ptr 2012-12-11 10:41:20 -08:00
Thomas Goyne
0b133de08f Remove pointless empty destructors
An explicit empty destructor is only needed when a class has a smart
pointer to an incomplete type.
2012-12-11 09:06:21 -08:00
Thomas Goyne
9a77d564e4 Cut down on the padding under the audio toolbar 2012-12-11 08:32:58 -08:00
Thomas Goyne
7c477f3cd1 Use a real toolbar for the video box's buttons 2012-12-11 08:25:24 -08:00
Thomas Goyne
534f574a87 Delete AssDialogue::StripTag
It is not actually used anywhere.
2012-12-10 17:43:29 -08:00
Thomas Goyne
8c2062f0c7 Store AssOverrideTags directly rather than a vector of pointers 2012-12-10 17:04:18 -08:00
Thomas Goyne
a0d3b8595f Redesign AssOverrideParameter
Always store the original string form and convert it to the desired type
on demand. In most cases this is significantly faster as typically only
a few of the parameters in a line are actually read. In addition, this
makes it so that parameters which did not actually change are always
reserialized in their original form.

Delete VariableData as it's no longer used by anything.

Closes #1513.
2012-12-10 14:41:11 -08:00
Thomas Goyne
f28f6ad5b3 Join lines copied to the clipboard with newlines rather than nothing 2012-12-10 14:03:03 -08:00
Thomas Goyne
fb3500b354 Make the configure check for lua more specific
Move the generic lua check to after the checks for lua 5.1 and check for
lua < 5.2.

Closes #1559.
2012-12-10 14:01:56 -08:00
Thomas Goyne
936598e9f5 Add include directory and log files to .gitignore 2012-12-10 07:43:23 -08:00
Thomas Goyne
681de8cf37 Fix order of VariableData's initializers 2012-12-09 17:19:01 -08:00
Thomas Goyne
a36011a9dd Don't insert [Script Info] entries for empty values 2012-12-09 17:07:05 -08:00
Thomas Goyne
c1409b5c25 Add a space after the colon in [Script Info] entries 2012-12-09 17:05:11 -08:00
Thomas Goyne
96b3656742 Stick to the standard order of sections when inserting lines 2012-12-09 15:44:03 -08:00
Thomas Goyne
205d408f3e Move tag/param proto declarations to the cpp file
It's purely an implementation detail of the parser that should not be
exposed to the outside world.
2012-12-09 15:40:29 -08:00
Thomas Goyne
8cf47c38b6 Drop AssOverrideParameter::omitted since it's equivalent to the type being VARDATA_NONE 2012-12-09 10:36:13 -08:00
Thomas Goyne
d2a0a76ca9 Store AssOverrideParameters directly rather than a vector of pointers to them 2012-12-09 10:12:50 -08:00
Thomas Goyne
851f7f40e6 Make VariableData uncopyable but moveable 2012-12-09 10:12:50 -08:00
Thomas Goyne
482d31299b Remove unused things from VariableData 2012-12-09 08:04:29 -08:00
Thomas Goyne
7e38ad6ec7 Don't add {} to the body of \t tags 2012-12-09 08:04:20 -08:00
Thomas Goyne
bd35d9308d Use unordered_set for the actor/effect values 2012-12-07 19:24:42 -08:00
Thomas Goyne
9b44f92235 Make AssEntry purely a base class and add AssInfo
Now that all the other junk is being dropped from the file, script info
lines are the only thing left which was a concrete AssEntry, and
AssEntry wasn't actually a very good way to store them.
2012-12-07 18:55:29 -08:00
Thomas Goyne
cccd95941d Fix syntax highlighting for multiple karaoke templater expression blocks 2012-12-07 18:20:09 -08:00
Thomas Goyne
28705000bb Use boost::join in a handful of places 2012-12-07 08:25:47 -08:00