1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-06-25 08:38:39 +02:00

53 Commits

Author SHA1 Message Date
Paul Licameli
2e1fe80601 Remove or comment wxPanelWrapper.h in headers 2019-04-04 10:13:23 -04:00
Paul Licameli
0f3723e221 comment BackedPanel.h, HtmlWindow.h, ASlider.h in .h files 2019-03-31 15:25:34 -04:00
Paul Licameli
4714d72b3f Can't remove remaining wx headers from other headers, comment that 2019-03-31 01:41:16 -04:00
Paul Licameli
870c08ac06 Remove wx/{log.h, image.h, listctrl.h, utils.h} from headers 2019-03-30 11:21:51 -04:00
Paul Licameli
3a7324984c wx/hashmap.h no longer used anywhere 2019-03-30 10:06:52 -04:00
Paul Licameli
de60edc62f Remove wx/{app,statbmp,spinctrl,scrolbar,dynlib,dcmemory}.h from *.h 2019-03-30 07:57:37 -04:00
Paul Licameli
8d537c198b fix Linux build 2019-03-28 14:39:46 -04:00
Paul Licameli
0ff934e1c1 Remove AButton.h from header 2019-03-28 12:33:28 -04:00
Paul Licameli
70e88782fe Remove wx/{grid,font,ffile,colour,button,bmpbuttn}.h from headers 2019-03-28 12:27:10 -04:00
Paul Licameli
bcc2e0d13b Remove wx/frame.h, wx/sizer.h, wx/access.h from headers 2019-03-28 11:21:15 -04:00
Paul Licameli
b8aea73c91 Remove wx/stattext.h from headers 2019-03-27 14:33:46 -04:00
Paul Licameli
40b4361732 Remove wx/arrstr.h from headers 2019-03-26 12:41:44 -04:00
Paul Licameli
adcb93512c Include Audacity.h in all files that test config USE_ macros...
... except Experimental.h, but see preceding commit.

This is especially important in the header files.

Be sure there are no quiet changes of meaning when a header file is included
in a different context, not having seen Audacity.h.  Rather include Audacity.h
even if redundantly.

Also, in some header files, move more inside the include-guard #ifdef-#endif
pair.
2019-03-22 12:36:54 -04:00
Paul Licameli
3dba70120c CommandManager, MenuManager don't use Lyrics.h, MixerBoard.h ...
... instead define new base classes in src/commands that those other
windows can inherit.  The classes have nothing but a virtual destructor.  This
lets CommandManager use dynamic_cast to detect the special windows.

See commits cbfde23 and 68e4bf6 which added the #include directives
2019-03-16 13:10:59 -04:00
James Crook
76166135d4 Fix many MSVC compiler warnings. 2018-10-29 13:19:33 +00:00
Paul Licameli
0969d00b1b Comment out an unused UpdatePrefs function 2018-10-28 12:59:58 -04:00
Paul Licameli
012ea76132 Moved mixer board update code out of class AudacityProject...
... And we don't need GetMixerBoard() any more
2018-10-27 18:01:09 -04:00
Paul Licameli
723cecbeac Mixerboard uses events to detect start and stop of playback 2018-10-27 18:01:08 -04:00
Paul Licameli
ccc2bbe3ef MixerBoard listens for events for track sliders, mute, solo, name 2018-10-27 18:01:08 -04:00
Paul Licameli
5ab2faceea MixerBoard listens to TrackList for insert, delete, permute...
... Which is also sufficient to detect undo/redo/rollback

And detects more often than undo state changes, so that if you drag a track
in TrackPanel, the same permutation is seen at once in MixerBoard, even before
button-up
2018-10-27 18:00:52 -04:00
Paul Licameli
7150d43083 MixerBoard listens to TrackList for selection changes 2018-10-27 16:27:53 -04:00
Paul Licameli
3f928a25b0 Bug2004: Opening Mixer Board with a Note track crashed...
... Just one null check was needed, but I also add another, and use a
wxWeakRef pointer, for more safety.
2018-10-06 11:20:30 -04:00
Paul Licameli
a9e7a7e5d5 movable_ptr(_with_deleter) -> std::unique_ptr 2018-05-10 00:56:37 -04:00
Paul Licameli
3b32d39b54 Remove wxArrays of pointers 2018-02-21 19:33:32 -05:00
Paul Licameli
bf5228267a Calls to Disconnect or Unbind in destructors are not needed, if...
... it's either the source of the connection that is being destroyed, or other
object (such as an ancestor window) transitively owning it and so causing it to
be destroyed too;

or, the sink is being destroyed, and that sink is a wxEvtHandler (which is
always so for Disconnect, though not for Unbind in case Bind was passed a
member function of a non-wxEvtHandler).

wxWidgets takes care of erasing the connection in such cases.

This removes most calls to Disconnect and Unbind.  Many destructors shrank to
nothing.

