reverted failed attempt, fixed callback release
This commit is contained in:
parent
c8d64481e8
commit
a565190e6f
7 changed files with 51 additions and 30 deletions
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -65,7 +65,6 @@ class EndpointCallback : public IAudioEndpointVolumeCallback {
|
|||
private:
|
||||
ULONG ref = 1;
|
||||
Endpoint* ep;
|
||||
//PAUDIO_VOLUME_NOTIFICATION_DATA update;
|
||||
};
|
||||
|
||||
class Overseer {
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
* }
|
||||
*/
|
||||
|
||||
|
|
|
|||
|
|
@ -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; */
|
||||
};
|
||||
|
|
|
|||
|
|
@ -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() {
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue