1
0
mirror of https://github.com/cookiengineer/audacity synced 2026-03-11 17:05:26 +01:00
Commit Graph

229 Commits

Author SHA1 Message Date
James Crook
8b9518a90a Translucent background to track name (on Mac)
Mac only, as mac supports translucent brushes by default.
wxWidgets makes using a wxDC and wxGraphicContext at the same time
complex and slow.  Hence just for mac.
2019-03-29 22:11:59 +00:00
Paul Licameli
9569cfddf5 More comments for including Audacity.h; fix one #ifdef in AudioIO.cpp 2019-03-23 14:09:05 -04:00
Paul Licameli
f45300f032 This is only comments, in files where USE_ macros are tested...
... following the comment convention used in the preceding commit.
2019-03-22 12:38:30 -04:00
Paul Licameli
b4ce681867 WaveTrack.h does not include WaveClip.h 2019-03-18 01:44:42 -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
173a300427 Include nothing before Audacity.h, as comments say we should...
... and remove some duplicated inclusions
2019-03-17 21:41:39 -04:00
Paul Licameli
6f89c48873 Reimplement Track::Pointer using std::enable_shared_from_this...
... now the Track need not be owned yet by a TrackList
2019-03-16 13:11:32 -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
Paul Licameli
50cf2e9a1f Give TrackArtist a back-pointer to TrackPanel 2018-11-05 10:54:58 -05:00
Paul Licameli
4ebfbd9c50 Split class TrackArtist from namespace TrackArt...
... The first is just extended drawing context info, and the second has
functions that retrieve TrackArtist from TrackPanelDrawingContext as needed.
2018-11-05 09:16:50 -05:00
Paul Licameli
fe35146464 remove more TrackArtist arguments 2018-11-05 09:12:48 -05:00
Paul Licameli
99106e3ed3 Carry more information in TrackPanelDrawingContext; fewer arguments 2018-11-05 09:12:45 -05:00
Paul Licameli
c866ed4bf7 Reimplement the logic for drawing label track selection background 2018-11-05 07:48:36 -05:00
Paul Licameli
f8e0ffb31b Make sure TrackArtist updates prefs on construction...
... and move one more gPrefs lookup into it.

Don't expect TrackPanel to invoke it always, because sometimes TrackArtist
is standalone, as in Printing.cpp
2018-11-05 07:44:21 -05:00
Paul Licameli
d0d88118cc Rectangle passed VRuler draw function agrees with hit test rectangle...
... that is, it is one wider than before.  But the drawing routine compensates
to make the picture no different.
2018-11-02 22:36:47 -04:00
Paul Licameli
e70b240338 The ruler and sash draw functions treat their own backgrounds 2018-11-02 21:10:30 -04:00
Paul Licameli
951e7d27da The vruler and sash draw functions treat their own left boundaries 2018-11-02 21:07:48 -04:00
Paul Licameli
8d02134d6a Simplify the track rectangle calculations in TrackArtist 2018-11-02 16:51:08 -04:00
Paul Licameli
5b01f57919 Update comments about TrackPanel and TrackArtist...
... Remove mention of obsolete plans for TrackPanel refactor, superseded by a
different refactor now accomplished.

Remove detailed mention of names of functions and data members that implement
drawing.

Move most of Roger's comments about drawing into Overlay.h which is now the
more relevant place.

