Commit graph

109 commits

Author SHA1 Message Date
Thomas Goyne
2ef7ed98c0 Update the audio scroll position at most once every 50ms when dragging markers
Originally committed to SVN as r6736.
2012-05-01 02:50:03 +00:00
Thomas Goyne
1558aa2dad Increase the height of the audio display scrollbar by 50%
Originally committed to SVN as r6735.
2012-05-01 02:49:58 +00:00
Thomas Goyne
123f02f0fb Process hotkeys in wxEVT_CHAR_HOOK rather than wxEVT_KEY_DOWN
Char hook events propagate by default, removing the need for the event
filter to make key down events propagate, which was causing some funny
issues.

On Windows, the char hook handler runs before menu accelerators, fixing
a bug where Default context hotkeys would override more specific ones
when they appeared on a menu. Unfortunately, this is not the case on
GTK, so the dumb accelerator-disabling hack is still required.

Originally committed to SVN as r6724.
2012-04-27 19:07:49 +00:00
Thomas Goyne
39ca0c1b5b Fix some uses of uninitialized values on startup
Originally committed to SVN as r6634.
2012-03-29 19:05:07 +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
de9cc755d2 Stop key event propagation when checking for hotkeys to avoid checking keypresses that aren't hotkeys several times
Originally committed to SVN as r6577.
2012-03-12 23:34:34 +00:00
Thomas Goyne
dcffc3fd38 Show all selected lines in the audio display in dialogue mode
Originally committed to SVN as r6572.
2012-03-12 00:07:27 +00:00
Thomas Goyne
ebe32890fb Don't scroll to the beginning of the audio when switching to an untimed line
Originally committed to SVN as r6565.
2012-03-11 23:05:02 +00:00
Thomas Goyne
c84c9fe6b8 Fix issues with audio auto scrolling and lines longer than the display
Clicking on the audio display (to change line timing) now never scrolls
the display, rather than jumping around if the line is too long to fit
on the display.

Dragged markers are now always kept visible in the display, even if auto
scroll is off.

