/* SPDX-FileCopyrightText: 2014-2015 Harald Sitter SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL */ #include "plugin.h" #include #include "client.h" #include "context.h" #include "modulemanager.h" #include "port.h" #include "profile.h" #include "pulseaudio.h" #include "sink.h" #include "source.h" #include "volumemonitor.h" #include "listitemmenu.h" // #include "microphoneindicator.h" #include "speakertest.h" #include "volumefeedback.h" #include "model/sortfiltermodel.h" // #include "volumeosd.h" static QJSValue pulseaudio_singleton(QQmlEngine *engine, QJSEngine *scriptEngine) { Q_UNUSED(engine) QJSValue object = scriptEngine->newObject(); object.setProperty(QStringLiteral("NormalVolume"), (double)QPulseAudio::Context::NormalVolume); object.setProperty(QStringLiteral("MinimalVolume"), (double)QPulseAudio::Context::MinimalVolume); object.setProperty(QStringLiteral("MaximalVolume"), (double)QPulseAudio::Context::MaximalVolume); return object; } void Plugin::registerTypes(const char *uri) { QPulseAudio::Context::setApplicationId(QStringLiteral("Cutefish.Audio")); qmlRegisterType(uri, 1, 0, "SortFilterModel"); qmlRegisterType(uri, 1, 0, "CardModel"); qmlRegisterType(uri, 1, 0, "SinkModel"); qmlRegisterType(uri, 1, 0, "SinkInputModel"); qmlRegisterType(uri, 1, 0, "SourceModel"); qmlRegisterType(uri, 1, 0, "ModuleManager"); qmlRegisterType(uri, 1, 0, "SourceOutputModel"); qmlRegisterType(uri, 1, 0, "StreamRestoreModel"); qmlRegisterType(uri, 1, 0, "ModuleModel"); qmlRegisterType(uri, 0, 01, "VolumeMonitor"); qmlRegisterUncreatableType(uri, 1, 0, "PulseObject", QString()); qmlRegisterUncreatableType(uri, 1, 0, "Profile", QString()); qmlRegisterUncreatableType(uri, 1, 0, "Port", QString()); qmlRegisterType(uri, 1, 0, "ListItemMenu"); // qmlRegisterType(uri, 1, 0, "VolumeOSD"); qmlRegisterType(uri, 1, 0, "VolumeFeedback"); qmlRegisterType(uri, 1, 0, "SpeakerTest"); qmlRegisterSingletonType(uri, 1, 0, "PulseAudio", pulseaudio_singleton); // qmlRegisterSingletonType(uri, 1, 0, "MicrophoneIndicator", [](QQmlEngine *engine, QJSEngine *jsEngine) -> QObject * { // Q_UNUSED(engine); // Q_UNUSED(jsEngine); // return new MicrophoneIndicator(); // }); qmlRegisterAnonymousType(uri, 1); qmlRegisterAnonymousType(uri, 1); qmlRegisterAnonymousType(uri, 1); qmlRegisterAnonymousType(uri, 1); }