1
0
mirror of https://github.com/cookiengineer/audacity synced 2026-03-07 06:55:52 +01:00
Commit Graph

413 Commits

Author SHA1 Message Date
Paul Licameli
7e50e9b5af New library for preferences...
... It mentions some wxWidgets types in its interface, but these are in the
acceptable utility subset of wxBase that we still consider GUI toolkit-neutral.
2021-07-22 14:50:26 -04:00
Paul Licameli
d20cf01255 Facade class for basic UI, injection of a wxWidgets implementation...
... but none of the methods is defined yet.

The intention is to inject dependencies on wxWidgets (or other) toolkit so that
lower-level files have less build dependency on wxCore classes or on the
event loop.
2021-07-18 20:37:07 -04:00
Paul Licameli
34d5057db4 Sequence of AudioIO and NetworkManager shutdowns fixes crash at exit 2021-07-15 17:13:39 +03:00
Paul Licameli
870fc5d626 Opt-out of check for updates persists after preference resets...
... These can happen in only two ways, using the application: from the Tools
menu, or using the Windows intaller program.

A review of all uses of wxFileConfig::DeleteAll() proves this.

The one special BoolSetting object was moved from UpdateManager to Prefs.cpp to
avoid a dependency cycle among source code files.
2021-06-29 16:36:03 -04:00
gera
d15d88af71 Add recommends from review. 2021-06-18 09:46:40 -04:00
gera
c7a24df915 Add recommends from review. 2021-06-18 09:46:40 -04:00
gera
0ab6aefe11 Merge with master and resolve CI configure script conflict. 2021-06-18 09:46:40 -04:00
Vitaly Sverchinsky
e8b186a9b4 Crashreporting 2021-06-15 22:44:07 +03: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
Dmitry Vedenko
4dc4e86863 Make lib-network-manager an opt-in library 2021-05-26 07:41:47 -07:00
Dmitry Vedenko
77cc7bed6f Adds lib-network-manager 2021-05-26 12:46:45 +03: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
c96d5f12bc Comments; range-for; fix unchecked dereferences of pointer-to-pointer 2021-05-24 20:04:57 -04:00
Paul Licameli
906bd94826 Linux build doesn't need environment variable to find the modules 2021-05-18 20:51:55 -04:00
Paul Licameli
a4c3840861 Initialize ModuleManager before PluginManager...
... So that the plugin providers might themselves become modules, and so that
putting built-in commands and effects into modules will work
2021-05-16 07:03:12 -04:00
Paul Licameli
e85ddf4a6d Remove track panel hijack hooks from ModuleManager...
... It ended up not used, and long ago superseded by other TrackPanel
reorganization.

Such things as that (and many more) will be implemented with different
idioms (registries in various higher level code) without requiring changes in
this low level protocol for loading modules.
2021-05-16 07:03:12 -04:00
Paul Licameli
e52115630a Remove argument of ModuleManager::Initialize() unused since a6d0b3f 2021-05-16 07:03:11 -04:00
Dennis Braun
8bb55b8bbf Fix CVE-2020-11867 2021-05-10 20:53:33 +03:00
Paul Licameli
c5ebc396eb Audacity.h has shrunk to nothing, now remove it! 2021-05-10 00:05:23 -05:00
Leland Lucius
25089ff3ee Modules should go into <prefix>/<libdir>/audacity/modules on Linux 2021-05-06 00:47:27 -05:00
Paul Licameli
5e21f526b4 Replace inappropriate assertion with only a log message 2021-05-01 12:10:57 -04:00
Paul Licameli
e653b4aaf8 Eliminate Experimental.h, configure compile options instead...
... This makes it impossible to forget to include the EXPERIMENTAL definitions
(such as when cutting and pasting code) and so get unintended quiet changes of
behavior.

