1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-06-20 14:20:06 +02:00

383 Commits

Author SHA1 Message Date
Paul Licameli
b18f825ee8 Remove wx/slider.h from headers 2019-03-27 10:35:59 -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
5e7d41ec07 Each .cpp/.mm file includes corresponding header before any other...
... except Audacity.h

This forces us to make each header contain all forward declarations or nested
headers that it requires, rather than depend on context.
2019-03-17 22:54:52 -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
3ff61f3e10 Remove Shuttle.h from other headers 2019-03-17 15:03:05 -04:00
Paul Licameli
a0aa69a248 All tracks allocated with make_shared, no more make_unique...
... so that we can use Track::SharedPointer without undefined behavior even on
tracks that don't yet belong to any TrackList.

Also fix the return type of function template TrackList::Add and remove some
casts.
2019-03-16 13:11:33 -04:00
Paul Licameli
1bcb7c20a5 Remove some nested #include from Project.h 2019-03-16 13:09:54 -04:00
Paul Licameli
dd86346156 ShuttlegGUI: const wxArrayStringEx & arguments, not wxArrayString *...
... for choice, combo, and listbox; reference allows passing temporaries,
eliminating need for some variables to hold the string arrays.
2019-03-16 07:17:21 -04:00
Paul Licameli
dcd82b8ef5 ShuttleGui::AddChoice takes int to specify selection, with a default...
... This makes things brief and where non-default avoids some repetition of
literal strings
2019-03-15 23:35:13 -04:00
Paul Licameli
a30000cf74 Use type aliases FilePath, FilePaths...
... for wxString and wxArrayStringEx, holding file paths (absolute or relative,
directory or plain file); to be replaced later with different types

(not yet using std::vector, becase of some uses of wxArrayString::Index with
two arguments)
2019-03-15 15:18:11 -04:00
Paul Licameli
dcd211affa Use type aliases PluginPath, PluginPaths...
... for wxString and vector thereof, when holding plugin paths (which may or
may not be interpreted as file paths, depending on the module); to be replaced
later with different types
2019-03-15 15:18:11 -04:00
Paul Licameli
06b3b42794 Remove unnecessary initializers for empty wxString 2019-03-15 15:18:11 -04:00
Paul Licameli
dfeb7e18aa Type aliases for some uses of ComponentInterfaceSymbol...
... to be replaced later with distinct types

Also changing FamilyId => Family in function names

Also NumericFormatId => NumericFormatSymbol
2019-03-14 17:26:20 -04:00
Paul Licameli
b8c0125143 Replace comparisons against wxEmptyString with empty() 2019-03-14 16:20:18 -04:00
Paul Licameli
da33daf197 Some replacements of wxArrayString with auto 2019-03-10 14:47:12 -04:00
Paul Licameli
dd8eb9e3d9 Less use of wxArrayString::Index() ...
... instead use the utility make_iterator_range and its index() or contains()
method.  This generic utility works with any container defining begin() and
end().

This further lessens dependency on wxWidgets container idioms.
2019-03-10 14:45:06 -04:00
Paul Licameli
c68e336247 More use of std:: style members of wxString...
... replacing:

Length => length
Len => length
2019-03-10 14:44:54 -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
Steve Daulton
226851ab91 Fix empty string a no-op for all Nyquist plug-ins
Previously an empty string would preven ;type process plug-ins
from continuing to other tracks.
2019-01-14 16:25:53 +00:00
Steve Daulton
5a7b6a7323 Fix multiple selection Nyquist file widget
Wx "Style" flags are 4 bytes, not 1 byte.
Also update a couple of comments in passing.
2018-12-27 19:44:15 +00:00
Steve Daulton
800ddae34b Fix bug 2041
Nyquist: Generating audio at a point within a track, deletes audio
after the generated audio.

This fix corrects errors in b9ec434.
2018-11-29 11:43:00 +00:00
Steve Daulton
e65e1d39d8 Fix for bug 2013
Bug 2013 - Extended ASCII characters in Nyquist plug-ins freeze Audacity

We previously assumed that plug-ins would always be valid UTF8, but
if it isn't then the conversion to wxTextInputStream fails, causing
pgm.ReadLine() to perpetually return a zero length line.
2018-11-18 21:37:15 +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
Steve Daulton
46a3f91d59 Add some useful path definitions for Nyquist 2018-10-29 20:01:21 +00:00
Paul Licameli
0fbea5f9ea Fix failure of Nyquist to translate some multiline strings...
... Don't trim leading whitespace from source file lines before passing them
to eval.

