1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-08-16 08:34:10 +02:00

91 Commits

Author SHA1 Message Date
andheh
6a85577389 fixed a signed vs. unsigned warning in LadspaEffect.cpp 2018-03-06 21:29:56 +00:00
James Crook
8cd5d7f4fe Tools menu and EffectTypeTool
- Also add a 'Nyquist Prompt' to the Tools Menu.
- Currently it is the same as the Effects Nyquist Prompt.
- Chains moved into the Tools prompt.
2018-03-03 12:57:32 +00:00
James Crook
0ad533a740 Automation -> Scripting. 2018-02-24 14:20:30 -05:00
James Crook
1c988b4e3a Automation: AudacityCommand
This is a squash of 50 commits.

This merges the capabilities of BatchCommands and Effects using a new
AudacityCommand class.  AudacityCommand provides one function to specify the
parameters, and then we leverage that one function in automation, whether by chains,
mod-script-pipe or (future) Nyquist.

- Now have AudacityCommand which is using the same mechanism as Effect
- Has configurable parameters
- Has data-entry GUI (built using shuttle GUI)
- Registers with PluginManager.
- Menu commands now provided in chains, and to python batch.
   - Tested with Zoom Toggle.

- ShuttleParams now can set, get, set defaults, validate and specify
the parameters.
- Bugfix: Don't overwrite values with defaults first time out.
- Add DefineParams function for all built-in effects.
- Extend CommandContext to carry output channels for results.

We abuse EffectsManager.  It handles both Effects and
AudacityCommands now.  In time an Effect should become a special case of
AudacityCommand and we'll split and rename the EffectManager class.

- Don't use 'default' as a parameter name.
- Massive renaming for CommandDefinitionInterface
- EffectIdentInterface becomes EffectDefinitionInterface
- EffectAutomationParameters becomes CommandAutomationParameters
- PluginType is now a bit field.

This way we can search for related types at the same time.

- Most old batch commands made into AudacityCommands.
The ones that weren't are for a reason.  They are used by mod-script-pipe
to carry commands and responses across from a non-GUI thread to the GUI
thread.

- Major tidy up of ScreenshotCommand
- Reworking of SelectCommand
- GetPreferenceCommand and SetPreferenceCommand
- GetTrackInfo and SetTrackInfo
- GetInfoCommand
- Help, Open, Save, Import and Export commands.
- Removed obsolete commands ExecMenu, GetProjectInfo and SetProjectInfo
  which are now better handled by other commands.

- JSONify "GetInfo: Commands" output, i.e. commas in the right places.

- General work on better Doxygen.
    - Lyrics -> LyricsPanel
    - Meter -> MeterPanel
- Updated Linux makefile.
- Scripting commands added into Extra menu.
- Distinct names for previously duplicated find-clipping parameters.
- Fixed longstanding error with erroneous status field number which
  previously caused an ASSERT in debug.
- Sensible formatting of numbers in Chains, 0.1 not 0.1000000000137
2018-02-24 14:20:22 -05:00
Paul Licameli
097764d94c Distinguish Effect Family Id from Effect Family Name...
... and the distinction makes a difference only for built-in effects.

"Id" is meant to persist in pluginregistry.cfg, and is constrained by how
previous versions of Audacity were written.

"Name" is not persistent, so we have the liberty to change it, as done here
for the built-ins.
2018-02-21 21:43:01 -05:00
Paul Licameli
3b32d39b54 Remove wxArrays of pointers 2018-02-21 19:33:32 -05:00
Paul Licameli
6e7d7447c1 Use an enum class for numeric validator styles 2018-02-21 19:21:08 -05:00
Paul Licameli
5724780be9 NumericTextControl ctor arguments...
... follow wxWidgets conventions for first two arguments; add Options
2018-02-21 19:21:02 -05:00
Paul Licameli
8a074770e8 IdentInterface::GetDescription() returns a translated string...
... See commit 3b90538b84411f6b08e10682406984e5f499fd74 which removed the
only use of the untranslated strings.

