summaryrefslogtreecommitdiffstats
path: root/src/spatialaudio/doc/src/qtspatialaudio-index.qdoc
blob: e6be0247e7655054566fc2f6e5d6750e7b3af9d9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
// Copyright (C) 2022 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only

/*!
    \page qtspatialaudio-index.html
    \title Qt Spatial Audio
    \brief The Qt Spatial Audio module provides APIs for modeling sound source
    and their surrounds in 3D space

    Qt Spatial Audio is an add-on module that provides a rich set of QML types
    and C++ classes to implement sound fields in 3D space. It contains an easy to use
    API for positing a listener in space, adding localized sound sources around the
    listener and emulating virtual rooms with reverb and reflections.

    \section1 Getting started

    If you are new to Qt Spatial Audio, the QML types can be
    \l{qtqml import syntax}{imported} into an application using the following
    statement in your \c {.qml} file.

    \qml
     import QtQuick3D.SpatialAudio
    \endqml

    To link against the C++ libraries, add the following to your project's
    \c CMakeLists.txt file. Substitute \c my_project with the name of your
    project.

   \code
        find_package(Qt6 REQUIRED COMPONENTS SpatialAudio)
        target_link_libraries(my_project PRIVATE Qt6::SpatialAudio)
   \endcode

   \l{Spatial Audio Overview} provides a more detailed description about how
   to use the different classes listed below.

    \section1 QML Types

    The following table outlines some important QML types.

    \table
    \header
     \li Type
     \li Description
    \row
     \li \l{AudioEngine}
     \li The engine doing the processing of the audio scene
    \row
     \li \l {SpatialSound}
     \li A sound source located in 3D space.
    \row
     \li \l {AmbientSound}
     \li A location independent stereo sound track.
    \row
     \li \l {AudioRoom}
     \li Defines a room that generates audio reverb and reflections.
    \endtable

    \section1 C++ Classes

    The following table outlines some important C++ Classes

    \table
    \header
     \li Class
     \li Description
    \row
     \li \l{QAudioEngine}
     \li The engine doing the processing of the audio scene
    \row
     \li \l {QSpatialSound}
     \li A sound source located in 3D space.
    \row
     \li \l {QAmbientSound}
     \li A location independent stereo sound track.
    \row
     \li \l {QAudioRoom}
     \li Defines a room that generates audio reverb and reflections.
    \endtable

    \section1 Licenses and Attributions

    The Qt Spatial Audio module is available under commercial licenses from
    \l{The Qt Company}.
    In addition, it is available under free software licenses. These free software
    licenses are
    \l{GNU Lesser General Public License, version 3}, or
    the \l{GNU General Public License, version 3}.
    See \l{Qt Licensing} for further details.

    Note that Qt Spatial Audio is not available under the \l{GNU General Public License, version 2}.

    Furthermore, Qt Spatial Audio in Qt \QtVersion contains third party
    modules under the following permissive licenses:

    \generatelist{groupsbymodule attributions-qtspatialaudio}

    \section1 Reference and Examples
    \list
      \li \l{Qt Spatial Audio QML Types}{QML Types}
      \li \l{Qt Spatial Audio C++ Classes}{C++ Classes}
      \li \l{Qt Spatial Audio Examples}{Examples}
    \endlist
*/