Notably, in case of popup menu handling, the call to Disconnect is not removable
because the object being destroyed is neither the source nor the sink.
2018-02-21 19:28:06 -05:00
Paul Licameli
5e10ec0def Options for constructing ASlider, and can specify scroll increments 2018-02-21 19:21:05 -05:00
Paul Licameli
57ce726a25 Rename Meter as MeterPanel, and some DOxygen 2018-02-21 17:50:28 -05:00
Paul Licameli
1498958562 Hold safer shared_ptrs to tracks in MixerBoard 2018-02-05 20:33:54 -05:00
James Crook
dc05b94fd1 Bug 1701 - Mac: Text descriptors in Selection Toolbar become invisible after Open command
Problem was that on mac enable/disable clears the colour back to black.
The easiest workaround was to create a new class auStaticText that does all that we
need for wxStaticText.
2017-08-13 23:04:13 +01:00
James Crook
00495937f2 Style MixerBoard Mute/Solo as on TCP. 2017-06-22 19:08:44 +01:00
James Crook
52f0f750d9 Add Tracks->Pan->Left/Right/Center 2017-04-03 22:35:19 +01:00
Pokechu22
1c93198d08 Re-implement note tracks in MixerBoard
This commit adds note tracks into the mixerboard.  It's done as a separate
slider this time instead of via subclasses (as PRL requested), so which
should be easier to use.

This also changes some of the gaurds to EXPERIMENTAL_MIDI_OUT from
USE_MIDI, as it's meaningless to have the note track code in mixerboard
when it cannot do anything (depends on methods that exist behind
EXPERIMENTAL_MIDI_OUT).
2017-04-01 12:48:44 -04:00
Paul Licameli
ed0088491c Remove MixerTrackClusters right to left, remove assertion 2017-03-29 13:45:07 -04:00
Paul Licameli
b2ab9b5087 Simplify MixerBoard.cpp using the PlayableTrack type 2017-03-29 13:42:51 -04:00
Paul Licameli
23516a7732 Remove some naked new amd delete in: Mixer Board 2016-08-08 07:51:24 -04:00
Paul Licameli
4823244050 Bug1426: Better selection for key-modified clicks in TCP, Mixer board 2016-06-26 12:03:45 -04:00
Paul Licameli
4739f3e27b Compensate for wxW 3 tab navigation deficiencies on Mac...
... using char hook event handlers.  We don't need to go the extreme length
of patching wxWidgets source.
2016-06-25 19:14:05 -04:00
Paul Licameli
7824e94030 Harmlessly qualify classes as final (or explicitly comment not)...
... Should have no effect on generated code, except perhaps some slight faster
virtual function calls.  Mostly useful as documentation of design intent.

Tried to mark every one of our classes that inherits from another, or is a
base for others, or has abstract virtual functions, and a few others besides.
2016-02-24 20:58:30 -05:00
Paul Licameli
9bf098c7d9 Sweep unnecessary wxString copies: rest 2016-02-23 02:15:56 -05:00
Paul Licameli
ad586b3e69 Bug36, partial: Redraw mixer board when meter range preference changes 2016-01-21 10:22:24 -05:00
Leland Lucius
2a0f9da32d Fix keyboard handling in Lyrics and MixerBoard windows
Apparently, this hasn't worked for a while.  At least back to 2.0.6
anyway.
2015-08-09 18:23:32 -05:00
Paul Licameli
fdf0759301 Bug1075, and define and use new event type for TrackPanel timer ticks...
... Thus allowing TrackPanel.cpp to work without including Lyrics headers.
Also eliminates some of its direct notification of MixerBoard.
2015-07-28 11:56:00 -04:00
Paul Licameli
4decbe80d3 Remove Meter.h from other headers 2015-07-28 10:02:10 -04:00
Daniel Winzen
759ff8cd0d Performance improvements 2015-04-23 16:07:25 +02:00
benjamin.drung@gmail.com
277932dccb Remove trailing spaces. 2014-06-03 20:30:19 +00:00
lllucius
5f1ef8f8fa Adding wxMac accessibility. Should resolve:
http://bugzilla.audacityteam.org/show_bug.cgi?id=139
2012-03-21 03:09:06 +00:00
v.audacity
1ceb0ef660 Apply modified version Roger Dannenberg's patch to remedy some problems from commit r10680 and fix some bugs. 2011-10-19 23:06:53 +00:00
v.audacity
08904c22c0 Working on new bug reported by Gale about MixerBoard clipping indicators on small clipped regions.
Remove some unused cruft. Rearrange some #includes so they are grouped logically. Add comment about unclear names (bools "clipping" vs "isclipping").
2010-11-19 05:15:08 +00:00
v.audacity
0870fdec69 comment about stuff currently under #ifdef EXPERIMENTAL_MIDI_OUT:
//    I suggest that when this is no longer experimental, rather than all these #ifdef's, 
   //    this be done by factoring, i.e., add two subclasses to MixerTrackCluster, 
   //    MixerNoteTrackCluster and MixerWaveTrackCluster, such that all the common 
   //    code is in the parent, and these #ifdef's are only around 
   //    MixerNoteTrackCluster rather than sprinkled throughout MixerTrackCluster.
2010-11-06 00:19:32 +00:00
v.audacity
ee7e35b3eb (Fix Bug 250 - Pan sliders sometimes not drawn in Mixer Board, P2)
This bug was introduced in commit 10680 and caused in MixerTrackCluster::UpdatePan(), by using USE_MIDI (which is on in releases) instead of EXPERIMENTAL_MIDI_OUT (which is off). It checked whether a NoteTrack pointer was NULL, and if not, hid the Pan slider (not used in NoteTrack clusters). But an invalid pointer is non-null, so was causing the Pan slider to always be hidden.
2010-11-06 00:00:23 +00:00