CeresEngine 0.2.0
A game development framework
Loading...
Searching...
No Matches
Device.hpp
Go to the documentation of this file.
1//
2// CeresEngine - A game development framework
3//
4// Created by Rogiel Sulzbach.
5// Copyright (c) 2018-2022 Rogiel Sulzbach. All rights reserved.
6//
7
8#pragma once
9
10#include "Forward.hpp"
11
13
15
16namespace CeresEngine {
17
20
22 class CE_SCRIPT_EXPORT() AudioAPIDevice : public RefCounted<AudioAPIDevice> {
23 public:
25 AudioAPIDevice() = default;
26
29
32
34 virtual ~AudioAPIDevice() = default;
35
36 public:
41 virtual AudioAPIBufferPtr createBuffer(const AudioAPIBufferDescriptor& descriptor) = 0;
42
51 virtual AudioAPIListenerPtr createListener(const AudioAPIListenerDescriptor& descriptor) = 0;
52
57 virtual AudioAPISourcePtr createSource(const AudioAPISourceDescriptor& descriptor) = 0;
58
59 public:
62 virtual AudioAPIListenerPtr getDefaultListener() = 0;
63 };
64
65} // namespace CeresEngine
#define CE_SCRIPT_EXPORT(...)
The CE_SCRIPT_EXPORT macro marks a class or method as exportable and available in scripting environme...
Definition Macros.hpp:247
Definition Device.hpp:22
virtual ~AudioAPIDevice()=default
Virtual destructor.
AudioAPIDevice()=default
The default constructor.
AudioAPIDevice(const AudioAPIDevice &)=delete
Deleted copy constructor.
AudioAPIDevice & operator=(const AudioAPIDevice &)=delete
Deleted copy assignment operator.
A retain-release type of smart pointer.
Definition SmartPtr.hpp:132
A simple reference counter base class.
Definition SmartPtr.hpp:438
Definition Application.hpp:19
A descriptor structure that describes the creation of an audio device.
Definition Device.hpp:19
A descriptor structure that describes the creation of an audio listener.
Definition Listener.hpp:19
A descriptor structure that describes the creation of an audio source.
Definition Source.hpp:19