A non-async stream is dead, don't try refilling it
[alure.git] / examples / alure-enum.cpp
blob9b393422d84dd15243205dd11f025a9e0d291cb6
2 #include <iostream>
4 #include "alure2.h"
6 int main()
8 alure::DeviceManager *devMgr = alure::DeviceManager::get();
9 std::vector<std::string> list;
10 std::string defname;
12 list = devMgr->enumerate(alure::DevEnum_Basic);
13 defname = devMgr->defaultDeviceName(alure::DefaultDevType_Basic);
14 std::cout<< "Available basic devices:" <<std::endl;
15 for(const auto &name : list)
16 std::cout<< " "<<name<<((defname==name)?" [DEFAULT]":"") <<std::endl;
17 std::cout<<std::endl;
19 list = devMgr->enumerate(alure::DevEnum_Complete);
20 defname = devMgr->defaultDeviceName(alure::DefaultDevType_Complete);
21 std::cout<< "Available devices:" <<std::endl;
22 for(const auto &name : list)
23 std::cout<< " "<<name<<((defname==name)?" [DEFAULT]":"") <<std::endl;
24 std::cout<<std::endl;
26 list = devMgr->enumerate(alure::DevEnum_Capture);
27 defname = devMgr->defaultDeviceName(alure::DefaultDevType_Capture);
28 std::cout<< "Available capture devices:" <<std::endl;
29 for(const auto &name : list)
30 std::cout<< " "<<name<<((defname==name)?" [DEFAULT]":"") <<std::endl;
31 std::cout<<std::endl;
33 ALCuint version;
34 alure::Device *dev = devMgr->openPlayback();
35 std::cout<< "Info for device \""<<dev->getName(alure::PlaybackDevType_Complete)<<"\":" <<std::endl;
36 version = dev->getALCVersion();
37 std::cout<< "ALC version: "<<alure::MajorVersion(version)<<"."<<alure::MinorVersion(version) <<std::endl;
38 version = dev->getEFXVersion();
39 if(version)
41 std::cout<< "EFX version: "<<alure::MajorVersion(version)<<"."<<alure::MinorVersion(version) <<std::endl;
42 std::cout<< "Max auxiliary sends: "<<dev->getMaxAuxiliarySends() <<std::endl;
44 else
45 std::cout<< "EFX not supported" <<std::endl;
46 dev->close();
47 dev = 0;
49 return 0;