1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-10-26 23:33:49 +01:00
Commit Graph

140 Commits

Author SHA1 Message Date
Paul Licameli
9481587fa8 Move menu handling functions out of class AudacityProject 2018-09-29 12:10:27 -04:00
James Crook
2758491a4a Bug 1966 - Manage Macros: Import and Export buttons are always inactive. 2018-09-03 22:58:57 +01:00
James Crook
0ea4ff1395 Add internationalization hints. 2018-08-28 16:35:06 +01:00
David Bailes
4bf28412db Manage Macros dialog: a couple of focus issues
1. For both the macros list and the steps list, when focus first moves to the list, an item is selected but not the focus.
2. After editing a step, focus is not returned to that step in the list.

Fix for 1: in the calls of SetItemState(), include the wxLIST_STATE_FOCUSED flag.

Fix for 2: The fix for 1 fixed 2. Not sure why.
2018-08-10 16:43:27 +01:00
James Crook
9d396e3315 Bug 1925 - Applying <macroname> to current project window: visual noise, and accessibility.
For accessibility, not showing the activity window is better.
2018-08-10 12:23:30 +01:00
James Crook
9357c90b43 Bug 1859 - Macros on files - Save Project causes overwrites. thus loses data
AudacityProject::Save() is now batch mode sensitive, and if in batch mode (and not overwriting) will save without prompting.
The loop for applying macros to multiple files now also clears down the project, using the new function ResetProjectToEmpty().
2018-08-05 21:34:24 +01:00
David Bailes
d554ea53d2 Fix Travis build
Which I broke with my last commit.
2018-07-30 11:58:16 +01:00
David Bailes
f123624806 Macro dialog: minor accessibility fixes
1. Set accessibility names for the buttons for applying a macro to the project or files. Note that although these names are not read by NVDA 2018.2, they will be read by NVDA 2018.3

