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

357 Commits

Author SHA1 Message Date
Paul Licameli
c2feee6cea Bug2346: Complete fix...
... 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
2020-03-10 22:32:23 -04:00
Paul Licameli
a9658e6ef7 Alternative fix for Bug2346 without dependency cycles 2020-03-06 17:32:24 -05:00
James Crook
3332c9451e Slightly faster parsing of Nyquist programs.
This reads the program into a buffer first.
It also preallocates space for the Nyquist program.
2020-02-21 15:39:37 +00:00
SteveDaulton
63c7f6b722 Nyquist: Handle nyx_list return value
Required to avoid error on running Macoro Scripting commands
from Nyquist.
2020-02-15 15:28:01 +00:00
SteveDaulton
b85a393af4 Increase size of Nyquist string widget 2020-02-09 12:03:46 +00:00
SteveDaulton
3e94dfdca0 bug 2300: Limit number of clips in *track* clips property
Nyquist has a limit (less than 2000) for the number of arguments
which may be exceeded when creating the *track* clips property.
In the event that there are more than 1000 clips in a track,
Audacity will now only add the first 1000 clips to the *track* property
and add NIL as the 1001th.
2020-02-02 21:24:44 +00:00
Paul Licameli
2570b56176 Rename Maybe and its members more like std::optional of C++17 2020-01-19 11:38:12 -05:00
Paul Licameli
d2ccde77e7 Remove another exhaustive switch on view sub-types, in Nyquist.cpp 2020-01-18 20:28:53 -05:00
Paul Licameli
7cff170cf7 Sub-view objects report their complete type, not just an enum value 2020-01-18 20:28:53 -05:00
Paul Licameli
d9ddb41410 Un-fix smart single quotes in Nyquist prompt too; see commit 45a0ce1 2020-01-18 19:34:40 -05:00
Paul Licameli
705d4a26a5 Don't supply "Waveform (dB)" to the 'VIEW property in Nyquist...
... consistently with the drop-down menu, and now the Tracks Preferences too.

Only distinguish Waveform and Spectrogram and nil.

See also commit e3d9fd9.
2020-01-17 22:48:23 -05:00
Paul Licameli
66fd95f3d6 Rewrite the path through NyquistEffect, in the case that...
... you use the prompt, and you enter a complete script with control comments
that are reinterpreted to put up a second dialog.

This simplifies Effect::Delegate() and avoids mutual recursion of ShowInterface
with DoEffect.
2020-01-08 16:48:37 -05:00
Paul Licameli
6a0aed3884 Eliminate uses of GetActiveProject in src/effects 2020-01-06 14:14:21 -05:00
Paul Licameli
bb26b2f2c4 Require a ProjectWindow as ancestor of effect dialog...
... by passing parent as reference, not pointer, and testing in the dialog
factory function.

This is important so that we know the lifetime of an effect dialog, even when
it is non-modal, is bounded by the lifetime of the associated project.
2020-01-06 11:30:47 -05:00
Paul Licameli
23a0206d2a Remove CreateUI; pass dialog factory to effect client instead 2020-01-05 16:11:55 -05:00
Paul Licameli
45a0ce1819 Bug2268: should be able to use " in Nyquist Prompt for Mac...
... We need to un-correct the smart quote characters back to dumb quotes
before passing the input to the Lisp interpreter.

The smart quote correction is a consequence of the move to the MacOS 10.9 SDK.
Stopping the correction at the source would require objective-C hacks in a
custom build of wxWidgets, and just not worth the effort.

This fix only corrects the text input at one wxTextCtrl.  Should we reexamine
other uses of that class?
2019-12-31 15:31:45 -05:00
Paul Licameli
de4edb0424 Nyquist output dialog uses ShuttleGui 2019-12-29 17:46:02 -05:00
Paul Licameli
c64b3cb31f Rewrite FileDialogWrapper using FileNames::FileTypes...
... also removing some repeated code and using the config keys /DefaultOpenType
and /LastOpenType only in Import.cpp
2019-12-29 15:35:03 -05:00
Paul Licameli
3b9442a000 Fewer uses of macro _ in Nyquist.cpp 2019-12-28 23:49:18 -05:00
Paul Licameli
d1637c22c0 TranslatableString for explicit prompts and units in ShuttleGui 2019-12-23 19:22:03 -05:00
Paul Licameli
747c35645a TranslatableString for checkbox captions 2019-12-23 19:15:34 -05:00
Paul Licameli
13417b6d5b ShuttleGui::AddFixedText takes TranslatableString 2019-12-23 19:02:19 -05:00
Paul Licameli
707a069712 ShuttleGui::AddVariableText takes TranslatableString 2019-12-23 18:53:00 -05:00
Paul Licameli
1944ac2040 TranslatableString for labels of ShuttleGui buttons 2019-12-23 15:35:48 -05:00
Paul Licameli
75996a851c ShuttleGui::AddChoice and TieChoice take TranslatableStrings 2019-12-23 15:35:47 -05:00
Paul Licameli
1537930195 DiscoverPluginsAtPath reports error as TranslatableString 2019-12-20 22:06:18 -05:00
Paul Licameli
d8c2610d88 TranslatableString in AudacityCommand::MessageBox, Effect::MessageBox 2019-12-20 21:32:47 -05:00
Paul Licameli
1b726f4f09 More TranslatableString in dialog wrapper classes...
... All of the dialog names, and the messages for File and directory dialog
wrappers
2019-12-20 13:40:20 -05:00
Paul Licameli
e3ea93a624 Define and use function Verbatim...
... in cases of "TranslatableString" that are not really translated.

