pyside6_qtspatialaudio_python.h 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. // Copyright (C) 2022 The Qt Company Ltd.
  2. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
  3. #ifndef SBK_QTSPATIALAUDIO_PYTHON_H
  4. #define SBK_QTSPATIALAUDIO_PYTHON_H
  5. #include <sbkpython.h>
  6. #include <sbkmodule.h>
  7. #include <sbkconverter.h>
  8. // Module Includes
  9. #include <pyside6_qtcore_python.h>
  10. #include <pyside6_qtgui_python.h>
  11. #include <pyside6_qtnetwork_python.h>
  12. #include <pyside6_qtmultimedia_python.h>
  13. // Bound library includes
  14. #include <QtSpatialAudio/qambientsound.h>
  15. #include <QtSpatialAudio/qaudioengine.h>
  16. #include <QtSpatialAudio/qaudioroom.h>
  17. #include <QtSpatialAudio/qspatialsound.h>
  18. QT_BEGIN_NAMESPACE
  19. class QAudioListener;
  20. QT_END_NAMESPACE
  21. // Type indices
  22. enum [[deprecated]] : int {
  23. SBK_QAMBIENTSOUND_LOOPS_IDX = 2,
  24. SBK_QAMBIENTSOUND_IDX = 0,
  25. SBK_QAUDIOENGINE_OUTPUTMODE_IDX = 6,
  26. SBK_QAUDIOENGINE_IDX = 4,
  27. SBK_QAUDIOLISTENER_IDX = 8,
  28. SBK_QAUDIOROOM_MATERIAL_IDX = 12,
  29. SBK_QAUDIOROOM_WALL_IDX = 14,
  30. SBK_QAUDIOROOM_IDX = 10,
  31. SBK_QSPATIALSOUND_LOOPS_IDX = 20,
  32. SBK_QSPATIALSOUND_DISTANCEMODEL_IDX = 18,
  33. SBK_QSPATIALSOUND_IDX = 16,
  34. SBK_QTSPATIALAUDIO_IDX_COUNT = 22,
  35. };
  36. // Type indices
  37. enum : int {
  38. SBK_QAmbientSound_Loops_IDX = 1,
  39. SBK_QAmbientSound_IDX = 0,
  40. SBK_QAudioEngine_OutputMode_IDX = 3,
  41. SBK_QAudioEngine_IDX = 2,
  42. SBK_QAudioListener_IDX = 4,
  43. SBK_QAudioRoom_Material_IDX = 6,
  44. SBK_QAudioRoom_Wall_IDX = 7,
  45. SBK_QAudioRoom_IDX = 5,
  46. SBK_QSpatialSound_Loops_IDX = 10,
  47. SBK_QSpatialSound_DistanceModel_IDX = 9,
  48. SBK_QSpatialSound_IDX = 8,
  49. SBK_QtSpatialAudio_IDX_COUNT = 11,
  50. };
  51. // This variable stores all Python types exported by this module.
  52. extern Shiboken::Module::TypeInitStruct *SbkPySide6_QtSpatialAudioTypeStructs;
  53. // This variable stores all Python types exported by this module in a backwards compatible way with identical indexing.
  54. [[deprecated]] extern PyTypeObject **SbkPySide6_QtSpatialAudioTypes;
  55. // This variable stores the Python module object exported by this module.
  56. extern PyObject *SbkPySide6_QtSpatialAudioModuleObject;
  57. // This variable stores all type converters exported by this module.
  58. extern SbkConverter **SbkPySide6_QtSpatialAudioTypeConverters;
  59. // Converter indices
  60. enum [[deprecated]] : int {
  61. SBK_QTSPATIALAUDIO_QLIST_INT_IDX = 0, // QList<int>
  62. SBK_QTSPATIALAUDIO_QLIST_QVARIANT_IDX = 1, // QList<QVariant>
  63. SBK_QTSPATIALAUDIO_QLIST_QSTRING_IDX = 2, // QList<QString>
  64. SBK_QTSPATIALAUDIO_QMAP_QSTRING_QVARIANT_IDX = 3, // QMap<QString,QVariant>
  65. SBK_QTSPATIALAUDIO_CONVERTERS_IDX_COUNT = 4,
  66. };
  67. // Converter indices
  68. enum : int {
  69. SBK_QtSpatialAudio_QList_int_IDX = 0, // QList<int>
  70. SBK_QtSpatialAudio_QList_QVariant_IDX = 1, // QList<QVariant>
  71. SBK_QtSpatialAudio_QList_QString_IDX = 2, // QList<QString>
  72. SBK_QtSpatialAudio_QMap_QString_QVariant_IDX = 3, // QMap<QString,QVariant>
  73. SBK_QtSpatialAudio_CONVERTERS_IDX_COUNT = 4,
  74. };
  75. // Macros for type check
  76. QT_WARNING_PUSH
  77. QT_WARNING_DISABLE_DEPRECATED
  78. namespace Shiboken
  79. {
  80. // PyType functions, to get the PyObjectType for a type T
  81. template<> inline PyTypeObject *SbkType< ::QAmbientSound::Loops >() { return Shiboken::Module::get(SbkPySide6_QtSpatialAudioTypeStructs[SBK_QAmbientSound_Loops_IDX]); }
  82. template<> inline PyTypeObject *SbkType< ::QAmbientSound >() { return Shiboken::Module::get(SbkPySide6_QtSpatialAudioTypeStructs[SBK_QAmbientSound_IDX]); }
  83. template<> inline PyTypeObject *SbkType< ::QAudioEngine::OutputMode >() { return Shiboken::Module::get(SbkPySide6_QtSpatialAudioTypeStructs[SBK_QAudioEngine_OutputMode_IDX]); }
  84. template<> inline PyTypeObject *SbkType< ::QAudioEngine >() { return Shiboken::Module::get(SbkPySide6_QtSpatialAudioTypeStructs[SBK_QAudioEngine_IDX]); }
  85. template<> inline PyTypeObject *SbkType< ::QAudioListener >() { return Shiboken::Module::get(SbkPySide6_QtSpatialAudioTypeStructs[SBK_QAudioListener_IDX]); }
  86. template<> inline PyTypeObject *SbkType< ::QAudioRoom::Material >() { return Shiboken::Module::get(SbkPySide6_QtSpatialAudioTypeStructs[SBK_QAudioRoom_Material_IDX]); }
  87. template<> inline PyTypeObject *SbkType< ::QAudioRoom::Wall >() { return Shiboken::Module::get(SbkPySide6_QtSpatialAudioTypeStructs[SBK_QAudioRoom_Wall_IDX]); }
  88. template<> inline PyTypeObject *SbkType< ::QAudioRoom >() { return Shiboken::Module::get(SbkPySide6_QtSpatialAudioTypeStructs[SBK_QAudioRoom_IDX]); }
  89. template<> inline PyTypeObject *SbkType< ::QSpatialSound::Loops >() { return Shiboken::Module::get(SbkPySide6_QtSpatialAudioTypeStructs[SBK_QSpatialSound_Loops_IDX]); }
  90. template<> inline PyTypeObject *SbkType< ::QSpatialSound::DistanceModel >() { return Shiboken::Module::get(SbkPySide6_QtSpatialAudioTypeStructs[SBK_QSpatialSound_DistanceModel_IDX]); }
  91. template<> inline PyTypeObject *SbkType< ::QSpatialSound >() { return Shiboken::Module::get(SbkPySide6_QtSpatialAudioTypeStructs[SBK_QSpatialSound_IDX]); }
  92. } // namespace Shiboken
  93. QT_WARNING_POP
  94. #endif // SBK_QTSPATIALAUDIO_PYTHON_H