Commit Graph

126 Commits

Author SHA1 Message Date
Paul Licameli 406b23cae7 More uses of AUDACITY_DLL_API...
... in many places where the function call will later need to be between
modules (or libraries, or the executable) and the annotation will be a necessity
to keep the linkage working on Windows.

That's all that this sweeping commit does.
2021-05-10 10:46:55 -04:00
Paul Licameli c5ebc396eb Audacity.h has shrunk to nothing, now remove it! 2021-05-10 00:05:23 -05:00
Paul Licameli e653b4aaf8 Eliminate Experimental.h, configure compile options instead...
... This makes it impossible to forget to include the EXPERIMENTAL definitions
(such as when cutting and pasting code) and so get unintended quiet changes of
behavior.

The EXPERIMENTAL flags are now specified instead in new file Experimental.cmake
2021-04-27 12:40:07 -04:00
Leland Lucius 811065cff4 Bug 2694 - Coloring of tracks in Mixer Board are awry 2021-04-02 01:11:44 -05:00
Leland Lucius 217ba2bbec Handle VEL_SLIDER in SliderDialog 2021-02-14 15:55:08 -06:00
Leland Lucius 7356c735ae Bug 1982 - Numeric entry in Play-at-Speed dialog allows entries not supported by the slider or the PAS functionality 2021-02-14 15:47:19 -06:00
Leland Lucius 11076f00e0 Bug 2446 - ENH: ultra-wide toolbars (Play-at-Speed & Mixer) with reticules and no numbers look far too sparse 2021-02-10 22:46:09 -06:00
Leland Lucius a7197d7d14 Bug 1901 - Status bar message does not update when Recording or Playback sliders are moved 2021-02-10 13:43:06 -06:00
Paul Licameli 23f32a8319 Remove some unnecessary #include directives 2021-01-30 12:37:47 -05:00
Leland Lucius 8ae8e0f0a5 Bug 2458 - Possible crash when clearing text field in Gain dialog 2020-05-28 20:09:14 -05:00
Paul Licameli fa4d35296e AllThemeResources.h has a .cpp & doesnt include Theme.h...
... (it used to, via MacroMagic)

This splits a cycle of 8 into 6 + 1 + 1
2020-05-28 05:50:24 -04:00
Leland Lucius fa878ef05b Adjust ASlider for wx313 2020-05-23 13:08:21 -05:00
Paul Licameli d373e27840 Remove some unused forward declarations and #include directives 2020-05-23 05:32:01 -04:00
Leland Lucius 6c605c8d6a Stop ASliders from flashing when entered/changed 2020-04-18 16:40:52 -05:00
Leland Lucius a7bd7331ac Bug 625 - Track Pan / Gain sliders don't show tool tip on hover 2020-03-09 11:06:07 -05:00
James Crook 50d16867d5 Bug 2258 - Sliders in the slider dialogs when double-clicked yield a further slider dialog 2020-02-24 21:23:16 +00:00
James Crook b2d9f7c396 Bug 2305 - The Gain, Play-at-Speed and Mixer Board sliders do not display the numeric value in the tooltip when sliding 2020-02-17 21:55:32 +00:00
Paul Licameli 275797bbb4 Fewer uses of ::GetActiveProject()...
... where we have a window, ascend the chain of parent pointers instead to
find the project window.
2020-01-04 12:59:37 -05:00
Paul Licameli 49cab86fc1 TranslatableString for tooltips and status bar messages 2019-12-20 21:54:49 -05:00
Paul Licameli a70524446e TranslatableString for title prefix in PrefsDialog...
... and the title strings do not include a trailing space
2019-12-19 22:37:21 -05:00
Paul Licameli 53ee9c9800 TranslatableString for titles, names, labels of wxDialogWrappers...
... Found one missed translation in CommandTargets.cpp
2019-12-16 10:58:05 -05:00
Paul Licameli 0cf90d65e6 S.GetParent() for all windows passed to ShuttleGui::AddWindow()...
... Verified that this makes no real change.
2019-12-10 09:58:38 -05:00
James Crook 5a3e9cd063 Fix dialog naming
For nicer Doxygen results, we need consistency in naming of classes.
Dialag classes are now called SomethingDialog.
2019-12-06 10:39:07 +00:00
Paul Licameli 96291c5476 Remove second argument of AddWindow(), use Position() instead 2019-12-02 22:01:22 -05:00
Paul Licameli 1d32824e02 Define and use ShuttleGui::Validator 2019-12-02 11:21:40 -05:00
Paul Licameli fb713a5339 ASlider wasn't using Ruler 2019-07-12 22:52:34 -04:00
Paul Licameli e2362bc25a Move project status string management to new attached object class 2019-07-02 21:01:34 -04:00
Paul Licameli 4f940c855d New files for ProjectWindow 2019-06-03 01:43:26 -04:00
Paul Licameli 02afcbca8c Redo TP_UpdateStatusMessage...
... Rename it as SetStatus; make it part of AudacityProject not
TrackPanelListener; and use a roundabout event signalling to cause the timer
restart.

Because SetStatus will be one of very few things left in AudacityProject, but
the timer handling will be part of another class decoupled from it.

And TrackPanelListener won't really be needed: TrackPanel will not need to
pretend it doesn't know what an AudacityProject is.
2019-05-28 19:36:47 -04:00
Paul Licameli 6c57948d8f Remove unnecessary #include-s from .cpp files...
... Unnecessary because transitively included.