The EXPERIMENTAL flags are now specified instead in new file Experimental.cmake
2021-04-27 12:40:07 -04:00
Paul Licameli
c781a108e3 Move compile-time testing of crash report support out of Experimental.h 2021-04-27 12:40:06 -04:00
Leland Lucius
e22af714af Bug 2736 - Recent files list can be replaced by ExportCL commands 2021-04-08 20:11:42 -05:00
Leland Lucius
19df017d1f Save the log file during exit
This will save the current log to the Audacity config directory and
a name of "lastlog.txt".  This is for diagnosing errors that may
occur during Audacity exit.
2021-04-03 14:09:52 -05:00
Leland Lucius
e80ec51a32 Bug 2709 - Mac: Missing sub-menu check marks in French 2021-04-02 03:37:23 -05:00
Leland Lucius
e178f63aec Bug 2097 - Mac: File list ignored at the command line 2021-02-12 02:03:34 -06:00
Leland Lucius
e0096f7fc7 Fix Build 2021-02-11 17:08:54 -06:00
Leland Lucius
63c826ebed Bug 1986 - Linux: Unwanted messages in console. 2021-02-11 15:36:17 -06:00
Leland Lucius
4f7affad3f Bug 2135 - Audacity crashes if launched with a locked pluginregistry.cfg file 2021-02-01 18:05:16 -06:00
Paul Licameli
c853450ce0 Hide two-phase construction of AudacityFileConfig in factory function 2021-01-31 11:22:48 -05:00
Paul Licameli
2c5c0f9dfd Class AudacityPrefs renamed, moved, reused in PluginManager...
... And construction of the main instance is hoisted into AudacityApp
2021-01-31 11:11:03 -05:00
Leland Lucius
21296b0cf1 New wrapper for wxFileConfig to fix several bugs
Bug 2135 - Audacity crashes if launched with a locked pluginregistry.cfg file
Bug 2651 - If pluginregistry.cfg gets locked while Audacity is active the Plug-in Manager is blocked - with no help
Bug 2650 - Virgin launch fails with no pluginregistry.cfg file created
Bug 1264 - Writing to locked audacity.cfg not reported to user
Bug 2649 - Launching Audacity with a locked audacity.cfg file gives not one but three error messages - and no help
Bug 2652 - User is not warned if they launch Audacity with a locked pluginsettings.cfg file
2021-01-31 04:24:35 -06:00
Paul Licameli
43574553fc Break dependency cycle introduced at 50f3321...
... This only cuts and pastes some functions from FileNames to another new file
and namespace, and changes namespace qualifiers where they are called.

The cycle resulted because of the need to include widgets/ErrorDialog.h
2021-01-16 13:28:37 -05:00
freddii
534359de6c Fix minor typos (#720)
Co-authored-by: freddii <https://freddii@github.com>
2021-01-12 11:56:09 +00:00
freddii
2593a84d56 Fix some spelling mistakes. 2021-01-12 09:55:31 +00:00
Leland Lucius
c961d6236b Bug 2626 - Mac: Temporary files directory on exFAT makes Audacity fail at launch 2021-01-11 00:56:30 -06:00
Paul Licameli
57134d93d6 Bug2437: Call finishLaunching() before sleeping 2020-12-09 17:34:57 -05:00
Paul Licameli
64b066f655 Bug2437: possible further help...
... The 100ms sleep added at at a675b5907f was
meant to let NS framework events arrive on another thread and be detected by
wxWidgets.  But there are still reports that it is not reliable enough.

This other fix may be sufficient alone, making the sleep unnecessary.  But it
is harmless so we will leave it there.
2020-12-09 15:28:09 -05:00
Paul Licameli
a675b5907f bug2437 complete fix: Sleep 100 ms at startup...
... The reported continuing failure to fix bug 2437 -- sometimes -- appears to
have been a timing problem.  I could observe it often with release builds but
not with debug.
2020-12-03 23:46:43 -05:00
Paul Licameli
e343bf556b Bug2437: Finder "Open with", Audacity already running, should work 2020-12-01 21:44:46 -05:00
Paul Licameli
2cce830601 Split AudacityApp::OnInit() into two parts 2020-12-01 21:23:19 -05:00
Paul Licameli
596032c42f Lift call to CreateSingleInstanceChecker out of InitTempDir 2020-12-01 21:17:12 -05:00
Paul Licameli
8cb6749741 Bug2592: should clean old temp directory at exit after prefs change 2020-11-22 15:43:24 -05:00
Paul Licameli
caa312ab7b Remove some unneeded #includes and forward declarations 2020-11-20 13:47:47 -05:00
Leland Lucius
e2d6e1cc24 AUP3: Update default/lastused path handling 2020-07-27 14:11:50 -05:00
Paul Licameli
061208c5cf Remove obsolete mentions of DirManager in comments 2020-07-20 19:03:40 -04:00