| 475 | AttachedItem sAttachment3{ Indirect(AnalyzeMenu()) }; |
| 476 | |
| 477 | auto ToolsMenu() |
| 478 | { |
| 479 | static auto menu = std::shared_ptr{ |
| 480 | Menu( wxT("Tools"), XXO("T&ools"), |
| 481 | Section( "Manage", |
| 482 | Command( wxT("ManageTools"), XXO("Plugin Manager"), |
| 483 | OnManageTools, AudioIONotBusyFlag() ) |
| 484 | |
| 485 | //Separator(), |
| 486 | ), |
| 487 | |
| 488 | Section( "Other", |
| 489 | Command( wxT("ConfigReset"), XXO("Reset &Configuration"), |
| 490 | OnResetConfig, |
| 491 | AudioIONotBusyFlag() ), |
| 492 | |
| 493 | // PRL: team consensus for 2.2.0 was, we let end users have this diagnostic, |
| 494 | // as they used to in 1.3.x |
| 495 | //#ifdef IS_ALPHA |
| 496 | // TODO: What should we do here? Make benchmark a plug-in? |
| 497 | // Easy enough to do. We'd call it mod-self-test. |
| 498 | Command( wxT("Benchmark"), XXO("&Run Benchmark..."), |
| 499 | OnBenchmark, AudioIONotBusyFlag() ) |
| 500 | //#endif |
| 501 | ), |
| 502 | |
| 503 | Section( "Tools", |
| 504 | // Delayed evaluation: |
| 505 | [](AudacityProject &) { |
| 506 | auto result = Items(""); |
| 507 | MenuHelper::PopulateEffectsMenu( |
| 508 | *result, |
| 509 | EffectTypeTool, |
| 510 | AudioIONotBusyFlag(), |
| 511 | EffectsGroupBy.Read(), |
| 512 | &OnEffect); |
| 513 | return result; |
| 514 | } |
| 515 | ) |
| 516 | |
| 517 | #ifdef IS_ALPHA |
| 518 | , |
| 519 | Section( "", |
| 520 | Command( wxT("SimulateRecordingErrors"), |
| 521 | XXO("Simulate Recording Errors"), |
| 522 | OnSimulateRecordingErrors, |
| 523 | AudioIONotBusyFlag(), |
| 524 | Options{}.CheckTest( |
| 525 | [](AudacityProject&){ |
| 526 | return AudioIO::Get()->mSimulateRecordingErrors; } ) ), |
| 527 | Command( wxT("DetectUpstreamDropouts"), |
| 528 | XXO("Detect Upstream Dropouts"), |
| 529 | OnDetectUpstreamDropouts, |
| 530 | AudioIONotBusyFlag(), |
| 531 | Options{}.CheckTest( |
| 532 | [](AudacityProject&){ |
| 533 | return AudioIO::Get()->mDetectUpstreamDropouts |
| 534 | .load(std::memory_order_relaxed); } ) ) |
no test coverage detected