no copies objetos, anda

This commit is contained in:
Hane 2023-02-11 03:12:45 +01:00
commit 826373aee4
5 changed files with 20 additions and 18 deletions

View file

@ -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<Endpoint*> 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<Endpoint*> *captureEndpoints);

View file

@ -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<Endpoint*> *captureEndpoints);
//IMMDeviceEnumerator** setOrigin();
//~Overseer();
~Overseer();
private:
unsigned int numPlaybackEndpoints;

View file

@ -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) {

View file

@ -34,7 +34,7 @@ public:
OverseerHandler(QObject *parent = nullptr);
void setEndpointHandlers(std::vector<EndpointHandler*> *ephs);
std::vector<EndpointHandler*>* getEndpointHandlers();
static Overseer getOverseer();
static Overseer* getOverseer();
private:
static Overseer os;

View file

@ -24,7 +24,7 @@ QApplication* createApplication(int &argc, char *argv[])
int main (int argc, char* argv[]) {
//QApplication::setStyle("windowsvista");
//INIT CONT
std::vector<Endpoint*> epts = OverseerHandler::getOverseer().getPlaybackEndpoints();
std::vector<Endpoint*> epts = OverseerHandler::getOverseer()->getPlaybackEndpoints();
std::vector<EndpointHandler*>* ephs = new std::vector<EndpointHandler*>;
for(unsigned int i = 0; i < epts.size(); i++){
EndpointHandler *eph = new EndpointHandler(epts.at(i));