1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-05-04 17:49:45 +02:00

9545 Commits

Author SHA1 Message Date
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
01329876c5 Remove unnecessary #include 2018-11-05 07:42:21 -05:00
Paul Licameli
c4994ae9c2 kTrackInfoWidth was misleadingly named...
... keep the name, but change the value to be what it really says:
the proper width of the track control panel, agreeing with the hit-test
area, NOT including the left margin

And change places where the constant was used, adding the margin back again.
2018-11-04 18:23:29 -05:00
Steve Daulton
4c76e598d5 Fix command line options
Fixes -v / --verbose.
Fixes file paths (Windows and Linux).

Relative file paths would (before this fix) be wrong unless the command
was launched from the same directory as Audacity's working directory
(Windows and Linux only)
2018-11-04 21:18:29 +00:00
Steve Daulton
bc60de2ffa Disable Scrub Ruler by default 2018-11-04 21:18:29 +00:00
Mikhail Korbakov
472240494c We can get only Unofficial/Vietnamese.islu for Inno Setup 5.6.1 2018-11-04 17:56:00 +00:00
Mikhail Korbakov
e2ad0bbc2e We need libasound-dev to build on ubuntu 16.04 2018-11-04 17:56:00 +00:00
Paul Licameli
0524dc5880 A comment about Maybe resembling std::optional...
... which should replace it if we migrate to C++17.
2018-11-04 10:55:21 -05:00
Paul Licameli
38005054f4 Make TrackInfo a namespace, not a class...
... Its functions take a pointer to TrackPanel when necessary, just to do the
reparenting of the global slider instances
2018-11-04 10:51:00 -05:00
James Crook
b5d4a828d1 More doxygen 2018-11-04 14:21:00 +00:00
Paul Licameli
648d7ddb73 Move declarations in CellularPanel, keep abstract functions together 2018-11-03 11:45:22 -04:00
Paul Licameli
370d3e6338 spelling in comments 2018-11-03 11:45:05 -04:00
James Crook
7030c9fc4f More doxygen 2018-11-03 13:18:26 +00:00
Paul Licameli
f9627864c0 Steps in TrackPanel drawing correspond better with hit subdivision...
... though the sequence in which they are done doesn't yet.
2018-11-02 23:16:53 -04:00
Paul Licameli
55774fbb29 When drawing, treat track plus separator BELOW as the natural grouping...
... and treat the top margin of the first track specially.
2018-11-02 23:16:05 -04:00
Paul Licameli
3589aacd7c Rewrite iteration over tracks in DrawEverythingElse 2018-11-02 23:00:28 -04:00
Paul Licameli
10bc061b00 Pass rectangles to drawing routines excluding left & right margins...
... not insets.

This makes them agree with the horizontal extents of the hit-test areas of
event handling code.

Some routines may draw outside of the box passed in to them, as when drawing
the border around a track.

