Refactored MainComponent.cpp and removed Timer inheritance
In this commit, several functions in MainComponent.cpp have been reformatted for better readability, including the constructor, destructor, `paint`, `resized`, `getSharedAudioDeviceManager`, and `signalRunFinished`. No functional changes were made to these functions.
The `signalRunFinished` function has been modified to always set `runFinished` to `true`. The `checkMicrophoneAccessPermission` function has been significantly modified to run in a loop until the microphone access permission is determined, and it no longer uses a timer for this check.
The `timerCallback` function has been removed from both MainComponent.cpp and its declaration in MainComponent.h.
The `MainComponent` class in MainComponent.h no longer inherits from `Timer`. Metadata in MainComponent.cpp has also been reformatted for better readability.
Refactor audio input access permissions in MainComponent
Refactored the `MainComponent::timerCallback()` function in `MainComponent.cpp` to handle different cases of audio input access permissions more efficiently. The `eksAVAuthorizationStatusDenied` case was modified to provide a more informative message box and request a system quit. The handling of `eksAVAuthorizationStatusRestricted` and `eksAVAuthorizationStatusAuthorized` cases was simplified to stop the timer and signal the end of the run. The `eksAVAuthorizationStatusNotDetermined` and default cases were also simplified to break from the case without any additional operations.
Update alert message and method in MainComponent.cpp
In the `MainComponent::timerCallback()` function, the alert message for enabling the audio input device has been updated to refer to the `AudioAnalyzer` application instead of `guitarFineTune`. The method for displaying the alert window has been changed from `showMessageBox` to `showMessageBoxAsync` for non-blocking execution. Added `signalRunFinished(false)` at the end of the function to indicate unsuccessful access to the audio input device.
`Update project configurations and implement async mic access check`
Downgraded Visual Studio Solution File format from 12.00 to 11.00. Renamed project from "AudioAnalyzer_App" to "AudioAnalyzer - App". Removed configurations for Debug and Release builds for Any CPU, ARM, ARM64, and x86, leaving only x64. Updated Projucer version from 7.0.9 to 7.0.12.
In `MainComponent.cpp`, modified `MainComponent` constructor to inherit from `Thread` and `Timer` and updated `checkMicrophoneAccessPermission` function for asynchronous handling. In `MainComponent.h`, updated `MainComponent` class to privately inherit from `Thread` and `Timer` and added new member variables for async mic access check. Overrode `run` and `timerCallback` functions for this functionality.
Updated `getCurrentDefaultAudioDeviceName` and `getSharedAudioDeviceManager` functions to use new async method for mic access check. Updated Projucer metadata to reflect these changes.
"Unable to provide a comprehensive summary due to lack of diff format in the provided code snippet. Please provide the complete diff for a proper analysis."