1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-06-20 06:10:06 +02:00

383 Commits

Author SHA1 Message Date
Steve Daulton
8eef6dc3ef Fix bug 1938
Nyquist / Adagio variable 'S' should have the value 0.25 in all but
legacy process and analyze effects.
2018-08-13 16:45:21 +01:00
Steve Daulton
0d9cd4b024 Fix bug 1937
';type tool' effects cannot return audio from Nyquist.
2018-08-13 14:28:33 +01:00
James Crook
3480f5aa3a Bug 1934 - Generate audio from Nyquist prompt crash
We now default to Effect (EffectTypeProcess), if no type was specified.
2018-08-13 12:29:31 +01:00
James Crook
1192914460 Fix duplication of Nyquist Prompt.
Now just one Nyquist Prompt, and it's in the tools menu.
2018-08-03 16:11:44 +01:00
James Crook
ecd09a19de Preserve selection on exit from Nyquist prompt.
This is required, because AUD-DO could change the selection.
2018-08-02 16:51:23 +01:00
Paul Licameli
06eee27b9a Rewrite commit 1bc0f0f without further changes to lib-src...
... Reuse the external function registration added earlier in 2.3.0
development, for support of internationalization in Nyquist.

This way, we avoid making cyclic static linkage dependencies between the
library and the application.
2018-08-01 23:11:30 -04:00
James Crook
c21855bbca Change ";type tool" to not iterate through tracks or selection.
Also adds the options
;type tool
;type tool process
;type tool generator
;type tool analyze

These tools will appear in the Tools menu, but behave as their second argument (if any)
2018-08-01 20:32:30 +01:00
James Crook
b975956812 Add re-entrancy checks to Nyquist
These changes below are paving the way for aud-do:

Nyquist Effect now detects self reentrancy and skips reentry if so.
Nyquist Effect now detects if another effect has run during effect processing, and does not send Nyquist
output if so.

Neither of these preparatory changes have an effect in absence of AUD-DO (or other function
that allows Nyquist effect to call out to Audacity functions).
2018-08-01 20:31:03 +01:00
James Crook
848b66f4fa Make title of Nyquist Prompt dialog change appropriately.
Previously it was being overwritten each Init() by the string suitable for the Nyquist Effects Prompt.
2018-07-14 17:38:57 +01:00
James Crook
2739020342 Bug 1902 - "Nyquist Prompt" confusingly shown only as "Nyquist" when "Grouped by Type" is active
Now shown as "Nyquist Effects Prompt" (in Effects menu) and "Nyquist Tools Prompt" (in Tools Menu).
These prompts will have slightly different behaviour, e.g. only tools allow aud-do.
2018-07-14 16:51:49 +01:00
Steve Daulton
a06e561cb7 Support version strings in Nyquist plug-ins
For shipped plug-ins, the version number is the same as the Audacity
release version when the plug-in was last modified.
2018-07-02 22:41:59 +01:00
Steve Daulton
5cdf642133 Fix Travis build 2018-06-18 22:14:38 +01:00
Steve Daulton
5e219a031d Fix Factory Preset for Nyquist file browser
Expand platform independent keyword paths before
writing to pluginsettings.cfg.
2018-06-18 21:32:22 +01:00
Steve Daulton
c8c93319ec File browser widget for Nyquist plug-ins 2018-06-14 21:27:48 +01:00
Paul Licameli
c20aefc10f Save, later rethrow exceptions caught in callbacks from C libraries 2018-05-10 01:20:36 -04:00
Steve Daulton
504cf0fe85 Runtime translation for 3rd party Nyquist plug-ins
3rd party plug-ins may provide their own translations for runtime
messages (return strings and debug messages).
2018-05-06 17:50:43 +01:00
Steve Daulton
4733cd7775 Update enum name to match control type name 2018-04-28 20:04:12 +01:00
Steve Daulton
16ff3b4053 Nyquist text widget must not fail verification 2018-04-28 19:58:23 +01:00
Steve Daulton
cf07f858ec NumericTextCtrl for time input in Nyquist plug-ins
Also add widget for inserting a line of text into a Nyquist plug-in.
2018-04-28 19:18:32 +01:00
Steve Daulton
7bc32734ae Clear TODO: comments for Nyquist docs 2018-04-19 22:21:42 +01:00
Paul Licameli
b200819f75 Use IdentInterfaceSymbol to identify commands and effects 2018-04-11 11:51:10 -04:00
Paul Licameli
0394660e9e Use IdentInterfaceSymbol for vendor strings, which are used in paths 2018-04-11 11:13:41 -04:00
Paul Licameli
d9606e8cdf Make effect family names translatable and add i18n-hint comments 2018-04-11 11:13:41 -04:00
Paul Licameli
2c19e8f81e Use IdentInterfaceSymbol to identify effect families 2018-04-11 11:13:40 -04:00
David Bailes
526606fc29 Fix more accessibility names after the move to wx 3.1.1
This is a follow up to commit f9ee3cd.
2018-04-10 13:43:50 +01:00
Paul Licameli
6f52df545e Multi-line Nyquist header directives allow embedded comments 2018-03-27 15:54:47 -04:00
Paul Licameli
7f30636ecb .ny header can distinguish internal vs visible choice strings...
... Syntax is like:

