Commit graph

4043 commits

Author SHA1 Message Date
Thomas Goyne
489d5bbec6 Ignore the Maximize option for dialogs which aren't supposed to be maximizable. Closes #1451.
Originally committed to SVN as r6446.
2012-02-07 01:22:06 +00:00
Thomas Goyne
813f23e762 Check whether the dialog is maximized rather than whether it's not iconized in PersistLocation. Updates #1451.
Originally committed to SVN as r6445.
2012-02-07 01:21:56 +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
68c9989c89 Clean up DummyVideoProvider a bit
Originally committed to SVN as r6443.
2012-02-07 01:21:37 +00:00
Thomas Goyne
f48ccc0640 Make the version check dialog a bit wider
Originally committed to SVN as r6442.
2012-02-03 00:54:09 +00:00
Thomas Goyne
bd38cfc305 Only age the renderer caches when a new block is created
Originally committed to SVN as r6441.
2012-02-02 22:58:15 +00:00
Thomas Goyne
fc932dddc7 Convert BlockCache from LFU to LRU
In practice there were usually <10 calls to Get per call to Age,
resulting in everything but the most recently used block having an
access count of 0. This resulted in it having essentially random
eviction, which worked decently due to the size of the cache, but with a
significant speed overhead for the LFU tracking.

Originally committed to SVN as r6440.
2012-02-02 22:58:06 +00:00
Thomas Goyne
7ca0ad3233 Repaint the entire audio display when style ranges change
In practice, painting audio from the cache isn't all that expensive, so
the limited refreshing was just introducing places for bugs without
improving performance all that much.

Closes #1432.

Originally committed to SVN as r6439.
2012-02-02 22:57:53 +00:00
Thomas Goyne
ddc8dc9eca Only wrap the avisynth-using part of AvisynthVideoProvider's constructor with try/catch so that avisynth is still initialized when the catch handler runs, which is required to actually get an error message. Closes #1444.
Originally committed to SVN as r6438.
2012-02-02 20:51:07 +00:00
Thomas Goyne
c5c829357d Use wxAutoBufferedPaintDC for ToggleButton
Originally committed to SVN as r6437.
2012-02-02 20:50:56 +00:00
Thomas Goyne
bd7f338115 Don't copy fonts which appear in styles but are never actually used
Originally committed to SVN as r6436.
2012-02-02 19:31:37 +00:00
Thomas Goyne
da61e75f75 Skip inline comments when gathering things to collect fonts for
Originally committed to SVN as r6435.
2012-02-02 19:31:27 +00:00
Thomas Goyne
6652ef40e9 Increase the amount of information reported when fonts can't be found
List the styles using the font along with lines which use the font via
overrides, and add a warning at the end when some glyphs could not be
found to reduce the chance of the user failing to notice it.

Originally committed to SVN as r6434.
2012-02-02 19:18:40 +00:00
Thomas Goyne
6c365f0e6a Remove VideoProvider::GetPosition, as it's unused and unneeded
Originally committed to SVN as r6433.
2012-02-02 19:18:30 +00:00
Thomas Goyne
6717334c12 Fix crash when trying to seek to keyframes via the video slider with no keyframes loaded, and use wxAutoBufferedPaintDC rather than manual double-buffering
Originally committed to SVN as r6432.
2012-02-02 19:18:21 +00:00
Thomas Goyne
b8a7c6cb1e Remove scoped_ptr::swap
Originally committed to SVN as r6431.
2012-02-02 19:18:10 +00:00
Thomas Goyne
d68a7e81b0 Add (optional) overlapping line correction to the timing postprocessor
Trying to use this at the same time as adding lead in/out will probably
not have useful results.

Originally committed to SVN as r6430.
2012-02-01 23:59:40 +00:00
Thomas Goyne
eebcf34edb Don't decode audio URIs stored on the script as it currently always stores the absolute path and the decoding breaks dummy audio URIs
Originally committed to SVN as r6429.
2012-02-01 23:59:32 +00:00
Thomas Goyne
3d6e5e7d39 Fix incorrect styling of overlapping inactive lines
Originally committed to SVN as r6428.
2012-02-01 23:59:23 +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
01b92aa4e3 Change AudioController's public API from samples to milliseconds
The sample rate of the currently open audio is not something that things
which do not interact with the raw audio data should have to care about,
or even know about.

