1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-09-18 09:00:52 +02:00

62 Commits

Author SHA1 Message Date
Paul Licameli
21e7b9f2de TranslatableString for prompts of choice controls 2019-12-23 15:39:49 -05:00
Paul Licameli
dc39f22442 AudacityMessageBox takes TranslatableString message and caption 2019-12-20 21:32:50 -05:00
Paul Licameli
63b1803a6e Pass ShuttleGui& into ExportPlugin::OptionsCreate() 2019-12-18 11:22:26 -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
87a9e7ccbb Use global ChoiceSettings variables, not coincidental string literals 2019-11-27 13:38:17 -05:00
Paul Licameli
9b41741074 Remove an overload of TieChoice; use more ChoiceSetting instead...
... this also corrects some mis-specifications of the default choice, formerly
by string instead of array position
2019-11-27 13:38:16 -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 317f532dcbf39cdaaa0afe6b6e128e661af3b0e9.
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
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
6d5bc21d50 Define and use wxArrayStringEx...
reducing verbosity where there were repeated calls of Add(), and defining
move construction and assignment for efficient returns from functions
2019-03-10 16:23:44 -04:00
Paul Licameli
a9e7a7e5d5 movable_ptr(_with_deleter) -> std::unique_ptr 2018-05-10 00:56:37 -04:00
Paul Licameli
b8a8712ba0 make_movable -> std::make_unique 2018-05-10 00:56:36 -04:00
Paul Licameli
d4b21bb33e Bug 1600: Should keep progress dialog visible throughout Exp. Multi 2018-01-25 15:58:37 -05:00
Paul Licameli
38568f611d Bug1829, more: check all errors flushing and closing export files...
... MP3 export already did this, the other five needed work.
2018-01-22 16:48:20 -05:00
Paul Licameli
e1cf056710 Bug1829: Inform user, erase incomplete files whenever export fails...
... Also checked more error returns from library functions.  Detect it when
write fails (maybe because of exhaustion of space) -- don't continue,
pretending all is still well.

Using one non-specific error message in many places, because we're in string
freeze now.
2018-01-20 19:56:32 -05:00
Paul Licameli
7fd78183d2 Remove needless uses of wxString::c_str() in wxString::Format...
... and similar wx "variadics," which all treat wxString smartly enough that
you don't need this.

Don't need c_str either to convert wxString to const wxChar * because
wxString has a conversion operator that does the same.
2018-01-01 20:34:33 -05:00
Paul Licameli
ccb4bbac33 Translate "Message" as default title of message box...
... This required a sweeping change of all calls to wxMessageBox!  But it seems
safe to me, despite the great number of touched files.
2018-01-01 17:50:02 -05:00
James Crook
d9bab5347a String changes: Exporting 'the audio' rather than 'the entire project'. 2017-12-17 17:34:28 +00:00
Paul Licameli
653fa2d354 Fix progress dialog for export of FLAC 2017-11-27 21:17:41 -05:00
Paul Licameli
31231a54d2 use override 2017-11-05 21:01:52 -05:00
Paul Licameli
0c8bedc59a Exception safety in: subclasses of ExportPlugin; and more error checking 2017-03-21 14:11:22 -04:00
Paul Licameli
1614db9994 Remove naked malloc (or similar) and free in: export 2017-03-17 17:52:52 -04:00
Paul Licameli
9bdc7b2cbf Remove naked new[] in: export 2017-03-17 17:52:45 -04:00
Paul Licameli
aa0d55ac83 Use enum class ProgressResult, don't interconvert with int or bool 2017-03-17 17:52:24 -04:00
Paul Licameli
67cec5ad83 Make many counts of tracks and channels unsigned...
... And in some places where a library uses signed types, assert that
the reported number is not negative.

What led me to this, is that there are many places where a size_t value for
an allocation is the product of a number of channels and some other number.
2016-09-07 10:11:41 -04:00
Paul Licameli
fd2b050d6f Type agnosticism for some other variables that were not sampleCount...
... in some cases, this fixes narrowings.
2016-08-24 14:50:45 -04:00
Paul Licameli
79c79f9cd3 Remove many mentions of sampleCount with auto and decltype...
... This makes much code agnostic about how other things (functions and
arguments) are typed.

Many of these neeed to become size_t instead of sampleCount.
2016-08-24 14:50:45 -04:00
Paul Licameli
4739f3e27b Compensate for wxW 3 tab navigation deficiencies on Mac...
... using char hook event handlers.  We don't need to go the extreme length
of patching wxWidgets source.
2016-06-25 19:14:05 -04:00
Paul Licameli
ff3e3d0e83 ExportPlugin::CreateMixer returns a smart pointer 2016-04-06 14:56:05 -04:00
Paul Licameli
456c8fb01e ExportPlugins managed with smart pointers 2016-04-06 14:08:42 -04:00
Paul Licameli
43790cfa56 std::vector for wave track pointers; remove deprecated TrackList function; ...
... and some more uses of const
2016-03-01 20:54:48 -05:00
Paul Licameli
7824e94030 Harmlessly qualify classes as final (or explicitly comment not)...
... Should have no effect on generated code, except perhaps some slight faster
virtual function calls.  Mostly useful as documentation of design intent.

Tried to mark every one of our classes that inherits from another, or is a
base for others, or has abstract virtual functions, and a few others besides.
2016-02-24 20:58:30 -05:00
Paul Licameli
a5b6c9fd8f Add some const qualifiers; define TrackListConstIterator 2016-02-24 19:10:39 -05:00
Paul Licameli
ffe9989f7c Don't use an internal iterator in Tags 2016-02-24 19:10:38 -05:00
Paul Licameli
83e8a80f61 Sweep unnecessary wxString copies: export 2016-02-22 22:22:25 -05:00
Paul Licameli
dbaa811577 Stack-allocate where possible! ...
... Removed many unnecessary naked news and deletes.
2016-02-17 18:15:57 -05:00
Paul Licameli
df6a7c5464 More uses of safenew for classes we derive from wxWindow classes...
... Also removed some unnecessary deletes of widgets that are managed by parent
windows
2016-02-14 20:39:28 -05:00
Leland Lucius
617e0713df This should fix bug #1111
In addition it adds an option to open the full FFmpeg options
dialog.
2015-08-05 02:28:42 -05:00