1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-05-05 06:09:47 +02:00

9508 Commits

Author SHA1 Message Date
Steve Daulton
d9b5129e64 Fix assert when mixing to new track 2018-11-10 15:04:13 +00:00
SteveDaulton
aceb34d786 Add aud-do-support.lsp to Windows build 2018-11-09 20:23:50 +00:00
Steve Daulton
4ce666e09b Add aud-do-support.lsp to mac build 2018-11-09 20:23:50 +00:00
Steve Daulton
26e19bfd5a Add aud-do-support.lsp for Linux build
Provides Nyquist (LISP) wrapper functions for macro "Commands".
2018-11-09 19:57:56 +00:00
Paul Licameli
2d650fa0e8 Rename LabelTrack::IsSelected so it doesn't shadow Track::IsSelected 2018-11-08 11:08:19 -05:00
David Bailes
03b0d3f89a Bug 2025: Windows: Wasapi: seek commands can cause crash
Problem: With host set to WASAPI: if the playback position is less that about ten seconds before the end of any of the tracks and the user presses one of the left/arrow keys to seek, then a bug alert appears, and it's seems like it's impossible to recover from this.

libsoxr 0.1.3, first used in Audacity 2.3.0, crashes with constant rate resampling if you try to reuse the resampler after it has flushed.

Fix: work around which is the same as used for bug 1887 - recreate resamplers, rather than reusing them.
2018-11-07 14:58:12 +00:00
Paul Licameli
03e67b9bcd Bug2026: drawing channel separator on Windows...
... This shouldn't make a difference, but it does.  I suspect MSVC 2017
compiler bugs still remain in implementing braced initialization.
2018-11-06 20:17:14 -05:00
Paul Licameli
50cf2e9a1f Give TrackArtist a back-pointer to TrackPanel 2018-11-05 10:54:58 -05:00
Paul Licameli
9bb235c274 Preparations for scattering TrackArt functions to better places 2018-11-05 09:35:05 -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
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