1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-07-29 15:09:30 +02:00

560 Commits

Author SHA1 Message Date
James Crook
6383df2ff6 Bug 1414 - (Residual) Green triangles in scrub bar sometimes appear and sometimes don't
The residual bug was that the PlayHead triangle could appear when in the scrub ruler.  This was an 'off by 2' error in using the size of that region.
2016-08-21 17:02:17 +01:00
James Crook
59988357fb Change default state of scrub bar. Make Togglable via QP.
1) Enable scrub bar by default, to increase visibility of the new feature.
2) Add 'Enable/Disable Scrub Bar' to QP right click menu.

Did not remove Scrubbing from transport menu, as to do so disables scrubbing.
2016-08-20 16:02:06 +01:00
James Crook
28f078dcf7 Bug 1486 - Show/Hide scrub-bar does not persist. 2016-08-20 14:59:36 +01:00
James Crook
2f54bf197c Change release to reset in ASlider to fix memory leak.
Thanks Paul for alerting me to this.
2016-08-19 13:48:23 +01:00
James Crook
8b90a8f34d Fix bug where MixerBoard sliders did not redraw on resizing.
Vital feature of MixerBoard as the point is to be able to have large sliders.
The problem was that the slider background was cached in a bitmap, and that cached image was not being refreshed on a resize.
2016-08-18 22:52:27 +01:00
Paul Licameli
1cad18c479 Merge pull request #150 from RaphaelMarinier/optimize_selection_bar_update_master
Optimize the refresh of the selection bar while Audacity is playing.
2016-08-15 22:04:42 -04:00
James Crook
8a8b43d956 Bug 1419 - Restore "scrub indicator shows before we click in scrub ruler".
Restored Paul's original intention, which I inadvertently changed in my fix for Bug 1419.  Moving into the scrub ruler shows the scrub indicator now even before we actually start scrubbing (or seeking).  The tooltip is now seen as belonging to the scrub indicator rather than to the ruler.  Additionally I show the indicator immediately on entry, rather than requiring a movement left or right first, which I think is better and I think the original version didn't.
2016-08-14 15:26:07 +01:00
Paul Licameli
d84e1cc45e Fix memory leaks, though in unused code...
... Is this kept around for future use?
2016-08-14 10:20:50 -04:00
Paul Licameli
32f24eabb2 Review uses of safenew...
... add comments and assertions, and use make_unique instead where possible
2016-08-13 23:16:05 -04:00
James Crook
2d2cf5911f Pinned/Unpinned button now affects PlayHead.
Bug 1451 comment 6 asks for PlayHead to change too with the change in the button icon on up/down, making the action of the button clearer.
This change does not though change the icon on the button to red when recording.  It stays green, though the PlayHead does change correctly.
2016-08-12 17:32:30 +01:00
James Crook
35c033d3fa Bug 1451 - On Mac the background of the Pinned/Unpinned button is not the same color as the Timeline
Per comments in the bug, fixed by making the pinned/unpinned button more clearly a button.

