From 826373aee40a23d5bf1fb6ccc428a2b6c7e27df0 Mon Sep 17 00:00:00 2001 From: Hane Date: Sat, 11 Feb 2023 03:12:45 +0100 Subject: [PATCH] no copies objetos, anda --- src/back/backlasses.cpp | 26 ++++++++++++++------------ src/back/backlasses.h | 4 ++-- src/cont/contclasses.cpp | 4 ++-- src/cont/contclasses.h | 2 +- src/qtestmain.cpp | 2 +- 5 files changed, 20 insertions(+), 18 deletions(-) diff --git a/src/back/backlasses.cpp b/src/back/backlasses.cpp index 61e3562..6545136 100644 --- a/src/back/backlasses.cpp +++ b/src/back/backlasses.cpp @@ -25,12 +25,13 @@ void Endpoint::setVolume(float volume) { if(FAILED(endpointVolume->SetMasterVolumeLevelScalar(volume, NULL))) { log_debugcpp("si"); }; } -//Endpoint::~Endpoint(){ -// free(friendlyName); -// properties->Release(); -// endpointVolume->Release(); -// endpoint->Release(); -//} +Endpoint::~Endpoint(){ + log_debugcpp("cum"); + free(friendlyName); + properties->Release(); + endpointVolume->Release(); + endpoint->Release(); +} void Overseer::initCOMLibrary(){ @@ -90,12 +91,13 @@ std::vector Overseer::getPlaybackEndpoints() { return playbackDevices; } -//Overseer::~Overseer(){ - // deviceEnumerator->Release(); - // for(unsigned long long i = 0; i < playbackDevices.size(); i++){ - //delete(playbackDevices.at(i)); - //} - //} +Overseer::~Overseer(){ + log_debugcpp("cum"); + deviceEnumerator->Release(); + for(unsigned long long i = 0; i < playbackDevices.size(); i++){ + delete(playbackDevices.at(i)); + } +} //int Overseer::getCaptureEndpoints(std::vector *captureEndpoints); diff --git a/src/back/backlasses.h b/src/back/backlasses.h index 90bc88b..dc4287a 100644 --- a/src/back/backlasses.h +++ b/src/back/backlasses.h @@ -25,7 +25,7 @@ class Endpoint { void setVolume(float volume); float getVolume(); LPWSTR getName(); - //~Endpoint(); + ~Endpoint(); private: IMMDevice* endpoint; @@ -46,7 +46,7 @@ class Overseer { //int getDefaultCaptureEndpoint(Endpoint** defaultEndpoint); //int getCaptureEndpoints(std::vector *captureEndpoints); //IMMDeviceEnumerator** setOrigin(); - //~Overseer(); + ~Overseer(); private: unsigned int numPlaybackEndpoints; diff --git a/src/cont/contclasses.cpp b/src/cont/contclasses.cpp index 30b2688..8b5b752 100644 --- a/src/cont/contclasses.cpp +++ b/src/cont/contclasses.cpp @@ -19,8 +19,8 @@ float EndpointHandler::getVolume(){ return ept->getVolume(); } -Overseer OverseerHandler::getOverseer(){ - return os; +Overseer* OverseerHandler::getOverseer(){ + return &os; } OverseerHandler::OverseerHandler(QObject *parent) : QObject(parent) { diff --git a/src/cont/contclasses.h b/src/cont/contclasses.h index 647ca1d..178a756 100644 --- a/src/cont/contclasses.h +++ b/src/cont/contclasses.h @@ -34,7 +34,7 @@ public: OverseerHandler(QObject *parent = nullptr); void setEndpointHandlers(std::vector *ephs); std::vector* getEndpointHandlers(); - static Overseer getOverseer(); + static Overseer* getOverseer(); private: static Overseer os; diff --git a/src/qtestmain.cpp b/src/qtestmain.cpp index 610f0b4..1305a69 100644 --- a/src/qtestmain.cpp +++ b/src/qtestmain.cpp @@ -24,7 +24,7 @@ QApplication* createApplication(int &argc, char *argv[]) int main (int argc, char* argv[]) { //QApplication::setStyle("windowsvista"); //INIT CONT - std::vector epts = OverseerHandler::getOverseer().getPlaybackEndpoints(); + std::vector epts = OverseerHandler::getOverseer()->getPlaybackEndpoints(); std::vector* ephs = new std::vector; for(unsigned int i = 0; i < epts.size(); i++){ EndpointHandler *eph = new EndpointHandler(epts.at(i));