1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-05-01 16:19:43 +02:00

9787 Commits

Author SHA1 Message Date
Dmitry Vedenko
97914403f6 Updates Doxygen documentation 2021-06-08 08:08:26 -07:00
Dmitry Vedenko
950d170ae6 Adds context to SQLite3 exceptions 2021-06-08 08:08:26 -07:00
Dmitry Vedenko
690772ccb0 Use ShowExceptionDialog when we want to show ErrorReportDialog 2021-06-08 08:08:26 -07:00
Dmitry Vedenko
bbb9ca14a2 Adds ErrorReportDialog and ShowExceptionDialog 2021-06-08 08:08:26 -07:00
Paul Licameli
d28554189d Add alpha-build-only crash-me buttons, for testing of crash reporting 2021-06-08 02:23:53 -07:00
Paul Licameli
64d7ca7403 New utility library 2021-06-02 07:08:19 -04:00
Paul Licameli
094675bd42 Remove wx/any.h from MemoryX.h; sacrifice MSVC debug new macro ...
... it never helped us debug much, and polluted the preprocessor namespace and
made this bad depencency
2021-06-02 07:08:19 -04:00
Paul Licameli
434f3919f9 MemoryX.h does not include wx/utils.h 2021-06-02 07:08:19 -04:00
Paul Licameli
e6e96de0fd Replace most inclusions of MemoryX.h with <memory> ...
... Most often it was needed for a custom definition of std::make_unique, but
we build C++14 now.
2021-06-02 07:08:19 -04:00
James Crook
27618eb95f Update AboutDialog
* Move Peter Sampson to emeritus.
* Trademark no longer 'of Dominic Mazzoni'.
2021-06-01 11:31:37 +01:00
Paul Licameli
9c70887c34 A rewrite in Nyquist to make reinterpret_cast unnecessary 2021-05-27 11:38:10 -04:00
Paul Licameli
f369b5109b Change almost all uses of WaveTrack::Get() to GetFloats() ...
... A call graph browser easily shows that the extra generality of fetching
samples in some other format is only used in Benchmark -- where the format is
always the same as what the track is constructed with.

This makes re-verification of the claims in comments two commits ago easier.
2021-05-27 11:38:10 -04:00
Paul Licameli
0aa8625cff WaveTrackCache was only used with float; don't support other formats 2021-05-27 11:38:10 -04:00
Paul Licameli
4fcb8bffbf Comments about dithering in SqliteSampleBlock 2021-05-27 11:38:10 -04:00
Paul Licameli
528b57ff8e Comments about dithering in ImportAup 2021-05-27 11:38:10 -04:00
Paul Licameli
43310b6a1e Review of ImportAup.cpp ...
... incidental to a review of CopySamples in it.  This code is used only when
importing an old-style .aup project file into the new project format.

Fixed some RAII for file handle.

Rewrote every call to IsGoodInt or IsGoodInt64 with a narrowly scoped temporary
variable.

Use IsGoodInt64 only for total track lengths and positions; but use IsGoodInt
for block and blockfile sizes, which are not supposed to be huge but are
supposed to fit in memory buffers.
2021-05-27 11:38:10 -04:00
Paul Licameli
0053c61c08 Do not dither samples as they pass through RingBuffer...
... See allocation of RingBuffers in AudioIO.

Playback buffers always used floatSample format so this change has no
effect on them.

But we also want no extra dithering applied during recording, where the capture
format might be narrower than float.
2021-05-27 11:38:10 -04:00
Paul Licameli
50a26d9caf CopySamples gives more than binary choice of dither algorithm...
... And so a separate function CopySamplesNoDither is not needed
2021-05-27 11:38:10 -04:00
Paul Licameli
6eb5f3ac5b Eliminate CopySamples calls where destination is always float...
.. Call the function SamplesToFloats instead, or in one place, where source
is also always float, just do memcpy.

Dithering never happened in these cases.
2021-05-27 11:38:09 -04:00
Paul Licameli
c35f7d35cc Startup without pluginregistry.cfg should not violate assertion 2021-05-27 11:07:39 -04:00
Paul Licameli
45c6190c51 New library lib-strings for Identifier and internationalization 2021-05-27 09:51:32 -04:00
Paul Licameli
70c4898648 Move class wxArrayStringEx to its own files 2021-05-27 09:51:32 -04:00
Paul Licameli
7cf153a34b Duplicate MemoryX.h into wxArrayStringEx.h, diff should be empty 2021-05-27 09:51:32 -04:00
Paul Licameli
c4487814cf Invert dependency of TranslatableString and audacity/Types.h 2021-05-27 09:51:32 -04:00
Paul Licameli
f7d9602a42 TranslatableString.h does not include Identifier.h 2021-05-27 09:51:32 -04:00
Paul Licameli
bb14a6016f Move TranslatableString to new files 2021-05-27 09:51:32 -04:00
Paul Licameli
4d45054f4c Duplicate Types.h, Internat.cpp in TranslatableString.{h,cpp} 2021-05-27 09:51:32 -04:00
Paul Licameli
d2bdd60e91 Internat doesn't depend on wxCore, ComponentInterface, MemoryX 2021-05-27 09:51:32 -04:00
Paul Licameli
7e697d1d8f Replace many inclusions of Types.h with Identifier.h 2021-05-27 09:51:32 -04:00
Paul Licameli
5a516a7999 Move Identifier, TaggedIdentifier, some type aliases to Identifier.h 2021-05-27 09:51:32 -04:00
Paul Licameli
300b2a1739 Duplicate Types.h into Identifier.h, diff should be empty 2021-05-27 09:51:32 -04:00
Paul Licameli
564235f9c9 GUIPrefs::SetLang wraps new Languages::SetLang ...
... the former uses Prefs, wxApp, and AudacityMessageBox, the latter has no
dependency on them.