Originally committed to SVN as r6541.
2012-03-07 22:41:03 +00:00
Thomas Goyne
32c8cc0974 Modify the TimingController interface to support dragging more than one marker at once. Updates #20.
Originally committed to SVN as r6460.
2012-02-10 00:04:13 +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
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
f8c27feedb Skip unprocessed key events. Updates #1408.
Originally committed to SVN as r6356.
2012-01-25 05:48:53 +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
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
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
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
bf26c14999 Remove redundant check in AudioDispaly::SetZoomLevel
Originally committed to SVN as r6254.
2012-01-08 01:37:19 +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
c84275d6fa Snap to markers in the audio display on click in addition to on drag
Originally committed to SVN as r6237.
2012-01-08 01:35:11 +00:00
Thomas Goyne
4dcb6240d4 Move audio marker snapping logic from the audio display to the dialogue timing controller
Originally committed to SVN as r6236.
2012-01-08 01:35:04 +00:00
Thomas Goyne
3f9080bbee Fix left-click check on audio display
Originally committed to SVN as r6189.
2011-12-30 15:52:04 +00:00
Thomas Goyne
cae10121ed Fix a bunch of -pedantic stuff
Originally committed to SVN as r6181.
2011-12-28 21:27:06 +00:00
Thomas Goyne
cdf8e31e1a Get audio marker drag sensitivity from configuration
Originally committed to SVN as r6180.
2011-12-28 21:27:00 +00:00
Thomas Goyne
0e17edc561 Rearrange AudioDisplay::OnMouseEvent a bit to eliminate some duplicated code and separate the code which requires a timing controller from that which doesn't
Originally committed to SVN as r6179.
2011-12-28 21:26:54 +00:00
Thomas Goyne
6953a69cf8 Store the last used AudioMarkerInteractionObject in its own member variable to eliminate an ugly dynamic_cast
Originally committed to SVN as r6178.
2011-12-28 21:26:48 +00:00
Thomas Goyne
88ba844850 Make middle-click-drag on the audio display continue to update the video position
Originally committed to SVN as r6177.
2011-12-28 21:26:41 +00:00
Thomas Goyne
4b2e5d1b93 Make audio marker snap distance and whether or not it defaults to snapping customizable
Originally committed to SVN as r6176.
2011-12-28 01:22:59 +00:00
Thomas Goyne
090fdecb95 Scroll instantly to the audio playback position when "Lock Scroll on Cursor" is enabled
Originally committed to SVN as r6169.
2011-12-27 01:38:08 +00:00
Thomas Goyne
71345af81a Overload operator int() on AssTime and remove GetMS/SetMS
Originally committed to SVN as r6123.
2011-12-22 21:28:51 +00:00
Thomas Goyne
f2c62dad3d Factor out a bunch of duplicated code in the configure script for pkg-config based optional dependencies and use the pkg-config name for all WITH_* defines
Originally committed to SVN as r6104.
2011-12-22 21:25:49 +00:00
Thomas Goyne
0892de62a8 Don't let audio markers snap to themselves
Originally committed to SVN as r6101.
2011-12-22 21:25:19 +00:00
Thomas Goyne
55f8cb3685 Add option to disable rendering the sample averages in the waveform renderer
Originally committed to SVN as r6063.
2011-12-22 21:19:21 +00:00
Thomas Goyne
a66cc26706 Remove all calls to wxKeyEvent::StopPropagation. Key events don't propagate by default and even if they did, events which are marked as processed don't propagate further.
Originally committed to SVN as r6046.
2011-12-22 21:16:43 +00:00
Thomas Goyne
34a87b1c1e Silence a pile of /W4 warnings
Originally committed to SVN as r6001.
2011-12-22 21:09:31 +00:00
Thomas Goyne
157c03ce63 Load the colors for the audio display timeline from the audio colorscheme
Originally committed to SVN as r5952.
2011-11-30 21:04:46 +00:00
Thomas Goyne
7bfdc78b72 Load the colors for the audio display scrollbar from the audio colorscheme
Originally committed to SVN as r5951.
2011-11-30 21:04:37 +00:00
Thomas Goyne
9cb7b23345 Get color scheme names from the config rather than hardcoding it
Originally committed to SVN as r5948.
2011-11-30 21:04:09 +00:00
Thomas Goyne
9203f17f4d Implement the Lock Scroll on Cursor option in the audio display
Originally committed to SVN as r5941.
2011-11-30 00:40:32 +00:00
Thomas Goyne
c6b97612ae Delay creation of the audio renderer until audio is actually opened
Originally committed to SVN as r5940.
2011-11-30 00:40:22 +00:00
Thomas Goyne
908d1cadae Pass the audio renderer absolute coordinates rather than relative so that audio actually scrolls
Originally committed to SVN as r5898.
2011-11-20 04:25:05 +00:00
Thomas Goyne
70fcece459 Don't create the audio timing controller until audio is actually opened
Originally committed to SVN as r5888.
2011-11-18 22:58:22 +00:00
Thomas Goyne
e3b15bf587 Only connect to signals in AudioDisplay when audio is actually open
Originally committed to SVN as r5885.
2011-11-18 22:57:54 +00:00
Thomas Goyne
8d28b44773 Get audio styling ranges from the timing controller. Based on a patch by jfs.
Originally committed to SVN as r5878.
2011-11-18 22:56:45 +00:00
Thomas Goyne
c763026bfc Explicitly declare a storage location for AudioDisplayScrollbar::min_width
Originally committed to SVN as r5837.
2011-11-08 04:53:51 +00:00
Thomas Goyne
0aa553eb7c compilation fixes
Originally committed to SVN as r5824.
2011-11-07 04:14:09 +00:00
Thomas Goyne
48070be3a3 Move the audio display mouse wheel handling to the audio box so that it can update the horizontal zoom scrollbar
Originally committed to SVN as r5785.
2011-10-25 20:28:30 +00:00
Thomas Goyne
b4ace668de Only display the cursor time in the audio display when it's enabled
Originally committed to SVN as r5784.
2011-10-25 20:28:19 +00:00