wip: meter bar

This commit is contained in:
Hane 2024-04-28 18:26:44 +02:00
commit 20a82b42d4
9 changed files with 104 additions and 36 deletions

View file

@ -241,14 +241,18 @@ Endpoint::Endpoint(IMMDevice* ep, uint64_t idx){
if(this->endpointState == EndpointState::ENDPOINT_ACTIVE) {
activateEndpointVolume();
//if(FAILED(endpoint->Activate(__uuidof(IAudioClient),
// CLSCTX_ALL, NULL, (void**)&audioClient))) { log_debugcpp("audioclntbros..."); }
//audioClient->GetDevicePeriod(&defTime, &minTime);
//todo: check header
//if(FAILED(endpoint->Activate(__uuidof(IAudioMeterInformation),
// CLSCTX_ALL, NULL, (void**)&endpointPeakMeter))) { log_debugcpp("peakbros..."); }
//endpointPeakMeter->GetPeakValue(&test);
}
reloadEndpointChannels();
//todo: check header
// if(FAILED(endpoint->Activate(__uuidof(IAudioMeterInformation),
// CLSCTX_ALL, NULL, (void**)&endpointPeakMeter))) { log_debugcpp("peakbros..."); }
//todo: atexit into exit Gather ID
LPWSTR tempString = nullptr;
@ -494,20 +498,8 @@ void Endpoint::removeRoles(Roles role){
void Endpoint::setFlow() {
IMMEndpoint* flowGetter;
//this should be as simple as writing IID_IMMEndpoint, but it just won't find the macro, so I copied it. Sad.
GUID manual;
manual.Data1 = 0x1be09788;
manual.Data2 = 0x6894;
manual.Data3 = 0x4089;
manual.Data4[0] = 0x85;
manual.Data4[1] = 0x86;
manual.Data4[2] = 0x9a;
manual.Data4[3] = 0x2a;
manual.Data4[4] = 0x6c;
manual.Data4[5] = 0x26;
manual.Data4[6] = 0x5a;
manual.Data4[7] = 0xc5;
if(FAILED(this->endpoint->QueryInterface((const _GUID)manual, (void**)&flowGetter)))
//this should be as simple as writing IID_IMMEndpoint, but it just won't find the macro, so I reimpl it. Sad.
if(FAILED(this->endpoint->QueryInterface(__uuidof(IMMEndpoint), (void**)&flowGetter)))
{ log_debugcpp("no flow..."); }
EDataFlow MSflow;
HRESULT vafllar = flowGetter->GetDataFlow(&MSflow);