In some of the routines, fewer pixels are painted than before, but these are
always either cleared already when painting left and right margins, or are
overpainted later, as with the right endpoints of sash borders overpainted by
the border around the track.
2018-11-02 22:45:22 -04:00
Paul Licameli
a2e392433a Paint left and right margins of the whole TrackPanel first 2018-11-02 22:38:11 -04: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
0f17b309bc Fuse the two sash-drawing functions, pass a rectangle not a track...
... and be consistent about substituting the track before finding Y and height
2018-11-02 21:07:45 -04:00
James Crook
88c70f3c37 Remove win/compile.txt which was accidentally re-introduced.
win/build.txt is its replacement.
2018-11-02 23:09:16 +00:00
Paul Licameli
fb15558a07 Update XCode project for renamed header file 2018-11-02 18:44:17 -04:00
James Crook
dccf5fcbf9 Don't include "Quick Fix" in menus for 2.3.1. 2018-11-02 22:07:01 +00:00
James Crook
7f8bfa0ac2 Make microfades into a preference. 2018-11-02 21:58:53 +00:00
Paul Licameli
b07097df3a Reorganize some track drawing code, no change of appearance intended 2018-11-02 16:51:08 -04:00
Paul Licameli
8d02134d6a Simplify the track rectangle calculations in TrackArtist 2018-11-02 16:51:08 -04:00
Paul Licameli
49dd6002d3 Simplify HighlightFocusedTrack 2018-11-02 16:51:08 -04:00
Paul Licameli
3e1d4a962d Fix drawing of lower right corners of vertical rulers 2018-11-02 16:51:07 -04:00
Paul Licameli
e31669f555 comment out unused function 2018-11-02 16:51:07 -04:00
Paul Licameli
c1b729822c Remove unused arguments of some drawing functions 2018-11-02 16:51:07 -04:00
James Crook
36933b5c5e Show GStreamer in Doxygen too. 2018-11-02 19:54:04 +00:00
James Crook
095c6d87ef More complete doxygen coverage 2018-11-02 18:23:59 +00:00
James Crook
466e9c179e Create ComponentInterface
It combines the old IdentInterface with the ParamsInterface, providing an identifier and parameters (if needed).
The main purpose of the change is to make the class hierarchy (as viewed via doxygen) much easier to follow.
2018-11-02 17:04:43 +00:00
Paul Licameli
c63dcbd3ca Oops, forgot the vertical rulers in the subdivision of TrackPanel ! 2018-11-02 10:30:56 -04:00
Paul Licameli
b7e1cc09a5 TrackPanel, AdornedRulerPanel each define subdivision in one place...
... excepting the duplication still remaining in TrackPanel::FindTrackRect.

Subdivision of the panel's area is defined recusively using helper classes
that each report a refinement of a sub-rectangle on one of the two axes until
what remains is a rectangle occupied by one cell only.

TrackPanelCellIterator, which iterated over TrackPanel's subdivision by other
means, is replaced by this.

CellularPanel thus requires only one virtual function definition for
subdivision, not two as before, and from that figures out in a generalized way
how to find a cell given a point, or a rectangle given a cell, or an iteration
over all cells within visible bounds.

In future, a rewrite of drawing may invoke virtual functions not only on the
cell objects, but also on the groupings of them.  For instance to draw the
focus rectangle of a stereo track, which surrounds several of the cells -- the
control panel, the channels, and the resizer between.  So it's good to reify
such groupings of cells as objects.
2018-11-01 18:26:11 -04:00
Paul Licameli
39fc20c5ee TrackPanelCellIterator is no longer needed 2018-11-01 18:25:02 -04:00
Paul Licameli
005abb06d6 Replace uses of TrackPanel::Cells() with CellularPanel::VisitCells() 2018-11-01 18:25:02 -04:00
Paul Licameli
01551913f0 nonvirtual reimplementation of CellularPanel::FindRect using nodes 2018-11-01 18:25:02 -04:00
Paul Licameli
cfa7afcb24 nonvirtual reimplementation of CellularPanel::FindCell using nodes 2018-11-01 18:25:02 -04:00
Paul Licameli
128ba93ae7 Implement TrackPanel::Root() 2018-11-01 18:25:01 -04:00
Paul Licameli
08f88ebf2e Implement AdornedRulerPanel::Root() 2018-11-01 17:45:51 -04:00
Paul Licameli
588c050bbb Define visitation procedure skeleton for subdivision of CellularPanel 2018-11-01 17:43:04 -04:00
Paul Licameli
4fe97acbc9 Define CellularPanel::Root 2018-11-01 17:37:22 -04:00
Paul Licameli
30d55f476e Define abstract classes TrackPanelNode and TrackPanelGroup 2018-11-01 17:33:15 -04:00
David Bailes
7549b9f996 Correct mSeekShort to mSeekLong in a few places
Correct typos which were causing incorrect size of cursor movements
2018-10-31 13:43:42 +00: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
Steve Daulton
6e75ff27c8 Bug 2022 Mixer Board does not automatically update
OnTrackSetChanged sets mUpToDate to false, which assumes that
MixerBoard::OnPaint(evt) will be called, but on Linux, the event
appears to be eaten by MixerTrackCluster::OnPaint and TrackClusters
were not updated.
2018-10-31 09:51:34 +00:00
Paul Licameli
912b24f211 Revert "Small widening of the click-to-deselect area below the tracks..."
This reverts commit c101cf3b32ab5023308f2331b5c49df51a492736.
2018-10-30 21:56:22 -04:00