This filter replaces the old one, and uses OpenAL Soft presets. Since there aren't that many of those, I've left off configuration for now, except to turn it on or off. Signed-off-by: Christopher Snowhill <kode54@gmail.com>
19 lines
1.1 KiB
C++
19 lines
1.1 KiB
C++
#pragma once
|
|
|
|
#include "HrtfTypes.h"
|
|
|
|
class IHrtfData {
|
|
public:
|
|
virtual ~IHrtfData() = default;
|
|
|
|
virtual void get_direction_data(angle_t elevation, angle_t azimuth, distance_t distance, uint32_t channel, DirectionData& ref_data) const = 0;
|
|
virtual void get_direction_data(angle_t elevation, angle_t azimuth, distance_t distance, DirectionData& ref_data_left, DirectionData& ref_data_right) const = 0;
|
|
// Get only once IR sample at given direction. The delay returned is the delay of IR's beginning, not the sample's!
|
|
virtual void sample_direction(angle_t elevation, angle_t azimuth, distance_t distance, uint32_t sample, uint32_t channel, float& value, float& delay) const = 0;
|
|
// Get only once IR sample at given direction for both channels. The delay returned is the delay of IR's beginning, not the sample's!
|
|
virtual void sample_direction(angle_t elevation, angle_t azimuth, distance_t distance, uint32_t sample, float& value_left, float& delay_left, float& value_right, float& delay_right) const = 0;
|
|
|
|
virtual uint32_t get_sample_rate() const = 0;
|
|
virtual uint32_t get_response_length() const = 0;
|
|
virtual uint32_t get_longest_delay() const = 0;
|
|
};
|