Commented more correctly what TrackPanelListener is.
2018-10-31 08:06:18 -04:00
Paul Licameli
e9d1dfb2dd more const arguments in TrackArtist 2018-10-30 13:42:49 -04:00
Darrell Walisser
5dfff70f5b Fix OpenMP build 2018-10-14 11:34:37 +01: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
5fd95dd131 Fix C4456 Warnings.
"C4456 declaration hides previous local declaration."
These arise from repeated declarations of the same name.
2018-10-10 17:28:50 +01:00
Paul Licameli
50f2b0e860 Bug1995: Fix drawing of stereo tracks, bug introduced at 0c0c2c0 2018-10-03 17:19:15 -04:00
Paul Licameli
0c0c2c0d1e Rewrite iteration over visible tracks in TrackArtist...
... also eliminating AudacityProject::GetFirstVisible.
2018-10-01 13:41:51 -04:00
Paul Licameli
51842fc78b Use TypeSwitch and track_cast 2018-10-01 10:58:47 -04:00
Paul Licameli
6930b63192 Redo track kind as an enum class defined at global scope 2018-09-29 21:41:47 -04:00
Paul Licameli
34cc1ff577 Rename, rewrite, and simplify use of FindPendingChangedTrack 2018-09-13 13:56:47 -04:00
Paul Licameli
a5c50a112a more const in drawing functions 2018-09-13 13:53:58 -04: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
4ae394ff5e Fix some warnings (MSVC) 2018-03-31 19:47:16 +01:00
Paul Licameli
aed6eb2215 Redo sample display choice in Tracks preferences 2018-03-25 14:35:59 -04:00
James Crook
ae564b2724 Bug 1837 - Unable to set empty track name
Also AudacityCommand dialogs now only show help button if there is help.
Also Track only shows track name over it, if there is a track name.
2018-03-25 13:43:49 +01:00
James Crook
8ce8e7bcce Bug 521 - Lower half of Waveform (dB) vertical scale does not show dB level.
Added a DbMirrorValue for two sided dB scale on Waveform VRuler when in dB view mode.
2018-03-24 20:35:08 +00:00
James Crook
a47df37ea4 Bug 1533 - Selection in label track offset from selection in audio Track
The problem was actually more general, and involves misalignment between selections
in clips and selections in the background and in the ruler - so could be seen with just
audio tracks and no label tracks.
2018-03-17 19:17:53 +00:00
andheh
809167d932 fixed an indentation warning in src/TrackArtist.cpp 2018-03-06 21:29:52 +00:00
Paul Licameli
d3493814e2 Fix Mac build 2018-03-02 19:46:35 -05:00
James Crook
3e8dec452c Give track name overlay a background.
- Also changed over from using the yellow color.
2018-03-02 19:27:42 +00:00
Paul Licameli
28eeca5fa7 Iterate over the pending tracks for drawing and sizing the scrollbars 2018-02-21 19:20:58 -05:00
Paul Licameli
52a7f2320d Re-fix some warnings about mixing signed and unsigned better...
... Assuming that large unsigned magnitudes with high order bit set are not
the problem, but signed negatives of small magnitude may be:

1) Always cast the unsigned to signed in comparisons, not the other way.

Also:

2) Cast unsigned TERM to signed by itself, before subtracting.  Don't cast
the result.

3) Rewrite some comparisons by moving subtracted term to other side.

See commits
d2fe7b1757
f463eda36c
2018-01-23 18:51:53 -05:00
Paul Licameli
4ef8da8f16 Revert "Preliminaries to support better interaction of undo and recording"
This reverts commit 6e75ae58ac, reversing
changes made to 714d53e00f.
2018-01-14 21:36:33 -05:00
Paul Licameli
ce5a67a9e9 Iterate over the pending tracks for drawing 2018-01-14 19:04:03 -05:00
Paul Licameli
5407079c62 Remove EXPERIMENTAL_OUTPUT_DISPLAY...
... Maybe a good feature idea, but the implementation pollutes the code in
too many places.

It's a special case of the more general idea of many-to-one associations
between screen rectangles and track objects.  More generalized ways to
accommodate that should be sought.
2018-01-12 12:08:09 -05:00
Paul Licameli
c975de8c5e More use of shared_ptr to Track, for safety...
... This even makes it possible to remove the prohibition of undo and redo
during transport, not that we want to though.  Playback and recording will
continue, using track objects that might not be in the current project.
2018-01-10 20:05:11 -05:00
James Crook
d2fe7b1757 Clean up most remaining MSVC warnings. 2018-01-06 13:03:48 +00:00
James Crook
f463eda36c Clean up some dead code and MSVC warnings.
- Dead code from experiments in SelectionBar removed.
- Many warnings about unused parameters fixed with WXUNUSED()
- Many warnings about signed / unsigned comparisons cleaned up.
- Several 'local variable declared but not used' warnings fixed.
2017-12-08 15:20:39 +00:00
James Crook
42c52de7f1 Coloured clips basics
These basics add a colour index to each clip and track, and allow for a choice of four colours to be set from the track menu drop down.  The additional wave colours (red, green and black) are not currently configurable, and the colour index is not currently saved.
2017-11-04 17:47:02 +00:00
James Crook
d0b49f1ec9 Bug 1671 (part 2) - Clock icons do not propagate into Sync-locked MIDI / Spectrogram view tracks
This is the second half of the bug and it does MIDI.
2017-08-12 15:08:29 +01:00
James Crook
3d5a4e8a45 Bug 1671 - Spectrogram Overlay made experimental.
In case we decide too much detail is lost in low intensity spectrogram - we can turn this off easily.
2017-08-11 23:20:04 +01:00
James Crook
78f273f30c Bug 1671 (part 1) - Clock icons do not propagate into Sync-locked MIDI Spectrogram view tracks
This is only half of the bug.  MIDI tracks still to do.
2017-08-11 22:55:00 +01:00