... without making undesirable dependency cycles.
Eliminate calls to NewWaveTrack in effects, but in Edit>Copy too, which was
not mentioned in the bug report. (Copying a track, deselecting all, and pasting
preserved CLIP colors, but not the TRACK color setting which applies to newly
generated clips.)
Instead, always use the new function WaveTrack::EmptyCopy from the track to be
later replaced, getting color information.
NewWaveTrack is still used in benchmark test, import, the Track menu
commands that make new tracks, recording to new tracks, and generators without
a selection, where there is no track to copy from.
Also when deserializing tracks from the .aup file, in which case the saved
color is later retrieved from the file.
Also, in mix-and-render, where other logic decides whether to copy colors
afterward.
See commit a9658e6ef7f7eaefce4dc37a93d389cca7705f41
Commands for muting and unmuting the selected tracks were added in commit 6d30936.
This commit:
1. Removes the word selected, as the user would already assume this to be the case, and the other commands in the Tracks menu which act on the selected tracks do not include the word selected.
2. Fix the duplicate access keys.
The function naming is unfortunate as it is not clear that this
is a toggle between Play and Stop. Added comments, renaming,
and split a function, and removed a little duplication.
2347: Loop Play starts now at cursor position even if no time selection present
2348: Mode is preserved when using Next/Previous Label during Loop Play
There was no convenient way of muting or unmuting some, but not all
tracks. With the new commands, it is possible to quickly select a subset
of all tracks via Shift+click and then mute or unmute them.
Change string or sub-string "TimeToolBar" to "Time" to conform with the naming convention of other toolbars.
(Change prompted by the narrator screen reader unexpectedly reading TimeToolBar rather than Time when tabbing to the toolbar.)
Nearly all of the entire preset handling was broken. It was based
on the parameter names only and for various reasons, that was very
inadequate.
So, it now uses the recommended approach.
EffectChangePitch:: Don't use the inputTracks() when building the GUI
in Batch mode.
Repeat and NyquistEffect had the same problem as they could call
FindProject() which used inputTracks() on a closed project. Fixed by a change in Effect::GetSelectionFormat().
The name comes after the checkbox, and looks better without the ':'.
Made an exception for "Resize:" in SetProjectCommand.
It controls 4 subordinate settings, and those settings do come after the name.
Fixes slow load on first run of Nyquist effect.
Revert aud-import-effects to optional, and add
aud-do-command as fast alternative.
Slow load now only on first debug use of new commands
and cached until Nyquist temp folder is cleared.
To avoid unnecessary overhead, 'Lispy' scripting commands
only provide additional validation when debugging enabled.
AUD-PRINT-COMMAND added as handy reference for new commands.
Cache may be refreshed manually with (aud-refresh-debug-data-cache).
When doing the final link of Audacity executable on Cygwin, many errors like this one were printed on the console:
ld: ../lib/audacity/libportmidi.a(portmidi.c.o):portmidi.c:(.text+0x3f): undefined reference to `pm_alloc'
This happened because some files were missing since Cygwin name was not included together with other unix platforms.
* [CMAKE] Portaudio: add unix paths for Cygwin
When building on Cygwin, I got this error:
/home/carlo/audacity/lib-src/portaudio-v19/src/hostapi/oss/pa_unix_oss.c:90:10: fatal error: pa_unix_util.h: No such file or directory
90 | #include "pa_unix_util.h"
this happened because some additional search path was not included.
* [CMAKE] Portaudio: add missing Unix files in Cygwin
When doing the final link of Audacity executable on Cygwin, many errors like this one were printed on the console.
/usr/lib/gcc/x86_64-pc-cygwin/9.2.0/../../../../x86_64-pc-cygwin/bin/ld: CMakeFiles/Audacity.dir/AudioIO.cpp.o:AudioIO.cpp:(.text+0x17a): undefined reference to `PaUtil_GetTime'
This happened because some files were missing since Cygwin name was not included together with other unix platforms.