This makes it easier to scan the code for such unusual constructions of
TranslatableString, distinct from mere mentions of the TranslatableString type.
2019-12-19 22:49:23 -05:00
Paul Licameli
618fee21ec TranslatableString for ComponentInterface::GetDescription() 2019-12-16 14:21:57 -05:00
Paul Licameli
53ee9c9800 TranslatableString for titles, names, labels of wxDialogWrappers...
... Found one missed translation in CommandTargets.cpp
2019-12-16 10:58:05 -05:00
Paul Licameli
9a609fe1fe TranslatableString in ProgressDialog 2019-12-14 01:48:15 -05:00
Paul Licameli
15260c2c95 TranslatableString can store a context and format arguments...
... Format arguments are substituted into the translation of the msgid, which
may not be known at the time the format arguments are captured (because locale
may change).  This allows TranslatableString with arguments to be constructed
at static initialization time.

There is also a special "verbatim" or null context which makes no translations
of msgids.

There is not yet any use of other contexts besides default or null.
2019-12-05 11:34:06 -05:00
Paul Licameli
ca70cc940f Don't concatenate ":" onto user-visible strings...
... include it in the msgid intead, to get appropriate translations.  For
instance some locales use the same character but prefer to insert a space
before it.
2019-12-04 16:19:07 -05:00
Paul Licameli
96291c5476 Remove second argument of AddWindow(), use Position() instead 2019-12-02 22:01:22 -05:00
Paul Licameli
b5ee7676fd Rename ShuttleGui::SetSizeHints, chain-call it like other methods...
... And rewrite some other existing calls to SetMinSize
2019-12-02 19:35:06 -05:00
Paul Licameli
c72dbf5b51 Define and use ShuttleGui::Focus 2019-12-02 17:26:40 -05:00
Paul Licameli
1bfbfb9640 ShuttleGui::Style analogous to other functions 2019-12-02 17:23:34 -05:00
Paul Licameli
9eeef4713d Define and use ShuttleGui::Name and NameSuffix...
... For radio buttons, the name will default to the same as the prompt if not
otherwise specified
2019-12-02 16:55:46 -05:00
Paul Licameli
1d32824e02 Define and use ShuttleGui::Validator 2019-12-02 11:21:40 -05:00
Paul Licameli
72df562c4a Conversion of TranslatableString to wxString is private 2019-12-01 18:17:57 -05:00
Paul Licameli
b351eabf47 ComponentInterfaceSymbol contains TranslatableString 2019-12-01 18:08:56 -05:00
Paul Licameli
e4a7c9ba5b Uses of TranslatableString as value of XO macro...
... It is not implicitly convertible from wxString, compelling many uses of
the new type to fix compilation.
2019-12-01 18:05:20 -05:00
Paul Licameli
f846c25806 Rewrite AddChoice and TieChoice calls...
... either lifting or inlining array-of-string computations, so fewer statements
are mixed among ShuttleGui method calls
2019-11-29 15:16:48 -05:00
Paul Licameli
e3d9fd95ab If track has multiple views, pass a list in 'VIEW property to Nyquist...
... this makes no difference to any of the .ny plug-ins now in the project,
which only ever test whether the view type is NIL, signifying preview
2019-11-23 15:24:16 -05:00
James Crook
20772c995d Bug 2137 - Nyquist: Assert when receiving multibyte characters 2019-07-16 13:59:59 +01:00
Paul Licameli
fa6b5dea88 Generalize WaveTrackView::GetDisplay to return multiple values...
... something better might be done in Nyquist Lisp, where we still pass a
single value
2019-07-10 10:19:04 -04:00
Paul Licameli
6ccca16a75 Move display type from WaveTrack to WaveTrackView 2019-07-09 20:09:59 -04:00
Paul Licameli
a6e2ca0aa8 Move some enums into new files WaveTrackViewConstants.* ...
... freeing TracksPrefs from the second largest s.c.c. which is now only 20
2019-06-22 21:46:32 -04:00
Paul Licameli
aa5f9550bd LabelTrackView, not LabelTrack, handles focus changes when adding 2019-06-20 10:47:25 -04:00