Originally committed to SVN as r6426.
2012-02-01 23:58:58 +00:00
Thomas Goyne
bba825ed0d Clear the error color when an automation script which previously failed to load loads successfully
Originally committed to SVN as r6425.
2012-02-01 18:47:47 +00:00
Thomas Goyne
9dbfe5d8e5 Update the visual tool buttons when the active tool is changed via hotkey
Originally committed to SVN as r6424.
2012-02-01 18:47:37 +00:00
Thomas Goyne
4ea45627b5 Remove periods from the end of help strings
Originally committed to SVN as r6423.
2012-02-01 18:47:26 +00:00
Thomas Goyne
2dcd4ff2a6 Mark the style name collision messages as translatable
Originally committed to SVN as r6422.
2012-02-01 18:47:18 +00:00
Thomas Goyne
439b1272b0 Select current style when the style manager is opened
Originally committed to SVN as r6421.
2012-02-01 18:47:10 +00:00
Thomas Goyne
f0933ecb1a When adding new hotkeys, automatically select and start editing the new hotkey
Originally committed to SVN as r6420.
2012-02-01 18:47:00 +00:00
Thomas Goyne
499a9b2869 Set thread priorty between Create() and Run()
Originally committed to SVN as r6419.
2012-02-01 14:23:52 +00:00
Thomas Goyne
fbe00eabe8 Bump up the size of the log window in the font collector dialog so that it can actually fit font names without wrapping
Originally committed to SVN as r6418.
2012-02-01 04:17:39 +00:00
Thomas Goyne
db7924d646 Add a warning in the fontconfig font collector when the chosen font does not have glyphs for some of the characters used in that font
Originally committed to SVN as r6417.
2012-02-01 04:17:33 +00:00
Thomas Goyne
98b51e2c23 Clean up DialogStyleManager a bit, eliminating a decent amount of duplicated code and fixing issues with the logic for enabling and disabling the buttons.
Originally committed to SVN as r6416.
2012-02-01 00:48:50 +00:00
Thomas Goyne
c6ac746215 Kill DialogStyleManager::OnClose as it just does the default thing
Originally committed to SVN as r6415.
2012-02-01 00:48:42 +00:00
Thomas Goyne
b48436c5de Skip unprocessed key events in the style manager
Originally committed to SVN as r6414.
2012-02-01 00:48:33 +00:00
Thomas Goyne
3be4693480 Uncrustify AssStyleStorage a bit
Originally committed to SVN as r6413.
2012-02-01 00:48:24 +00:00
Thomas Goyne
ac5af24014 Remove pointless #ifdef __APPLE__ around CmdDown()
The entire point of CmdDown is that it calls ControlDown on non-OS X, so
the ifdefs are completely pointless.

Originally committed to SVN as r6412.
2012-02-01 00:48:16 +00:00
Thomas Goyne
7bd0691bd7 In PersistLocation get the new location of the dialog directly from the dialog rather than from the event as the data in the event is wrong
Originally committed to SVN as r6411.
2012-02-01 00:48:07 +00:00
Thomas Goyne
04cc422391 Close the spell checker after all lines have been checked rather than only once there are no errors remaining. Closes #1442.
Originally committed to SVN as r6410.
2012-02-01 00:47:57 +00:00
Thomas Goyne
3af57cdbcd Copy the source line's group in AssDialogue's copy constructor as copying wxStrings is far faster than constructing new ones
Originally committed to SVN as r6409.
2012-02-01 00:47:49 +00:00
Thomas Goyne
a7d54f3d69 Make AssEntry::group const as it really should never change
Originally committed to SVN as r6408.
2012-02-01 00:47:38 +00:00
Thomas Goyne
8bef1eb874 Destruct AssFiles on a background thread as it's rather slow with large files
Originally committed to SVN as r6407.
2012-02-01 00:47:28 +00:00
Thomas Goyne
64553dd633 Handle commands which change types at runtime. Closes #1413.
Originally committed to SVN as r6406.
2012-01-31 04:04:02 +00:00
Thomas Goyne
983ffc1e83 Add some dumb heuristics to detect binary files in the charset detector to avoid taking forever feeding hundreds of MB through it. Closes #1438.
Originally committed to SVN as r6405.
2012-01-31 04:03:55 +00:00
Thomas Goyne
d68a395499 Open files in binary mode for charset detection
Originally committed to SVN as r6404.
2012-01-31 04:03:50 +00:00
Thomas Goyne
fc96f1bd28 Swallow cancel exceptions thrown from opening audio from the script so that unrelated things aren't canceled
Originally committed to SVN as r6403.
2012-01-31 04:03:44 +00:00
Thomas Goyne
f774f21903 Explicitly do nothing when an empty container is passed to delete_clear as it's oddly slow otherwise
Originally committed to SVN as r6402.
2012-01-31 00:44:55 +00:00
Thomas Goyne
c2d3c910c7 Replace some uses of "" with wxString()
Despite special-casing zero-length input, wxString("") takes over four
times as long as wxString() - and on a 10k line script, this change cuts
AssFile's copy constructor's runtime in half.

Originally committed to SVN as r6401.
2012-01-31 00:44:43 +00:00
Thomas Goyne
3b0d2ae8e6 Add effect and actor to the things that lines can be sorted by
Originally committed to SVN as r6400.
2012-01-31 00:44:34 +00:00
Thomas Goyne
a114238396 Use AssTime::GetASSFormated for the video position display
Originally committed to SVN as r6399.
2012-01-31 00:44:26 +00:00
Thomas Goyne
725820efc0 Add support for setting the active line from automation macros
The macro processing function can now return a second value, which is
the index of the line to make active, which must be one of the lines in
the selection. If it is not, or if the value is not present, then the
active line is left unchanged if it is in the new selection, or set to
the first line of the new selection if it is not.

Closes #1435.

Originally committed to SVN as r6398.
2012-01-31 00:44:16 +00:00
Thomas Goyne
dad803e956 Set the start and end times of syllables relative to the line's start time rather than time 0 to match 2.1.x's behavior. Closes #1440.
Originally committed to SVN as r6397.
2012-01-31 00:44:07 +00:00
Thomas Goyne
4c4ea92d0f Update all spellcheckers after adding a word
Previously adding a word to the dictionary via the spell checker dialog
would not update the dictionary used by the subs edit box and
vice-versa.

