reverted failed attempt, fixed callback release

This commit is contained in:
Hane 2023-08-12 17:29:01 +02:00
commit f21619aa1f
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;
NGuid* guid = osh->getGuid();
if (memcmp(guid, &eventData, sizeof(guid)) == 0) {
if (memcmp(guid, &eventData, sizeof(*guid)) == 0) {
log_debugcpp("perlitas");
} else {
log_debugcpp("Onnanokotify says Stored: " << guid->data1);

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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