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 99 of file ACMXVK/audio.cpp.
|
inline |
|
inline |
Definition at line 102 of file ACMXVK/audio.cpp.
References close().
|
inlinestatic |
Definition at line 339 of file ACMXVK/audio.cpp.
References Impl(), and processCallback().
Referenced by open().
|
inline |
Definition at line 262 of file ACMXVK/audio.cpp.
References stopRecording(), and stream.
|
inlinenodiscard |
|
inline |
Definition at line 104 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 348 of file ACMXVK/audio.cpp.
References input_channels, output_channels, pass_through, pass_through_gain, and processSamples().
Referenced by audioCallback().
|
inline |
Definition at line 372 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 491 of file ACMXVK/audio.cpp.
References recorded_sample_count, and recording_sample_rate.
|
inline |
Definition at line 319 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 292 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 470 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 498 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 514 of file ACMXVK/audio.cpp.
Referenced by metrics(), processSamples(), and resetMetrics().
| std::atomic<float> acmxvk::audio::AudioEngine::Impl::frequency {0.0F} |
Definition at line 515 of file ACMXVK/audio.cpp.
Referenced by metrics(), processSamples(), and resetMetrics().
| std::atomic<float> acmxvk::audio::AudioEngine::Impl::high {0.0F} |
Definition at line 521 of file ACMXVK/audio.cpp.
Referenced by metrics(), processSamples(), and resetMetrics().
| unsigned int acmxvk::audio::AudioEngine::Impl::input_channels = 0 |
Definition at line 532 of file ACMXVK/audio.cpp.
Referenced by open(), processCallback(), and processSamples().
| std::atomic<float> acmxvk::audio::AudioEngine::Impl::low {0.0F} |
Definition at line 519 of file ACMXVK/audio.cpp.
Referenced by metrics(), processSamples(), and resetMetrics().
| float acmxvk::audio::AudioEngine::Impl::low_pass_state = 0.0F |
Definition at line 538 of file ACMXVK/audio.cpp.
Referenced by processSamples(), and resetMetrics().
| std::atomic<float> acmxvk::audio::AudioEngine::Impl::mid {0.0F} |
Definition at line 520 of file ACMXVK/audio.cpp.
Referenced by metrics(), processSamples(), and resetMetrics().
| float acmxvk::audio::AudioEngine::Impl::mid_pass_state = 0.0F |
Definition at line 539 of file ACMXVK/audio.cpp.
Referenced by processSamples(), and resetMetrics().
| unsigned int acmxvk::audio::AudioEngine::Impl::output_channels = 0 |
Definition at line 533 of file ACMXVK/audio.cpp.
Referenced by open(), and processCallback().
| bool acmxvk::audio::AudioEngine::Impl::pass_through = false |
Definition at line 534 of file ACMXVK/audio.cpp.
Referenced by open(), and processCallback().
| float acmxvk::audio::AudioEngine::Impl::pass_through_gain = 1.0F |
Definition at line 535 of file ACMXVK/audio.cpp.
Referenced by open(), and processCallback().
| std::atomic<float> acmxvk::audio::AudioEngine::Impl::peak {0.0F} |
Definition at line 516 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 525 of file ACMXVK/audio.cpp.
Referenced by processSamples(), recordingTime(), and startRecording().
| std::vector<float> acmxvk::audio::AudioEngine::Impl::recorded_samples |
Definition at line 530 of file ACMXVK/audio.cpp.
Referenced by processSamples(), startRecording(), and stopRecording().
| std::atomic<bool> acmxvk::audio::AudioEngine::Impl::recording {false} |
Definition at line 524 of file ACMXVK/audio.cpp.
Referenced by processSamples(), startRecording(), and stopRecording().
| float acmxvk::audio::AudioEngine::Impl::recording_gain = 1.0F |
Definition at line 536 of file ACMXVK/audio.cpp.
Referenced by open(), processSamples(), and startRecording().
| std::mutex acmxvk::audio::AudioEngine::Impl::recording_mutex |
Definition at line 529 of file ACMXVK/audio.cpp.
Referenced by processSamples(), startRecording(), and stopRecording().
| unsigned int acmxvk::audio::AudioEngine::Impl::recording_sample_rate = 44100 |
Definition at line 531 of file ACMXVK/audio.cpp.
Referenced by recordingTime(), startRecording(), and stopRecording().
| std::atomic<float> acmxvk::audio::AudioEngine::Impl::rms {0.0F} |
Definition at line 517 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 523 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 522 of file ACMXVK/audio.cpp.
Referenced by open().
| std::atomic<float> acmxvk::audio::AudioEngine::Impl::smooth {0.0F} |
Definition at line 518 of file ACMXVK/audio.cpp.
Referenced by metrics(), processSamples(), and resetMetrics().
| float acmxvk::audio::AudioEngine::Impl::smooth_value = 0.0F |
Definition at line 537 of file ACMXVK/audio.cpp.
Referenced by processSamples(), and resetMetrics().
| std::atomic<int> acmxvk::audio::AudioEngine::Impl::spectrum_front {0} |
Definition at line 528 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 527 of file ACMXVK/audio.cpp.
Referenced by processSamples(), resetMetrics(), and spectrum().
| RtAudio acmxvk::audio::AudioEngine::Impl::stream |
Definition at line 513 of file ACMXVK/audio.cpp.
Referenced by close(), Impl(), open(), and startRecording().