Also move some other functions from GUIPrefs into namespace Languages.
2021-05-27 09:51:32 -04:00
Paul Licameli
91e4eeadb8 Remove GUIPrefs::InitLang...
... Expand it in AudacityApp where initializing i18n services.

Just call SetLang directly in CrashReport, because the argument was not null.

Also eliminate call to SetLang in Nyquist, where really only the system language
was needed.
2021-05-27 09:51:32 -04:00
Paul Licameli
ad5f895f65 namespace for Languages, which does not depend on FileNames...
(some small code duplication of code for path lists results)
2021-05-27 09:51:32 -04:00
Dmitry Vedenko
4dc4e86863 Make lib-network-manager an opt-in library 2021-05-26 07:41:47 -07:00
Dmitry Vedenko
4e6a1a81a9 Updates the way shared libraries are hadled
1. We put all shared libraries into one place. Both conan and locally built
2. We invoke CopyLibs to copy the libraries to a proper location and to correctly set the RPATH
Fixes CopyLibs script on Windows


Fixes CopyLibs.cmake for Linux

Fixes CopyLibs on macOS


Fixes CopyLibs on macOS
2021-05-26 12:46:45 +03:00
Dmitry Vedenko
77cc7bed6f Adds lib-network-manager 2021-05-26 12:46:45 +03:00
Paul Licameli
9f59879765 Add a header file to hold strings between string and feature freeze 2021-05-25 10:13:18 -04:00
Paul Licameli
5a61428d4d Don't stop recovering projects in case one of them fails...
... This matters now that ProjectManager::OpenProject really can return null.
2021-05-24 20:04:58 -04:00
Paul Licameli
4209c8150a Bug2764: Open Project... in Scriptables shouldn't corrupt project...
... Now new project windows are opened when .aup3 files are opened; but
behavior chages only in that case.

Wherever opening of other files invoked import code, we still do or do
not make a new project in exactly the same cases as before; such as, when
opening multiple files with File > Open, be sure each imported file still opens
in its own separate window.

This means the decision whether to open a new project must be lowered into
ProjectFileManager, where the type of the file is discovered, and we pass it a
function object so it avoids a dependency cycle with ProjectManager.

It also means the checking for errors and closing of new projects in case of
failure must be replicated at all places where ProjectFileManager::OpenProject
is called directly.

The class ProjectManager::ProjectChooser simplifies this.

Recently introduced calls to SafeToOpenProjectInto(), before
ProjectManager::OpenProject(), are now lowered into that class, delaying the
safety check so it might also be called where ProjectFileManager is used
directly.
2021-05-24 20:04:58 -04:00
Paul Licameli
a1650771b1 New argument for ProjectManager::OpenProject, not yet implemented...
... It is false in exactly the cases where there is now also a check first for
the safety of opening a project file.

Those are the cases where a new project was made for imports, but this was not
necessary for safety.  Yet old behavior will be preserved in such cases.
2021-05-24 20:04:58 -04:00
Paul Licameli
97cf411dd5 Function for repeated check whether it is safe to overwrite project 2021-05-24 20:04:58 -04:00
Paul Licameli
1bed51ac80 ProjectFileManager::OpenFile returns a pointer to project 2021-05-24 20:04:57 -04:00
Paul Licameli
c96d5f12bc Comments; range-for; fix unchecked dereferences of pointer-to-pointer 2021-05-24 20:04:57 -04:00
Dmitry Vedenko
8aca9d02de Add the first Conan-based dependecies
add_conan_lib cmake function is defined, that allows to add a dependency using Conan with two possible system fallbacks:

1. pkg_check_modules is invoked, if `PGK_CONFIG ...` is present
2. find_package is invoked if `FIND_PACKAGE_OPTIONS` is present and `pkg_check_modules` has failed

If `ALWAYS_ALLOW_CONAN_FALLBACK` is present - `obey_system_dependencies` will be ignored for the package

Currently, the following dependencies are retrieved using Conan:

* zlib
* expat
* wxwidgets
* libmp3lame
* libid3tag
* libmad

The last three libraries are included in this commit, as they depend on zlib.
Properly pass **arch** and **os.version** to Conan
2021-05-24 06:53:53 -07:00
Dmitry Vedenko
576b7e66d2 Update min-macos to 10.9
Since XCode 10, Apple does not recommend building for macOS <10.9

Reason - 10.7 and 10.8 require libstdc++

We enforce libc++ 

```# Shouldn't cmake do this???
   string( APPEND CMAKE_CXX_FLAGS " -stdlib=libc++" )```

While this generally works, it makes the proper dependency management tricky.
 
Compiler message for the library support:

```
clang: warning: libstdc++ is deprecated; move to libc++ with a minimum deployment target of OS X 10.9 [-Wdeprecated]
    ld: library not found for -lstdc++
```
2021-05-24 06:53:53 -07:00
Paul Licameli
48cacdd961 More AUDACITY_DLL_API linkage specifications 2021-05-21 21:43:59 -04:00
Paul Licameli
010fe7bff2 Fix complaint from xgettext about empty string 2021-05-21 20:41:27 -04:00
James Crook
7605763fa0 Bug 2784 - Filter Curve EQ; Height increase.
Comment in closing of this bug requested an increase in height.
No reason not to, so height increased too.
2021-05-20 17:52:47 +01:00
James Crook
df91d14c9e Bug 2793 - AUP3 projects fail to compact if project's path contains a single-quote 2021-05-20 11:27:21 +01:00