Transert de la gestion du Z2 lock au MasterCtrl

This commit is contained in:
jfmartel 2024-02-04 14:25:04 -05:00
parent ac8490b5ee
commit 2dfd185494
6 changed files with 34 additions and 9 deletions

View File

@ -109,6 +109,14 @@ int CAvReceiver::Zone2VolumeChanged(float Value)
return mNetworkInterface->SendMasterCtrlCommand(AV_RECEIVER_INTERFACE_SET_ZONE2_VOLUME_REQUEST,VolumeData); return mNetworkInterface->SendMasterCtrlCommand(AV_RECEIVER_INTERFACE_SET_ZONE2_VOLUME_REQUEST,VolumeData);
} }
int CAvReceiver::SyncZonesVolumesChanged(bool Sync)
{
QByteArray SyncData;
QDataStream Strm(&SyncData,QIODevice::WriteOnly);
Strm << Sync;
return mNetworkInterface->SendMasterCtrlCommand(AV_RECEIVER_INTERFACE_SET_SYNC_Z2_WITH_Z1_REQUEST,SyncData);
}
int CAvReceiver::Zone2InputSrcChanged(QString InputSrc) int CAvReceiver::Zone2InputSrcChanged(QString InputSrc)
{ {
QByteArray SourceData; QByteArray SourceData;

View File

@ -25,6 +25,7 @@ public:
int MainZoneVolumeChanged(float Value); int MainZoneVolumeChanged(float Value);
int Zone2VolumeChanged(float Value); int Zone2VolumeChanged(float Value);
int Zone2InputSrcChanged(QString InputSrc); int Zone2InputSrcChanged(QString InputSrc);
int SyncZonesVolumesChanged(bool Sync);

View File

@ -23,6 +23,7 @@ QByteArray CAvReceiverMainStatus::ToByteArray()
Strm << mDataValid; Strm << mDataValid;
Strm << mReceiverOnline; Strm << mReceiverOnline;
Strm << mSyncZonesVolumes;
return Output; return Output;
@ -42,6 +43,7 @@ int CAvReceiverMainStatus::FromByteArray(QByteArray Data)
Strm >> mDataValid; Strm >> mDataValid;
Strm >> mReceiverOnline; Strm >> mReceiverOnline;
Strm >> mSyncZonesVolumes;
return RET_OK; return RET_OK;
@ -55,7 +57,8 @@ QDataStream &operator<<(QDataStream &out, const CAvReceiverMainStatus &source)
<< source.mInput << source.mInput
<< source.mProgram << source.mProgram
<< source.mDataValid << source.mDataValid
<< source.mReceiverOnline; << source.mReceiverOnline
<< source.mSyncZonesVolumes;
return out; return out;
} }
@ -69,6 +72,7 @@ QDataStream &operator>>(QDataStream &in, CAvReceiverMainStatus &dest)
>> dest.mInput >> dest.mInput
>> dest.mProgram >> dest.mProgram
>> dest.mDataValid >> dest.mDataValid
>> dest.mReceiverOnline; >> dest.mReceiverOnline
>> dest.mSyncZonesVolumes;
return in; return in;
} }

View File

@ -29,6 +29,7 @@ public:
bool mIsMute; bool mIsMute;
QString mInput; QString mInput;
QString mProgram; QString mProgram;
bool mSyncZonesVolumes;
bool mDataValid; bool mDataValid;
bool mReceiverOnline; bool mReceiverOnline;

View File

@ -172,6 +172,11 @@ int CAvReceiverGui::UpdateReceiverStatus(CAvReceiverMainStatus Status, CAvReceiv
mTrayVolumeCtrlGuiHandle->SetZone2Volume(SliderValue,Zone2Status.mMainVolume); mTrayVolumeCtrlGuiHandle->SetZone2Volume(SliderValue,Zone2Status.mMainVolume);
} }
if(Status.mSyncZonesVolumes)
ui->mZone2SyncVolumeChkBx->setCheckState(Qt::Checked);
else
ui->mZone2SyncVolumeChkBx->setCheckState(Qt::Unchecked);
return RET_OK; return RET_OK;
} }
@ -219,11 +224,12 @@ void CAvReceiverGui::MainZoneVolumeSetChanged(int value)
mProgramHandle->MainZoneVolumeChanged(Volume); mProgramHandle->MainZoneVolumeChanged(Volume);
if(mLockZone2VolumeWithZone1 == true) // if(mLockZone2VolumeWithZone1 == true)
if(ui->mZone2SyncVolumeChkBx->checkState() == Qt::Checked)
{ {
ui->mZone2VolumeSldBar->setValue(BarPosition); ui->mZone2VolumeSldBar->setValue(BarPosition);
mVolumeBarMovementTimer->start(); // mVolumeBarMovementTimer->start();
//mProgramHandle->Zone2VolumeChanged(Volume); // //mProgramHandle->Zone2VolumeChanged(Volume);
} }
} }
@ -251,17 +257,20 @@ void CAvReceiverGui::Zone2LockVolumeChanged(bool checked)
mLockZone2VolumeWithZone1 = checked; mLockZone2VolumeWithZone1 = checked;
if(checked) if(checked)
{ {
//Set Zone 2 volume to main zone value // //Set Zone 2 volume to main zone value
int BarPosition = ui->mMainZoneVolumeSldBar->value(); // int BarPosition = ui->mMainZoneVolumeSldBar->value();
float Volume = ConvertBarPositionToVolume(BarPosition); // float Volume = ConvertBarPositionToVolume(BarPosition);
mProgramHandle->Zone2VolumeChanged(Volume); // mProgramHandle->Zone2VolumeChanged(Volume);
ui->mZone2VolumeSldBar->setEnabled(false); ui->mZone2VolumeSldBar->setEnabled(false);
mProgramHandle->SyncZonesVolumesChanged(true);
} }
else else
{ {
ui->mZone2VolumeSldBar->setEnabled(true); ui->mZone2VolumeSldBar->setEnabled(true);
mProgramHandle->SyncZonesVolumesChanged(false);
} }
} }

View File

@ -254,6 +254,8 @@ enum AV_RECEIVER_INTERFACE_CMDS
AV_RECEIVER_INTERFACE_SET_ZONE2_VOLUME_RESPONSE, AV_RECEIVER_INTERFACE_SET_ZONE2_VOLUME_RESPONSE,
AV_RECEIVER_INTERFACE_SET_ZONE2_INPUT_REQUEST, AV_RECEIVER_INTERFACE_SET_ZONE2_INPUT_REQUEST,
AV_RECEIVER_INTERFACE_SET_ZONE2_INPUT_RESPONSE, AV_RECEIVER_INTERFACE_SET_ZONE2_INPUT_RESPONSE,
AV_RECEIVER_INTERFACE_SET_SYNC_Z2_WITH_Z1_REQUEST,
AV_RECEIVER_INTERFACE_SET_SYNC_Z2_WITH_Z1_RESPONSE,
MAX_AV_RECEIVER_INTERFACE_CMD MAX_AV_RECEIVER_INTERFACE_CMD