Switched to libsoundio

This commit is contained in:
WolverinDEV
2020-02-08 16:50:48 +01:00
parent 7007e8f6aa
commit 411778f932
31 changed files with 1725 additions and 738 deletions
+27 -4
View File
@@ -1,13 +1,16 @@
#include <soundio/soundio.h>
#include <cmath>
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <string>
#include <math.h>
#include <chrono>
#include <mutex>
#include "../../src/logger.h"
#include "../../src/audio/driver/SoundIO.h"
using namespace std;
using namespace tc::audio;
static const float PI = 3.1415926535f;
static float seconds_offset = 0.0f;
@@ -63,8 +66,27 @@ static void write_callback(struct SoundIoOutStream *outstream,
}
int main(int argc, char **argv) {
int err;
logger::initialize_raw();
SoundIOBackendHandler::initialize_all();
SoundIOBackendHandler::connect_all();
const auto print_device = [](const std::shared_ptr<SoundIODevice>& device) {
std::cout << " - " << device->id() << " (" << device->name() << ")";
if(device->is_output_default() || device->is_input_default())
std::cout << " [Default]";
std::cout << "\n";
};
for(auto& backend : tc::audio::SoundIOBackendHandler::all_backends()) {
std::cout << "Backend " << backend->name() << ":\n";
std::cout << " Input devices: (" << backend->input_devices().size() << "): \n";
for(auto& device : backend->input_devices()) print_device(device);
std::cout << " Output devices: (" << backend->input_devices().size() << "): \n";
for(auto& device : backend->input_devices()) print_device(device);
}
SoundIOBackendHandler::shutdown_all();
return 0;
int err;
struct SoundIo *soundio = soundio_create();
if (!soundio) {
fprintf(stderr, "out of memory\n");
@@ -85,6 +107,7 @@ int main(int argc, char **argv) {
for(int i = 0; i < soundio_input_device_count(soundio); i++) {
auto dev = soundio_get_input_device(soundio, i);
cout << dev->name << " - " << dev->id << endl;
soundio_device_unref(dev);
}