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

68 Commits

Author SHA1 Message Date
Paul Licameli
dccb716f39 enum PlayMode tells whether there's cut preview; out of Project.h 2019-05-20 21:38:12 -04:00
Paul Licameli
db8c4c5e5a Global keyboard capture handling into new files, better comments...
... and break its compile dependency on CommandManager.h by letting it install
callbacks.

This also removes Objective-C mixed code from CommmandManager.

This also eliminates four inclusions of Project.h!

Capture handler state is also global, not per project, though the
CommandManager's callbacks still do depend on the active project.
2019-05-18 15:14:18 -04:00
Paul Licameli
c982cf6a41 Remove wx/intl.h, wx/brush.h, wx/bitmap.h from headers 2019-03-30 11:45:20 -04:00
Paul Licameli
ec2f26e48c Remove wx/pen.h, wx/thread.h from headers 2019-03-30 10:17:18 -04:00
Paul Licameli
4018b191b4 Remove Get/Set functions for selection bounds from AudacityProject 2019-03-27 13:32:53 -04:00
Paul Licameli
906e55f047 Experimental.h in all .h or .cpp files that directly use EXPERIMENTALs...
... except Audacity.h; and in no others.

Do so even if Experimental.h gets multiply included, as in both the .h and
.cpp files.

This makes it easier to do a text scan to be sure there are no unintended quiet
changes of meaning because of omission of Experimental.h when the flag is
an enabled one.

Also move inclusions of Experimental.h earlier.

Also don't require Experimental.h to be preceded by Audacity.h to define
EXPERIMENTAL_MIDI_OUT correctly.
2019-03-17 22:54:00 -04:00
Paul Licameli
5fd6965925 Use type aliases CommandID, CommandIDs...
... for identifiers of menu commands and macros, and for vectors thereof
2019-03-15 15:18:11 -04:00
Paul Licameli
fee0f284fe Rewrite many iterations over tracks and channels in src/toolbars 2018-10-01 11:25:07 -04:00
David Bailes
ecb1cbdf3a Play at speed slider: fix page up/down increments
These increments were accidentally changed by the commit: 5e10ec0def1e1b6d2f0729bcb74edd0b95ca1a34

Changed back to original values.
2018-08-20 15:08:32 +01:00
Pokechu22
72b71bbe08 Use fixed play speed when note tracks are present
Scrubbing doesn't support note tracks, but time tracks do support it.
2018-08-11 18:23:15 +01:00
James Crook
66e203cdca Transcription Toolbar -> Play-at-Speed Toolbar 2018-07-22 18:21:38 +01:00
James Crook
1403e7fa92 Bug 1906 - Issues with dynamic Play-at-Speed (issues 5 & 6)
Now cut-preview and looped play revert to using the old fixed speed play-at-speed.
Unfortunately Scrubbing does not (yet) support looped play or cut-preview.
2018-07-22 15:55:10 +01:00
James Crook
85497ceefa Increase upper limits on slider widths in resizable toolbars.
Worth doing for users with wide screens, who want to use the toolbar at full screen width.
Both toolbars can now expand to a little over 2000 pixels width.
Note that the max sizes affect what is drawn.  You can make the toolbars wider still, but the sliders inside them won't continue to lengthen.
2018-07-21 17:13:08 +01:00
James Crook
132986de1a Make Transcription ToolBar resizable.
I moved 'Fit()' from ToolBars into MeterToolBar, because it is a workaround for an incorrect size calculation by MeterToolBar.  MeterToolBar is sized as if there is no resizer, so when there is one, the toolbar needs to be expanded (using Fit) to accommodate the resizer.

I also set the min size of MeterToolBar to 150, so that some meter will appear, even if Toolbar shrunk to the minimum.
2018-07-21 16:41:32 +01:00
James Crook
17ca54ad4b Bug 133 - Enh: Play-at-Speed slider: Change of playback speed is no longer automatic
This adds a new preference to Playback prefs, VariSpeedPlay, on by default, which makes it possible to vary the playback speed slider whilst audio is playing using play at speed.  The code uses the Scrubbing playback engine.

This code is not final, but is already useful.  Known issues:
  1- Playback does not stop and pop-up the Play at Speed button at the end of playing the selection.
  2- The scrub widget shows uselessly on the scrub ruler when in Play at Speed mode and the status bar proclaims 'Scrubbing'.
  3- At low speeds the playback is clicky, with VariSpeedPlay, even if no changes to speed are being made.

If we can't fix both 1 and 2 by 2.3.0 release time, VariSpeedPlay will be made false by default.
2018-07-20 21:43:07 +01:00
Paul Licameli
9b7ccc4dff Use TranslatedInternalString for tips of toolbar buttons 2018-03-15 20:13:19 -04:00
Paul Licameli
2f3604bdea Rewrite many calls to Connect() with Bind()...
... it's the more modern way, and does better type checking, without the
dubious casts of pointers-to-member-functions.
2018-02-21 19:28:11 -05:00
Paul Licameli
aa72cae61b Follow wxWidgets argument conventions for other window factories 2018-02-21 19:21:05 -05:00
Paul Licameli
5e10ec0def Options for constructing ASlider, and can specify scroll increments 2018-02-21 19:21:05 -05:00
Paul Licameli
6967925e48 Redo CommandManager::DescribeCommandsAndShortcuts with pairs...
... Later we may make other types for the members of that pair.
2018-01-08 14:14:22 -05:00
James Crook
41ac4cd47a Add Hover-Over-Down State for Button
Previously hovering over a down button made no difference.
Also tweaked the appearance of hover-over thumbs on dark theme sliders.
Also tweaked hover images and colours generally.

