Commit Graph

96 Commits

Author SHA1 Message Date
Paul Licameli da33daf197 Some replacements of wxArrayString with auto 2019-03-10 14:47:12 -04:00
Paul Licameli c68e336247 More use of std:: style members of wxString...
... replacing:

Length => length
Len => length
2019-03-10 14:44:54 -04:00
Paul Licameli 2db49dc1f0 Use standard library style members of wxArrayString (and wxString) ...
... which will make it easier to change the types of those containers to
std::vectors of other string-like classes

for wxString,

IsEmpty => empty
Clear => clear
Alloc => reserve

for wxArrayString,

Count => size
GetCount => size
IsEmpty => empty
Add => push_back
Clear => clear
Empty => clear
Sort => std::sort (only with default comparator)
SetCount => resize
Last => back
Item => operator []
Alloc => reserve
2019-03-10 14:43:57 -04:00
Paul Licameli fb8b5029e5 Select and Clip Menus 2018-10-24 12:16:33 -04:00
Paul Licameli ce9f2e2538 Include Menus.h directly, only where needed, not via Project.h 2018-10-16 16:45:26 -04:00
Paul Licameli fc6570646d MenuCommandHandler is not a base class of MenuManager...
... This forces a better placement of state variables in the appropriate
classes.

In future perhaps, MenuManager should be splintered into several classes, one
for each of the main toolbar menus.
2018-10-16 13:01:22 +01:00
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