1
0
mirror of https://github.com/cookiengineer/audacity synced 2026-03-27 08:36:10 +01:00
Commit Graph

140 Commits

Author SHA1 Message Date
Paul Licameli
caa312ab7b Remove some unneeded #includes and forward declarations 2020-11-20 13:47:47 -05:00
James Crook
6149b57dc0 Bug 2515 - Exporting to a disk with insufficient space gives messages that are not user-friendly or helpful 2020-09-21 15:11:39 +01:00
James Crook
0b633c564a Bug 2515 - (FFmpeg) Exporting to a disk with insufficient space gives messages that are not user-friendly or helpful
FFmpeg now gives the correct message.
Bug not quite closed yet, as other exports are only part done.
2020-09-21 13:05:11 +01:00
James Crook
6d1b3854e9 Bug 2515 - Help buttons for 'Unable to export'
These now all have help buttons to page Error:_Unable_to_export
And they have an error code such as OGG:355 so that (later) on that page
we can describe them better - if they ever happen.
2020-09-21 12:45:43 +01:00
Leland Lucius
722da170a1 Bug 2449 - Mac: Attempting to export as M4A(AAC) yields an FFmpeg error message 2020-06-02 10:26:06 -05:00
Paul Licameli
f3d91f488e Remove extern declarations from .cpp files...
... Require the declarations to be in .h files, to be sure graph.pl detects the
dependencies.

Only one more #include was needed in Nyquist.cpp.   This doesn't reveal any
more hidden cycles.
2020-05-28 05:50:25 -04:00
Paul Licameli
c941647db6 Replace last wxProgressDialog with ProgressDialog; remove all wx/progdlg.h 2020-05-22 20:44:08 -04:00
Leland Lucius
490dd0d332 Change FFmpeg compliance to STRICT 2020-04-13 20:31:06 -05:00
Leland Lucius
3297850341 Bug 2166 - opus export in Custom FFmpeg export fails - cannot open codec 2020-04-12 15:16:01 -05:00
Yuri Chornoivan
d1ada5f08c Fix minor typos 2020-04-11 10:06:24 +01:00
Leland Lucius
281af790b0 Workaround for crash in bug #2378
The proper "fix" is to upgrade FFmpeg, but we'll just protect
the users by excluding sample rate 7350 when using "aac".
2020-04-04 13:00:39 -05:00
Leland Lucius
4806c02e81 Prevent multiple resample dialogs during ExportMultiple 2020-03-30 18:55:43 -05:00
Leland Lucius
f8053b73e2 Bug 2378 - FFmpeg export can fail due to unsupported sample rate 2020-03-30 16:05:23 -05:00
Leland Lucius
ddadd8d429 Bug 2166 - Opus export fails - cannot open codec 2020-03-30 12:02:03 -05:00
Paul Licameli
5165353dbe Reimplement export plugin registation without sequence numbers 2020-02-01 08:56:05 -05:00
Paul Licameli
d6d4ee3c29 Reviewed uses of type alias FileExtension, it belongs in more places 2019-12-27 17:40:42 -05:00
Paul Licameli
acd1158e1b TranslatableString for titles, and spin control and combo prompts 2019-12-23 18:53:00 -05:00
Paul Licameli
b404eb7800 TranslatableString for static text box captions 2019-12-23 18:52:37 -05:00
Paul Licameli
21e7b9f2de TranslatableString for prompts of choice controls 2019-12-23 15:39:49 -05:00
Paul Licameli
75996a851c ShuttleGui::AddChoice and TieChoice take TranslatableStrings 2019-12-23 15:35:47 -05:00
Paul Licameli
dc39f22442 AudacityMessageBox takes TranslatableString message and caption 2019-12-20 21:32:50 -05:00
Paul Licameli
cd0e1e680a more i18n-hints about "codec" 2019-12-19 14:51:44 -05:00
Paul Licameli
63b1803a6e Pass ShuttleGui& into ExportPlugin::OptionsCreate() 2019-12-18 11:22:26 -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
f137bc197a More use of wxFileNameWrapper in export 2019-12-14 01:48:15 -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
b256a4fd1a Less code directly inside ShuttleGui code blocks...
... Trying to reduce that just to chained calls on S, or conditional and looping
logic for variations in layout.

