Thomas Goyne
0b5674e6aa
Hide the alpha controls when the alpha isn't used
2013-01-14 08:37:02 -08:00
Thomas Goyne
c37c1ad477
Add alpha support to the color picker. Closes #217 .
2013-01-14 08:37:01 -08:00
Thomas Goyne
b1dbb9a94b
Decouple SearchReplaceEngine from DialogSearchReplace
2013-01-13 09:00:18 -08:00
Thomas Goyne
2f4cae46b4
Move the SearchReplaceEngine instance to the context
2013-01-11 08:53:36 -08:00
Thomas Goyne
a99428c49d
Extract options and MRU stuff from main.h
...
Nearly all of the files including main.h are doing so only for OPT_GET
and friends, which are rather unrelated to the main things that main.h
declares.
2013-01-09 16:48:31 -08:00
Thomas Goyne
8f765f3955
Add AssOverrideBlockComment
...
Nothing actually wants to treat comments as plain text, so using the
same type for both just makes things more complex.
2012-12-31 07:09:32 -08:00
Thomas Goyne
3ec82952f8
Partially de-wxify AssStyle
2012-12-31 07:09:31 -08:00
Thomas Goyne
d49758edbf
De-wxify AssOverride
2012-12-31 07:09:31 -08:00
Thomas Goyne
d0f4d9df99
Replace all uses of lagi_wxString with to_wx
2012-12-22 15:18:38 -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
8c2062f0c7
Store AssOverrideTags directly rather than a vector of pointers
2012-12-10 17:04:18 -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
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
28705000bb
Use boost::join in a handful of places
2012-12-07 08:25:47 -08:00
Thomas Goyne
1b15a753a1
Add .m4v to the list of video file extensions
...
It would be nice if this didn't require adding it in five different places...
2012-12-05 20:23:32 -08:00
Thomas Goyne
d5aae26d83
Use boost::flyweight to intern the wxString members of AssDialogue
...
100 no-op non-amend commits on a subtitle file with 6689 dialogue lines,
with the undo limit set to 100:
Without flyweight:
No video open:
Initial memory usage: 30.6 MB
Final memory usage: 498.0 MB
Elapsed time: 6.3 seconds
Video open, using libass:
Initial memory usage: 54.3 MB
Final memory usage: 653.3 MB
Elapsed time: 23.7 seconds
With flyweight:
No video open:
Initial memory usage: 26.0 MB
Final memory usage: 104.5 MB
Elapsed time: 3.0 seconds
Video open, using libass:
Initial memory usage: 46.7 MB
Final memory usage: 251.8 MB
Elapsed time: 13.0 seconds
No video open:
Memory usage: -79%
Time: -52%
Video open:
Memory usage: -61.5%
Time: -45%
100 no-op amend commits on a line in the middle of a subtitle file with
6689 dialogue lines, with video open:
Without flyweight:
Initial memory usage: 48.2 MB
Final memory usage: 182.3 MB
Elapsed time: 22.3 seconds
With flyweight:
Initial memory usage: 39.8 MB
Final memory usage: 165.8 MB
Elapsed time: 13.8 seconds
Note: The large jump in memory usage here is due to that the benchmark
is blocking the main thread, so at the end there are ~100 video frames
waiting to be displayed.
2012-12-05 18:43:44 -08:00
Thomas Goyne
1c176e8568
Store parsed dialogue blocks in a ptr_vector
...
This eliminates the need to explicitly delete the parsed blocks.
Also go ahead and remove AssDialogue::Blocks since it's really not a
very good idea in general.
2012-12-02 12:29:33 -08:00
Thomas Goyne
7090d2f513
Don't include wx/wx.h in subs_grid.h
2012-12-02 06:33:29 -08:00
Thomas Goyne
96cf5ea7ed
Kill the #ifndef AGI_PRE guards
...
They don't actually improve compilation performance and make it more
annoying to modify what things are in the precompiled header.
2012-12-02 06:33:29 -08:00
Thomas Goyne
0b19908e7b
Use std::prev and std::next where applicable
2012-11-30 10:54:57 -08:00
Thomas Goyne
174a992974
Use remove_and_dispose_if where applicable
2012-11-30 10:44:09 -08:00
Thomas Goyne
b94547aa71
Drop format and header lines from the in-memory file representation
...
They're just pointless cruft, so drop them from the file when parsing
and re-add them when saving as ASS or SSA.
2012-11-24 16:24:00 -08:00
Thomas Goyne
bd259b7197
Fix awesome variable shadowing derp
2012-11-20 14:28:57 -08:00
Thomas Goyne
653aa32eb2
Use std::any_of rather than std::find_if() != end()
2012-11-13 05:52:24 -08:00
Thomas Goyne
154f831c7c
Add a basic dialog for opening Autosave files
...
This currently consists of just a list of autosave files and the
timestamps of the versions available for each file. It'd probably be a
good idea to add more information to this later, such as the original
file path and perhaps a preview of the file?
Closes #781 .
2012-11-12 18:35:26 -08:00
Thomas Goyne
e4d6b8661b
Add range adaptor for filtering to a specific subclass from a heterogeneous range
...
This makes looping over the subtitle file and parsed dialogue lines less
awkward in many cases.
2012-11-12 18:35:25 -08:00
Thomas Goyne
67df64e879
Use range-based for loops in a bunch of places
2012-11-12 18:35:25 -08:00
Thomas Goyne
0893ed3f0a
Remove references to tr1
2012-11-10 18:05:57 -08:00
Thomas Goyne
b077c0991b
Move the split line at cursor functionality to commands
2012-11-10 18:05:57 -08:00
Thomas Goyne
ea5428b65f
Replace AssColor with agi::Color
...
Add agi::Color, and replace AssColor and all uses of wxColor that are
not immediately passed to/from wx with it.
2012-11-10 18:05:56 -08:00
Thomas Goyne
83761d881a
Convert AssFile::Line to an intrusive list
...
Gives O(1) pointer -> iterator conversions, better memory usage, better
performance, and overall slightly simplifies the code using it.
2012-11-10 18:05:56 -08:00
Thomas Goyne
b006bcc8c4
Commit pending audio changes on Enter in the edit box. Closes #1544 .
2012-11-03 15:57:24 -07:00
Thomas Goyne
e44c47c863
Remove $Id$ markers since git doesn't support them
2012-10-25 17:39:49 -07:00
Thomas Goyne
df60c2e7a4
Factor out a bunch of duplicated code for clipboard stuff
2012-10-25 17:39:49 -07:00
Thomas Goyne
33dd0abc7f
Kill AssFile::GetWildcardList
...
It did not actually simplify or clarify any of the code that called it.
2012-10-16 09:52:47 -07:00
Thomas Goyne
c7fd04a739
Rename ASS -> Ass in symbol names
...
Most types and functions used Ass, but a decent number used ASS, so make
them consistent.
2012-10-16 09:52:19 -07:00
Thomas Goyne
53433426bb
Fix some stuff from Coverity Scan
...
Mostly just bugs in unreachable code and stylistic things, but there's a
few incorrect reachable things that were working by coincidence and
gratuitous dynamic_casts.
2012-10-15 18:16:09 -07:00
Thomas Goyne
ccafd0be17
Update the selection correctly after setting a tag via the edit box buttons
...
The valid bounds for a selection are not updated until the contents of
the edit box are updated on commit, so set the selection after
committing rather than before.
2012-10-14 20:35:08 -07:00
Thomas Goyne
be94ab70f4
Extract cut/copy/delete lines logic from SubtitlesGrid
2012-10-14 18:57:57 -07:00
Thomas Goyne
a40b76ea59
Insert new lines before/after the active line rather than the first selected line
2012-10-14 08:21:41 -07:00
Thomas Goyne
610b2a9494
Make pasting lines not horribly slow and bad. Closes #1534 .
2012-10-13 21:32:26 -07:00
Thomas Goyne
7ca2c5cb65
Actually set the correct color tags from the color picker buttons
2012-10-12 14:54:09 -07:00
Thomas Goyne
1b68790c4b
Convert the subs edit box buttons to commands
...
This makes they hotkeyable and extracts a large chunk of logic from the
giant mess that is SubsEditBox.
2012-10-12 14:54:08 -07:00
Thomas Goyne
e4a6092b36
Use signals for selection change notifications
2012-10-12 14:54:07 -07:00
Thomas Goyne
e5251544ea
Don't save separate wavs for each selected line
...
Instead, save a single wav spanning the full range of all selected
lines.
2012-10-11 09:41:25 -07:00
Thomas Goyne
a7bb608a34
Mark Command::Icon as const
2012-10-10 18:48:47 -07:00
Thomas Goyne
44468fbd3d
Add "audio/play/line" command
2012-10-04 16:48:35 -07:00
Thomas Goyne
40f97dbfea
Redesign AegisubLocale
...
Use wxTranslations directly rather than going through wxLocale. This
significantly simplifies the code, eliminates the hardcoded list of
languages for non-windows, and makes it possible to use mismatched
languages and locales.
Closes #1508 .
2012-10-02 16:06:05 -07:00
Thomas Goyne
1b089795f1
Also stop the video when stopping audio playback as 2.1.9 did. Closes #1515 .
2012-10-01 10:28:42 -07:00
Thomas Goyne
c4f6e729f9
Add missing period in 2.35 in a string that probably isn't actually visible anywhere
2012-09-21 18:13:10 -07:00
Thomas Goyne
ef99f77087
Make the open/save keyframes dialog title translatable
2012-09-16 18:52:50 -07:00
Thomas Goyne
e995cd2616
Don't stop video playback when undoing or redoing changes
2012-09-01 21:45:17 -07:00
Thomas Goyne
e2e304f2cb
Don't try to shift to a negative start time when shifting lines to frame zero
...
Originally committed to SVN as r6951.
2012-07-29 03:23:27 +00:00
Thomas Goyne
11a4ede9a0
Add Layer to the things lines can be sorted by
...
Originally committed to SVN as r6939.
2012-07-23 00:44:44 +00:00
Thomas Goyne
38217c6c59
Implement the timing adjustment commands
...
Originally committed to SVN as r6933.
2012-07-14 13:35:15 +00:00
Thomas Goyne
e99b1aaad4
Remove some pointess stuff in the icon code
...
Originally committed to SVN as r6914.
2012-06-23 01:06:35 +00:00
Thomas Goyne
7d2fb49828
Make the update checker configurable
...
Move the server and base url to the build-time configuration options and make
it disablable entirely.
Originally committed to SVN as r6911.
2012-06-21 02:09:40 +00:00
Thomas Goyne
0f071d978a
Rewrite the OS X bundle utils in Obj-C++ and return std::strings rather than malloced char *
...
Originally committed to SVN as r6896.
2012-06-12 03:13:49 +00:00
Thomas Goyne
c6aa43de72
Add command audio/play/current
...
This is like audio/play/selection except it ignores changes to the
primary range during playback, and always stops when the original end of
the line is reached.
Originally committed to SVN as r6841.
2012-05-23 03:38:44 +00:00
Thomas Goyne
58de109085
Add Show/Hide toolbar to the View menu
...
The Apple HIG says to include this, and I see no reason not to include
it on the other platforms as well.
Originally committed to SVN as r6839.
2012-05-23 03:38:37 +00:00
Thomas Goyne
35279b6e28
Remove pointless blank buttons
...
Originally committed to SVN as r6835.
2012-05-19 15:49:23 +00:00
Thomas Goyne
57d1d92a9e
Make the 32x32 icons available in the program
...
Originally committed to SVN as r6833.
2012-05-19 15:49:12 +00:00
Thomas Goyne
7e8c18492f
Fix non-precompiled-header compilation
...
Originally committed to SVN as r6807.
2012-05-16 04:57:06 +00:00
Thomas Goyne
f1b2b4a3da
Don't allow opening multiple copies of the spell checker dialog
...
Originally committed to SVN as r6757.
2012-05-10 14:19:02 +00:00
Thomas Goyne
06e23b9296
Use SetSelectionAndActive whenever both are set at once
...
I'm not sure if this fixes any current actual problems as using slightly
stale data is normally only a problem when lines are being deleted, but
it's easier to fix it across the board than to figure out where it is
and isn't needed, and the speed impact of batching is trivial.
Originally committed to SVN as r6753.
2012-05-05 02:11:09 +00:00
Thomas Goyne
5a067f56e4
Add command "time/lead/both" which adds both lead in and out
...
Originally committed to SVN as r6742.
2012-05-02 22:42:31 +00:00
Thomas Goyne
252351b7da
Don't stop audio playback when switching lines
...
Originally committed to SVN as r6740.
2012-05-02 22:42:18 +00:00
Thomas Goyne
4be8e3595b
Limit the duration of the lines created with Insert (before) and Insert (after) to the default timing length
...
Originally committed to SVN as r6739.
2012-05-02 00:31:44 +00:00
Thomas Goyne
4231653146
When joining lines, use the maximum of the lines' end times rather than the last line's end time
...
Originally committed to SVN as r6734.
2012-05-01 02:49:53 +00:00
Thomas Goyne
9e3553c199
Join concatenated lines with a space rather than \N
...
Originally committed to SVN as r6733.
2012-05-01 02:49:48 +00:00
Thomas Goyne
742cbf16aa
Add WebM to the list of supported video formats
...
Originally committed to SVN as r6730.
2012-05-01 02:49:33 +00:00
Thomas Goyne
40b1fbaa1b
Implement audio/play/toggle (default hotkey B)
...
Originally committed to SVN as r6723.
2012-04-27 19:07:42 +00:00
Thomas Goyne
8b854283b7
Add audio/commit/default command
...
This command commits the current line, advances to the next line (even
if Auto Next on Commit is disabled), and resets the next line's time to
the default timing as if the next line was zero-timed. Add a default
hotkey of Shift-G, but don't bother with a toolbar button for now as
demand for this turned out to be fairly low.
Closes #946 .
Originally committed to SVN as r6720.
2012-04-27 19:07:21 +00:00
Thomas Goyne
eb26bc51b9
Add commit commands which always stay and always advance regardless of the auto advance setting
...
Originally committed to SVN as r6719.
2012-04-27 19:07:15 +00:00
Thomas Goyne
99a65974e4
Move the Next Line on Commit logic to the commit command so that other commands can do different things
...
Originally committed to SVN as r6718.
2012-04-27 19:07:07 +00:00
Thomas Goyne
39d2546dcd
Add a button to the preferences dialog to reset all options to the defaults
...
Originally committed to SVN as r6690.
2012-04-11 03:43:08 +00:00
Thomas Goyne
ee84961d36
Make the invalid command name message translatable, as it's displayed to the user in non-error situations
...
Originally committed to SVN as r6683.
2012-04-10 20:40:54 +00:00
Thomas Goyne
af0e58f876
Readd the word 'Mode' to 'Cycle Tag Hiding Mode'
...
Originally committed to SVN as r6676.
2012-04-10 20:40:14 +00:00
Thomas Goyne
4bb707d663
Use "color" in all UI strings
...
Previously there were 29 instances of "color" and 9 of "colour".
Originally committed to SVN as r6648.
2012-04-03 17:38:50 +00:00
Thomas Goyne
c4a1a93b97
Center most of the message boxes over their parent windows
...
Originally committed to SVN as r6629.
2012-03-28 23:59:19 +00:00
Thomas Goyne
e120bec4f0
Clean up AegisubLocale a bit
...
Don't let the user cancel the language selection dialog on first
startup, and don't bother with the dialog at all if there's only one
language available.
Originally committed to SVN as r6602.
2012-03-25 04:05:25 +00:00
Thomas Goyne
b32515da80
Strip trailing whitespace from all cpp and h files
...
Originally committed to SVN as r6600.
2012-03-25 04:05:06 +00:00
Thomas Goyne
1077b9b5c4
Rewrite the Resample Resolution dialog
...
Use more appropriate controls rather than a pile of text ctrls and some
not-entirely-correct validation of the values.
Split apart the dialog and the actual resampling logic.
Originally committed to SVN as r6599.
2012-03-25 04:04:59 +00:00
Thomas Goyne
14274a7672
Forward Cut/Copy/Paste to all text areas, not just the main subs edit box
...
Originally committed to SVN as r6576.
2012-03-12 23:34:25 +00:00
Thomas Goyne
8ec478db36
Make the fonts collector dialog modeless
...
Originally committed to SVN as r6555.
2012-03-09 00:24:01 +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
41f2f67042
Make the automation manager dialog modeless
...
Originally committed to SVN as r6552.
2012-03-09 00:23:30 +00:00
Thomas Goyne
59447a942d
Make the style manager dialog modeless
...
Originally committed to SVN as r6547.
2012-03-08 04:17:42 +00:00
Thomas Goyne
a0b4da90f7
Add commands and menu entries to sort only the selected lines. Closes #1457 .
...
Originally committed to SVN as r6542.
2012-03-07 22:41:12 +00:00
Thomas Goyne
d53bb22d2b
Split the "am/manager" command into several subcommands so that it can be hotkeyed usefully
...
Originally committed to SVN as r6525.
2012-02-29 01:24:04 +00:00
Thomas Goyne
d5577b994c
Move lead in/out logic to the timing controllers
...
This makes adding lead in/out work correctly when autocommit is
disabled, and improves the behavior of adding lead-in when in karaoke
mode.
Originally committed to SVN as r6502.
2012-02-22 22:00:54 +00:00
Thomas Goyne
ad7d7c2be3
Don't return a dummy icon when no icon is found for a command
...
The hotkey editor initially required this, but now that we've using
fully custom renderers they're no longer needed, and the blank icons
didn't work correctly on wxGTK.
Originally committed to SVN as r6490.
2012-02-20 05:41:54 +00:00
Thomas Goyne
9b69ce7a27
Add support for noncontiguous selections to the duplicate lines commands
...
Originally committed to SVN as r6476.
2012-02-15 22:14:10 +00:00
Thomas Goyne
26f3bb26ba
Remove some incorrect uses of ellipses
...
Ellipses are used to indicate that a command will require additional
input from the user, not that a dialog will be opened.
Originally committed to SVN as r6451.
2012-02-07 01:22:50 +00:00
Thomas Goyne
5e96d6e8c3
Remove periods from single-sentence tooltips
...
Originally committed to SVN as r6449.
2012-02-07 01:22:32 +00:00
Thomas Goyne
38c905d32a
Call Validate before invoking commands via hotkeys
...
Originally committed to SVN as r6448.
2012-02-07 01:22:23 +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
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
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