2. Remove access keys from wxStaticText controls, as they do not work on this type of control.
2018-07-30 11:34:00 +01:00
James Crook
40085b384f Fix crash on second invocation of Macros after apply to projects.
This was caused by reuse (misuse) of mList variable for a new list.
It was still needed for future use of the dialog.
2018-03-23 09:30:25 +00:00
James Crook
63879f2fc4 Don't hide macros GUI when applying. 2018-03-19 17:38:18 +00:00
Steve Daulton
e661c7da49 Fix assert on deletion of last macro item 2018-03-19 14:42:06 +00:00
James Crook
110d4ac478 Change "Apply Macros" -> "Macros Palette" 2018-03-17 19:17:55 +00:00
James Crook
20d577de27 Preserve location in lists after edits. 2018-03-17 19:17:54 +00:00
James Crook
51011fb38f Keep Edit Macros dialog open after applying. 2018-03-17 19:17:53 +00:00
James Crook
2d62013fac Add Macros Palette to Apply Macro -> submenu, 2018-03-16 18:38:06 +00:00
Paul Licameli
d258385e3a Use TranslatedInternalString in MacroCommandsCatalog 2018-03-15 19:53:38 -04:00
James Crook
5cc1dbc872 Bring Macros dialog to front after various actions 2018-03-14 16:57:33 +00:00
James Crook
b1862d2b11 Rearrange Macros buttons
- Allows Macro dialogs to be smaller.
- Order is more logical.
- Layout is neater (better aligned).
- Height stays stable on Expand/Shrink.
2018-03-14 16:37:15 +00:00
Paul Licameli
77f720b0c8 Show friendly names of commands in message boxes...
... With spaces in the English; maybe later they will localize
2018-03-07 23:55:19 -05:00
Paul Licameli
4cb2ec6fa0 Fix missing i18n of some new prompts 2018-03-07 17:11:36 -05:00
Paul Licameli
ffadd64a56 Define MacroCommandsCatalog to associate friendly and internal names...
... friendly names are still English only.  Not yet localized, but ought to be.
2018-03-06 18:47:56 -05:00
andheh
896e7a4dd5 fixed a "signed vs. unsigned" warning in BatchProcessDialog.cpp 2018-03-06 21:30:39 +00:00
James Crook
4617b0b1a8 Change wording: Now "Manage Plug-ins" and "Manage Macros" for those two dialogs. 2018-03-05 20:10:01 +00:00
James Crook
4c5e1f30fd Keep focus on Expand/Shrink button when resizing Macro Dialog. 2018-03-05 15:13:42 +00:00
James Crook
6b44a53de9 Move Macro Dialog buttons around.
Based on feedback from quality list.
2018-03-05 15:00:11 +00:00
James Crook
834c9df32a Save Changes when Expanding/Shrinking Macro Dialog.
Previously the selected macro was forgotten, as were any pending
changes.
2018-03-04 19:16:30 +00:00
James Crook
70b1f69bbe Use names not numbers in MacroIdOfName()
Previously the ID for a macro was, e.g. Macro003.  However this would
not work if macros were added or deleted, since chains containing the old
macro references would now refer to a different macro.  So changed to using
names.
2018-03-04 19:11:26 +00:00
James Crook
4dfac323c0 Make Macro Dialog optically stable.
Expand and Shrink now happen 'in place'.
Title changes to and from 'Apply Macro' <-> 'Edit Macros'
2018-03-04 18:41:16 +00:00
James Crook
6f8d27208f Remove Apply-Macro from Tools menu.
Done by giving Macros... dialog an Expand / Shrink button
so that we can use it as just an apply-to-projects dialog, if we want.
The dialog is modal, and can be kept open whilst we work.  So for example
we could put useful presets into it as macros.
2018-03-03 22:20:25 +00:00
James Crook
c0dcba66dd Rename Chains to Macros.
Lots of renaming.
Did not rename the containing files (yet) since that will require makefile updates.
2018-03-03 19:17:18 +00:00
James Crook
8ab69ae5c3 Update tools menu on Mac too.
This entailed making the Edit Chains and Apply Chain dialogs modeless.
That is good for other reasons too.
2018-03-03 19:16:50 +00:00
James Crook
f41e781c61 Fix bug where 'Applying chain to project' progress dialog might not show.
- Windows needs to wxYield, to give the dialog time to show after being created.
2018-03-03 12:57:39 +00:00
James Crook
6b54ffdf0f Update tools menu on changing available chains.
- We recreate the whole menu bar.
2018-03-03 12:57:36 +00:00
James Crook
e6a2d0f99a Add all chains into the Tools menu. 2018-03-03 12:57:35 +00:00
James Crook
fb8b797d63 Layout changes
- Progress bar now less likely to obscure a small window that invokes it.
- Check boxes grouped together in TrackPrefs
2018-03-03 12:53:41 +00:00
James Crook
6b3041118f Add Help buttons to three Dialogs.
- Added to Edit and Apply Chains dialogs.
- Added to Select Command dialog.
2018-03-03 10:15:09 +00:00
James Crook
3f358a39b6 Remove results window from BatchProcessDialog
- It isn't needed as the results go to the Long Message Dialog window.
2018-03-02 18:19:23 +00:00
James Crook
6509947de8 Fix some MSVC warnings. 2018-03-02 12:04:37 +00:00
James Crook
59d41a2064 Refine buttons (Chains)
- Move them around on EditChainsDialog so that dialog can be shrunk.  (new column).
- Use "Files..." not "Files" as the button text.
- Take 'Apply Chain to:' out of the BatchProcessingDialog buttons, and place as separate text.
2018-03-01 21:57:44 +00:00
James Crook
bf03fd874b Add details box to BatchCommandDialog
It is now populated with the CommandID and the command type.
Later we can add the command help string.

Std::pair changed to std::tuple to accommodate the extra information.
2018-03-01 19:55:34 +00:00
James Crook
f5929381ec Add buttons to Edit Chains Dialog
- Added the Apply-to-Project and Apply-To-Files buttons
- Derived EditChainsDialog from BatchProcessDialog so as to share code.
- Added Edit button, for people who don't realise they can click on the list.
- Clicking on list now directly invokes the parameter editing.
- Insert and Edit now insert before --END-- if nothing was selected.
2018-03-01 19:55:33 +00: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
0319d6ea68 Friendlier command names in the Edit Chains dialogs...
... Both the pane that lists the steps of the chain, and the selection dialog
for adding a new step.

NOT translating command names yet, though.
2018-01-10 09:09:05 -05:00
Paul Licameli
ab6de1181d No more functor objects; all command handler functions take same args 2018-01-05 09:27:29 -05:00
Paul Licameli
80a958f8a4 Rewrite empty prompts to ShuttleGUI functions as {} ...
... so we might more easily redefine the type of the function argument,
some other day (not this release)
2018-01-01 22:51:25 -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
384300016d Define FileDialogWrapper, with localized default prompt and name 2018-01-01 17:50:04 -05:00
Paul Licameli
e8b875ff81 Define AudacityMessageDialog wrapper around wxMessageDialog...
... Prohibiting use of the default caption which is unlocalized.  (But we
didn't use it in fact anywhere.)
2018-01-01 17:50:03 -05:00
Paul Licameli
af290d73c0 Define AudacityTextEntryDialog wrapper around wxTextEntryDialog...
... Prohibiting use of the default caption which is unlocalized.  (But we
didn't use it in fact anywhere.)
2018-01-01 17:50:03 -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