1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-06-28 06:08:40 +02:00

71 Commits

Author SHA1 Message Date
Paul Licameli
5168d62e3d TranslatableString for captions of text entry boxes 2019-12-23 18:53:00 -05:00
Paul Licameli
b404eb7800 TranslatableString for static text box captions 2019-12-23 18:52:37 -05:00
Paul Licameli
1944ac2040 TranslatableString for labels of ShuttleGui buttons 2019-12-23 15:35:48 -05:00
Paul Licameli
1b726f4f09 More TranslatableString in dialog wrapper classes...
... All of the dialog names, and the messages for File and directory dialog
wrappers
2019-12-20 13:40:20 -05:00
James Crook
5a3e9cd063 Fix dialog naming
For nicer Doxygen results, we need consistency in naming of classes.
Dialag classes are now called SomethingDialog.
2019-12-06 10:39:07 +00:00
Paul Licameli
b256a4fd1a Less code directly inside ShuttleGui code blocks...
... Trying to reduce that just to chained calls on S, or conditional and looping
logic for variations in layout.

Lift some declarations to higher scope; or use expressions that avoid local
variables; or even use lambdas for more complicated computation of arguments
for the member functions of S.
2019-11-29 15:16:51 -05:00
James Crook
26a0ffc0ae Bug 2122 - Screenshot tool: no way to exit using the keyboard 2019-07-16 13:24:38 +01:00
Paul Licameli
e2362bc25a Move project status string management to new attached object class 2019-07-02 21:01:34 -04:00
Paul Licameli
66e32ca35d Move Y position, height, and minimized state into TrackView...
... and eliminate some unnecessary calls to SubstitutePendingChangedTrack,
because the track and the substitute store Y and height in their shared
TrackView object.

Also make GetMinimizedHeight() virtual to avoid inclusion of TrackPanel.h in
TrackView.cpp.
2019-06-18 16:01:06 -04:00
Paul Licameli
4f940c855d New files for ProjectWindow 2019-06-03 01:43:26 -04:00
Paul Licameli
82663892dc Accessors to get the project window...
... as a preparation for splitting up class AudacityProject.

Use ProjectWindow as an alias for AudacityProject, and fetch it from the
project with a static member function, where certain of its services are used;
pretending they are not the same class.

Use global accessor functions to get wxFrame from the project where only
wxFrame's member functions are needed, so there will be less dependency on
ProjectWindow when it becomes a distinct class.
2019-05-28 23:18:13 -04:00
Paul Licameli
15dd230ee1 static ToolManager::Get()...
... not member functions of AudacityProject
2019-05-23 15:24:28 -04:00
Paul Licameli
b5a57682b6 static ViewInfo::Get() and ZoomInfo::Get()...
... not member functions of AudacityProject
2019-05-23 12:58:47 -04:00
Paul Licameli
14ab93a01f static TrackList::Get()...
... not member function of AudacityProject
2019-05-23 12:58:47 -04:00
Paul Licameli
9eb9104859 Remove CommandContext::GetProject() ...
... which called ::GetActiveProject(), but one purpose of the CommandContext
class was to eliminate many uses of that global function, because a
CommandContext must always be constructed from a reference to a project
(which was always in fact the active one), then passed around to where it is
needed!

Also, just use the project member directly -- because CommandContext was
intended as just a P.O.D (plain-old-data) structure.

This also eliminates a dependency of CommandContext.cpp on Project.cpp.

This is not enough by itself to break any dependency cycles.
2019-05-18 20:31:17 -04:00
Paul Licameli
6c57948d8f Remove unnecessary #include-s from .cpp files...
... Unnecessary because transitively included.