Lift some declarations to higher scope; or use expressions that avoid local
variables; or even use lambdas for more complicated computation of arguments
for the member functions of S.
2019-11-29 15:16:51 -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
087ac5e6c9 Change one overload of TieChoice to expect un-translated strings...
... preparatory to removing that overload.

This overload is used in exactly these files:

DevicePrefs.cpp (displaying host names retrieved by portaudio, which are not
defined in Audacity source)

EffectsPrefs.cpp

ExportFLAC.cpp (twice)

ExportMultiple.cpp (displaying the descriptions defined in the several export
plugin classes)

GUIPrefs.cpp (four times: languages, manual location, theme, and meter DB
range; the language names themselves don't have localizations!)

MidiIOPrefs.cpp (displaying host names retrieved by portmidi)

TracksBehaviorsPrefs.cpp (for solo button choices)

There is also TieNumberAsChoice, used in QualityPrefs and elsewhere, which
calls through to that overload.
2019-11-27 13:38:16 -05:00
Paul Licameli
bbaceba347 Register export plugins, breaking cycles...
... as we did last relase for import; making several header files unnecessary.

This breaks up a strongly connected component of 9, which was the largest
remaining.  Now the largest remaining is 5.
2019-11-27 13:33:28 -05:00
Paul Licameli
aac2b7d825 Revert "Register export plugins, as we did for import, breaking cycles..."
This reverts commit 317f532dcb.
2019-07-29 15:43:22 -04:00
Paul Licameli
317f532dcb Register export plugins, as we did for import, breaking cycles...
... and making several header files unnecessary
2019-07-29 15:41:11 -04:00
James Crook
a8d864ea9f Bug 344 - More intuitive Ffmpeg Quality slider.
Now the slider is requested bit-rate for both stereo and mono.
e.g. max 160 kbps for mono, 320 kbps for stereo.

Previously it was the requested per-channel bit-rate.
2019-07-15 14:21:39 +01:00
James Crook
6eb612bb73 Bug 344 - FFmpeg: M4A Quality slider has no control of bitrate setting or AAC quality 2019-07-15 13:10:34 +01:00
Paul Licameli
1dce507aaf Avoid repetition in computing arguments for export mixers 2019-06-10 20:48:37 -04:00
Paul Licameli
05efeeb5bd New files for ProjectSettings 2019-06-03 01:13:13 -04:00
Paul Licameli
dd10e00a2d New attached structure ProjectSettings stores rate, snap-to, et al. 2019-06-02 14:42:00 -04:00
Paul Licameli
c1c0030013 static Tags::Get...
... not member functions of AudacityProject
2019-05-23 14:08:09 -04:00
Paul Licameli
14ab93a01f static TrackList::Get()...
... not member function of AudacityProject
2019-05-23 12:58:47 -04:00
Paul Licameli
f86403378b Move AudacityMessageBox to its own files...
... breaking cycles among low-level files introduced by 273ba9f
2019-05-20 14:48:36 -04:00
Paul Licameli
6c57948d8f Remove unnecessary #include-s from .cpp files...
... Unnecessary because transitively included.

But each .cpp file still includes its own .h file near the top to ensure
that it compiles indenendently, even if it is reincluded transitively later.
2019-05-16 17:21:00 -04:00
Paul Licameli
0b733eed3f Remove (or comment) ProgressDialog.h in headers...
... For ImportPlugin, use unique_ptr not Maybe to hold it, and take constructors
out-of-line.
2019-04-04 09:47:57 -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
173a300427 Include nothing before Audacity.h, as comments say we should...
... and remove some duplicated inclusions
2019-03-17 21:41:39 -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
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
Paul Licameli
ef97ce88ca Correct more double spaces 2018-10-15 12:54:44 -04:00