Paul Licameli
bbb93a7400
One more alternate play button image, for seeking
2016-06-02 15:55:16 -04:00
Paul Licameli
6a3613e8e9
Implement scrub and seek buttons on ruler; redo scrub menu items
2016-06-02 15:55:16 -04:00
Paul Licameli
eafc416d55
Remove double-click and scrolling menu items for scrub/seek...
...
... Use the toggle button on the ruler instead
2016-06-01 13:30:01 -04:00
Paul Licameli
fecc6f53e4
Consolidate the code that starts and stops play/rec head scrolling
2016-06-01 13:25:01 -04:00
Paul Licameli
123499cbb1
Don't use scrubbing poller thread on Linux, it's not safe yet
2016-06-01 13:06:01 -04:00
Paul Licameli
fbcdc6b28f
Scrolling drag scrub tracks the mouse much better
2016-05-28 12:15:32 -04:00
Paul Licameli
35b0502ce1
Don't let seek make a stutter at less than unit speed
2016-05-28 12:11:26 -04:00
Paul Licameli
a9a404c7cf
Further simplified argument passing
2016-05-28 12:02:16 -04:00
Paul Licameli
e4fadf4aaf
Improve scrubbing speed control (2 finger swipe) on Mac
2016-05-28 11:59:22 -04:00
Paul Licameli
af7a92c2ab
Improve scrub responsiveness: a secondary thread polls the mouse
2016-05-28 11:59:22 -04:00
Paul Licameli
b6764d1bf7
Reduce scrub lag yet more, at expense of possible skips in play...
...
by discarding work from the queue sometimes on the consumer side.
Also more careful mixed long - double arithmetic.
2016-05-28 11:59:14 -04:00
Paul Licameli
b14fa507c9
Reorganize logic of initializing queue entries
2016-05-28 08:44:25 -04:00
Paul Licameli
4f2ee32a1a
One second countdown now based on the correct timer interval
2016-05-27 11:40:17 -04:00
Paul Licameli
24ef578a89
Don't squeak when starting a drag-scrub
2016-05-22 16:35:20 -04:00
Paul Licameli
c585bb16fb
Move bounding times and minimum stutter length into ScrubOptions
2016-05-22 15:27:35 -04:00
Paul Licameli
ffe596c760
Move some fields into ScrubbingOptions
2016-05-22 15:27:35 -04:00
Paul Licameli
671f60492d
Move some static functions into ScrubbingOptions
2016-05-22 15:27:35 -04:00
Paul Licameli
8ed93b8147
Fix conditional compilation branch
2016-05-22 15:27:35 -04:00
Paul Licameli
3dcf802bdc
Have just one scrub enqueueing function: use options for distinctions
2016-05-22 15:27:35 -04:00
Paul Licameli
cdbdd6480b
Define and pass around struct ScrubbingOptions, but nothing in it yet
2016-05-22 15:27:35 -04:00
Paul Licameli
5997beec9d
Rename Scrubbber::mScrubHasFocues to mPaused, reverse its sense
2016-05-22 15:27:34 -04:00
Paul Licameli
9e2916a80b
Better implementation of switch from scrub to quick play; ...
...
... also, don't ever draw the scrub handle while dragging the quick play
region.
2016-05-18 11:58:57 -04:00
Paul Licameli
b0919ba44f
Bug 1392: don't draw indicator over track control during quick play
2016-05-18 09:27:03 -04:00
Paul Licameli
47efa2dbbc
fix gcc build
2016-05-17 12:38:30 -04:00
Paul Licameli
c66262d790
Double click on Record button pins record head right, not center
2016-05-17 12:25:39 -04:00
Paul Licameli
0602343a2d
Make drag scrub less sluggish (do less redrawing)
2016-05-15 16:41:24 -04:00
Paul Licameli
3792d18f2d
Correct "scrub delay" for whatever scrub timer, so that the lag is right
2016-05-14 19:57:06 -04:00
David Bailes
76a53c43b2
Fix bug associated with the Cursor short/long jump left/right commands
...
Fixes the following bug: if the zoom level is such that the jump does not cause a visible
change in display of the tracks, then the selection in the selection bar, and the play
region are not updated.
The fix simply moves the location of the call to TP_DisplaySelection(), so that it is called
irrespective of whether the tracks are redrawn.
2016-05-14 15:53:11 +01:00
Paul Licameli
16d33c6005
Give the scrubber its own timer separate from TrackPanel's, so that...
...
... we can experiment with changing the interval.
2016-05-14 05:47:32 -04:00
Paul Licameli
1bff08a75a
Make drag-scrub seek, rather than playing at more than unit speed
2016-05-12 01:22:07 -04:00
Paul Licameli
737e24e24e
Allow pausing and unpausing of scrub. Just treat it differently internally.
2016-05-11 19:59:11 -04:00
Paul Licameli
928e96c6cc
Fix assertion violations about double capture; while still making sure...
...
... that if you drag-scrub and ESC, you don't get a leftover white guide line.
2016-05-10 15:35:46 -04:00
Paul Licameli
19ef2f6681
Implement drag-scrub, compatibly with the existing move-scrub...
...
... Start scrub by click or double click on the scrub head; release button or
not; then move.
If you release before moving, you get scrubbing as before, controlled by
motion. Click or drag to switch in and out of seeking. Stop with ESC,
spacebar, etc. No change of selection.
But now if you drag, then scrubbing contines until you release the mouse or
otherwise stop with a key.
If by release of the mouse, then the selection changes as if by a click at
the last play position. If you hold shift, then, as if by shift-click.
If drag begins with a double-click, then the play head remains centered and
the track moves.
2016-05-10 09:37:10 -04:00
Paul Licameli
5944391e24
Let's commit to EXPERIMENTAL_SCRUBBING_SMOOTH_SCROLL
2016-05-09 23:21:56 -04:00
Paul Licameli
cc0190054c
Fix regression in scroll scrub
2016-05-09 21:53:32 -04:00
Paul Licameli
34d0a52011
Better updating of the white guideline for scrub, and hiding it when scrub stops
2016-05-09 19:35:23 -04:00
Paul Licameli
f9dd6b4066
Reimplement the play/record indicator in the ruler as an overlay...
...
... fixing the lag between the green line and the triangle for scrolling play
2016-05-09 15:58:51 -04:00
Paul Licameli
d8e42b0af4
Reimplement the cursor mark in the ruler as an overlay
2016-05-09 15:28:33 -04:00
Paul Licameli
7c2a531486
New base classes of TrackPanel just for the bitmap backing and overlay system...
...
... to make it reusable by other classes.
Also, don't create a second DC when repainting TrackPanel.
2016-05-09 11:37:32 -04:00
Paul Licameli
c5d42377b7
Scrub during play stops play, repositions play head
2016-05-06 12:38:41 -04:00
Paul Licameli
66454b7e4c
Fix status bar messages and disabling of pause button for scrubbing.
2016-05-06 12:17:33 -04:00
Paul Licameli
0d9d8a057d
Revert "Disable scrubbing when pause button is down."
...
This reverts commit 97fdce5f85 .
2016-05-06 11:32:56 -04:00
Paul Licameli
97fdce5f85
Disable scrubbing when pause button is down.
2016-05-05 22:48:23 -04:00
Paul Licameli
f48694ef47
Move the code that scrolls during scrub out of Scrubbing.cpp
2016-05-03 22:43:19 -04:00
Paul Licameli
b8e3d7bb5e
Fix build
2016-05-03 10:30:48 -04:00
Paul Licameli
2704c85fd1
When starting a scrub, limit the x coordinate to track control area...
...
... This fixes a display bug if you use a shortcut key for the Scrub command
while the mouse is left or right of the wave area. You should not get the
green line right at the pointer!
2016-05-02 10:10:40 -04:00
Paul Licameli
042d6801df
Context menu for scrub head shows checkmarks, and is available during scrub
2016-04-27 20:56:38 -04:00
Paul Licameli
1509ff0621
Conditional compilation flag can disabled the checkmarks in scrub sub menu
2016-04-27 20:36:32 -04:00
Paul Licameli
cc9b880852
Conditional compilation flag can disabled the checkmarks in scrub sub menu
2016-04-27 20:35:32 -04:00
Paul Licameli
68eda0f802
Cursor line in the ruler should always follow that in TrackPanel, as after "j"
2016-04-27 17:48:55 -04:00