Originally committed to SVN as r6396.
2012-01-31 00:43:59 +00:00
Thomas Goyne
57fc4145d9 Always use the same language for all spellchecker instances as having different languages in different places is weird
Originally committed to SVN as r6395.
2012-01-31 00:43:49 +00:00
Thomas Goyne
e205f9d51b Make the 'Add to dictionary' button in the spellchecker dialog actually do something. Closes #1441.
Originally committed to SVN as r6394.
2012-01-31 00:43:40 +00:00
Thomas Goyne
aa49a4eb0f Factor out the options lookups from BaseGrid::GetRowStrings so that they aren't pointlessly checked every row
Originally committed to SVN as r6393.
2012-01-31 00:43:32 +00:00
Thomas Goyne
1af19fb42e Make AssTime::GetASSFormated roughly an order of magnitude faster
Originally committed to SVN as r6392.
2012-01-31 00:43:23 +00:00
Thomas Goyne
0c972886fb Cache most of the brushes used in grid painting
Originally committed to SVN as r6391.
2012-01-31 00:43:15 +00:00
Thomas Goyne
cf1425f9d1 Don't get the strings for hidden columns when painting the grid. Speeds up grid painting by up to 25%.
Originally committed to SVN as r6390.
2012-01-31 00:43:06 +00:00
Thomas Goyne
b34d2c547f Use wxAutoBufferedPaintDC rather than manual double-buffering in BaseGrid, as it's simpler and slightly faster
Originally committed to SVN as r6389.
2012-01-31 00:42:58 +00:00
Thomas Goyne
e5f1719d8f Use DC clipping in AudioRenderer rather than wxMemoryDC + Blit
In addition to being far simpler, this is marginally faster as
wxMemoryDC has a decent amount of overhead.

Originally committed to SVN as r6388.
2012-01-31 00:42:47 +00:00
Thomas Goyne
0bff490b7e Enable/disable the OK button in the TPP dialog when styles are (un)checked
Originally committed to SVN as r6387.
2012-01-27 23:35:31 +00:00
Thomas Goyne
049c730813 Fix handling of autosave and autobackup paths that don't end in a slash
Originally committed to SVN as r6386.
2012-01-27 21:32:48 +00:00
Thomas Goyne
e258e8c25f Fix crash on empty lines in karaoke mode
Originally committed to SVN as r6385.
2012-01-27 20:04:31 +00:00
Thomas Goyne
9e3f280cda Fix bug where opening audio with audio already open would resize the audio display
Originally committed to SVN as r6384.
2012-01-27 20:04:22 +00:00
Thomas Goyne
ef4c1b369d Adjust the label for the history box in the shift times dialog to suggest that old shifts can now be loaded
Originally committed to SVN as r6383.
2012-01-27 20:04:14 +00:00
Thomas Goyne
642a9df2bf Correct the tooltip for 'Shift to Current Frame'
Originally committed to SVN as r6382.
2012-01-27 20:04:05 +00:00
Thomas Goyne
78f1198426 Fix error when adding a word to the dictionary when the user dictionary file doesn't already exist
Originally committed to SVN as r6381.
2012-01-27 20:03:55 +00:00
Thomas Goyne
bc9c521cfd Apply the 'Subs Edit Box' hotkey handling to all of the text boxes in the subs edit area rather than just the main text edit. Closes #1431.
Originally committed to SVN as r6380.
2012-01-27 19:23:35 +00:00
Thomas Goyne
0dc0135f9a Select the appropriate entry in the zoom dropdown when the zoom is changed externally so that keyboard navigation works. Updates #1433.
Originally committed to SVN as r6379.
2012-01-27 19:23:26 +00:00
Thomas Goyne
2d5df24fd6 Update the zoom on Enter in the zoom box. Updates #1433.
Originally committed to SVN as r6378.
2012-01-27 19:23:16 +00:00
Thomas Goyne
772c8dee3b Fix accelerator conflict between Redo and Find and Replace
Originally committed to SVN as r6377.
2012-01-27 19:23:07 +00:00
Thomas Goyne
16db1eb4dd Add more menu accelerators and fix a conflict between View and Video. Patch by catntabile. Closes #1434.
Originally committed to SVN as r6376.
2012-01-27 19:22:57 +00:00
Thomas Goyne
d01c0cf501 Fix crash when drawing a vector clip that does not start with a move. Closes #1430.
Originally committed to SVN as r6375.
2012-01-27 19:22:46 +00:00
Thomas Goyne
4746ae8a1d Really unhardcode the Paste Over dialog's height rather than just the width
Originally committed to SVN as r6374.
2012-01-26 23:23:41 +00:00
Thomas Goyne
a54983a9bc Fix a few minor issues with the Paste Over dialog
Remove the pointlessly hardcoded height of the checklist.

Set the parent correctly.

Set the initial focus to the OK button.

Originally committed to SVN as r6373.
2012-01-26 23:21:19 +00:00
Thomas Goyne
8c246e1cb8 Make shift-scrollwheel scroll the grid a page at a time. Closes #1407.
Originally committed to SVN as r6372.
2012-01-26 22:46:09 +00:00
Thomas Goyne
6d550b4a5d Repaint the entire grid on timing changes
Timing changes can potentially make all of the columns need to be
repainted (due to the collision line color), and the grid currently
isn't smart enough to know when this is actually the case, so just
always repaint the entire thing.

Originally committed to SVN as r6371.
2012-01-26 22:27:57 +00:00
Thomas Goyne
a1ad0fa585 Use Scintilla's logic for deciding when to coalesce edit box changes
Scintilla's modification notifications don't expose enough information
to do a very good job of deciding when to group changes with previous
ones, but it does expose when Scintilla thinks undo groups should end,
so just use that.

