bool CPhonographCylinder::RecordOntoCylinderMsg(CRecordOntoCylinderMsg *msg) {
	_itemName = "STMusic";
	
	CQueryMusicControlSettingMsg queryMsg;
	queryMsg.execute("Bells Mute Control");
	_bellsMuteControl = queryMsg._value;
	queryMsg.execute("Bells Pitch Control");
	_bellsPitchControl = queryMsg._value;
	queryMsg.execute("Bells Speed Control");
	_bellsSpeedControl = queryMsg._value;
	queryMsg.execute("Bells Direction Control");
	_bellsDirectionControl = queryMsg._value;
	queryMsg.execute("Bells Inversion Control");
	_bellsInversionControl = queryMsg._value;
	queryMsg.execute("Snake Mute Control");
	_snakeMuteControl = queryMsg._value;
	queryMsg.execute("Snake Speed Control");
	_snakeSpeedControl = queryMsg._value;
	queryMsg.execute("Snake Pitch Control");
	_snakePitchControl = queryMsg._value;
	queryMsg.execute("Snake Inversion Control");
	_snakeInversionControl = queryMsg._value;
	queryMsg.execute("Snake Direction Control");
	_snakeDirectionControl = queryMsg._value;
	queryMsg.execute("Piano Mute Control");
	_pianoMuteControl = queryMsg._value;
	queryMsg.execute("Piano Speed Control");
	_pianoSpeedControl = queryMsg._value;
	queryMsg.execute("Piano Pitch Control");
	_pianoPitchControl = queryMsg._value;	
	queryMsg.execute("Piano Inversion Control");
	_pianoInversionControl = queryMsg._value;
	queryMsg.execute("Piano Direction Control");
	_pianoDirectionControl = queryMsg._value;
	queryMsg.execute("Bass Mute Control");
	_bassMuteControl = queryMsg._value;
	queryMsg.execute("Bass Speed Control");
	_bassSpeedControl = queryMsg._value;
	queryMsg.execute("Bass Pitch Control");
	_bassPitchControl = queryMsg._value;
	queryMsg.execute("Bass Inversion Control");
	_bassInversionControl = queryMsg._value;

	return true;
}
bool CMusicConsoleButton::SetMusicControlsMsg(CSetMusicControlsMsg *msg) {
	CMusicRoom *musicRoom = getMusicRoom();
	CQueryMusicControlSettingMsg queryMsg;
	
	queryMsg.execute("Bells Mute Control");
	musicRoom->setMuteControl(BELLS, queryMsg._value == 1 ? 1 : 0);
	queryMsg.execute("Bells Pitch Control");
	musicRoom->setPitchControl(BELLS, queryMsg._value);
	queryMsg.execute("Bells Speed Control");
	musicRoom->setSpeedControl(BELLS, queryMsg._value);
	queryMsg.execute("Bells Inversion Control");
	musicRoom->setInversionControl(BELLS, queryMsg._value == 0 ? 1 : 0);
	queryMsg.execute("Bells Direction Control");
	musicRoom->setDirectionControl(BELLS, queryMsg._value == 0 ? 1 : 0);

	queryMsg.execute("Snake Mute Control");
	musicRoom->setMuteControl(SNAKE, queryMsg._value == 1 ? 1 : 0);
	queryMsg.execute("Snake Pitch Control");
	musicRoom->setPitchControl(SNAKE, queryMsg._value);
	queryMsg.execute("Snake Speed Control");
	musicRoom->setSpeedControl(SNAKE, queryMsg._value);
	queryMsg.execute("Snake Inversion Control");
	musicRoom->setInversionControl(SNAKE, queryMsg._value == 0 ? 1 : 0);
	queryMsg.execute("Snake Direction Control");
	musicRoom->setDirectionControl(SNAKE, queryMsg._value == 0 ? 1 : 0);

	queryMsg.execute("Piano Mute Control");
	musicRoom->setMuteControl(PIANO, queryMsg._value == 1 ? 1 : 0);
	queryMsg.execute("Piano Pitch Control");
	musicRoom->setPitchControl(PIANO, queryMsg._value);
	queryMsg.execute("Piano Speed Control");
	musicRoom->setSpeedControl(PIANO, queryMsg._value);
	queryMsg.execute("Piano Inversion Control");
	musicRoom->setInversionControl(PIANO, queryMsg._value == 0 ? 1 : 0);
	queryMsg.execute("Piano Direction Control");
	musicRoom->setDirectionControl(PIANO, queryMsg._value == 0 ? 1 : 0);

	queryMsg.execute("Bass Mute Control");
	musicRoom->setMuteControl(BASS, queryMsg._value == 1 ? 1 : 0);
	queryMsg.execute("Bass Pitch Control");
	musicRoom->setPitchControl(BASS, queryMsg._value);
	queryMsg.execute("Bass Speed Control");
	musicRoom->setSpeedControl(BASS, queryMsg._value);
	queryMsg.execute("Bass Inversion Control");
	musicRoom->setInversionControl(BASS, queryMsg._value == 0 ? 1 : 0);
	queryMsg.execute("Bass Direction Control");
	musicRoom->setDirectionControl(BASS, queryMsg._value == 0 ? 1 : 0);

	return true;
}