Classic retains the old style.
Hi Contrast does not distinguish between hover-up and hover-down.
2017-12-14 14:39:56 +00:00
Pokechu22
c50567e1db Time track properly warps the MIDI event times (but not pitches)
mMidiPlaySpeed doesn't handle all of the options provided by time tracks,
and in fact doesn't even use time tracks.  Using the time track
instead allows note tracks to remain synchronized with the rest of the audio.

mMidiPlaySpeed _did_ work where it was used in the transcription tool
bar, but that already updates a time track so no special handling is
needed.
2017-07-16 14:28:58 -04:00
James Crook
b196c7de8d Bug 1541 - Skip to Start/End buttons don't show that they respect SHIFT usage 2017-05-14 18:44:53 +01:00
windinthew
05662ac607 Wiki Wording issue: capitalise 'Speed' 2017-04-08 19:22:14 +01:00
James Crook
c17a7f535e Improve repainting after a theme change.
Now most things repaint properly after a theme change.  The sliders on the tracks don't yet.
2017-04-04 14:43:47 +01:00
Paul Licameli
5036583549 Fewer inclusions of AudacityApp.h 2017-03-17 17:52:24 -04:00
Paul Licameli
1e8f0e5a59 EXPERIMENTAL_VOICE_DETECTION: compile, use const, more careful casts 2017-03-17 17:52:17 -04:00
Paul Licameli
79c79f9cd3 Remove many mentions of sampleCount with auto and decltype...
... This makes much code agnostic about how other things (functions and
arguments) are typed.

Many of these neeed to become size_t instead of sampleCount.
2016-08-24 14:50:45 -04:00
Paul Licameli
52d12c6913 Remove some naked new amd delete in: toolbars 2016-08-08 07:51:25 -04:00
Paul Licameli
c1a22816f8 Tooltip for Transcription play button mentions the shortcut...
... but only for the version without shift or ctrl modifier key.

Should it mention those others too?  It might get too long.
2016-06-12 00:00:04 -04:00
Paul Licameli
ff95bf1490 Remove double-click handling for scrolling play/record 2016-06-01 13:25: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
fbf09d2130 Make ToolBar button setup functions public and static 2016-06-01 11:50:34 -04:00
Paul Licameli
7d265dc3d4 Oops, revert unready work
Revert "new button images for time ruler"

This reverts commit 26ec0100a29f5b90656f77a48d18dd7987bef395.

Revert "add button"

This reverts commit af5163025a19c334e2f8151f16c75acaa705e913.

Revert "ToolBar::MakeButton is public and static"

This reverts commit 668714942ba61a652e335973c416c4cba8f6234f.
2016-05-29 12:13:24 -04:00
Paul Licameli
668714942b ToolBar::MakeButton is public and static 2016-05-28 22:55:15 -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
c9b5f6bc37 Fix some display problems in scrolling play: mitigate scrollbar flashing, and...
... modified click on the transcription toolbar button leaves the button with
the correct appearance.
2016-05-03 23:37:59 -04:00
Paul Licameli
ad2b4c3446 Enable scrolling play by double-click on either play button or QP area of ruler 2016-05-03 22:46:10 -04:00
Paul Licameli
039aaa13a0 Play buttons can detect double clicks (but don't do anything special yet) 2016-05-03 21:28:39 -04:00
Paul Licameli
01001fdea9 New alternative appearance for the transport toolbar play button, for scrubbing 2016-04-19 17:34:38 -04:00
Paul Licameli
d5915491b3 Bug1342: Loop-play (and other things) before scrub (and other things)...
... should not disable auto-scrolling of the window during playback.
2016-04-18 17:50:17 -04:00
Paul Licameli
5ef4dd46a5 TrackFactory functions return std::unique_ptr, although some callers...
... release() them for now.
2016-03-26 11:50:12 -04:00
Paul Licameli
df6a7c5464 More uses of safenew for classes we derive from wxWindow classes...
... Also removed some unnecessary deletes of widgets that are managed by parent
windows
2016-02-14 20:39:28 -05:00
Paul Licameli
3f237daddc Use macro safenew for many allocations of wxWindow subclasses 2016-02-14 20:20:19 -05:00
Paul Licameli
7c4c45a0d5 "new"->"NEW" in comments, easier to find remaining naked operator new 2016-02-14 18:52:41 -05:00
Paul Licameli
17c9369286 Bug1239: Correct time rulers after importing files (with File>Open) ...
... The fisheye stuff was to blame.
2016-01-26 18:09:29 -05:00
Leland Lucius
3064f1715f Better tooltip for ASlider
This fixes the problem on GTK where the text was unreadable when
using a "dark" theme.

And fixes the double display of the real tooltip and the tip panel
being displayed at the same time on GTK and OSX.  It seems that
the "disabling/reenabling" of tooltips doesn't take affect right
away anymore...maybe it never did.
2015-08-09 06:03:42 -05:00
Leland Lucius
f36fe29f96 Fixes for bugs 1122 and 1113
Several other issues were also fixed (hopefully ;-)).

This is a major change to accelerator handling and keyboard
capturing.  Menu shortcuts, non-menu commands, label editing,
navigation, and basically anything else were you might use
the keyboard should be thoroughly tested.
2015-08-08 00:01:24 -05:00
Leland Lucius
37168ebbf6 Merge remote-tracking branch 'upstream/master' into wx3 2015-07-28 15:06:25 -05:00
Leland Lucius
5bdfcff97d Menu shortcut hiding has been removed
It had been causing problems in Unity for a while now and they
were missing on OSX as well in wx3.  So, the old menu Open/Close
method of hiding has been removed and replaced with an event
filter/monitor which looks for wxEVT_CHAR_HOOK events to pass
key events to the handler that has the keyboard captured.
2015-07-28 14:35:09 -05:00