But each .cpp file still includes its own .h file near the top to ensure
that it compiles indenendently, even if it is reincluded transitively later.
2019-05-16 17:21:00 -04:00
Steve Daulton aad117051a Fix bug 1534
On Linux, width and height of TipPanel must not be reset in SetPos().
2019-04-23 19:31:55 +01:00
David Bailes c531fde6b8 ASlider.cpp: correction to event table
Fix error in ASlider's event table spotted by Paul. The error wasn't causing any known problems.
2019-04-04 15:19:07 +01:00
David Bailes 95e2264d24 Bug 1248: Tab does not navigate out of ASlider if clicked
Problem:
If an ASlider in the main window is clicked, then you can't TAB away from the control.

Fix:
Keyboard shortcuts are handled using key down events. However, ASlider was handling char events for reasons unknown. I'm unsure why this was causing a problem, but changing ASlider to handle key down events fixes the bug.
2019-04-03 13:25:04 +01:00
Paul Licameli ed29ab89f8 Many WindowAccessible subclasses moved out of header files 2019-03-31 13:27:18 -04:00
James Crook d994860311 Bug 2087 - Mixer Board gain control dialog is ridiculously over-long vertically 2019-03-29 19:24:25 +00:00
Paul Licameli 40b4361732 Remove wx/arrstr.h from headers 2019-03-26 12:41:44 -04:00
Paul Licameli a915a510bd include <wx/setup.h> in all files where wxUSE* macros are used...
... even if it's redundant; improving on what was done at b47e2f9
2019-03-23 14:56:02 -04:00
Paul Licameli 5e7d41ec07 Each .cpp/.mm file includes corresponding header before any other...
... except Audacity.h

This forces us to make each header contain all forward declarations or nested
headers that it requires, rather than depend on context.
2019-03-17 22:54:52 -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 2db49dc1f0 Use standard library style members of wxArrayString (and wxString) ...
... which will make it easier to change the types of those containers to
std::vectors of other string-like classes

for wxString,

IsEmpty => empty
Clear => clear
Alloc => reserve

for wxArrayString,

Count => size
GetCount => size
IsEmpty => empty
Add => push_back
Clear => clear
Empty => clear
Sort => std::sort (only with default comparator)
SetCount => resize
Last => back
Item => operator []
Alloc => reserve
2019-03-10 14:43:57 -04:00
James Crook 657159d542 Fix C4189 and C4100 Warnings
C4189 is 'Local variable initialised but not used'
C4100 is 'Unreferenced parameter'

Fixed some other warnings, e.g. about empty if, too.
2018-10-10 19:46:24 +01:00
James Crook e4bdd68c70 Bug 1981 - Mac: Background of pan/gain sliders wrong color in Light theme. 2018-09-19 16:48:52 +01:00
Paul Licameli e432883dec Fix deprecation warnings with wxFont, wxPen, wxBrush ctors...
... Replace some enum constants with the equivalent values from the more
special-purpose enums, as the wx header files recommend, so overloading
selects the ctors with non-int arguments.

In a full rebuild of the debug project on Mac, this reduces the count of
warnings from 264 to 274.
2018-07-23 13:21:15 -04:00
James Crook 2115e9b5ac Play at speed pop-up dialog changes speed dynamically too.
In fact all the slider pop up dialogs now dynamically change their parent's value.
2018-07-21 18:20:14 +01:00
James Crook 933c86dce3 Draw slider background in correct colour on MixerBoard. 2018-04-15 13:46:03 +01:00
James Crook 5fd1f7e606 Bug 1866 - Mac: Sliders have black backgrounds when building on wx3.1.1
Also fixes flicker of sliders on dragging the slider.
2018-04-13 17:24:02 +01:00
James Crook 7178879397 Flicker-Free Grabbers and Mic/Speaker icons.
Previously we were clearing in Erase Background, giving lots of flicker when resizing some toolbar.
Also fixed a mac Slider background painting issue.
2018-04-13 09:48:20 +01:00
David Bailes f027708fe1 Fix an issue caused by the accessibility changes in wxWidgets 3.1.1
The main change in wx accessibility is this:
7dab555f71 (diff-04f5191d86f95b1c4d5d9c979da65878)

However wxWindowAccessible has not been updated to take into account of that change. In particular wxWindowAccessible::GetParent() was always wrong, but it was consistent with the rest of the framework. Now it's wrong and inconsistent. This function should return an object with role window, and which has the same name.

The fix is to introduce class WindowAccessible, which is effectively our own version of wxWindowAccessible. This class does not override GetParent(), and so just relies on a standard accessible object to to the right thing in wxIAccessible::get_accParent() (which is does). This class also allows us to have our own version of GetName(), which allows us to set the accessibility names of buttons.

These changes will break the accessibility of Audacity if it is built with wxWidgets 3.0.X. If this is a problem, then there could be some #if stuff in WindowAccessible.h to turn the WindowAccessible class into one which simply inherits from wxWindowAccessible, and doesn't override anything.
2018-04-03 14:57:59 +01:00
James Crook 545102b168 Bug 1680 - Pan / Gain dialog sliders do not update on text entry 2018-03-25 18:02:14 +01:00
Paul Licameli 5e10ec0def Options for constructing ASlider, and can specify scroll increments 2018-02-21 19:21:05 -05:00