This should significantly improve the behavior of undo when editing
lines in the edit box.

Originally committed to SVN as r6370.
2012-01-26 22:13:39 +00:00
Thomas Goyne
d55f1622f1 Fix backwards-compatibilty break in the lua karaoke parser
Insert an empty syllable at the beginning of the karaoke syllable table
to better mimick 2.1.x's behavior.

Originally committed to SVN as r6369.
2012-01-26 21:19:25 +00:00
Thomas Goyne
0aec0a9d59 Add an option to skip over commented lines in the spell checker. Closes #1428.
Originally committed to SVN as r6368.
2012-01-26 20:51:08 +00:00
Thomas Goyne
92ae4a616e Fix truncation of all float fields in styles
Originally committed to SVN as r6367.
2012-01-26 20:17:31 +00:00
Thomas Goyne
99a7eece9c Significantly speed up duplicating multiple lines
SubtitlesGrid::DuplicateLines iterated over the entire file multiple
times for each line duplicated, making duplicating large numbers of
lines extremely slow.

Originally committed to SVN as r6366.
2012-01-26 20:08:54 +00:00
Thomas Goyne
15a4eca7ce Fix crash on (auto)save when using CSRI and video is open
Calling AssFile::Save/Load from multiple threads (even on different
objects) was not safe due to that is uses SubtitleFormat internally,
which was inheriently thread-unsafe. To fix this, change
SubtitleFormat's interface to support immutable implementations, and
make all of the current implementations immutable.

This isn't a perfect solution - making a subtitle format implemented in
lua immutable would be rather difficult - so at some point in the future
SubtitleFormat should probably be changed to a factory which returns new
objects from GetReader/GetWriter.

Originally committed to SVN as r6365.
2012-01-26 20:08:38 +00:00
Thomas Goyne
d001d66b12 Add support for the scale parameter of vector clips. Closes #1415.
Originally committed to SVN as r6364.
2012-01-26 00:29:08 +00:00
Thomas Goyne
214079af58 Load Shift Times settings from history on double-click
Redesign how shift times history is saved. Previously it stored the
localized strings in the history file, which are not particularly
parsable as the format may differ between locales. Rather than doing
this, store the raw settings in a json file, and generate the history
strings on display. In addition to making it much easier to load old
settings, this makes it so that the history is always displayed using
the current locale, rather than the locale in which the shifting was
done.

Closes #1427.

Originally committed to SVN as r6363.
2012-01-25 23:09:45 +00:00
Thomas Goyne
2094814077 Save the current row and scroll position in the file and restore it when the file is reopened. Closes #1417.
Originally committed to SVN as r6362.
2012-01-25 19:07:36 +00:00
Thomas Goyne
71a4e38c7d Fix over-escaping that resulted in Recombine Lines stripping 't' rather than tabs. Closes #1418.
Originally committed to SVN as r6361.
2012-01-25 19:07:27 +00:00
Thomas Goyne
a4eb7ef528 Fix crash with empty hotkeys. Closes #1420.
Originally committed to SVN as r6360.
2012-01-25 19:07:18 +00:00
Thomas Goyne
e9dcbf66f3 Fix compilation errors when wxUSE_ON_FATAL_EXCEPTION is not enabled. Updates #1423.
Originally committed to SVN as r6359.
2012-01-25 19:07:07 +00:00
Thomas Goyne
d798d69849 Enable the dummy audio provider in release builds. Closes #1425.
Originally committed to SVN as r6358.
2012-01-25 19:06:56 +00:00
Thomas Goyne
e7307d249e Fix odd behavior when switching active lines with the Effect or Actor boxes focused
Originally committed to SVN as r6357.
2012-01-25 05:49:00 +00:00
Thomas Goyne
f8c27feedb Skip unprocessed key events. Updates #1408.
Originally committed to SVN as r6356.
2012-01-25 05:48:53 +00:00
Thomas Goyne
26c3e13340 Fix poor synchronization between mouse and keyboard modifications to the selection
Combining Shift+Up/Down (or Home/End or Page Up/Page Down) with
shift-clicking had very odd results due to that they used separate
variables to decide where to extend from (and even when only one was
used they were handled incorrectly in some cases).

Closes #1311.

Originally committed to SVN as r6355.
2012-01-25 04:59:17 +00:00
Thomas Goyne
e6d86a1af4 Don't remove audio files from the recently used files list when loading is cancelled
Originally committed to SVN as r6354.
2012-01-25 04:59:11 +00:00
Thomas Goyne
bce29f5a9a Fix bug where "Play current line" would not stop at the end of the line if video was already playing
Originally committed to SVN as r6353.
2012-01-25 00:40:21 +00:00
Thomas Goyne
a24f1692be Let macros update their help string from the validate function
If the second return value from the validate function exists and is a
non-empty string, replace the macro's help text with that string.

Revert r6327, as this is a better solution to the same problem.

Closes #1413.

Originally committed to SVN as r6352.
2012-01-25 00:21:37 +00:00
Thomas Goyne
3140d902da Report the endianness of detected UTF-16 and UTF-32
'UTF-16' is big-endian UTF-16, so returning it for UTF-16LE is incorrect
and results in line_iterator failing on UTF-16LE.