This involved adding a new type of grabber that does not have the ribs for dragging it and acts as a spacer.
Also fixing grabber so that it does not have to be at position (0,0)
Also making the ruler 1 pixel higher.
Also changing the pin button to be a toggle button that changes from up to down on a click.
Also fixing AButton so that an image can be bigger than the button.
2016-08-11 21:54:45 +01:00
James Crook
eebe4a961e Bug 1419 - Confusing and unnecessary widget change when clicking in Scrub Bar
Behaviour now is still (in my view) confusing, but the widget does update when you click and release and haven't moved yet, which it didn't do before.
2016-08-11 17:59:41 +01:00
James Crook
a90f32e60d Bug 1456 - Scrub Bar tooltip is incorrect on mouse down because there is no separate tooltip for that state 2016-08-10 22:21:21 +01:00
James Crook
8dd93ef2a8 Bug 1467 - New pref for pinned head should move to the Prefs>Tracks
Also updated the wording as per comment #2 in Bug 1467.
2016-08-10 18:38:37 +01:00
Paul Licameli
15004b1ade More uses of std::make_unique 2016-08-08 10:07:37 -04:00
Paul Licameli
13e056de43 More uses of safenew 2016-08-08 10:07:37 -04:00
Paul Licameli
a52f7f8410 new -> NEW in comments, so text search for naked new excludes them 2016-08-08 10:07:37 -04:00
Paul Licameli
71efb13161 Remove some naked new amd delete in: widgets 2016-08-08 07:51:26 -04:00
Raphaël Marinier
6a313a35bf Optimize the refresh of the selection bar while Audacity is playing.
This saves 3-4% CPU while Audacity is playing on Linux/64bits. This is
done by avoiding the update of NumerixTextCtrls that stay unchanged.
2016-07-28 00:12:32 +02:00
Gale Andrews
5d15eba6c9 Bug 1420 Tooltip consistency fixes.
Not sufficient to close the bug.
2016-07-23 18:06:45 +01:00
Raphaël Marinier
173652875d Reduced CPU usage of Audacity when idle.
Before this change, an idle Audacity on a recent Linux laptop uses 6%
of CPU. This is because DrawOverlays() is called every 50ms through a
timer in TrackPanel, which instanciates a wxClientDC. This is quite
expensive and dominates the profiles: creating wxClientDCs is 84% of
the CPU audacity spends while idle, according to callgrind. With this
change, we avoid creating wxClientDCs when it's not necessary.

After this change, and idle Audacity consumes 1.6% of CPU, and most of
the time is spend in gtk/wxwidgets processing events.

Here are the perf stats of an idle Audacity before the change:

        524.425485      task-clock (msec)         #    0.060 CPUs utilized
               825      context-switches          #    0.002 M/sec
                36      cpu-migrations            #    0.069 K/sec
                 0      page-faults               #    0.000 K/sec
     1,198,433,346      cycles                    #    2.285 GHz
     1,243,329,771      instructions              #    1.04  insn per cycle
       308,073,049      branches                  #  587.449 M/sec
         5,801,494      branch-misses             #    1.88% of all branches

       8.808129958 seconds time elapsed

and after:

        149.110455      task-clock (msec)         #    0.016 CPUs utilized
               908      context-switches          #    0.006 M/sec
                32      cpu-migrations            #    0.215 K/sec
                 0      page-faults               #    0.000 K/sec
       313,372,582      cycles                    #    2.102 GHz
       167,401,770      instructions              #    0.53  insn per cycle
        41,857,947      branches                  #  280.718 M/sec
         1,189,566      branch-misses             #    2.84% of all branches

       9.076940003 seconds time elapsed
2016-07-21 23:07:33 +02:00
James Crook
d092fe0e4b Review and fix CaptureMouse (per Bug 1204 commit comment)
This is using the same idiom of only capturing if not capturing already.  These cases in AutoDuck, Resizing, Grabber and TQP might have been latent ASSERTs.  This based on precedent rather than actual elicited buggy behaviour.
2016-07-17 09:38:23 +01:00
James Crook
53843c72a2 Use Steve's Pinned/Unpinned button images.
I've also added in the red versions (for recording) into the built in theme.
2016-07-15 17:17:09 +01:00
James Crook
308ccb9eab Bug 1420 - Tooltip for Scrub Bar is inaccurate/misleading 2016-07-15 11:14:41 +01:00
James Crook
e056c23879 Bug 1234 - Enh: Name of Mixer Toolbar options/preferences 2016-07-15 10:18:19 +01:00
Paul Licameli
d91f825424 Restore correct resizing of the time ruler for the scrub bar button
This was broken at ae14cb0dbccf9587b7a13f5ddc49c2b27acfec1e
2016-07-12 15:26:40 -04:00
windinthew
e97568db1b More access key fixes. Better Pinned tooltip. 2016-07-12 15:05:48 +01:00
Paul Licameli
5a9fcd1ca5 fix Windows build 2016-07-11 10:35:00 -04:00
Paul Licameli
84c0337aba Fix TAB key navigation on Mac for all dialogs (not only for panels) 2016-07-10 17:12:27 -04:00
Paul Licameli
e0f6ed9972 Rewrite wxPanelWrapper passing the base class as a template 2016-07-10 17:12:27 -04:00
James Crook
763485b0dc Add error check comments.
These are places where we don't properly handle error returns.
2016-07-10 21:40:48 +01:00
Paul Licameli
4375010983 Once again permit TAB navigation to pinned head button on Mac...
... But still don't let the ruler accept focus from a click on any platform
2016-07-06 15:54:19 -04:00
Paul Licameli
dab59cb79d Revert "Make tool bar pushbuttons cooperate with Voiceover on Mac..."
This reverts commit acde3d615292a7401597246608596517d7664475.
2016-07-01 17:35:50 -04:00
James Crook
8581229c6f Make BrowserDialog code look more like EffectUIHost code
Specifically in the area of closing a window.  Added mDismissed member which can stop double dismissal.  Perhaps more relevant (?) still do an EndModal IF IsModal() is true.  These changes are in response to feedback from Paul that simply removing EndModal (which seems good on Windows) causes problems (in TimerRecord!) on Mac.
2016-07-01 10:07:02 +01:00
Paul Licameli
acde3d6152 Make tool bar pushbuttons cooperate with Voiceover on Mac...
... Use Command+f5 to start VoiceOver, then control+alt+ left and right arrows
to navigate.

