include($QT_INSTALL_DOCS/global/qt-module-defaults.qdocconf)
include($QT_INSTALL_DOCS/config/exampleurl-qtmultimedia.qdocconf)

project                 = QtMultimedia
description             = Qt Multimedia Documentation
version                 = $QT_VERSION

moduleheader            = QtMultimediaDoc
includepaths           += .

examplesinstallpath     = multimedia

# Path to the root of qtmultimedia (for automatic linking to source code)
url.sources.rootdir     = ../../..

# The following parameters are for creating a qhp file, the qhelpgenerator
# program can convert the qhp file into a qch file which can be opened in
# Qt Assistant and/or Qt Creator.

# Defines the name of the project. You cannot use operators (+, =, -) in
# the name. Properties for this project are set using a qhp.<projectname>.property
# format.
qhp.projects = QtMultimedia
qhp.QtMultimedia.file = qtmultimedia.qhp
qhp.QtMultimedia.namespace = org.qt-project.qtmultimedia.$QT_VERSION_TAG
qhp.QtMultimedia.indexTitle = Qt Multimedia
qhp.QtMultimedia.virtualFolder  = qtmultimedia

qhp.QtMultimedia.subprojects = manual examples classes widgetclasses qmltypes

qhp.QtMultimedia.subprojects.classes.title = Qt Multimedia Classes and Namespaces
qhp.QtMultimedia.subprojects.classes.indexTitle = Qt Multimedia C++ Classes
qhp.QtMultimedia.subprojects.classes.selectors = module:QtMultimedia
qhp.QtMultimedia.subprojects.classes.sortPages = true

qhp.QtMultimedia.subprojects.widgetclasses.title = Qt Multimedia Widgets C++ Classes
qhp.QtMultimedia.subprojects.widgetclasses.indexTitle = Qt Multimedia Widgets C++ Classes
qhp.QtMultimedia.subprojects.widgetclasses.selectors = module:QtMultimediaWidgets
qhp.QtMultimedia.subprojects.widgetclasses.sortPages = true

qhp.QtMultimedia.subprojects.qmltypes.title = QML Types
qhp.QtMultimedia.subprojects.qmltypes.indexTitle = Qt Multimedia QML Types
qhp.QtMultimedia.subprojects.qmltypes.selectors = qmltype
qhp.QtMultimedia.subprojects.qmltypes.sortPages = true

qhp.QtMultimedia.subprojects.examples.title = Examples
qhp.QtMultimedia.subprojects.examples.indexTitle = Qt Multimedia Examples
qhp.QtMultimedia.subprojects.examples.selectors = example
qhp.QtMultimedia.subprojects.examples.sortPages = true

qhp.QtMultimedia.subprojects.manual.title = Qt Multimedia
qhp.QtMultimedia.subprojects.manual.indexTitle = Qt Multimedia module topics
qhp.QtMultimedia.subprojects.manual.type = manual

tagfile = qtmultimedia.tags

exampledirs += ../../../examples/multimedia \
               ../../../examples/multimediawidgets \
               snippets \
               ../../multimediawidgets/doc/snippets

headerdirs += .. \
              ../../multimediawidgets \
              ../../multimediaquick

imagedirs += src/images \

sourcedirs += .. \
              ../../multimediawidgets \
              ../../multimediaquick

depends                 += qtcore qtdoc qtgui qtquick qtqml qtwidgets qtnetwork qmake qtcmake qtquickcontrols qtspatialaudio qtqmlcore

# Ignore \since commands for versions earlier than 6.3
ignoresince = 6.3

navigation.landingpage = "Qt Multimedia"
navigation.cppclassespage = "Qt Multimedia C++ Classes"
navigation.qmltypespage = "Qt Multimedia QML Types"
# Autogenerate navigation linking based on "Qt Multimedia module topics":
navigation.toctitles = "Qt Multimedia module topics"
navigation.toctitles.inclusive = false

# Highlighted examples in Graphics & Multimedia category
manifestmeta.highlighted.names = \
    "QtMultimedia/Screen Capture Example" \
    "QtMultimedia/QML Video Recorder"

# Highlighted examples in Mobile category
manifestmeta.highlighted.names += "QtMultimedia/QML Camera Application"

# Fail the documentation build if there are more warnings than the limit
warninglimit = 0

macro.ffmpegversion = "7.1.3"
macro.ffmpegreponame = "ffmpeg"
macro.androidndkversion = "26.1.10909125"

macro.qtmmaudiocallbacksupportednote = "\\note This API is only available on platforms that support\
    the callback API: Apple's CoreAudio (macOS, iOS, etc), Windows, Linux (using the PulseAudio or \
    PipeWire backend) and Android."

macro.qtmmaudiocallbacknote = "\\note The callback will be called on a soft-realtime audio thread. \
    It is important to ensure that the callback does not block, as this can cause audio glitches or\
    dropouts. This includes performing blocking IO, locking mutexes, allocating memories or any \
    other operations that may block. For best practices consult Ross Bencina's article\
    \\l{Real-time audio programming 101: time waits for nothing}. Also consider using clang's\
    \\l{Realtime sanitizer} to validate the audio callback."
