aboutsummaryrefslogtreecommitdiff
path: root/lib/audio.hpp
blob: 35027144908f915412768ce8d94b927edcbe1453 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#ifndef AUDIO_HPP
#define AUDIO_HPP

#include <portaudio.h>

#define FRAMES_PER_BUFFER 256

class AudioData {
    public:
	AudioData();
	void set_device_num(int device_num);
	int get_channel_cnt();
	float* get_channels();

	void start_stream();
	void close_stream();

    private:
	PaStream* stream;
	int device_num;
	int channel_cnt;
	float* channels;

	static int patestCallback(const void* inputBuffer, void* outputBuffer, unsigned long framesPerBuffer, const PaStreamCallbackTimeInfo* timeInfo, PaStreamCallbackFlags statusFlags,
				  void* userData);
};

#endif