So when a string in Lisp code is (_ "like
   this")

(the Lisp reader allows embedded newlines in quoted strings),

then the string extracted to the .pot file by xgettext contains the spaces, and
the string literal seen by our Lisp interpreter will also retain the spaces and
match the msgid in the catalog exactly.
2018-10-29 13:49:14 -04:00
Paul Licameli
38f97349f5 Don't form translated strings with concatenation 2018-10-25 04:13:44 -04:00
Paul Licameli
df3c2a7b2f Don't mutate uninitialized Maybe 2018-10-23 06:02:19 -04:00
Paul Licameli
48a1538b37 Comment, to deter repeat of the mistake corrected in the last commit! 2018-10-22 20:02:33 -04:00
Paul Licameli
2b8c4aa816 Fix the binding of ngettext in XLisp 2018-10-22 19:58:13 -04: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
df1103822e Don't crash in Nyquist tools with mOutputTracks undefined 2018-10-04 10:56:03 -04:00
Paul Licameli
4aa990e835 Remove GetLink(ed) in various other places 2018-10-01 13:42:33 -04:00
Paul Licameli
aee4005044 Rewrite many iterations over tracks and channels in src/effects 2018-10-01 11:24:04 -04:00
Paul Licameli
b6a6b8e73e Rewrite iterations over sync-lock groups 2018-10-01 11:09:20 -04:00
Paul Licameli
bb3aa00f50 Effect::CopyInputTracks was only called with two values...
So now it simply takes a bool.
2018-10-01 11:06:31 -04:00
Paul Licameli
51842fc78b Use TypeSwitch and track_cast 2018-10-01 10:58:47 -04:00
James Crook
fd21a0f6fd Bug 1943 - Nyquist prompt loses data when Audacity is closed 2018-09-17 21:56:28 +01:00
James Crook
8ed0edd599 Fix two problems with Nyquist translation.
1. The 'Select a File' button (which comes from wxFileSelectorPrompt) was not being translated.
2. rhythmtrack.ny was missing an (_ ) on one string.
2018-08-31 22:51:20 +01:00
James Crook
792fddbd22 Bug 1962 - Nyquist effect dialog labels not translated 2018-08-31 10:51:10 +01:00
James Crook
0ea4ff1395 Add internationalization hints. 2018-08-28 16:35:06 +01:00
James Crook
e31fe6b242 Make AUD-DO return T or NIL as result status.
Previously it was returning 1 or NIL
2018-08-27 10:25:53 +01:00
Steve Daulton
70467e1523 Enable (most) Nyquist property lists for tool scripts
The global *TRACK* variable and its properties remain unavailable for
;type tool scripts.
2018-08-26 16:47:00 +01:00
Steve Daulton
f296f42392 Fix misleading error message
We are testing specifically for a selection in an 'audio' track.
2018-08-25 12:41:29 +01:00
Paul Licameli
c86a46dc99 fix Mac build 2018-08-24 17:59:18 -04:00
James Crook
66df5786de Make AUD-DO return a cons.
This is simple parsing of the response from AUD-DO.  The first part is the string message, the second 1 or NIL depending on if scripting reported OK or not.  Note that illegal scripting options often don't produce a 'Failed' but are silently substituted with valid ones.
2018-08-24 18:45:09 +01:00
James Crook
9b84deb43b Bug 1946 - Nyquist ;type tool effects crash if returning labels from Nyquist 2018-08-24 16:53:34 +01:00
Steve Daulton
4ec1393c27 Error if Nyquist Prompt requires track election 2018-08-21 16:28:59 +01:00
Steve Daulton
b9ec43433e Bug 1934 residual
Allow generate type plug-ins spawned from Nyquist Prompt to create
a new track if none selected.

This commit also fixes preview in generators when there is no selection.
2018-08-21 14:02:48 +01:00
Steve Daulton
5be7f7db0b White space changes
The Objective C++ syntax '[[' used in a couple of places (Mac only),
breaks the parser in kdevelop. As suggested by Paul, a space between the
brackets fixes the problem.
Also removed some trailing spaces.
2018-08-15 11:29:12 +01:00