Also follows better i18n guidelines for composing the VSTEffect description.
2018-01-07 21:16:26 -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
Paul Licameli
3c9cdac778 Drag-and-drop checks file extensions first for plug-in candidates...
... Avoids big delays in drag-and-drop importation caused by
765ca0c8136134a1d65bfad0ea39682a83d3d984
2018-01-01 10:29:26 -05:00
Paul Licameli
2e8a73bab1 Fix Windows build 2017-12-31 20:04:35 -05:00
Paul Licameli
8cfb8d2400 Change ModuleInterface for support of drag-and-drop of plug-in files 2017-12-31 18:09:36 -05:00
Paul Licameli
0c97918bb9 Ladspa, VST: As before eb3bc7e: keep registering even if some errors 2017-12-31 16:18:53 -05:00
Paul Licameli
eb3bc7e642 Minimal error messages for failing to load non-Nyquist effects 2017-12-27 15:19:43 -05:00
Paul Licameli
0f8bd45a7c ModuleInterface::RegisterPlugin can report an error message 2017-12-27 15:19:36 -05:00
James Crook
f463eda36c Clean up some dead code and MSVC warnings.
- Dead code from experiments in SelectionBar removed.
- Many warnings about unused parameters fixed with WXUNUSED()
- Many warnings about signed / unsigned comparisons cleaned up.
- Several 'local variable declared but not used' warnings fixed.
2017-12-08 15:20:39 +00:00
Paul Licameli
0cab2e92ba Fix some comments 2017-09-10 10:00:52 -04:00
Paul Licameli
1fad6292a2 Exception safety in: overrides of ShowInterface 2017-03-21 14:11:24 -04:00
Paul Licameli
cb05476c45 Remove naked new[] in: effects plug-ins 2017-03-17 17:52:48 -04:00
James Crook
e4260e9581 Bug 1587 - Mac: Ghost duplicate Nyquist effects after upgrade
Fix removes ghost Nyquist effects from the effects menu and generators from generate menu.
2017-02-05 20:27:56 +00:00
Paul Licameli
5d5edecca5 Remove unnecessary semicolons 2016-09-18 10:36:53 -04:00
Paul Licameli
ad04187a41 Change sampleCount arguments, variables, return values to size_t...
... whenever they really describe the size of a buffer that fits in memory, or
of a block file (which is never now more than a megabyte and so could be fit in
memory all at once), or a part thereof.
2016-09-15 21:03:17 -04:00
Paul Licameli
78be459fa1 Convert sampleCount <-> floating or -> long long explicitly ...
... A non-narrowing conversion out to long long is a necessity, but the
conversions to float and double are simply conveniences.

Conversion from floating is explicit, to avoid unintended consequences with
arithmetic operators, when later sampleCount ceases to be an alias for an
integral type.

Some conversions are not made explicit, where I expect to change the type of
the variable later to have mere size_t width.
2016-09-15 21:02:31 -04:00
James Crook
65c7e8051a ThomasFeher - Unused parameters clean up. 2016-09-11 20:31:49 +01: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
2be2e73e66 LadspaEffect::mSampleRate has type double, like other plug-in effects 2016-08-22 21:45:54 -04:00
Paul Licameli
56586770e0 EffectClientInterface::SetSampleRate takes double...
... All the overrides (except Ladspa) were casting it to floating poing anyway
2016-08-21 09:51:32 -04:00
James Crook
b1526fbdc8 Change strings for clarity/consistency.
Changes suggested by (translator) scootergrisen
2016-08-19 19:30:21 +01:00
Paul Licameli
84c0337aba Fix TAB key navigation on Mac for all dialogs (not only for panels) 2016-07-10 17:12:27 -04:00
Paul Licameli
2d7e21536e Sweep for filename copying: prefs and effects 2016-04-10 22:25:49 -04:00
Paul Licameli
e0476b5e71 Module interfaces managed by smart pointers 2016-04-06 16:06:30 -04:00
Paul Licameli
a9afad17ca Plugin instances managed without naked new and delete 2016-04-06 16:06:27 -04:00
Paul Licameli
f0cbda835e Bug1257: Crash when enabling VST effect Amplio2...
... Suspected a threading bug in the library itself, which Audacity can
compensate with a short delay:  see code comments.

The other part of the complaint in 1257 -- that the play button would crash --
was a separate problem, fixed previously for bug 1242.
2016-04-05 15:09:07 -04:00
Paul Licameli
60bcd7aea2 Fix warnings for unused variables and functions 2016-02-26 14:56:26 -05:00
Paul Licameli
990080ae7d Replace virtual with override wherever possible; eliminate needless virtual...
... for functions in final classes.

override is like const -- it's not necessary, but it helps the compiler to
catch mistakes.

There may be some overriding functions not explicitly declared virtual and I did
not identify such cases, in which I might also add override.
2016-02-26 12:35:38 -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
1c07741d57 Sizers are owned by wxWindow objects when added, so use safenew, or...
... use unique_ptr in the interim between building them and adding.

This checks eliminates some naked news, which were not paired with deletes.
2016-02-18 18:58:38 -05:00
Paul Licameli
4d78e353c3 Revert "sizers"
This reverts commit 84c0a0b6663a1210be502a76ab9c48dd330b3919.
2016-02-18 14:50:52 -05:00
Paul Licameli
84c0a0b666 sizers 2016-02-18 02:54:50 -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
Paul Licameli
3f237daddc Use macro safenew for many allocations of wxWindow subclasses 2016-02-14 20:20:19 -05:00
Paul Licameli
7c4c45a0d5 "new"->"NEW" in comments, easier to find remaining naked operator new 2016-02-14 18:52:41 -05:00
spider-mario
40cc5d67b6 Do not multiply the latency of LADSPA effects by two. 2015-06-27 22:19:54 +02:00
Leland Lucius
1b369be614 Fix (hopefully final) for bug #1010. 2015-06-12 23:10:23 -05:00
Leland Lucius
b000568d49 Fix for bug #1023 2015-06-10 21:59:02 -05:00
Leland Lucius
7d359ef010 Fix bug #923 and allow for varying decimal sepatators in settings 2015-06-02 15:06:52 -05:00
Leland Lucius
0ef7ccb1d1 Fix permissions...not sure why this was happening though 2015-05-29 19:49:28 -05:00
Leland Lucius
0d62be7776 Use a common method for the duration format in generators 2015-05-27 08:42:15 -05:00