Use a separate function to remove a source from fading sources
[alure.git] / src / devicemanager.h
blob9f7984796d8b8faf03edaefaf2385f3ce23403f6
1 #ifndef DEVICEMANAGER_H
2 #define DEVICEMANAGER_H
4 #include "main.h"
6 namespace alure {
8 class DeviceManagerImpl {
9 Vector<UniquePtr<DeviceImpl>> mDevices;
11 DeviceManagerImpl();
12 ~DeviceManagerImpl();
14 public:
15 static ALCboolean (ALC_APIENTRY*SetThreadContext)(ALCcontext*);
17 static DeviceManagerImpl &get();
19 void removeDevice(DeviceImpl *dev);
21 bool queryExtension(const char *name) const;
23 Vector<String> enumerate(DeviceEnumeration type) const;
24 String defaultDeviceName(DefaultDeviceType type) const;
26 Device openPlayback(const char *name);
27 Device openPlayback(const char *name, const std::nothrow_t&);
30 } // namespace alure
32 #endif /* DEVICEMANAGER_H */