But each .cpp file still includes its own .h file near the top to ensure
that it compiles indenendently, even if it is reincluded transitively later.
2019-05-16 17:21:00 -04:00
Paul Licameli
544d9aa580 Don't use AudacityApp where you only need wxApp...
... I want to have fewer inclusions of AudacityApp.h.  More work on removing
them will happen in the next version.
2019-04-26 11:54:28 -04:00
Paul Licameli
0b160faecc Fix more cases of controls in static boxes that don't use ShuttleGui...
... as in commit f7644c7
2019-03-28 11:59:14 -04:00
Paul Licameli
bcc2e0d13b Remove wx/frame.h, wx/sizer.h, wx/access.h from headers 2019-03-28 11:21:15 -04:00
Paul Licameli
7766d9a192 AddCheckBox takes a bool for initial state, not string 2019-03-27 12:58:40 -04:00
Paul Licameli
50074f2cfe Replace comparisons against "" with empty() 2019-03-14 13:23:41 -04:00
Paul Licameli
4aa990e835 Remove GetLink(ed) in various other places 2018-10-01 13:42:33 -04:00
Paul Licameli
968d63d5fd Rewrite many iterations over tracks and channels in various places 2018-10-01 13:35:51 -04:00
James Crook
7f96f85676 Add some Right-To-Left language workarounds.
MixerBoard, LyricsWindow, Screenshot and most effects are now LTR in RTL locales.
Also added a pref so this can be overridden.  As RTL affects window creation, the language choice and this preference may only fully take effect after a restart of Audacity.
2018-08-10 18:39:33 +01:00
James Crook
66e203cdca Transcription Toolbar -> Play-at-Speed Toolbar 2018-07-22 18:21:38 +01:00
Paul Licameli
aaecf213b8 use const 2018-03-26 18:04:36 -04:00
James Crook
a4a588610e Revert "Bug 893 - Spectral Selection Toolbar misnamed"
This reverts commit eaada3a51d1cea89e737eb73f607a089e07816a2.
2018-03-26 20:18:37 +01:00
Paul Licameli
277537c7b8 Store choices as numerical codes in ScreenshotCommand, not strings...
... there was confusion whether they were meant to be a translated strings or
not
2018-03-26 14:45:22 -04:00
James Crook
eaada3a51d Bug 893 - Spectral Selection Toolbar misnamed 2018-03-25 21:41:56 +01:00
James Crook
104c3b6a5a Add scriptables to screenshot, remove menus.
- Also made automation and the extra screenshot buttons non-experimental.
2018-02-27 22:26:30 +00:00
James Crook
f7fe295651 Make Message command into an AudacityCommand. 2018-02-24 14:20:27 -05:00
James Crook
b1b1a362ed Doxygen, Clips and Labels
- Classes renamed and better doxygenated
- GetInfo: Type=Clips added
- GetInfo: Type=Labels added.
2018-02-24 14:20:24 -05:00
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
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
cfa62d1d30 Fix a missed translation 2018-01-02 20:14:12 -05:00
Paul Licameli
cf4b9eb5c8 Define wxDirDialogWrapper, with localized default prompt and name 2018-01-01 17:50:04 -05:00
James Crook
e23acb39eb Bug 1679 - Screenshot Tools 5 second delay non-functional 2017-08-14 18:53:44 +01:00
Paul Licameli
eb7260320a Reviewed uses of release(); rewrote questionable ones in one file...
... Use of Destroy_ptr that was correct for 2.1.3 was no longer so after
rewrites of Screenshot tool window management, which caused crashes that were
worked-around with release(); but just use a bare pointer now.
2017-08-07 17:01:17 -04:00
James Crook
a5df25f762 Bug 1672 - Residual
Now clear the pointer to the screenshot window, if it is closed by some other route.
2017-07-03 21:55:56 +01:00
James Crook
51c5c73b3b Bug 1672 - OS window close button crashes Audacity if Screenshot Tools are open. File > Close hides Screenshot tools and then any closure method crashes Audacity. 2017-07-03 19:48:33 +01:00
James Crook
6cea9822c3 Bug 383 - Residual: Don't reset toolbars on a resize either. 2017-06-25 11:22:42 +01:00
James Crook
88cafa7a89 Bug 383 - Screenshot Tools doesn't checkmark re-opened Toolbars bars in View Menu
The underlying problem was related to resetting the toolbars when Screenshot tools were opened.  That's now no longer done.
2017-06-22 16:41:22 +01:00
James Crook
198dbc4c2a Support screenshots of toolbar variants.
Slightly tidied up the code too.
2017-06-10 21:33:05 +01:00
James Crook
8f66c3603d Screen capture preference panels too. 2017-06-07 15:59:25 +01:00
James Crook
acd55e95db Capture screenshots of effects.
Only available if you define EXPERIMENTAL_DOCS_AUTOMATION.
This code is still a bit ropey and not suited for prime time, but fine for our own (careful) use in preparing the manual.

It captures most of the effects, generator and analyze built ins and nyquist dialogs.  Use it by creating a track, making a selection and then clicking the 'All Effects' button in the screenshot tools.  The dialogs will be captured to your user directory.
2017-06-03 15:59:51 +01:00
James Crook
18cec363c3 Bug 1607 - 2nd Screen issue with MixerBoard and Karaoke Window
Also Screenshot tools.  No joy for log-window, as that is created before Audacity starts up and recognises it is on the second screen.
2017-05-14 17:59:45 +01:00
James Crook
c6b4e2fffe Add code to capture menus
So far, this only walks the menus, printing out their contents to debug.
2017-03-20 17:06:29 +00:00
Paul Licameli
fec4069d9d Some uses of Destroy_ptr let us remove some naked news 2016-08-10 11:05:51 -04:00
Paul Licameli
f9da767cbd Remove a friend declaration from Project, privatize a pointer member...
... and make implementation of that pointer a smart one.
2016-04-11 14:42:57 -04:00
Paul Licameli
b0c55e4386 Bug1358: On Mac, undocked toolbars and screenshot window should not vanish...
... when switching from Audacity to another application.
2016-04-11 06:44:38 -04:00