( "InternalString" (_ "Visible String") )

But none of the shipped .ny headers need this yet.
2018-03-27 07:51:45 -04:00
Paul Licameli
d464878d65 Use std::vector<>::data() not address of first element 2018-03-27 07:51:44 -04:00
Paul Licameli
2065eebff6 IdentInterfaceSymbol to distinguish internal vs visible enum settings 2018-03-27 07:51:44 -04:00
Paul Licameli
81dd580c57 Pass array and count separately to read/write/define enum 2018-03-27 07:51:43 -04:00
James Crook
a4a588610e Revert "Bug 893 - Spectral Selection Toolbar misnamed"
This reverts commit eaada3a51d1cea89e737eb73f607a089e07816a2.
2018-03-26 20:18:37 +01:00
James Crook
eaada3a51d Bug 893 - Spectral Selection Toolbar misnamed 2018-03-25 21:41:56 +01:00
James Crook
e48bd77ea2 Fix bad unquoting in Nyquist. 2018-03-25 21:41:56 +01:00
Paul Licameli
37541de6be Bug1858: Allow empty default choice on $ control lines (again) 2018-03-24 16:20:13 -04:00
Paul Licameli
d978abba35 Allow \n to mean newline in .ny header control string...
... preserving old behavior, but such escapes should not be used if the string
needs to localize because xgettext will not treat them as Nyquist.cpp does.
2018-03-24 15:14:45 -04:00
Paul Licameli
1cda717a14 Fix parse of line break in string inside list in header of .ny file 2018-03-23 21:28:01 -04:00
Paul Licameli
01a45a6b36 Strip ... from Nyquist effect names again (but none shipped have it) 2018-03-15 13:44:51 -04:00
Paul Licameli
bc773e02d3 Supply some missing translation in Macros dialogs...
... The "Set" prompt for checkboxes;

Strings in Choice controls, which had been declared translatable with XO, but
the translations not yet used.

This can be tested in Ukrainian locale now, for editing parameters of
commands like Select or Drag, but be aware that even uk.po is not up to date
for all recent changes in the Manage Macros dialog itself.
2018-03-07 15:06:55 -05:00
Paul Licameli
08a8cc4bcf Strings in Nyquist plug-ins not translated too early...
... So that if you change language in-session, they will update.
2018-03-06 01:21:50 -05:00
Paul Licameli
f6efacbda3 Untranslated from GetVendor; translated in effect info menu only 2018-03-06 01:14:54 -05: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
Paul Licameli
da39cc451f Remove redundant ellipses from names in .ny files...
... The code that parses the header was always just throwing them out.

The code that populates menus deduces whether to add ellipses, as there are
controls or not, regardless what the $name line said.
2018-03-02 20:11:54 -05:00
Paul Licameli
ff3a869e83 Line breaks allowed in strings (or lists) in $ lines; \n means n ...
... because we must match how xgettext parses strings, and unlike XLisp, it
does it strictly according to this reference:

http://www.lispworks.com/documentation/lw70/CLHS/Body/02_de.htm
2018-03-02 20:11:47 -05:00
Paul Licameli
ad4843621b Allow Nyquist header lines to start with $ 2018-03-02 19:46:58 -05:00
Paul Licameli
ba8e6bd465 Change tokenization of header comment lines & translate strings ...
... allowing (_ "...") for single strings, and allowing a sequence of such
inside outer ( ) for choice controls, but still accepting the old syntax too
2018-03-02 19:46:58 -05:00
Paul Licameli
0879949904 Register translation functions for Nyquist effects into XLisp runtime 2018-03-02 19:46:57 -05:00
Paul Licameli
f10b9c68ec wxString in Nyquist prompt makes trip to UTF8 and back properly...
... Simple test:  In Nyquist prompt enter

(progn "Ü")

Using Alt+U, U.

Formerly it came back mis-encoded.
2018-02-27 01:35:01 -05:00
James Crook
33daaafc59 Make Nyquist effects define their parameters. 2018-02-24 14:20:30 -05: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