HulaLoop
Simple cross-platform audio loopback and recording.
OSXAudio.h
1 #ifndef HL_OSX_AUDIO_H
2 #define HL_OSX_AUDIO_H
3 
4 #include <sys/types.h>
5 
6 #include <thread>
7 #include <vector>
8 
9 #include "hlaudio/internal/Device.h"
10 #include "hlaudio/internal/OSAudio.h"
11 
12 namespace hula
13 {
17  class OSXAudio : public OSAudio {
18 
19  private:
20 
21  public:
22  OSXAudio();
23  virtual ~OSXAudio();
24 
25  pid_t isDaemonRunning();
26  pid_t startDaemon();
27  pid_t restartDaemon();
28 
29  void capture();
30  bool checkDeviceParams(Device *device);
31 
32  std::vector<Device *> getDevices(DeviceType type);
33  };
34 }
35 
36 #endif // END HL_OSX_AUDIO_H
virtual ~OSXAudio()
Deconstructs the OSXAudio instance.
Definition: OSXAudio.cpp:425
pid_t startDaemon()
Start the OSXDaemon to transfer audio from the CoreAudio driver to the JACK client.
Definition: OSXAudio.cpp:147
Abstract class that defines the required components for OS specfic audio classes. ...
Definition: OSAudio.h:19
std::vector< Device * > getDevices(DeviceType type)
Fetch devices of the specified type.
Definition: OSXAudio.cpp:346
bool checkDeviceParams(Device *device)
Checks the sampling rate and bit depth of the device.
Definition: OSXAudio.cpp:401
pid_t restartDaemon()
Restart the OSXDaemon.
Definition: OSXAudio.cpp:219
pid_t isDaemonRunning()
Check if the OSXDaemon is already running using pgrep.
Definition: OSXAudio.cpp:69
OSXAudio()
Constructs an instance of OSXAudio class.
Definition: OSXAudio.cpp:25
void capture()
Execution loop for loopback capture.
Definition: OSXAudio.cpp:261
Wrapper for OS specific device information.
Definition: Device.h:55
Wrapper around translation functions for Qt.
Definition: Controller.h:10
DeviceType
Denotes type of Device.
Definition: Device.h:18
A audio class that captures system wide audio on OSX.
Definition: OSXAudio.h:17