reverted failed attempt, fixed callback release

This commit is contained in:
Hane 2023-08-12 17:29:01 +02:00
commit a565190e6f
7 changed files with 51 additions and 30 deletions

View file

@ -42,7 +42,7 @@ HRESULT EndpointCallback::OnNotify(PAUDIO_VOLUME_NOTIFICATION_DATA pNotify) {
AUDIO_VOLUME_NOTIFICATION_DATA eventData = *pNotify; AUDIO_VOLUME_NOTIFICATION_DATA eventData = *pNotify;
NGuid* guid = osh->getGuid(); NGuid* guid = osh->getGuid();
if (memcmp(guid, &eventData, sizeof(guid)) == 0) { if (memcmp(guid, &eventData, sizeof(*guid)) == 0) {
log_debugcpp("perlitas"); log_debugcpp("perlitas");
} else { } else {
log_debugcpp("Onnanokotify says Stored: " << guid->data1); log_debugcpp("Onnanokotify says Stored: " << guid->data1);

View file

@ -65,7 +65,6 @@ class EndpointCallback : public IAudioEndpointVolumeCallback {
private: private:
ULONG ref = 1; ULONG ref = 1;
Endpoint* ep; Endpoint* ep;
//PAUDIO_VOLUME_NOTIFICATION_DATA update;
}; };
class Overseer { class Overseer {

View file

@ -1,6 +1,9 @@
#include "backlasses.h" #include "backlasses.h"
#include "qtclasses.h"
#include "contclasses.h" #include "contclasses.h"
//TODO: pragma once
//TODO: ?????
Overseer OverseerHandler::os; Overseer OverseerHandler::os;
EndpointHandler::EndpointHandler(uint64_t idx) { EndpointHandler::EndpointHandler(uint64_t idx) {
@ -49,12 +52,12 @@ bool EndpointHandler::getMute(){
EndpointHandler::~EndpointHandler() { EndpointHandler::~EndpointHandler() {
ep->removeCallback(epc); ep->removeCallback(epc);
delete epc; epc->Release();
delete ep; delete ep;
} }
std::vector<Endpoint*> OverseerHandler::getPlaybackEndpoints() { std::vector<Endpoint*> OverseerHandler::getPlaybackEndpoints() {
return os.getPlaybackEndpoints(); return this->os.getPlaybackEndpoints();
} }
/* /*
@ -69,7 +72,7 @@ std::vector<EndpointHandler*> OverseerHandler::getEndpointHandlers(){
} }
uint64_t OverseerHandler::getPlaybackEndpointsCount(){ uint64_t OverseerHandler::getPlaybackEndpointsCount(){
return os.getPlaybackEndpoints().size(); return this->os.getPlaybackEndpoints().size();
} }
void OverseerHandler::reloadEndpointHandlers(){ void OverseerHandler::reloadEndpointHandlers(){
@ -83,7 +86,6 @@ void OverseerHandler::reloadEndpointHandlers(){
this->endpointHandlers.at(i) != nullptr) this->endpointHandlers.at(i) != nullptr)
delete endpointHandlers.at(i); delete endpointHandlers.at(i);
EndpointHandler* eph = new EndpointHandler(i); EndpointHandler* eph = new EndpointHandler(i);
log_debugcpp("Created handler " << i << ", adding to vector. " << " VSize: " << this->getPlaybackEndpointsCount()); log_debugcpp("Created handler " << i << ", adding to vector. " << " VSize: " << this->getPlaybackEndpointsCount());
@ -96,11 +98,16 @@ void OverseerHandler::reloadEndpointHandlers(){
NGuid* OverseerHandler::getGuid() { NGuid* OverseerHandler::getGuid() {
return os.getGuid(); return this->os.getGuid();
} }
void OverseerHandler::setEndpointHandlers(std::vector<EndpointHandler*> ephs){
void OverseerHandler::setEndpointHandlers(std::vector<EndpointHandler*> ews){ this->endpointHandlers = ephs;
this->endpointHandlers = ews;
} }
/*
* void OverseerHandler::setEndpointWidgets(std::vector<EndpointWidget*> ews){
* this->endpointWidgets = ews;
* }
*/

View file

@ -1,5 +1,13 @@
#pragma once #pragma once
/* #ifndef QTBLESSED */
/* //#define Q_OBJECT */
/* class QWidget{}; */
/* class QMainWindow{}; */
/* #endif */
/* class EndpointWidget; */
class Endpoint; class Endpoint;
class EndpointCallback; class EndpointCallback;
class Overseer; class Overseer;
@ -45,7 +53,8 @@ class OverseerHandler {
public: public:
//OverseerHandler(); //OverseerHandler();
void setEndpointHandlers(std::vector<EndpointHandler*> ews); void setEndpointHandlers(std::vector<EndpointHandler*> ephs);
/* void setEndpointWidgets(std::vector<EndpointWidget*> ews); */
std::vector<EndpointHandler*> getEndpointHandlers(); std::vector<EndpointHandler*> getEndpointHandlers();
std::vector<Endpoint*> getPlaybackEndpoints(); std::vector<Endpoint*> getPlaybackEndpoints();
uint64_t getPlaybackEndpointsCount(); uint64_t getPlaybackEndpointsCount();
@ -58,5 +67,5 @@ public:
private: private:
static Overseer os; static Overseer os;
std::vector<EndpointHandler*> endpointHandlers; std::vector<EndpointHandler*> endpointHandlers;
/* std::vector<EndpointWidget*> endpointWidgets; */
}; };

View file

@ -1,6 +1,5 @@
#include "qtclasses.h" #include "qtclasses.h"
EndpointWidget::EndpointWidget(EndpointHandler* eph, QWidget *parent) : QWidget(parent){ EndpointWidget::EndpointWidget(EndpointHandler* eph, QWidget *parent) : QWidget(parent){
this->eph = eph; this->eph = eph;
layout = new QGridLayout(); layout = new QGridLayout();
@ -71,8 +70,6 @@ uint64_t EndpointWidget::getIndex(){
return idx; return idx;
} }
MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) { MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) {
// setWindowState(Qt::WindowFullScreen); // setWindowState(Qt::WindowFullScreen);
// setCentralWidget(centralWidget); // setCentralWidget(centralWidget);
@ -85,9 +82,10 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) {
setWindowTitle("slidea resbala nu c"); setWindowTitle("slidea resbala nu c");
/*s reloadEndpointWidgets();
* setEndpointHandlers(ephs); }
*/
void MainWindow::reloadEndpointWidgets() {
unsigned int i = 0; unsigned int i = 0;
for (; i < (osh->getEndpointHandlers().size()); i++) { for (; i < (osh->getEndpointHandlers().size()); i++) {
log_debugcpp("EPWidget creation"); log_debugcpp("EPWidget creation");
@ -95,15 +93,11 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) {
ews.push_back(epw); ews.push_back(epw);
layout->addWidget(epw, i, 0); layout->addWidget(epw, i, 0);
} }
//osh->setEndpointWidgets(ews);
layout->addItem(new QSpacerItem(1, 1, QSizePolicy::Minimum, QSizePolicy::MinimumExpanding), i, 0); layout->addItem(new QSpacerItem(1, 1, QSizePolicy::Minimum, QSizePolicy::MinimumExpanding), i, 0);
} }
/* //#include "qtclosemwh.h"
* void MainWindow::setEndpointHandlers(std::vector<EndpointHandler*> *ephs){
* this->ephs = ephs;
*/
/* /*
* void MainWindow::setPlotButton() { * void MainWindow::setPlotButton() {

View file

@ -1,8 +1,8 @@
#pragma once #pragma once
#ifndef MAINWINDOW_H #ifndef MAINWINDOW_H
#define MAINWINDOW_H #define MAINWINDOW_H
//#include <vector>
#include <QMainWindow> #include <QMainWindow>
#include <QApplication> #include <QApplication>
#include <QLabel> #include <QLabel>
@ -10,12 +10,20 @@
#include <QGridLayout> #include <QGridLayout>
#include <QPushButton> #include <QPushButton>
//#include "debug.h" /*
* #else
* class QSlider;
* class QLabel;
* class QGridLayout;
* class QPushButton;
* class QWidget;
* class QMainWindow;
* #endif
*/
#include "global.h" #include "global.h"
#include "contclasses.h" #include "contclasses.h"
//#include <Q> //class EndpointHandler;
//#include <QWidgets>
class EndpointWidget : public QWidget { class EndpointWidget : public QWidget {
Q_OBJECT Q_OBJECT
@ -59,6 +67,8 @@ class MainWindow : public QMainWindow {
public: public:
MainWindow(QWidget *parent = nullptr); MainWindow(QWidget *parent = nullptr);
void reloadEndpointWidgets();
//TODO: destroy/empty existing EndpointWidgets
//void setEndpointHandlers(std::vector<EndpointHandler*> *ephs); //void setEndpointHandlers(std::vector<EndpointHandler*> *ephs);
private: private:
@ -77,4 +87,3 @@ private:
}; };
#endif #endif

View file

@ -2,9 +2,12 @@
//#include <stdlib.h> //#include <stdlib.h>
//#include <qapplicationstatic.h> //#include <qapplicationstatic.h>
//#define QTBLESSED
#include <QApplication> #include <QApplication>
#include <QMainWindow> #include <QMainWindow>
//#include "contclasses.h"
#include "qtclasses.h" #include "qtclasses.h"
#include "global.h" #include "global.h"