Originally committed to SVN as r6351.
2012-01-25 00:21:27 +00:00
Thomas Goyne
1034d16e4b Auto-apply AssFixStylesFilter when sending subtitles to the renderer
Originally committed to SVN as r6350.
2012-01-24 01:46:29 +00:00
Thomas Goyne
1c14740d51 Fix check for 'start after' and 'end after' keyframe snapping in the TPP
Originally committed to SVN as r6349.
2012-01-24 01:28:26 +00:00
Thomas Goyne
df9f46b49c Actually read the values from the TPP dialog before applying processing
Originally committed to SVN as r6348.
2012-01-23 23:53:26 +00:00
Thomas Goyne
3b5bc88285 Write the video's colorspace to the script info section
Originally committed to SVN as r6347.
2012-01-23 23:07:35 +00:00
Thomas Goyne
f2aadc7439 Add automatic host API selection to the portaudio player
Portaudio defaults to using the most stable widely available host API,
rather than the highest performance or quality, and as a result the
default host API on windows (MME) is really quite bad. As such, add
logic to select the best host API for the selected output device.

Closes #1375.

Originally committed to SVN as r6346.
2012-01-23 21:14:32 +00:00
Thomas Goyne
e6252ae11b Fix adding lead in/out in the timing postprocessor
The wrong set of lines were being checked for overlaps resulting in
completely broken results.

Originally committed to SVN as r6345.
2012-01-23 21:01:57 +00:00
Thomas Goyne
2d3e505193 Port 2.1.9's installer scripts to 3.0.0
The upgrade installer still needs some updating as it only supports
upgrading from 2.1.8

Originally committed to SVN as r6344.
2012-01-23 19:09:14 +00:00
Thomas Goyne
0b7d018287 Delete the unused preferences dialog pages
Originally committed to SVN as r6343.
2012-01-23 19:02:25 +00:00
Thomas Goyne
8eaf4a6a8e Add most of the remaining "hidden" options to the preferences dialog. Closes #1022.
Originally committed to SVN as r6342.
2012-01-23 19:02:15 +00:00
Thomas Goyne
2e37ba8246 Remove redundant OSS device option
Originally committed to SVN as r6341.
2012-01-23 19:02:05 +00:00
Thomas Goyne
1f8005d8d1 Add option to hide the main toolbar. Updates #1399.
Originally committed to SVN as r6340.
2012-01-22 23:44:24 +00:00
Thomas Goyne
c8099decf3 Fix infinite loop in ALSA player when playing zero-length audio
Updates #1394.

Originally committed to SVN as r6339.
2012-01-22 18:18:07 +00:00
Thomas Goyne
e026d2a60a Fix copy/paste error that made the end time and duration boxes not work
Originally committed to SVN as r6338.
2012-01-22 18:18:00 +00:00
Thomas Goyne
0287edaa33 Suppress creation of multiple separators in a row in toolbars
If an entire group of commands in a toolbar is missing (such as with
AssDraw on non-windows), the duplicate separator should go as well to
avoid ugliness. A better solution here would be platform-specific
default toolbars, which should probably be done as part of #495.

Closes #1398.

Originally committed to SVN as r6337.
2012-01-22 17:15:36 +00:00
Thomas Goyne
7da57b38dc Bind wxEVT_LEAVE_WINDOW in AudioDisplay so the track cursor actually gets removed when the mouse leaves the display
Originally committed to SVN as r6336.
2012-01-22 17:15:31 +00:00
Thomas Goyne
c0b599fbae Only play audio on next/prev line in karaoke mode
Originally committed to SVN as r6335.
2012-01-22 17:15:25 +00:00
Thomas Goyne
e10055cb59 Don't try to create an OpenGL context until video is loaded
Creating it during startup triggers a few valgrind errors in vbox's gl
driver that may or may not matter.

Originally committed to SVN as r6334.
2012-01-22 05:59:43 +00:00
Thomas Goyne
6c879c12f1 Move the visual tool submode buttons to the main visual tool toolbar
Creating an entire toolbar for one button in the drag mode is a
pointless waste of space and source of ugliness. The secondary toolbar
was more reasonable for the vector clip tool, but it's still a bit
pointless as there's enough space for it on the main toolbar at any
reasonable zoom level.

Closes #1401.

Originally committed to SVN as r6333.
2012-01-22 05:59:36 +00:00
Thomas Goyne
d273255814 Use wxDataViewCtrl::EditItem rather than StartEditor when using 2.9.4 as StartEditor is deprecated
Originally committed to SVN as r6332.
2012-01-22 05:59:31 +00:00
Thomas Goyne
6d4a56d391 Delete most of VideoBox's members
VideoBox is down to one method so it doesn't actually need to be able to
reference most of the stuff it constructs.

Originally committed to SVN as r6331.
2012-01-22 05:59:23 +00:00
Thomas Goyne
d1d4d7840b Obey the icon size option in the visual subtoolbars rather than always using 24x24 icons
Originally committed to SVN as r6330.
2012-01-20 23:42:33 +00:00
Thomas Goyne
d253620a96 Remove duplicate *.mov from video format filters
Originally committed to SVN as r6329.
2012-01-20 22:36:11 +00:00
Thomas Goyne
c83135cb9b Add a few more a/v formats to the filters. Updates #1397.
Originally committed to SVN as r6328.
2012-01-20 22:20:08 +00:00
Thomas Goyne
a939732d9c Add auto4lua support for dynamic help strings
Rather than passing a string as the second argument to
aegisub.register_macro, they can now pass a function which will be
called (with no arguments) to get a help string.

