mirror of
				https://github.com/cookiengineer/audacity
				synced 2025-10-31 06:03:49 +01:00 
			
		
		
		
	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
		
	
		
			
				
	
	
		
			97 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			97 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| /**********************************************************************
 | |
| 
 | |
|   Audacity: A Digital Audio Editor
 | |
| 
 | |
|   FileDialog.h
 | |
| 
 | |
|   Leland Lucius
 | |
| 
 | |
| *******************************************************************//**
 | |
| 
 | |
| \class FileDialog
 | |
| \brief Dialog used to present platform specific "Save As" dialog with
 | |
| custom controls.
 | |
| 
 | |
| *//*******************************************************************/
 | |
| 
 | |
| #ifndef _FILEDIALOG_H_
 | |
| #define _FILEDIALOG_H_
 | |
| 
 | |
| #include <wx/defs.h>
 | |
| #include <wx/filectrl.h>
 | |
| #include <wx/filedlg.h>
 | |
| 
 | |
| #ifndef AUDACITY_DLL_API
 | |
| #define AUDACITY_DLL_API
 | |
| #endif
 | |
| 
 | |
| class AUDACITY_DLL_API FileDialogBase : public wxFileDialogBase
 | |
| {
 | |
| public:
 | |
|    FileDialogBase();
 | |
|    virtual ~FileDialogBase() {};
 | |
| 
 | |
|    // FileDialogBase
 | |
| 
 | |
|    typedef void (*UserPaneCreatorFunction)(wxWindow *parent, wxUIntPtr userdata);
 | |
| 
 | |
|    virtual bool HasUserPaneCreator() const;
 | |
|    virtual void SetUserPaneCreator(UserPaneCreatorFunction creator, wxUIntPtr userdata);
 | |
| 
 | |
| protected:
 | |
|    void CreateUserPane(wxWindow *parent);
 | |
| 
 | |
|    UserPaneCreatorFunction m_creator;
 | |
|    wxUIntPtr m_userdata;
 | |
| };
 | |
| 
 | |
| #if defined(__WXGTK__)
 | |
| #include "gtk/FileDialogPrivate.h"
 | |
| #elif defined(__WXMAC__)
 | |
| #include "mac/FileDialogPrivate.h"
 | |
| #elif defined(__WXMSW__)
 | |
| #include "win/FileDialogPrivate.h"
 | |
| #else
 | |
| #error Unknown implementation
 | |
| #endif
 | |
| 
 | |
| //
 | |
| // Copied from wx 3.0.2 and modified to support additional features
 | |
| //
 | |
| /////////////////////////////////////////////////////////////////////////////
 | |
| // Name:        wx/filedlg.h
 | |
| // Purpose:     wxFileDialog base header
 | |
| // Author:      Robert Roebling
 | |
| // Modified by: Leland Lucius
 | |
| // Created:     8/17/99
 | |
| // Copyright:   (c) Robert Roebling
 | |
| // Licence:     wxWindows licence
 | |
| /////////////////////////////////////////////////////////////////////////////
 | |
| 
 | |
| //----------------------------------------------------------------------------
 | |
| // FileDialog convenience functions
 | |
| //----------------------------------------------------------------------------
 | |
| 
 | |
| wxString
 | |
| FileSelector(const wxString& message = wxFileSelectorPromptStr,
 | |
|              const wxString& default_path = wxEmptyString,
 | |
|              const wxString& default_filename = wxEmptyString,
 | |
|              const wxString& default_extension = wxEmptyString,
 | |
|              const wxString& wildcard = wxFileSelectorDefaultWildcardStr,
 | |
|              int flags = 0,
 | |
|              wxWindow *parent = NULL,
 | |
|              int x = wxDefaultCoord, int y = wxDefaultCoord);
 | |
| 
 | |
| // An extended version of FileSelector
 | |
| wxString
 | |
| FileSelectorEx(const wxString& message = wxFileSelectorPromptStr,
 | |
|                const wxString& default_path = wxEmptyString,
 | |
|                const wxString& default_filename = wxEmptyString,
 | |
|                int *indexDefaultExtension = NULL,
 | |
|                const wxString& wildcard = wxFileSelectorDefaultWildcardStr,
 | |
|                int flags = 0,
 | |
|                wxWindow *parent = NULL,
 | |
|                int x = wxDefaultCoord, int y = wxDefaultCoord);
 | |
| 
 | |
| #endif
 |