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

738 Commits

Author SHA1 Message Date
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
d226aaa8ee Add a space 2018-03-01 21:41:15 -05:00
James Crook
f01fed2ba2 Remove unwanted items from 'Select Command' in chains.
- Remove menu-version of effects.  They are already there because of EffectsManager.
-- This gets rid of all the entries with long paths in them.
- Mark more menu items as prompting, using '...', and so not suitable for chains.
2018-03-01 19:55:33 +00:00
James Crook
e8da2f82a5 Wording.
- Changes, mostly to capitalization, per https://wiki.audacityteam.org/wiki/Wording
- Removed some dead comments.
- Added a very few i18n-hints
- Per consensus, removed ':' in some strings read by screen readers.
2018-02-26 14:39:30 +00:00
Steve Daulton
19014f22b7 Prompt for track selection when required 2018-02-25 15:22:45 +00:00
James Crook
0ad533a740 Automation -> Scripting. 2018-02-24 14:20:30 -05:00
James Crook
08b1db6145 Rearrange automation menu, and fix duplicated items. 2018-02-24 14:20:30 -05:00
James Crook
4724c6a131 Fix spectral preferences extra caching issue. 2018-02-24 14:20:29 -05:00
James Crook
e3ef968d57 Add DragCommand. Default Y/N on optional fields. Open/Save project items.
- More Y/N in Optional, making it easier to omit parameters.
- AT removed from Envelope, since T already gives it.
2018-02-24 14:20:29 -05:00
James Crook
bcf0865c1a UnmuteAllTracks, not UnMuteAllTracks. 2018-02-24 14:20:28 -05:00
James Crook
f7fe295651 Make Message command into an AudacityCommand. 2018-02-24 14:20:27 -05:00
James Crook
edf90d6e2c Add envelope commands
- Added SetEnvelope (which can also delete/clear an envelope.)
- Added GetInfo: Type=Envelope
2018-02-24 14:20:27 -05:00
James Crook
5d36890cb0 Shorter command names. General tidying.
-More commands now have shorter names for parameters.
-New scripts for generating images.
-Several old-style commands retired.
2018-02-24 14:20:26 -05:00
James Crook
99e18a8896 Implement ReloadPreferences for SetPreferences Command. 2018-02-24 14:20:25 -05:00
James Crook
1d9477a455 SetClip, SetLabel, SetProject added
- SetTrack also updated with more options.
2018-02-24 14:20:24 -05:00
James Crook
ca5dac59ff Support: JSON, Lispy or Other formats 2018-02-24 14:20:23 -05:00
James Crook
e29699086e More Menus Items, Better prompting Dialogs. 2018-02-24 14:20:23 -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
bab8ea8393 Thanks for nothing, MSVC std::list<T>::iterator implementation...
... I worked around the unhelpful helps that made gratuitous runtime errors,
in debug builds but not in release.
2018-02-23 14:58:12 -05:00
Paul Licameli
d77daa027e OnShowEffectsRack follows the unused argument convention 2018-02-22 00:17:30 -05:00
Paul Licameli
44bf938948 indentation 2018-02-21 21:43:04 -05:00
Paul Licameli
575070e9ae Remove PluginDescriptor::GetTranslatedEffectFamily...
... and instead look it up by ID, and find the effect's family name

Simplifying what was done at 4628d6afa7a553a242f00ee8c1be0e72c5692052
2018-02-21 21:43:02 -05:00
Paul Licameli
79a9f3f599 Simplify sorting of effects 2018-02-21 21:43:02 -05:00
Paul Licameli
3b32d39b54 Remove wxArrays of pointers 2018-02-21 19:33:32 -05:00
Paul Licameli
8be1e8fdad Remove wxArray(Int|Long|Double) except where wxWidgets fns need it 2018-02-21 19:33:31 -05:00
Paul Licameli
fa0fb7d8e5 Disable Undo and Redo while there are pending changes in TrackList...
... But perhaps we are developing the means to relax even this ban safely.