Originally committed to SVN as r6327.
2012-01-20 21:33:39 +00:00
Thomas Goyne
b0c1ef2d6b Add support for commands with dynamic help strings
Originally committed to SVN as r6326.
2012-01-20 21:33:30 +00:00
Thomas Goyne
64c7043123 Add aegisub.cancel(), which immediates ends macro execution without applying any of the changes that have been made
Originally committed to SVN as r6325.
2012-01-20 21:33:20 +00:00
Thomas Goyne
632a02bcc9 Disable keyboard scrolling in the preferences dialog as it eats unrelated key events on wxGTK
Originally committed to SVN as r6324.
2012-01-20 15:14:47 +00:00
Thomas Goyne
2e2d896ea9 Fix the font pick buttons in the preferences dialog with wxGTK
wxGTK doesn't generate spin events when the value of a spin control is
set programmatically, so generate the event ourseleves.

Originally committed to SVN as r6323.
2012-01-20 15:14:41 +00:00
Thomas Goyne
2bc43eb886 Fix use of uninitialized variable when setting margins to an empty string
Originally committed to SVN as r6322.
2012-01-20 05:14:56 +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
1ce9b0d31b Refactor SubsEditBox a bit to make the constructor less of a monolithic behemoth and eliminate some duplicated code.
Originally committed to SVN as r6320.
2012-01-20 05:14:44 +00:00
Thomas Goyne
8e1ffb7898 Fix off-by-one error in logic for when to reannounce karaoke style ranges
Originally committed to SVN as r6319.
2012-01-20 01:49:41 +00:00
Thomas Goyne
a249cfcc35 Add an option to disable autosave as setting the interval to zero isn't very obvious
Originally committed to SVN as r6318.
2012-01-20 01:04:24 +00:00
Thomas Goyne
6e09fb1abf Reset syntax highlighter state at the end of override blocks correctly
With incomplete (or possibly incomplete for \r and \fn) tags at the end
of an override block, the text at the beginning of the next override
block was being incorrectly parsed as part of that tag.

Originally committed to SVN as r6317.
2012-01-19 19:46:09 +00:00
Thomas Goyne
6a091e3ba2 Don't save the file in the 'opened a new file' commit when 'App/Auto/Save on Every Change' is enabled as it's not actually a change
Originally committed to SVN as r6316.
2012-01-19 19:46:01 +00:00
Thomas Goyne
e4b2f1b509 Set the minimum undo levels to 2, as things get weird without a valid undo stack
Originally committed to SVN as r6315.
2012-01-19 19:45:49 +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
a72fb8f5bf Quote the path to gtestd.lib so that it works with spaces
Originally committed to SVN as r6313.
2012-01-18 23:39:52 +00:00
Thomas Goyne
6414a6ffcb Add the Ctrl/Alt/Shift-Left/Right hotkeys to the subtitle grid
Originally committed to SVN as r6312.
2012-01-18 22:51:37 +00:00
Thomas Goyne
be07cca9f6 Change keyframe snapping distance from frames to milliseconds
Snapping based on frames works poorly with VFR, and is pointlessly
different from the other adjustments.

Originally committed to SVN as r6311.
2012-01-18 22:51:28 +00:00
Thomas Goyne
f6c3be4776 Clean up a bunch of stuff in DialogTimingProcessor
Factor out most of the duplicated code and fix a lot of ugly stylistic
things.

Originally committed to SVN as r6310.
2012-01-18 22:51:17 +00:00
Thomas Goyne
e40e42ff1c Modernize DialogTextImport
Originally committed to SVN as r6309.
2012-01-18 20:08:53 +00:00
Thomas Goyne
b36c70ca7d Move a pile of things that shouldn't be in headers out of the headers
Originally committed to SVN as r6308.
2012-01-18 20:08:42 +00:00
Thomas Goyne
b38851bb93 Make the avisynth providers store an AvisynthWrapper rather than inherit from it
Originally committed to SVN as r6307.
2012-01-18 20:08:32 +00:00
Thomas Goyne
46986c6944 Fix new[]/delete mismatch
Originally committed to SVN as r6306.
2012-01-18 20:08:24 +00:00
Thomas Goyne
8cf71ddd8d Fix crash when seeking to previous keyframe with no keyframes loaded
Originally committed to SVN as r6305.
2012-01-18 20:08:16 +00:00
Thomas Goyne
9ac2f93bf0 Fix some mostly unimportant uses of uninitialized memory
Originally committed to SVN as r6304.
2012-01-18 20:08:06 +00:00
Thomas Goyne
2109d677a7 Handle unicode in string lists in the preferences dialog
Originally committed to SVN as r6303.
2012-01-17 03:03:13 +00:00
Thomas Goyne
96211b79cf Focus the frame number field of the Jump To dialog when it's opened
Originally committed to SVN as r6302.
2012-01-17 02:47:37 +00:00
Thomas Goyne
cf6f54720d Change the default hotkey for the Jumo To dialog to Ctrl-G
The hotkey should only be Ctrl-J on OS X (where Ctrl-G is taken by Find
Next), but platform-specific hotkeys aren't implemented yet.

Originally committed to SVN as r6301.
2012-01-17 02:47:31 +00:00
Thomas Goyne
f463bf4bd9 Derive the custom hotkey renderers from wxDataViewCustomRenderer
Deriving from the more specialized renderes reduces the amount of code
required, but it depends on implementation details of the specific
implementations, resulting in the custom renderers not working with
wxGTK. In addition, this makes it possible to bypass the default
handling for 'Enter' which made it impossible to set it as a hotkey.

