barritas de canal que funcionan weeeee
This commit is contained in:
parent
b006896ccb
commit
eaa935fb39
7 changed files with 52 additions and 18 deletions
|
|
@ -15,28 +15,38 @@ LPWSTR Endpoint::getName(){
|
||||||
return friendlyName;
|
return friendlyName;
|
||||||
}
|
}
|
||||||
|
|
||||||
float Endpoint::getVolume(){
|
float Endpoint::getVolume(int channel){
|
||||||
float volume;
|
float volume;
|
||||||
|
if (channel == ENDPOINT_MASTER_VOLUME) {
|
||||||
if(FAILED(endpointVolume->GetMasterVolumeLevelScalar(&volume))) { log_debugcpp("si");}
|
if(FAILED(endpointVolume->GetMasterVolumeLevelScalar(&volume))) { log_debugcpp("si");}
|
||||||
|
} else {
|
||||||
|
if(FAILED(endpointVolume->GetChannelVolumeLevelScalar(channel, &volume))) { log_debugcpp("si");}
|
||||||
|
}
|
||||||
return volume;
|
return volume;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* float Endpoint::getLeftChannelVolume(){
|
* float Endpoint::getLeftChannelVolume(){
|
||||||
* float volume;
|
* float volume;
|
||||||
* if(FAILED(endpointVolume->GetMasterVolumeLevelScalar(&volume))) { log_debugcpp("si");}
|
* if(FAILED(endpointVolume-> GetChannelVolumeLevelScalar(0, &volume)) { log_debugcpp("si"); } );
|
||||||
* return volume;
|
* return volume;
|
||||||
* }
|
* }
|
||||||
*
|
*
|
||||||
* float Endpoint::getRightChannelVolume(){
|
* float Endpoint::getRightChannelVolume(){
|
||||||
* float volume;
|
* float volume;
|
||||||
* if(FAILED(endpointVolume->GetMasterVolumeLevelScalar(&volume))) { log_debugcpp("si");}
|
* if(FAILED(endpointVolume-> GetChannelVolumeLevelScalar(1, &volume)) { log_debugcpp("si");}
|
||||||
* return volume;
|
* return volume;
|
||||||
* }
|
* }
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void Endpoint::setVolume(float volume) {
|
|
||||||
|
void Endpoint::setVolume(int channel, float volume) {
|
||||||
|
if (channel == ENDPOINT_MASTER_VOLUME) {
|
||||||
if(FAILED(endpointVolume->SetMasterVolumeLevelScalar(volume, NULL))) { log_debugcpp("si"); };
|
if(FAILED(endpointVolume->SetMasterVolumeLevelScalar(volume, NULL))) { log_debugcpp("si"); };
|
||||||
|
} else {
|
||||||
|
if(FAILED(endpointVolume->SetChannelVolumeLevelScalar(channel, volume, NULL))) { log_debugcpp("si"); };
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Endpoint::~Endpoint(){
|
Endpoint::~Endpoint(){
|
||||||
|
|
|
||||||
|
|
@ -23,8 +23,10 @@ class Endpoint {
|
||||||
|
|
||||||
public:
|
public:
|
||||||
Endpoint(IMMDevice* endpoint);
|
Endpoint(IMMDevice* endpoint);
|
||||||
void setVolume(float volume);
|
void setVolume(int channel, float volume);
|
||||||
float getVolume();
|
/* float getLeftChannelVolume(); */
|
||||||
|
/* float getRightChannelVolume(); */
|
||||||
|
float getVolume(int channel);
|
||||||
LPWSTR getName();
|
LPWSTR getName();
|
||||||
~Endpoint();
|
~Endpoint();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,17 +6,21 @@ EndpointHandler::EndpointHandler(Endpoint *ept, QObject *parent) : QObject(paren
|
||||||
this->ept = ept;
|
this->ept = ept;
|
||||||
eptName = QString::fromStdWString(ept->getName());
|
eptName = QString::fromStdWString(ept->getName());
|
||||||
}
|
}
|
||||||
|
/*
|
||||||
void EndpointHandler::setValue(int value){
|
* -1 for master volume
|
||||||
ept->setVolume((float)value / 100);
|
*/
|
||||||
|
void EndpointHandler::setValue(int channel, int value){
|
||||||
|
if (channel == ENDPOINT_MASTER_VOLUME)
|
||||||
|
ept->setVolume(channel, (float)value / 100);
|
||||||
|
else ept->setVolume(channel, (float)value / 100);
|
||||||
}
|
}
|
||||||
|
|
||||||
QString EndpointHandler::getName(){
|
QString EndpointHandler::getName(){
|
||||||
return eptName;
|
return eptName;
|
||||||
}
|
}
|
||||||
|
|
||||||
float EndpointHandler::getVolume(){
|
float EndpointHandler::getVolume(int channel){
|
||||||
return ept->getVolume();
|
return ept->getVolume(channel);
|
||||||
}
|
}
|
||||||
|
|
||||||
Overseer* OverseerHandler::getOverseer(){
|
Overseer* OverseerHandler::getOverseer(){
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ class EndpointHandler : public QObject {
|
||||||
public:
|
public:
|
||||||
EndpointHandler(Endpoint *ept, QObject *parent = nullptr);
|
EndpointHandler(Endpoint *ept, QObject *parent = nullptr);
|
||||||
QString getName();
|
QString getName();
|
||||||
float getVolume();
|
float getVolume(int channel);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Endpoint *ept;
|
Endpoint *ept;
|
||||||
|
|
@ -17,7 +17,7 @@ private:
|
||||||
//QSlider *slidy;
|
//QSlider *slidy;
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
void setValue(int value);
|
void setValue(int channel, int value);
|
||||||
|
|
||||||
|
|
||||||
//signals:
|
//signals:
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,11 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
//TODO enum capullo
|
||||||
|
#define ENDPOINT_MASTER_VOLUME -1
|
||||||
|
#define ENDPOINT_LEFT_CHANNEL_VOLUME 0
|
||||||
|
#define ENDPOINT_RIGHT_CHANNEL_VOLUME 1
|
||||||
//INIT BACK
|
//INIT BACK
|
||||||
|
|
||||||
class OverseerHandler;
|
class OverseerHandler;
|
||||||
extern OverseerHandler *osh;
|
extern OverseerHandler *osh;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@
|
||||||
|
|
||||||
|
|
||||||
EndpointWidget::EndpointWidget(EndpointHandler* eph, QWidget *parent) : QWidget(parent){
|
EndpointWidget::EndpointWidget(EndpointHandler* eph, QWidget *parent) : QWidget(parent){
|
||||||
|
this->eph = eph;
|
||||||
layout = new QGridLayout();
|
layout = new QGridLayout();
|
||||||
this->setLayout(layout);
|
this->setLayout(layout);
|
||||||
log_debugcpp("olaW");
|
log_debugcpp("olaW");
|
||||||
|
|
@ -27,8 +28,14 @@ EndpointWidget::EndpointWidget(EndpointHandler* eph, QWidget *parent) : QWidget(
|
||||||
rightChannelSlider->setSingleStep(1);
|
rightChannelSlider->setSingleStep(1);
|
||||||
rightChannelSlider->setRange(0,100);
|
rightChannelSlider->setRange(0,100);
|
||||||
|
|
||||||
float volume = eph->getVolume() * 100;
|
float volume = eph->getVolume(ENDPOINT_MASTER_VOLUME) * 100;
|
||||||
mainSlider->setValue((int)volume);
|
mainSlider->setValue((int)volume);
|
||||||
|
volume = eph->getVolume(ENDPOINT_LEFT_CHANNEL_VOLUME) * 100;
|
||||||
|
leftChannelSlider->setValue((int)volume);
|
||||||
|
leftChannelLabel->setText(QString::number(volume));
|
||||||
|
volume = eph->getVolume(ENDPOINT_RIGHT_CHANNEL_VOLUME) * 100;
|
||||||
|
rightChannelSlider->setValue((int)volume);
|
||||||
|
rightChannelLabel->setText(QString::number(volume));
|
||||||
log_debugcpp("ENDPOINT SET WITH VOLUME " << volume);
|
log_debugcpp("ENDPOINT SET WITH VOLUME " << volume);
|
||||||
|
|
||||||
layout->addWidget(mainLabel, 0, 0);
|
layout->addWidget(mainLabel, 0, 0);
|
||||||
|
|
@ -40,7 +47,12 @@ EndpointWidget::EndpointWidget(EndpointHandler* eph, QWidget *parent) : QWidget(
|
||||||
layout->addItem(new QSpacerItem(1, 1, QSizePolicy::Minimum, QSizePolicy::MinimumExpanding), 3, 0);
|
layout->addItem(new QSpacerItem(1, 1, QSizePolicy::Minimum, QSizePolicy::MinimumExpanding), 3, 0);
|
||||||
layout->addItem(new QSpacerItem(1, 1, QSizePolicy::Minimum, QSizePolicy::MinimumExpanding), 3, 1);
|
layout->addItem(new QSpacerItem(1, 1, QSizePolicy::Minimum, QSizePolicy::MinimumExpanding), 3, 1);
|
||||||
|
|
||||||
connect(mainSlider, &QSlider::valueChanged, eph, &EndpointHandler::setValue);
|
/*
|
||||||
|
* connect(mainSlider, &QSlider::valueChanged, eph, &EndpointHandler::setValue);
|
||||||
|
*/
|
||||||
|
connect(mainSlider, &QSlider::valueChanged, [this](int newValue){this->eph->setValue(ENDPOINT_MASTER_VOLUME, newValue); });
|
||||||
|
connect(leftChannelSlider, &QSlider::valueChanged, [this](int newValue){ this->eph->setValue(ENDPOINT_LEFT_CHANNEL_VOLUME, newValue); this->leftChannelLabel->setText(QString::number(newValue)); });
|
||||||
|
connect(rightChannelSlider, &QSlider::valueChanged, [this](int newValue){ this->eph->setValue(ENDPOINT_RIGHT_CHANNEL_VOLUME, newValue); this->rightChannelLabel->setText(QString::number(newValue)); });
|
||||||
log_debugcpp("ENDPOINT_WIDGETED");
|
log_debugcpp("ENDPOINT_WIDGETED");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -22,6 +22,7 @@ public:
|
||||||
//void setEndpointHandlers(std::vector<EndpointHandler*> *ephs);
|
//void setEndpointHandlers(std::vector<EndpointHandler*> *ephs);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
EndpointHandler* eph;
|
||||||
QLabel *mainLabel = nullptr, *leftChannelLabel = nullptr, *rightChannelLabel = nullptr;
|
QLabel *mainLabel = nullptr, *leftChannelLabel = nullptr, *rightChannelLabel = nullptr;
|
||||||
QSlider *mainSlider = nullptr;
|
QSlider *mainSlider = nullptr;
|
||||||
QSlider *leftChannelSlider = nullptr;
|
QSlider *leftChannelSlider = nullptr;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue