AudibleT 0.0.1
A real-time A/B/X audio testing tool for subjective assessment of various audio parameters, compatible for general purpose computer as well as embedded systems.
Loading...
Searching...
No Matches
JackClientAudioEngine.h
Go to the documentation of this file.
1//=======================================================================
29//=======================================================================
30
31#ifndef JACKCLIENTAUDIOENGINE_H
32#define JACKCLIENTAUDIOENGINE_H
33
34#include <memory>
35
36#include "jackaudioio.hpp"
37#include "SourceType.h"
38#include "FilterType.h"
39#include "AudioFile.h"
40#include "BaseFilter.h"
41
51public:
52
58 JackClientAudioEngine() noexcept;
59
70 int audioCallback(jack_nframes_t nframes,
71 audioBufVector inBufs,
72 audioBufVector outBufs) override;
73
79 void setVolumeLevel(int level) noexcept;
80
87 void setFilterConfig(int frequency, int gain) noexcept;
88
94 void setAudioFile(const AudioFile<float>& file);
95
101 void setIsPlayingModified(bool playingModified) noexcept;
102
108 void setAudioSource(SourceType type) noexcept;
109
115 void setActiveFilterType(FilterType filterType) noexcept;
116
117private:
118 std::unique_ptr<BaseFilter> filter;
119 int sample_rate = 44100;
120 float volume = 0.5;
121 int cut_frequency = 10000;
122 int db_gain = 12;
123 size_t samplePosition = 0;
124 AudioFile<float> audioFile;
125 bool isPlayingModified = false;
126 SourceType sourceType = SourceType::Local;
127 FilterType activeFilterType = FilterType::HighShelf;
128};
129
130#endif // JACKCLIENTAUDIOENGINE_H
131
Definition: AudioFile.h:82
An audio engine class for handling audio processing through the JACK Audio Connection Kit.
Definition: JackClientAudioEngine.h:50
void setActiveFilterType(FilterType filterType) noexcept
Set the active filter type.
Definition: JackClientAudioEngine.cpp:116
int audioCallback(jack_nframes_t nframes, audioBufVector inBufs, audioBufVector outBufs) override
The audio processing callback function.
Definition: JackClientAudioEngine.cpp:45
void setAudioFile(const AudioFile< float > &file)
Set the audio file for playback.
Definition: JackClientAudioEngine.cpp:103
void setAudioSource(SourceType type) noexcept
Set the audio source type.
Definition: JackClientAudioEngine.cpp:112
void setIsPlayingModified(bool playingModified) noexcept
Set whether the audio is being modified.
Definition: JackClientAudioEngine.cpp:108
JackClientAudioEngine() noexcept
Constructor for JackClientAudioEngine.
Definition: JackClientAudioEngine.cpp:38
void setVolumeLevel(int level) noexcept
Set the volume level.
Definition: JackClientAudioEngine.cpp:91
void setFilterConfig(int frequency, int gain) noexcept
Set the filter configuration.
Definition: JackClientAudioEngine.cpp:95
Definition: jackaudioio.hpp:38
std::vector< jack_default_audio_sample_t * > audioBufVector
A typedef so so that we don't always have to write std::vector<jack_default_audio_sample_t *>
Definition: jackaudioio.hpp:43
SourceType
Represents the source of audio input.
Definition: SourceType.h:46
FilterType
An enumeration of filter types.
Definition: FilterType.h:43