NDEVR
API Documentation
QTSoundManager.h
1/*--------------------------------------------------------------------------------------------
2Copyright (c) 2019, NDEVR LLC
3tyler.parke@ndevr.org
4 __ __ ____ _____ __ __ _______
5 | \ | | | __ \ | ___|\ \ / / | __ \
6 | \ | | | | \ \ | |___ \ \ / / | |__) |
7 | . \| | | |__/ / | |___ \ V / | _ /
8 | |\ |_|_____/__|_____|___\_/____| | \ \
9 |__| \__________________________________| \__\
10
11Subject to the terms of the Enterprise+ Agreement, NDEVR hereby grants
12Licensee a limited, non-exclusive, non-transferable, royalty-free license
13(without the right to sublicense) to use the API solely for the purpose of
14Licensee's internal development efforts to develop applications for which
15the API was provided.
16
17The above copyright notice and this permission notice shall be included in all
18copies or substantial portions of the Software.
19
20THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
21INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
22PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE
23FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
24OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
25DEALINGS IN THE SOFTWARE.
26
27Library: Widgets
28File: QTSoundManager
29Included in API: True
30Author(s): Tyler Parke
31 *-----------------------------------------------------------------------------------------**/
32#pragma once
33#include "DLLInfo.h"
34#include <NDEVR/SoundManager.h>
35class QSoundEffect;
36class QTextToSpeech;
37namespace NDEVR
38{
39 class SoundEffectTask;
44 {
45 public:
47 static void SetupSystem();
48#if NDEVR_SUPPORTS_THREADING
53 SoundEffectTask* soundEffectTask(const StringView& sound);
54#endif
59 QSoundEffect* soundEffect(const StringView& sound);
64 bool playSound(const StringView& sound) override;
69 bool textToSpeech(const TextToSpeechRequest& speech) override;
73 virtual bool supportsTextToSpeech() const override;
77 virtual void enableTextToSpeech(bool enable) override;
81 virtual Buffer<Sound> availableSounds() override;
85 virtual bool textToSpeechEnabled() const override;
86 private:
88 QTextToSpeech* m_speech = nullptr;
89 };
90}
91
The equivelent of std::vector but with a bit more control.
Definition Buffer.hpp:58
A hash-based key-value store, useful for quick associative lookups.
Definition Dictionary.h:64
Adds Sound generated via the Qt Framework to the application.
SoundEffectTask * soundEffectTask(const StringView &sound)
Gets or creates a threaded sound effect task for the given sound.
virtual void enableTextToSpeech(bool enable) override
Enables or disables text-to-speech.
virtual bool supportsTextToSpeech() const override
Checks whether text-to-speech is supported on this system.
bool playSound(const StringView &sound) override
Plays a sound by identifier.
static void SetupSystem()
Sets up the Qt sound system and registers this factory.
virtual Buffer< Sound > availableSounds() override
Gets all available sound effects.
bool textToSpeech(const TextToSpeechRequest &speech) override
Speaks the given text using text-to-speech.
QSoundEffect * soundEffect(const StringView &sound)
Gets or creates a QSoundEffect for the given sound identifier.
virtual bool textToSpeechEnabled() const override
Checks whether text-to-speech is currently enabled.
Produces sound on the host Device, if possible.
The core String View class for the NDEVR API.
Definition StringView.h:58
The primary namespace for the NDEVR SDK.
Allows the user to make a request for text-to-speech.