Skip to content

Commit 0cd6859

Browse files
committed
Generate bindings for Qt6 Multimedia
1 parent 61e7a17 commit 0cd6859

File tree

3 files changed

+63
-0
lines changed

3 files changed

+63
-0
lines changed

build.d

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -502,6 +502,7 @@ int main(string[] args)
502502
string archiveExtracted;
503503
string[] baseArchives;
504504
string webengineArchive;
505+
string multimediaArchive;
505506
string[] docArchives;
506507
this()
507508
{
@@ -512,6 +513,7 @@ int main(string[] args)
512513
"6.4.2-0-202212131055qtdeclarative-Linux-RHEL_8_4-GCC-Linux-RHEL_8_4-X86_64.7z",
513514
];
514515
webengineArchive = "6.4.2-0-202212131055qtwebengine-Linux-RHEL_8_4-GCC-Linux-RHEL_8_4-X86_64.7z";
516+
multimediaArchive = "6.4.2-0-202212131055qtmultimedia-Linux-RHEL_8_4-GCC-Linux-RHEL_8_4-X86_64.7z";
515517
docArchives = [
516518
"qt.qt6.642.doc/6.4.2-0-202212131055qtcore-documentation.7z",
517519
"qt.qt6.642.doc/6.4.2-0-202212131055qtgui-documentation.7z",
@@ -521,6 +523,7 @@ int main(string[] args)
521523
"qt.qt6.642.doc/6.4.2-0-202212131055qtquick-documentation.7z",
522524
"qt.qt6.642.doc/6.4.2-0-202212131055qtquickcontrols-documentation.7z",
523525
"qt.qt6.642.doc.qtwebengine/6.4.2-0-202212131055qtwebengine-documentation.7z",
526+
"qt.qt6.642.doc.qtmultimedia/6.4.2-0-202212131055qtmultimedia-documentation.7z",
524527
];
525528
archiveExtracted = "6.4.2";
526529
sourceFiles = ["qt6/allincludes.cpp"];
@@ -537,6 +540,9 @@ int main(string[] args)
537540
"-Iqt6/orig/qtwebengine",
538541
"-Iqt6/orig/qtwebengine/QtWebEngineCore",
539542
"-Iqt6/orig/qtwebengine/QtWebEngineWidgets",
543+
"-Iqt6/orig/qtmultimedia",
544+
"-Iqt6/orig/qtmultimedia/QtMultimedia",
545+
"-Iqt6/orig/qtmultimedia/QtMultimediaWidgets",
540546
"-Igcc-rt/orig/include-cxx",
541547
"-Igcc-rt/orig/include-cxx/platform-generic",
542548
"-include", "common/prefixinclude.h",
@@ -552,6 +558,7 @@ int main(string[] args)
552558
downloadFile("https://download.qt.io/online/qtsdkrepository/linux_x64/desktop/qt6_642/qt.qt6.642.gcc_64/" ~ a, projectDir ~ "/" ~ a, verbose);
553559

554560
downloadFile("https://download.qt.io/online/qtsdkrepository/linux_x64/desktop/qt6_642/qt.qt6.642.addons.qtwebengine.gcc_64/" ~ webengineArchive, projectDir ~ "/" ~ webengineArchive, verbose);
561+
downloadFile("https://download.qt.io/online/qtsdkrepository/linux_x64/desktop/qt6_642/qt.qt6.642.addons.qtmultimedia.gcc_64/" ~ multimediaArchive, projectDir ~ "/" ~ multimediaArchive, verbose);
555562

556563
foreach (a; docArchives)
557564
downloadFile("https://download.qt.io/online/qtsdkrepository/linux_x64/desktop/qt6_642_src_doc_examples/" ~ a, projectDir ~ "/" ~ baseName(a), verbose);
@@ -566,6 +573,9 @@ int main(string[] args)
566573
runCommand(["7z", "x", webengineArchive, archiveExtracted ~ "/gcc_64/include/"], verbose, projectDir);
567574
rename(buildPath(projectDir, archiveExtracted ~ "/gcc_64/include/"), buildPath(projectDir, "tmp-orig/qtwebengine"));
568575

576+
runCommand(["7z", "x", multimediaArchive, archiveExtracted ~ "/gcc_64/include/"], verbose, projectDir);
577+
rename(buildPath(projectDir, archiveExtracted ~ "/gcc_64/include/"), buildPath(projectDir, "tmp-orig/qtmultimedia"));
578+
569579
foreach (a; docArchives)
570580
runCommand(["7z", "x", baseName(a), "Docs/"], verbose, projectDir);
571581

