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

114 Commits

Author SHA1 Message Date
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
Paul Licameli
0c8890cda1 Bug 1793: Applying chain to files should zoom-to-fit 2017-12-30 14:15:17 -05:00
Paul Licameli
af447a87c3 Remove another use of cwd for default opening paths 2017-08-03 08:05:21 -04:00
James Crook
f38caa55ba Add strings that were not translated.
- A heading in the Edit Chains Dialog.
- Menu Items and submenus.
2017-07-22 11:33:09 +01:00
Paul Licameli
87e75176c5 Guarded calls in batch processing 2017-03-17 17:53:00 -04:00
Paul Licameli
14c23803ac Various uses of make_unique 2016-08-10 11:05:52 -04: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
73ced7b93f Remove UndoManager.h from other headers 2016-02-24 19:10:34 -05:00
Paul Licameli
8e995d66d0 Avoid extra indirection in FormatList 2016-02-19 10:59:51 -05:00
Paul Licameli
dbaa811577 Stack-allocate where possible! ...
... Removed many unnecessary naked news and deletes.
2016-02-17 18:15:57 -05:00
Paul Licameli
3f237daddc Use macro safenew for many allocations of wxWindow subclasses 2016-02-14 20:20:19 -05:00
Paul Licameli
c7eca2c657 Bug1299 again: Better fix, to restore window focus after applying a chain. 2016-01-27 14:58:51 -05:00
James Crook
96d2e66db5 Bug 1221 (Mac)
Re-instated conditional code that apparently worked previously on Mac.  Untested on Mac.  Could 1221 possibly be cleared now?
2015-10-10 15:41:59 +01:00
James Crook
6d95e68dad BatchProcessDialog Close command working again.
Sending a wxCloseEvent doesn't close a Modal dialog (unless we hide it first).
2015-10-10 15:27:35 +01:00
James Crook
aee4a33d6b Bug 1221 - Chain asserts (Linux) or causes switch away from Audacity (Windows) on completion.
New fix.  It appears to be a bug in wx3.  Hiding a Modal window (under linux) can stop it being modal.  So rather than EndModal() we send an event to close the window which works whether wxWidgets thinks the window is modal or not.  Additionally we set the focus back to the parent window, becuase of a side bug under windows, and we new the status dialog rather than allocate it on the stack, because the status dialog is NOT run with ShowModal() which is the only time we can safely use an on stack dialog.
2015-10-09 23:53:49 +01:00
James Crook
38551d8e49 Start of fix for Bug #1221 2015-10-09 23:28:53 +01:00
Leland Lucius
6b9541933d Fix for bug #1221 2015-10-08 14:06:24 -07:00
Leland Lucius
44c9a7b864 Must delete window disabler before the ending the dialog 2015-07-24 00:02:19 -05:00
Paul Licameli
e70f91c64e Removed ShuttleGui.h from other headers 2015-07-19 12:31:03 -04:00
Cory Cook
f634e44e3a Removed redundant operation. 2015-05-26 12:05:31 -07:00
Leland Lucius
63a2ceb6b5 Merge pull request #47 from lovecooks/master
Fix remnant effects on batch command for multiple files
2015-05-25 10:59:23 -05:00
Cory Cook
0f54fc31f2 Fix remnant effect on batch process
UndoManager::ClearStates was not removing effect tracks generated during
batch processing.
2015-05-19 13:20:24 -07:00
Cory Cook
c391ebc12d Revert "Fix remnant effects on batch command for multiple files."
This reverts commit dbac9b7cd7b4f56efcbcd1670466e575f01f51cb.
2015-05-19 13:17:42 -07:00
Cory Cook
dbac9b7cd7 Fix remnant effects on batch command for multiple files. 2015-05-19 13:16:49 -07:00
David Bailes
f458df1c7b Changes to a number of dialogs so that the NVDA screen reader can read the titles. Missed these in my last patch. The accessibility name of the dialog is set to the title. 2015-05-18 13:57:05 +01:00
David Bailes
3000594d2f Improving accessibility of dialog for entering the name of a new chain. Jaws does not read the text in the dialog by default, and the accessibility names of the controls in the dialog cannot be set, so the best that can be done is to have a meaningful title for the dialog, and set the accessibility name of the dialog so that nvda can read it. 2015-05-12 09:29:55 +01:00
lllucius
1eeb4d979a The fabled realtime effects...
I've made it where you can enable and disable via experimentals:

EXPERIMENTAL_REALTIME_EFFECTS
EXPERIMENTAL_EFFECTS_RACK

You will notice that, as of now, the only effects currently set up for
realtime are VSTs.  Now that this is in, I will start converting the
rest.

As I start to convert the effects, the astute of you may notice that
they no longer directly access tracks or any "internal" Audacity
objects.  This isolates the effects from changes in Audacity and makes
it much easier to add new ones.

Anyway, all 3 platforms can now display VST effects in graphical mode.
Yes, that means Linux too.  There are quite a few VSTs for Linux if
you search for them.

The so-called "rack" definitely needs some discussion, work, and attention
from someone much better at graphics than me.  I'm not really sure it should
stay in as-is.  I'd originally planned for it to be simply a utility window
where you can store your (preconfigured) favorite effects.  It should probably
revert back to that idea.

You may notice that this DOES include the API work I did.  The realtime effects
were too tied to it and I didn't want to redo the whole thing.  As I mentioned
elsewhere, the API stuff may or may not be very future proof.

So, let the critter complaints commence.  I absolute KNOW there will be some.
(I know I'll be hearing from the Linux peeps pretty darn quickly.  ;-))
2014-10-26 03:24:10 +00:00