diff --git a/src/mainwindow.cc b/src/mainwindow.cc index 97ff044..6565b33 100644 --- a/src/mainwindow.cc +++ b/src/mainwindow.cc @@ -484,7 +484,7 @@ void MainWindow::updateSinkInput(const pa_sink_input_info &info) { w->type = info.client != PA_INVALID_INDEX ? SINK_INPUT_CLIENT : SINK_INPUT_VIRTUAL; - w->sinkIndex = info.sink; + w->setSinkIndex(info.sink); char *txt; if (clientNames.count(info.client)) { @@ -530,7 +530,7 @@ void MainWindow::updateSourceOutput(const pa_source_output_info &info) { w->type = info.client != PA_INVALID_INDEX ? SOURCE_OUTPUT_CLIENT : SOURCE_OUTPUT_VIRTUAL; - w->sourceIndex = info.source; + w->setSourceIndex(info.source); char *txt; if (clientNames.count(info.client)) { @@ -694,7 +694,7 @@ void MainWindow::updateVolumeMeter(uint32_t source_index, uint32_t sink_input_id for (std::map::iterator i = sourceOutputWidgets.begin(); i != sourceOutputWidgets.end(); ++i) { SourceOutputWidget* w = i->second; - if (w->sourceIndex == source_index) + if (w->sourceIndex() == source_index) w->updatePeak(v); } } diff --git a/src/sinkinputwidget.cc b/src/sinkinputwidget.cc index 7bdba79..07a4a1d 100644 --- a/src/sinkinputwidget.cc +++ b/src/sinkinputwidget.cc @@ -59,6 +59,14 @@ SinkInputWidget* SinkInputWidget::create(MainWindow* mainWindow) { return w; } +void SinkInputWidget::setSinkIndex(uint32_t idx) { + mSinkIndex = idx; +} + +uint32_t SinkInputWidget::sinkIndex() { + return mSinkIndex; +} + void SinkInputWidget::executeVolumeUpdate() { pa_operation* o; @@ -102,7 +110,7 @@ void SinkInputWidget::clearMenu() { void SinkInputWidget::buildMenu() { for (std::map::iterator i = mpMainWindow->sinkWidgets.begin(); i != mpMainWindow->sinkWidgets.end(); ++i) { SinkMenuItem *m; - sinkMenuItems[i->second->index] = m = new SinkMenuItem(this, i->second->description.c_str(), i->second->index, i->second->index == sinkIndex); + sinkMenuItems[i->second->index] = m = new SinkMenuItem(this, i->second->description.c_str(), i->second->index, i->second->index == mSinkIndex); submenu.append(m->menuItem); } diff --git a/src/sinkinputwidget.h b/src/sinkinputwidget.h index 5eb431e..bf65108 100644 --- a/src/sinkinputwidget.h +++ b/src/sinkinputwidget.h @@ -37,7 +37,9 @@ public: SinkInputType type; - uint32_t index, clientIndex, sinkIndex; + uint32_t index, clientIndex; + void setSinkIndex(uint32_t idx); + uint32_t sinkIndex(); virtual void executeVolumeUpdate(); virtual void onDeviceChange(); virtual void onMuteToggleButton(); @@ -70,6 +72,7 @@ public: private: MainWindow *mpMainWindow; + uint32_t mSinkIndex; }; diff --git a/src/sourceoutputwidget.cc b/src/sourceoutputwidget.cc index 9076578..12eb914 100644 --- a/src/sourceoutputwidget.cc +++ b/src/sourceoutputwidget.cc @@ -59,6 +59,14 @@ SourceOutputWidget* SourceOutputWidget::create(MainWindow* mainWindow) { return w; } +void SourceOutputWidget::setSourceIndex(uint32_t idx) { + mSourceIndex = idx; +} + +uint32_t SourceOutputWidget::sourceIndex() { + return mSourceIndex; +} + void SourceOutputWidget::onKill() { pa_operation* o; if (!(o = pa_context_kill_source_output(get_context(), index, NULL, NULL))) { @@ -81,7 +89,7 @@ void SourceOutputWidget::clearMenu() { void SourceOutputWidget::buildMenu() { for (std::map::iterator i = mpMainWindow->sourceWidgets.begin(); i != mpMainWindow->sourceWidgets.end(); ++i) { SourceMenuItem *m; - sourceMenuItems[i->second->index] = m = new SourceMenuItem(this, i->second->description.c_str(), i->second->index, i->second->index == sourceIndex); + sourceMenuItems[i->second->index] = m = new SourceMenuItem(this, i->second->description.c_str(), i->second->index, i->second->index == mSourceIndex); submenu.append(m->menuItem); } diff --git a/src/sourceoutputwidget.h b/src/sourceoutputwidget.h index 8c4b995..46df6e1 100644 --- a/src/sourceoutputwidget.h +++ b/src/sourceoutputwidget.h @@ -37,7 +37,9 @@ public: SourceOutputType type; - uint32_t index, clientIndex, sourceIndex; + uint32_t index, clientIndex; + void setSourceIndex(uint32_t idx); + uint32_t sourceIndex(); virtual void onDeviceChange(); virtual void onKill(); @@ -68,6 +70,7 @@ public: private: MainWindow *mpMainWindow; + uint32_t mSourceIndex; };