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

Add ClearLog macro command and parameters to tracing

This commit is contained in:
Leland Lucius 2020-08-11 09:06:15 -05:00
parent da75a7edde
commit 7b8a977f15
5 changed files with 54 additions and 5 deletions

View File

@ -124,6 +124,14 @@ bool AudacityLogger::SaveLog(const wxString &fileName) const
return false;
}
bool AudacityLogger::ClearLog()
{
mBuffer = wxEmptyString;
DoLogText(wxT("Log Cleared."));
return true;
}
void AudacityLogger::Show(bool show)
{
// Hide the frame if created, otherwise do nothing
@ -256,8 +264,7 @@ void AudacityLogger::OnClose(wxCommandEvent & WXUNUSED(e))
void AudacityLogger::OnClear(wxCommandEvent & WXUNUSED(e))
{
mBuffer = wxEmptyString;
DoLogText(wxT("Log Cleared."));
ClearLog();
}
void AudacityLogger::OnSave(wxCommandEvent & WXUNUSED(e))

View File

@ -34,6 +34,7 @@ class AudacityLogger final : public wxEvtHandler, public wxLog {
void Show(bool show = true);
bool SaveLog(const wxString &fileName) const;
bool ClearLog();
#if defined(EXPERIMENTAL_CRASH_REPORT)
wxString GetLog();

View File

@ -757,10 +757,11 @@ bool MacroCommands::ApplyMacro(
if (trace) {
auto after = wxTimeSpan(0, 0, 0, wxGetUTCTimeMillis());
wxLogMessage(wxT("Macro line #%ld \"%s\" took %s"),
wxLogMessage(wxT("Macro line #%ld took %s : %s:%s"),
i + 1,
(after - before).Format(wxT("%H:%M:%S.%l")),
command.GET(),
(after - before).Format(wxT("%H:%M:%S.%l")));
mParamsMacro[i]);
}
if (!success || mAbort)

View File

@ -139,7 +139,8 @@ const ComponentInterfaceSymbol SaveLogCommand::Symbol
namespace{ BuiltinCommandsModule::Registration< SaveLogCommand > reg4; }
bool SaveLogCommand::DefineParams( ShuttleParams & S ){
bool SaveLogCommand::DefineParams(ShuttleParams & S)
{
S.Define( mFileName, wxT("Filename"), "log.txt" );
return true;
}
@ -160,3 +161,24 @@ bool SaveLogCommand::Apply(const CommandContext &context)
auto logger = AudacityLogger::Get();
return logger->SaveLog(mFileName);
}
const ComponentInterfaceSymbol ClearLogCommand::Symbol
{ XO("Clear Log") };
namespace{ BuiltinCommandsModule::Registration< ClearLogCommand > reg5; }
bool ClearLogCommand::DefineParams(ShuttleParams & S)
{
return true;
}
bool ClearLogCommand::PromptUser(wxWindow *parent)
{
return true;
}
bool ClearLogCommand::Apply(const CommandContext &context)
{
auto logger = AudacityLogger::Get();
return logger->ClearLog();
}

View File

@ -102,3 +102,21 @@ public:
public:
wxString mFileName;
};
class ClearLogCommand : public AudacityCommand
{
public:
static const ComponentInterfaceSymbol Symbol;
// ComponentInterface overrides
ComponentInterfaceSymbol GetSymbol() override {return Symbol;};
TranslatableString GetDescription() override {return XO("Clears the log contents.");};
bool DefineParams( ShuttleParams & S ) override;
bool PromptUser(wxWindow *parent) override;
bool Apply(const CommandContext & context) override;
// AudacityCommand overrides
wxString ManualPage() override {return wxT("Extra_Menu:_Scriptables_II#Clear_log");};
public:
wxString mFileName;
};