+void PaControlModel::changeExternalVolume(uint32_t type, uint32_t cindex, uint32_t channel, uint32_t volume)
+{
+ QList<PaControl>::iterator i;
+ int row;
+
+ for (i = m_controls.begin(), row = 0; i < m_controls.end(); ++i, ++row) {
+ if ((i->type() == type) &&
+ (i->cindex() == cindex) &&
+ (i->channel() == channel)) {
+ break;
+ }
+ }
+
+ i->setVolume(NULL, QVariant(volume));
+ QModelIndex qmindex = index(row);
+ QVector<int> roles;
+ roles.push_back(VolumeRole);
+ emit dataChanged(qmindex, qmindex, roles);
+}
+