Much better now, but still we need to do something about sliders, meters, and
numeric text controls.
2016-07-01 00:10:06 -04:00
James Crook
21239d19a1 Fix crash on closing help window under Windows.
EndModal was being called for a non modal window.  Need to check the fix is OK on Mac and Linux.
2016-06-30 23:46:34 +01:00
James Crook
ee60ff37ba Fix ASSERT on double-clicked slider input.
Previously you could double click on a slider such as the volume slider to get the expanded/dialog view of it, and then assert when you drag the slider.   This was caused by wx3 error checking printf arguments.  Presumably wx2 did not.
2016-06-30 23:35:29 +01:00
Paul Licameli
a0bb210dbe Removing remaining code for focusable time ruler 2016-06-29 12:33:21 -04:00
Paul Licameli
10f77bc763 Bug1416, again: Time ruler should not steal focus when clicked 2016-06-28 16:50:29 -04:00
David Bailes
176a977617 In Grid fix accessibility names of cells to handle frequencies.
In commit 9c687f0, TimeEditors etc were generalized to handle both times and frequencies.

This fixes the accessibility names of cells to handle frequencies.
2016-06-28 15:02:40 +01:00
Paul Licameli
f8fe26ca36 Add columns to Label editor for low and high spectral selection 2016-06-27 18:41:43 -04:00
Paul Licameli
9c687f055c Generalize TimeRenderer and TimeEditor to handle frequencies in grid 2016-06-27 18:41:42 -04:00
Paul Licameli
8943f682f2 some safenew, override, remove an unused function, better comment 2016-06-27 18:40:58 -04:00
Paul Licameli
c3b4ea165f Bug1428: Don't make negative label start time from label edit dialog 2016-06-27 17:40:49 -04:00
Paul Licameli
1cd9d28d10 fix mac build 2016-06-25 22:18:13 -04:00
Paul Licameli
107507e125 Revert "fix mac build"
This reverts commit 2910cc2a6f1ad91c0aa5c63fa6c5f9e940107bdd.
2016-06-25 22:17:24 -04:00
Paul Licameli
2910cc2a6f fix mac build 2016-06-25 22:15:45 -04:00
Paul Licameli
9e9001d7bf fix linux build 2016-06-25 22:03:14 -04:00
Paul Licameli
7d25dedafd Apply recent navigation fixes only where needed on Mac...
... Windows didn't need them, Preferences already navigated correctly between
the panes, but the new changes caused navigation to get trapped in radio
button groups.
2016-06-25 21:17:54 -04:00
Paul Licameli
9f6eedf6e4 Bug682: fix Tab key navigation in Preferences, particulary Keyboard 2016-06-25 19:38:38 -04:00