For instance, why not undo a mistaken AddLabelPlaying command (Ctrl+M) without
stopping the recording?
2018-02-21 19:20:57 -05:00
Paul Licameli
9dd5b521ea Make the experimental effects rack window compilable and usable...
... though there remain crash bugs to figure out, turning it on and off
during play.
2018-02-21 19:20:54 -05:00
Paul Licameli
57ce726a25 Rename Meter as MeterPanel, and some DOxygen 2018-02-21 17:50:28 -05:00
Paul Licameli
ee4f35f288 Rename Lyrics as LyricsPanel, and some DOxygen 2018-02-21 17:32:08 -05:00
Paul Licameli
e57afb3729 Fix many unused argument warnings in Menus.cpp 2018-02-21 15:18:38 -05:00
Steve Daulton
2890e4db27 Allow new empty project to be saved 2018-01-22 11:52:14 +00:00
Paul Licameli
f78a418df8 An alpha-only toggle command for extra dropout detection; default off 2018-01-17 20:35:56 -05:00
Paul Licameli
54553b82b7 Fix things that confused xgettext 2018-01-16 21:45:10 -05:00
Steve Daulton
1fe857cff1 Whitespace corrections 2018-01-16 02:04:42 +00:00
Paul Licameli
9777d3e880 Alert user to drop-outs during recording...
1) When the program detects this, insert zeroes into the recording to keep the
other good parts synchronized.

2) When recording stops, a message box alerts the user, and a label track is
added showing the lost parts, labelled with consecutive numbers.

3) A menu item visible in alpha builds only is added to Tools, to simulate
recording errors at random times and test the reporting feature.
2018-01-15 14:48:39 -05:00
Paul Licameli
4ef8da8f16 Revert "Preliminaries to support better interaction of undo and recording"
This reverts commit 6e75ae58ac56d9c94af5a4ce97951f627808473a, reversing
changes made to 714d53e00f803643131bb775858ac930b39dd5b8.
2018-01-14 21:36:33 -05:00
Paul Licameli
4ccb695c61 Disable Undo and Redo while there are pending changes in TrackList...
... But perhaps we are developing the means to relax even this ban safely.

For instance, why not undo a mistaken AddLabelPlaying command (Ctrl+M) without
stopping the recording?
2018-01-14 19:03:59 -05:00
Paul Licameli
0265b8792d More stl idiom for TrackList and its iterators 2018-01-14 16:58:19 -05:00
Paul Licameli
a30defe8ca Redo "Provide STL idiom for iterating tracks..." ...
... Being careful not to use operator == on a default-constructed
std::list::iterator, which violates assertions in the MSVC libraries.

This reverts commit 7fb5ec4b7ab4f9302bd94446db86924cd2b8d67f.
2018-01-14 14:25:02 -05:00
James Crook
7fb5ec4b7a Revert "Provide STL idiom for iterating tracks..."
Unsafe on MSVC 2013.
2018-01-14 14:24:21 +00:00
Paul Licameli
f9dab3679c Provide STL idiom for iterating tracks...
... and require qualified name access to use the underlying std::list iterators
that return shared_ptr to Track.

Which should not be done very much outside of class TrackList, but a few
places need it.
2018-01-13 19:37:05 -05:00
James Crook
34531b62fc Shift+Z for Zoom Toggle. Theme tweaks.
Dank and HiContrast themes now with improved Zoom Toggle icon.
Microphone and Speaker icon bolder, not greyed out, on Dark theme.
2018-01-11 19:24:26 +00:00
James Crook
5da84b74ae Zooming Tweaks (for repair work) and Wording changes.
Repair work involves lots of zooming in and out, to use the repair effect on up to 128 samples.
Ctrl Mouse-Wheel zooming now will zoom to ends of selection, if available, or mouse position otherwise.
Zoom-Toggle hyphen removed and Preset2 changed.
Button tooltips tweaked to match menu entries.
2018-01-10 12:00:27 +00:00
James Crook
21192a7e7b ZoomToggle - Changes from user feedback.
- Enable ZoomToggle Button by default.
- Set less extreme defaults.
- Repurpose 'Z' shortcut (from Zero Crossings)
2018-01-08 12:51:16 +00:00
James Crook
0cc9c6bc3b Zoom Toggle
Added preferences for Zoom-Toggle and put into menus.
New helper functions for determining zoom scaling.

Optional EXPERIMENTAL_ZOOM_TOGGLE_BUTTON added, and Light theme updated.
Not enabled for 2.2.2.
2018-01-07 17:14:33 +00:00
Paul Licameli
cafbff9ff8 Separate plugin accessors for translated and unstranslated strings...
... because I want to make a type distinction later.

Replace calls to GetXXX() without argument, with GetTranslatedXXX() --
this reveals a subtle error, see next commit.
2018-01-05 18:30:35 -05:00
Paul Licameli
e19a4fa943 Timer record exits Audacity more gracefully...
... the direct call to exit(0) caused SIGABRT for me during shutdown on Mac.
2018-01-05 16:20:31 -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
77c392d29c AudacityProject::OnEffect wraps new function DoEffect 2018-01-05 09:27:28 -05:00
Paul Licameli
6dead232f2 Pair CommandHandlerFinder with functor everywhere, but not used yet 2018-01-05 09:27:25 -05:00