Originally committed to SVN as r6300.
2012-01-17 02:47:25 +00:00
Thomas Goyne
4055100734 Implement 'make dist'
Originally committed to SVN as r6299.
2012-01-14 18:46:49 +00:00
Thomas Goyne
3ed84ba70d Update distdir generation
The list of files to include was out of date and only included files
for dependencies which were actually enabled, and the script was
FreeBSD-specific.

Originally committed to SVN as r6298.
2012-01-14 18:46:43 +00:00
Thomas Goyne
a586e7e58f Write svn_revision when getting the revision from git
Originally committed to SVN as r6297.
2012-01-14 18:46:38 +00:00
Thomas Goyne
3c6e28ec2e Make default_config.h/cpp depend on the json files packed into it
Originally committed to SVN as r6296.
2012-01-14 18:46:33 +00:00
Thomas Goyne
72c9bdeebf Add some super-kludgy hotkey migration logic
Originally committed to SVN as r6295.
2012-01-14 01:40:32 +00:00
Thomas Goyne
40e4f887ba Make the enter-key-in-edit-box logic a standard hotkeyed command
Originally committed to SVN as r6294.
2012-01-14 01:40:21 +00:00
Thomas Goyne
d8cedf0eec Implement the "Auto-focus audio display on mouse over" option
Originally committed to SVN as r6293.
2012-01-13 21:17:51 +00:00
Thomas Goyne
9166eb1d6b Store the selection range for the audio display srollbar in pixels so it remains valid when the zoom changes
Originally committed to SVN as r6292.
2012-01-13 21:17:40 +00:00
Thomas Goyne
3ec9514636 Fix bogus inactive line markers for the previous line when the first dialogue line is active
Originally committed to SVN as r6291.
2012-01-13 20:59:48 +00:00
Thomas Goyne
37cb9d0548 Fix some 32-bit int overflows at high zoom with long audio
Originally committed to SVN as r6290.
2012-01-13 20:59:35 +00:00
Thomas Goyne
789f25aff2 Move all selected rows up/down rather than just the active row
Originally committed to SVN as r6288.
2012-01-13 20:19:06 +00:00
Thomas Goyne
7e557c1dad Rename edit/line/swap to grid/swap and grid/swap/* to grid/move/*
Continue moving all the reordering commands to grid (why were they in
three different categories?), and change swap to move to better reflect
what they do.

Originally committed to SVN as r6287.
2012-01-13 20:18:57 +00:00
Thomas Goyne
e2984b93b0 Rename time/sort/* to grid/sort/*
Sorting lines doesn't effect the timing of them, and sorting by style
doesn't even involve time in any way. Moving lines up and down is
already in the grid category, so it seems logical to put sorting there
as well.

Originally committed to SVN as r6286.
2012-01-13 20:18:48 +00:00
Thomas Goyne
1bcbc728c8 Mark the current visual tool as active in the toolbar
Originally committed to SVN as r6285.
2012-01-13 20:18:40 +00:00
Thomas Goyne
54ebe9b37a Fix incorrect (un)wrapping of the subs edit box toolbar on video zoom changes
The size of the contents is not updated until after SubsEditBox::OnSize
is called, so the wrapping logic was being done based on the previous
available area, rather than the new size.

Originally committed to SVN as r6284.
2012-01-13 20:18:29 +00:00
Thomas Goyne
5774e87248 Add files which were missed in r6278
Originally committed to SVN as r6283.
2012-01-13 14:37:15 +00:00
Thomas Goyne
4ab04b79dd Repaint the visual tools when the active line changes
Originally committed to SVN as r6282.
2012-01-12 22:49:24 +00:00
Thomas Goyne
695559d403 Add missing parentheses that resulted in repainting issues in the audio display with inactive lines disabled
Originally committed to SVN as r6281.
2012-01-12 22:32:28 +00:00
Thomas Goyne
ca5c968d4f Non-precomp-header compilation fixes
Originally committed to SVN as r6280.
2012-01-12 22:32:20 +00:00
Thomas Goyne
988ade0c00 Rewrite the font collector
The fontconfig collector should now always pick the exact font files
used by libass rather than a giant mishmash of vaguely related files
which may or may not include the correct font.

Make the freetype font collector windows-only, as it's far inferior to
the fontconfig collector and is only present as a fallback.

Add option to copy the fonts to the script's folder.

Closes #1059.

Originally committed to SVN as r6279.
2012-01-12 22:32:09 +00:00
Thomas Goyne
7dd6cfe37d Derive agi::acs exceptions from agi::FileSystemError and friends rather than having two sets of errors for the same thing
Originally committed to SVN as r6278.
2012-01-12 22:31:54 +00:00
Thomas Goyne
7031ba807b Fix gcc compilation error
Originally committed to SVN as r6277.
2012-01-12 21:33:14 +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
86aacca631 Move SplitLine from SubtitlesGrid to SubsEditCtrl
This still isn't a very good place for the functionality, but it breaks
SubsEditCtrl's dependency on SubtitlesGrid.

Originally committed to SVN as r6275.
2012-01-11 19:19:30 +00:00
Thomas Goyne
c8d67ea0ff Fix disabling the spellchecker
Originally committed to SVN as r6274.
2012-01-11 19:19:21 +00:00
Thomas Goyne
db18cea308 Don't sort automation macros by name
Leaving macros in the order they're registered makes it possible to
group related macros. Once a UI for editing the menus has been added it
might make sense to default to sorting them, but for now it's just
unhelpful.

Closes #1381.

Originally committed to SVN as r6273.
2012-01-11 19:19:11 +00:00
Thomas Goyne
896a1ab902 Don't mark things in drawing blocks as words in GetWordBoundaries
This disables spell checking in drawing blocks and potential weird
behavior when right-clicking on drawing blocks.

Originally committed to SVN as r6272.
2012-01-11 19:19:03 +00:00
Thomas Goyne
3f8b9b8213 Fix use of uninitialized variables in GetWordAtPosition when the position is not in a word
Originally committed to SVN as r6271.
2012-01-11 19:18:54 +00:00
Thomas Goyne
1293f86afe Refactor SubsTextEditCtrl::OnContextMenu a bit
Originally committed to SVN as r6270.
2012-01-11 19:18:45 +00:00
Thomas Goyne
4726402abd Don't embolden spell check suggestions
Setting the font to bold also changes the font size, which results in
the suggestions looking worse than the default appearance is.

Originally committed to SVN as r6269.
2012-01-11 19:18:35 +00:00
Thomas Goyne
ce01b39248 Add some of the FFMS2 options to the advanced audio page of the preferences dialog
Originally committed to SVN as r6268.
2012-01-10 22:10:57 +00:00
Thomas Goyne
2b49d6ea62 Fix typo in preferences dialog
Originally committed to SVN as r6267.
2012-01-10 22:10:47 +00:00
Thomas Goyne
3b099dba74 Fix icon installation with DESTDIR set
Originally committed to SVN as r6266.
2012-01-10 20:56:25 +00:00
Thomas Goyne
5ab777f230 Set BIN_SINSTALL in a way that actually works (make is not sh)
Originally committed to SVN as r6265.
2012-01-10 20:56:15 +00:00
Thomas Goyne
237193a4bb Add option to only show non-comment inactive dialogue lines in the audio display. Closes #1386.
Originally committed to SVN as r6264.
2012-01-10 20:03:31 +00:00
Thomas Goyne
5cd47a8a88 Switch precompiled headers back to defaulting to on
Originally committed to SVN as r6263.
2012-01-10 19:10:00 +00:00
Thomas Goyne
1a02d2ba3e Add missing #include <algorithm> to dialog_log.cpp. Closes #1391.
Originally committed to SVN as r6262.
2012-01-10 19:09:51 +00:00
Thomas Goyne
ea819a2e1a Fix portaudio compilation failure
Originally committed to SVN as r6261.
2012-01-10 19:09:41 +00:00
Thomas Goyne
d451cf3e9c Add option to show the previous and next inactive lines in the audio display in addition to previous, all or none. Updates #1386.
Originally committed to SVN as r6260.
2012-01-10 01:16:39 +00:00
Thomas Goyne
a0fcd535c1 Store the names of commands in the menu rather than references to the commands themselves, to avoid crashes with dynamically created and removed commands. This makes most menu operations a bit slower, but it appears to be sufficiently fast.
Originally committed to SVN as r6259.
2012-01-09 20:31:55 +00:00
Thomas Goyne
1801583ed7 Reload the video when reattaching the video display. Fixes a pile of issues and potential crashes
Originally committed to SVN as r6258.
2012-01-09 20:31:47 +00:00
Thomas Goyne
cd48b711b4 Fix opengl errors when the file is modified with a minimized detached video window open
Originally committed to SVN as r6257.
2012-01-09 20:31:38 +00:00
Thomas Goyne
93c96d1f82 Increase default audio marker snap distance to 10 pixels to match 2.1.9
Originally committed to SVN as r6256.
2012-01-09 20:31:30 +00:00
Thomas Goyne
8bfefd356c Return nil from lua functions which require a project context if they're called during script initialization. Closes #1380.
Originally committed to SVN as r6255.
2012-01-09 20:31:19 +00:00
Thomas Goyne
bf26c14999 Remove redundant check in AudioDispaly::SetZoomLevel
Originally committed to SVN as r6254.
2012-01-08 01:37:19 +00:00
Thomas Goyne
f4c8bf429b Remove AudioTimingController::HasLabels as the rewritten audio display doesn't need it
Originally committed to SVN as r6253.
2012-01-08 01:37:12 +00:00
Thomas Goyne
d04753aaf2 Remove AudioController::GetAudioProvider as it was a temporary hack which is no longer needed
Originally committed to SVN as r6252.
2012-01-08 01:37:05 +00:00
Thomas Goyne
702d1e9c22 Split AudioDisplay::OnPaint into several methods
Originally committed to SVN as r6251.
2012-01-08 01:36:58 +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
518f93f18f Create the json log writer after checking for local config so it goes to the right place
Originally committed to SVN as r6249.
2012-01-08 01:36:35 +00:00
Thomas Goyne
e2d31b708e Split the json log writing into a seperate class from LogSink
Originally committed to SVN as r6248.
2012-01-08 01:36:23 +00:00
Thomas Goyne
59ce8bf414 Pass wxStrings to wxString::Format rather than std::string in LogWindow
Originally committed to SVN as r6247.
2012-01-08 01:36:16 +00:00
Thomas Goyne
d148bbbf2a Make agi::log::LogSink take ownership of the emitters passed to it
Originally committed to SVN as r6246.
2012-01-08 01:36:09 +00:00