//----------------------------------------------------------------------------- void GuiEditor::valueChanged (CControl* control) { //effect->setParameterAutomated (control->getTag (), control->getValue ()); float value; int ival; const char* text; std::string result; char* tempt; switch (control->getTag()) { case kBufferSize: ((COptionMenu*)(control))->getCurrent(tempt); ival = ((COptionMenu*)(control))->getIndex(tempt); updateBufferSize(ival); break; case kGain: value = control->getValue(); result = floatToString(value*maxGain); gainDisplay->setText(result.c_str()); updateGain(value*maxGain); break; case kGainText: text = ((CTextEdit*)(control))->getText(); value = charToFloat(text); gainFader->setValue(value/(float)maxGain); updateGain(value); break; case kXScale: value = control->getValue(); result = floatToString(value*maxXScale); xScaleDisplay->setText(result.c_str()); updateXScale(value*maxXScale); break; case kXScaleText: text = ((CTextEdit*)(control))->getText(); value = charToFloat(text); xScaleFader->setValue(value/(float)maxXScale); updateXScale(value); break; case kYScale: value = control->getValue(); result = floatToString(value*maxYScale); yScaleDisplay->setText(result.c_str()); updateYScale(value*maxYScale); break; case kYScaleText: text = ((CTextEdit*)(control))->getText(); value = charToFloat(text); yScaleFader->setValue(value/(float)maxYScale); updateYScale(value); break; case kResponse: value = control->getValue(); result = floatToString(value); responseDisplay->setText(result.c_str()); updateResponse(value); break; case kResponseText: text = ((CTextEdit*)(control))->getText(); value = charToFloat(text); responseFader->setValue(value); updateResponse(value); break; case kBands: ival = (int)(control->getValue()*maxBands); result = intToString(ival); bandsDisplay->setText(result.c_str()); bandsFader->setValue(((float)ival)/(float)maxBands); updateBands(ival); break; case kBandsText: text = ((CTextEdit*)(control))->getText(); ival = charToInt(text); bandsFader->setValue((float)value/(float)maxBands); updateBands(ival); break; case kAmpScale: ((COptionMenu*)(control))->getCurrent(tempt); ival = ((COptionMenu*)(control))->getIndex(tempt); updateAmpScale(ival); break; case kType: ((COptionMenu*)(control))->getCurrent(tempt); ival = ((COptionMenu*)(control))->getIndex(tempt); updateType(ival); break; case kDisplay: ((COptionMenu*)(control))->getCurrent(tempt); ival = ((COptionMenu*)(control))->getIndex(tempt); updateDisplayt(ival); break; case kResampling: ((COptionMenu*)(control))->getCurrent(tempt); ival = ((COptionMenu*)(control))->getIndex(tempt); updateResampling(ival); break; case kFreqScale: ((COptionMenu*)(control))->getCurrent(tempt); ival = ((COptionMenu*)(control))->getIndex(tempt); updateFreqScale(ival); break; case kAddress: text = ((CTextEdit*)(control))->getText(); updateAddress(text); break; case kPort: text = ((CTextEdit*)(control))->getText(); ival = charToInt(text); updatePort(ival); break; case kHost: text = ((CTextEdit*)(control))->getText(); updateHost(text); break; } }
void pthread_talk(int connectfd, struct sockaddr_in cli_addr) { char sendBuffer[bufsize]; char recvBuffer[bufsize]; char _cli_addr[bufsize]; strcpy(_cli_addr, inet_ntoa(cli_addr.sin_addr)); int _cli_port = ntohs(cli_addr.sin_port); int ret; while (1) { ret = recvPackage(&connectfd, recvBuffer, bufsize); if (ret != 0) { cJSON *function = cJSON_Parse(recvBuffer); int header = cJSON_GetObjectItem(function, "header")->valueint; if (header == 0) cJSON_AddStringToObject(function, "ipaddress", _cli_addr); printf("%d\n", header); switch (header) { case LOGIN_REQUEST: loginResponse(function, sendBuffer); break; case LOGOUT_REQUEST: logoutResponse(function, sendBuffer); break; case GETFRIEND_REQUEST: getfriendResponse(function, sendBuffer); break; case ADDFRIEND_REQUEST: addfriendResponse(function, sendBuffer); break; case GETIP_REQUEST: getipResponse(function, sendBuffer); break; case GETGROUP_REQUEST: getgroupResponse(function, sendBuffer); break; case ADDGROUP_REQUEST: addgroupResponse(function, sendBuffer); break; case SEARCH_REQUEST: searchResponse(function, sendBuffer); break; case SAVELOG_REQUEST: savelogResponse(function, sendBuffer); break; case UPDATE_REQUEST: updateResponse(function, sendBuffer); break; case IMALIVE_REQUEST: imaliveResponse(function, sendBuffer); break; default: defaultResponse(function, sendBuffer); break; } sendMessage(&connectfd, sendBuffer, strlen(sendBuffer) + 1); } } close(connectfd); }