projects/qt6/allincludes.cpp

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -627,3 +627,43 @@
627627
//#include <QtQuickControls2/qtquickcontrols2global.h>
628628
//#include <QtQuickControls2/qtquickcontrols2version.h>
629629
//#include <QtQuickControls2/qtquickcontrols2-config.h>
630+
631+
// QtMultimedia
632+
#include <QtMultimedia/qaudio.h>
633+
#include <QtMultimedia/qaudiobuffer.h>
634+
#include <QtMultimedia/qaudiodecoder.h>
635+
#include <QtMultimedia/qaudiodevice.h>
636+
#include <QtMultimedia/qaudioformat.h>
637+
#include <QtMultimedia/qaudioinput.h>
638+
#include <QtMultimedia/qaudiooutput.h>
639+
#include <QtMultimedia/qaudiosink.h>
640+
#include <QtMultimedia/qaudiosource.h>
641+
#include <QtMultimedia/qcamera.h>
642+
#include <QtMultimedia/qcameradevice.h>
643+
#include <QtMultimedia/qimagecapture.h>
644+
#include <QtMultimedia/qmediacapturesession.h>
645+
#include <QtMultimedia/qmediadevices.h>
646+
#include <QtMultimedia/qmediaenumdebug.h>
647+
#include <QtMultimedia/qmediaformat.h>
648+
#include <QtMultimedia/qmediametadata.h>
649+
#include <QtMultimedia/qmediaplayer.h>
650+
#include <QtMultimedia/qmediarecorder.h>
651+
#include <QtMultimedia/qmediatimerange.h>
652+
#include <QtMultimedia/qsoundeffect.h>
653+
//#include <QtMultimedia/qtmultimediadefs.h>
654+
#include <QtMultimedia/qtmultimediaexports.h>
655+
//#include <QtMultimedia/qtmultimediaglobal.h>
656+
//#include <QtMultimedia/qtmultimediaversion.h>
657+
//#include <QtMultimedia/qtmultimedia-config.h>
658+
#include <QtMultimedia/qvideoframe.h>
659+
#include <QtMultimedia/qvideoframeformat.h>
660+
#include <QtMultimedia/qvideosink.h>
661+
#include <QtMultimedia/qwavedecoder.h>
662+
663+
// QtMultimediaWidgets
664+
//#include <QtMultimediaWidgets/qgraphicsvideoitem.h>
665+
//#include <QtMultimediaWidgets/qtmultimediawidgetdefs.h>
666+
#include <QtMultimediaWidgets/qtmultimediawidgetsexports.h>
667+
//#include <QtMultimediaWidgets/qtmultimediawidgetsglobal.h>
668+
//#include <QtMultimediaWidgets/qtmultimediawidgetsversion.h>
669+
#include <QtMultimediaWidgets/qvideowidget.h>

projects/qt6/output-config.json

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
{"match": {"filename": "qt[0-9]*/(.*/)?(?P<M>[^/]*)\\.[^./]*"}, "moduleName": "unused.\\L%M"},
3030
{"match": {"filename": "qt[0-9]*/orig/qt.*/Qt(?P<P>.*)/q(?P<M>.*).h"}, "moduleName": "qt.\\L%P.%M"},
3131
{"match": {"filename": "qt[0-9]*/orig/qtwebengine/Qt(?P<P>.*)/qt?webengine(?P<M>.*).h"}, "moduleName": "qt.webengine.\\L%M", "extraPrefix": "\\L%P"},
32+
{"match": {"filename": "qt[0-9]*/orig/qtmultimedia/Qt(?P<P>.*)/q(?P<M>.*).h"}, "moduleName": "qt.multimedia.\\L%M", "extraPrefix": "\\L%P"},
3233
{"match": {"filename": "qt[0-9]*/orig/qt.*/Qt(?P<P>Qml)/qt?qml(?P<M>..*).h"}, "moduleName": "qt.\\L%P.\\L%M"},
3334
{"match": {"filename": "qt[0-9]*/orig/qt.*/Qt(?P<P>Quick.*)/qt?quick(?P<M>.*).h"}, "moduleName": "qt.\\L%P.\\L%M"},
3435

@@ -222,6 +223,10 @@
222223
"QGlobalStatic",
223224
"qHash",
224225
"qHypot",
226+
"QImageCapture::addMetaData",
227+
"QImageCapture::imageMetadataAvailable",
228+
"QImageCapture::metaData",
229+
"QImageCapture::setMetaData",
225230
"QJSEngine::handle",
226231
"QJsonArray",
227232
"QJsonDocument",
@@ -230,6 +235,14 @@
230235
"QJsonValueRef",
231236
"QListIterator",
232237
"Q_LITTLE_ENDIAN",
238+
"QMediaMetaData",
239+
"QMediaPlayer::audioTracks",
240+
"QMediaPlayer::metaData",
241+
"QMediaPlayer::subtitleTracks",
242+
"QMediaPlayer::videoTracks",
243+
"QMediaRecorder::addMetaData",
244+
"QMediaRecorder::metaData",
245+
"QMediaRecorder::setMetaData",
233246
"QMessageLogger",
234247
"QMetaObject::connect",
235248
"QMetaObject::disconnect",

0 commit comments

Comments
 (0)