Public Member Functions | |
| void | close () |
| Impl () | |
| AudioMetrics | metrics () const |
| bool | open (const AudioStreamConfig &config) |
| int | processCallback (float *output, const float *samples, unsigned int frame_count, RtAudioStreamStatus status) |
| int | processSamples (const float *samples, unsigned int frame_count) |
| double | recordingTime () const |
| void | resetMetrics () |
| std::vector< float > | spectrum () const |
| bool | startRecording () |
| AudioRecording | stopRecording () |
| ~Impl () | |
Static Public Member Functions | |
| static int | audioCallback (void *output_buffer, void *input_buffer, unsigned int frame_count, double, RtAudioStreamStatus status, void *user_data) |
Public Attributes | |
| std::atomic< float > | amplitude {0.0F} |
| std::atomic< float > | frequency {0.0F} |
| std::atomic< float > | high {0.0F} |
| unsigned int | input_channels = 0 |
| std::atomic< float > | low {0.0F} |
| float | low_pass_state = 0.0F |
| std::atomic< float > | mid {0.0F} |
| float | mid_pass_state = 0.0F |
| unsigned int | output_channels = 0 |
| bool | pass_through = false |
| float | pass_through_gain = 1.0F |
| std::atomic< float > | peak {0.0F} |
| std::atomic< std::uint64_t > | recorded_sample_count {0} |
| std::vector< float > | recorded_samples |
| std::atomic< bool > | recording {false} |
| float | recording_gain = 1.0F |
| std::mutex | recording_mutex |
| unsigned int | recording_sample_rate = 44100 |
| std::atomic< float > | rms {0.0F} |
| std::atomic< unsigned int > | sample_rate {44100} |
| std::atomic< float > | sensitivity_value {1.0F} |
| std::atomic< float > | smooth {0.0F} |
| float | smooth_value = 0.0F |
| std::atomic< int > | spectrum_front {0} |
| std::array< std::array< std::atomic< float >, AudioEngine::FFT_SIZE >, 2 > | spectrum_samples {} |
| RtAudio | stream |
Definition at line 91 of file ACMXVK/audio.cpp.
|
inline |
|
inline |
Definition at line 94 of file ACMXVK/audio.cpp.
References close().
|
inlinestatic |
Definition at line 281 of file ACMXVK/audio.cpp.
References Impl(), and processCallback().
Referenced by open().
|
inline |
Definition at line 212 of file ACMXVK/audio.cpp.
References stopRecording(), and stream.
|
inlinenodiscard |
|
inline |
Definition at line 96 of file ACMXVK/audio.cpp.
References audioCallback(), acmxvk::audio::AudioStreamConfig::channels, close(), acmxvk::input::DisplayText, input_channels, acmxvk::audio::AudioStreamConfig::input_device, output_channels, acmxvk::audio::AudioStreamConfig::output_device, pass_through, acmxvk::audio::AudioStreamConfig::pass_through, pass_through_gain, acmxvk::audio::AudioStreamConfig::pass_through_gain, recording_gain, acmxvk::audio::AudioStreamConfig::recording_gain, resetMetrics(), sample_rate, acmxvk::audio::AudioStreamConfig::sensitivity, sensitivity_value, stream, and acmxvk::input::validate_string().
|
inline |
Definition at line 283 of file ACMXVK/audio.cpp.
References input_channels, output_channels, pass_through, pass_through_gain, and processSamples().
Referenced by audioCallback().
|
inline |
Definition at line 300 of file ACMXVK/audio.cpp.
References amplitude, acmxvk::audio::AudioEngine::FFT_SIZE, frequency, high, input_channels, low, low_pass_state, mid, mid_pass_state, peak, recorded_sample_count, recorded_samples, recording, recording_gain, recording_mutex, rms, sample_rate, smooth, smooth_value, spectrum_front, and spectrum_samples.
Referenced by processCallback().
|
inlinenodiscard |
Definition at line 393 of file ACMXVK/audio.cpp.
References recorded_sample_count, and recording_sample_rate.
|
inline |
Definition at line 261 of file ACMXVK/audio.cpp.
References amplitude, frequency, high, low, low_pass_state, mid, mid_pass_state, peak, rms, smooth, smooth_value, spectrum_front, and spectrum_samples.
Referenced by open().
|
inlinenodiscard |
Definition at line 241 of file ACMXVK/audio.cpp.
References acmxvk::audio::AudioEngine::FFT_SIZE, acmxvk::audio::AudioEngine::spectrum_bin_count(), spectrum_front, and spectrum_samples.
|
inline |
Definition at line 377 of file ACMXVK/audio.cpp.
References recorded_sample_count, recorded_samples, recording, recording_gain, recording_mutex, recording_sample_rate, sample_rate, and stream.
|
inlinenodiscard |
Definition at line 398 of file ACMXVK/audio.cpp.
References acmxvk::audio::AudioRecording::duration_seconds(), acmxvk::audio::AudioRecording::empty(), recorded_samples, recording, recording_mutex, recording_sample_rate, acmxvk::audio::AudioRecording::sample_rate, and acmxvk::audio::AudioRecording::samples.
Referenced by close().
| std::atomic<float> acmxvk::audio::AudioEngine::Impl::amplitude {0.0F} |
Definition at line 413 of file ACMXVK/audio.cpp.
Referenced by metrics(), processSamples(), and resetMetrics().
| std::atomic<float> acmxvk::audio::AudioEngine::Impl::frequency {0.0F} |
Definition at line 414 of file ACMXVK/audio.cpp.
Referenced by metrics(), processSamples(), and resetMetrics().
| std::atomic<float> acmxvk::audio::AudioEngine::Impl::high {0.0F} |
Definition at line 420 of file ACMXVK/audio.cpp.
Referenced by metrics(), processSamples(), and resetMetrics().
| unsigned int acmxvk::audio::AudioEngine::Impl::input_channels = 0 |
Definition at line 430 of file ACMXVK/audio.cpp.
Referenced by open(), processCallback(), and processSamples().
| std::atomic<float> acmxvk::audio::AudioEngine::Impl::low {0.0F} |
Definition at line 418 of file ACMXVK/audio.cpp.
Referenced by metrics(), processSamples(), and resetMetrics().
| float acmxvk::audio::AudioEngine::Impl::low_pass_state = 0.0F |
Definition at line 436 of file ACMXVK/audio.cpp.
Referenced by processSamples(), and resetMetrics().
| std::atomic<float> acmxvk::audio::AudioEngine::Impl::mid {0.0F} |
Definition at line 419 of file ACMXVK/audio.cpp.
Referenced by metrics(), processSamples(), and resetMetrics().
| float acmxvk::audio::AudioEngine::Impl::mid_pass_state = 0.0F |
Definition at line 437 of file ACMXVK/audio.cpp.
Referenced by processSamples(), and resetMetrics().
| unsigned int acmxvk::audio::AudioEngine::Impl::output_channels = 0 |
Definition at line 431 of file ACMXVK/audio.cpp.
Referenced by open(), and processCallback().
| bool acmxvk::audio::AudioEngine::Impl::pass_through = false |
Definition at line 432 of file ACMXVK/audio.cpp.
Referenced by open(), and processCallback().
| float acmxvk::audio::AudioEngine::Impl::pass_through_gain = 1.0F |
Definition at line 433 of file ACMXVK/audio.cpp.
Referenced by open(), and processCallback().
| std::atomic<float> acmxvk::audio::AudioEngine::Impl::peak {0.0F} |
Definition at line 415 of file ACMXVK/audio.cpp.
Referenced by metrics(), processSamples(), and resetMetrics().
| std::atomic<std::uint64_t> acmxvk::audio::AudioEngine::Impl::recorded_sample_count {0} |
Definition at line 424 of file ACMXVK/audio.cpp.
Referenced by processSamples(), recordingTime(), and startRecording().
| std::vector<float> acmxvk::audio::AudioEngine::Impl::recorded_samples |
Definition at line 428 of file ACMXVK/audio.cpp.
Referenced by processSamples(), startRecording(), and stopRecording().
| std::atomic<bool> acmxvk::audio::AudioEngine::Impl::recording {false} |
Definition at line 423 of file ACMXVK/audio.cpp.
Referenced by processSamples(), startRecording(), and stopRecording().
| float acmxvk::audio::AudioEngine::Impl::recording_gain = 1.0F |
Definition at line 434 of file ACMXVK/audio.cpp.
Referenced by open(), processSamples(), and startRecording().
| std::mutex acmxvk::audio::AudioEngine::Impl::recording_mutex |
Definition at line 427 of file ACMXVK/audio.cpp.
Referenced by processSamples(), startRecording(), and stopRecording().
| unsigned int acmxvk::audio::AudioEngine::Impl::recording_sample_rate = 44100 |
Definition at line 429 of file ACMXVK/audio.cpp.
Referenced by recordingTime(), startRecording(), and stopRecording().
| std::atomic<float> acmxvk::audio::AudioEngine::Impl::rms {0.0F} |
Definition at line 416 of file ACMXVK/audio.cpp.
Referenced by metrics(), processSamples(), and resetMetrics().
| std::atomic<unsigned int> acmxvk::audio::AudioEngine::Impl::sample_rate {44100} |
Definition at line 422 of file ACMXVK/audio.cpp.
Referenced by open(), processSamples(), and startRecording().
| std::atomic<float> acmxvk::audio::AudioEngine::Impl::sensitivity_value {1.0F} |
Definition at line 421 of file ACMXVK/audio.cpp.
Referenced by open().
| std::atomic<float> acmxvk::audio::AudioEngine::Impl::smooth {0.0F} |
Definition at line 417 of file ACMXVK/audio.cpp.
Referenced by metrics(), processSamples(), and resetMetrics().
| float acmxvk::audio::AudioEngine::Impl::smooth_value = 0.0F |
Definition at line 435 of file ACMXVK/audio.cpp.
Referenced by processSamples(), and resetMetrics().
| std::atomic<int> acmxvk::audio::AudioEngine::Impl::spectrum_front {0} |
Definition at line 426 of file ACMXVK/audio.cpp.
Referenced by processSamples(), resetMetrics(), and spectrum().
| std::array<std::array<std::atomic<float>, AudioEngine::FFT_SIZE>, 2> acmxvk::audio::AudioEngine::Impl::spectrum_samples {} |
Definition at line 425 of file ACMXVK/audio.cpp.
Referenced by processSamples(), resetMetrics(), and spectrum().
| RtAudio acmxvk::audio::AudioEngine::Impl::stream |
Definition at line 412 of file ACMXVK/audio.cpp.
Referenced by close(), Impl(), open(), and startRecording().