1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-05-01 16:19:43 +02:00

8252 Commits

Author SHA1 Message Date
James Crook
b83b862b3f OldStyleCommandType - It's on the way out.
This renaming makes it clearer which code is still using Dan Horgan's Command system.
2018-02-24 14:20:23 -05:00
James Crook
2f6fc0a1e5 Long message target
This allows interactive display of the results of new commands that generate
lots of text.
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
Steve Daulton
b7b01d48e0 Replace 2.2.2 'Easter Egg' with place-holder 2018-02-24 16:05:41 +00: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
e094dcbaf2 Fix unbalanced #pragma warning since commit 080dd34 2018-02-22 21:01:20 -05:00
David Bailes
a1c03d0f7d Bug 1786: duplicate shortcuts can be created
Problem: When [gui/shortcuts]fulldefaults is true, then you can't clear the shortcut of a command which is only in the full set.
In bool KeyConfigPrefs::Commit(), for a command only in the full set, dkey = "", so if the key is set to "", there will be no entry in NewKeys for this.

In CommandListEntry *CommandManager::NewIdentifier, if [gui/shortcuts]fulldefaults is true, then for all commands the key is initially set to the default. For the shortcut that should have been cleared, there is no entry in NewKeys to override this, so it is in fact not cleared.

Fix: In bool KeyConfigPrefs::Commit(), when [gui/shortcuts]fulldefaults is true, use the full set of defaults to find the default key.
2018-02-22 18:36:39 +00:00
Paul Licameli
2a08a3cc07 Fix windows build...
Defaulted move constructors and assignments introduced at 080dd34 are not
essential but might give a bit more efficiency in std::vector on non-Windows.

Previous compilation fix was incorrect!  Excpliticly defined move assignments
should not have had no-effect bodies!
2018-02-22 12:32:53 -05:00
James Crook
e3f2a3e3ff
Merge pull request #254 from GitHaarek/patch-1
Updated and migrated the file to the latest appstream specs
2018-02-22 17:27:40 +00:00
James Crook
636e137ee8
Merge pull request #257 from Polynomial-C/no_midi
Fix --without-midi build
2018-02-22 17:26:56 +00:00
James Crook
2ece1acae9 Fix build
These changes needed to build on MSVC 2013.
2018-02-22 17:19:14 +00:00
Paul Licameli
e6d069787b Fix mistake in commit a1dc830 and add a comment 2018-02-22 01:10:10 -05:00
Grzegorz Pruchniakowski
47dab27df5 Update pl.po from Transifex - ready to merge
File fixes a two typos. Ready to merge.

Thanks and greetings,
Gootector
2018-02-22 00:57:30 -05:00
Paul Licameli
d77daa027e OnShowEffectsRack follows the unused argument convention 2018-02-22 00:17:30 -05:00
Steve Daulton
7134ca662f Fix typo 2018-02-21 22:46:29 -05:00
Paul Licameli
de568fc111 Avoid some needless repaints of AButton 2018-02-21 21:43:04 -05:00
Paul Licameli
44bf938948 indentation 2018-02-21 21:43:04 -05:00
Paul Licameli
5aca7b1759 Be careful about pluginsettings.cfg compatibility...
... Certain strings reported by PluginDescriptor are written into configuration
files, so these strings should NOT be carelessly changed between Audacity
versions.  And the source of some of these strings are overloads defined in
other classes in src/effects
2018-02-21 21:43:03 -05:00
Paul Licameli
942175f27b Comments which IdentInterface functions return persistent values 2018-02-21 21:43:03 -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
097764d94c Distinguish Effect Family Id from Effect Family Name...
... and the distinction makes a difference only for built-in effects.

"Id" is meant to persist in pluginregistry.cfg, and is constrained by how
previous versions of Audacity were written.

"Name" is not persistent, so we have the liberty to change it, as done here
for the built-ins.
2018-02-21 21:43:01 -05:00
Paul Licameli
d1d78fd56e Oops, reversions 2018-02-21 21:41:30 -05:00
Paul Licameli
8d886aa50a Oops, revert unready work mistakenly submitted 2018-02-21 21:34:13 -05:00
Paul Licameli
86b86a2643 remove file 2018-02-21 21:25:26 -05:00
Steve Daulton
ece3f9a492
Fix typo 2018-02-22 01:54:08 +00:00
Paul Licameli
8d69173080 foo 2018-02-21 20:30:34 -05:00
James Crook
459e824528 Dark versions of spectrograms
- Paul made a comment about tweaking spectrogram colours.
2018-02-21 20:30:34 -05:00
James Crook
931e483201 Rearrange automation menu, and fix duplicated items. 2018-02-21 20:30:33 -05:00
James Crook
cbbbabb1eb Clean up oddments script. 2018-02-21 20:30:33 -05:00
James Crook
34bf4c8176 More spectral images. 2018-02-21 20:30:04 -05:00
James Crook
fe03e3cf51 Add more spectral images 2018-02-21 20:30:04 -05:00
James Crook
a9d6be00a6 Fix spectral preferences extra caching issue. 2018-02-21 20:30:04 -05:00
James Crook
de17e6bbc5 Fix reload bug. 2018-02-21 20:30:04 -05:00
James Crook
23dd853a34 Add make html script. 2018-02-21 20:30:04 -05:00
James Crook
9bb41d6963 Arrange and Align done.
- Registration names of align commands sorted.  They had &, : and / in them.
- Fixed bug in SetTrackInfo where bFocused was being ignored
- Fixed bug where command manager ignored multi-commands.
2018-02-21 20:30:03 -05:00
James Crook
41a0b64c04 New script for arrange. 2018-02-21 20:30:03 -05:00
James Crook
ab0d853d92 More hover highlighting of buttons in oddments script. 2018-02-21 20:30:03 -05:00
James Crook
2088e44f03 Add docimages_oddments.py for the weirder cases.
This also adds an option NOT to bring Audacity to the top when screenshotting.
That's because QuickPlay will disappear if you do -because you lose mouse capture.

Also allow negative window IDs in the drag command.
2018-02-21 20:30:03 -05:00
James Crook
4412f325dd Add Clips and Boundaries Scripts. 2018-02-21 20:30:03 -05:00
James Crook
ab99b7d6c1 Add Envelope script 2018-02-21 20:30:03 -05:00
James Crook
43da4995a6 Better optionality.
- More Y/N in Optional, making it easier to omit parameters.
- AT removed from Envelope, since T already gives it.
2018-02-21 20:30:02 -05:00
James Crook
a36490a0b6 Add DragCommand. Default Y/N on optional fields. Open/Save project items. 2018-02-21 20:30:02 -05:00
James Crook
1ffccbd748 UnmuteAllTracks, not UnMuteAllTracks. 2018-02-21 20:30:02 -05:00
James Crook
7dc36eeabf Case insensitive command names. 2018-02-21 20:30:02 -05:00
James Crook
123348630a Can choose by Channel or by Track in Set commands. 2018-02-21 20:30:01 -05:00
James Crook
d7953e9ef4 Add docimages_all.py script. 2018-02-21 20:30:01 -05:00
James Crook
7cfe4ac20a Add space and dc bias to afters script. 2018-02-21 20:30:01 -05:00
James Crook
aff0e242ac Fix ToneGen automation. 2018-02-21 20:30:01 -05:00