//更新 void Navigator::update(){ if(getNoteArrayCount() == 0){ return; } if(mNoteChanged){ if(checkNaviFlag()){ mDouble = checkDouble(); setDraw(mDouble); } }else{ if(!checkNaviFlag()){ mNoteArray->removeObjectAtIndex(0); mNaviSprite->setVisible(false); mIsHoldFirst = false; //同時押しの場合2つ目も削除 if(mDouble){ mNoteArray->removeObjectAtIndex(0); mNaviSpriteDouble->setVisible(false); mIsHoldSecond = false; } mNoteChanged = true; } } if(checkNaviFlag()){ //ホールドの更新 if(mIsHoldFirst){ updateHoldNavi(false); } if(mIsHoldSecond){ updateHoldNavi(true); } } }
string checkReal(double val) { if (strcmp(ifloat(), "float") == 0) { return checkFloat(val); } else { return checkDouble(val); } }
//------------------------------------------------------------------------- int CTimerdClient::addTimerEvent( CTimerd::CTimerEventTypes evType, void* data, time_t announcetime, time_t alarmtime,time_t stoptime, CTimerd::CTimerEventRepeat evrepeat, uint32_t repeatcount,bool forceadd) { if(checkDouble(evType, data, announcetime, alarmtime, stoptime, evrepeat, repeatcount))//check if timer is add double return -1; if (!forceadd) { //printf("[CTimerdClient] checking for overlapping timers\n"); CTimerd::TimerList overlappingTimer; overlappingTimer = getOverlappingTimers(alarmtime, stoptime); if (!overlappingTimer.empty()) { // timerd starts eventID at 0 so we can return -1 return -1; } } bool adzaptimer = false; if(evType == CTimerd::TIMER_ADZAP){ evType = CTimerd::TIMER_ZAPTO; adzaptimer = true; } CTimerd::TransferEventInfo tei; CTimerd::TransferRecordingInfo tri; CTimerdMsg::commandAddTimer msgAddTimer; VALGRIND_PARANOIA(tei); VALGRIND_PARANOIA(tri); VALGRIND_PARANOIA(msgAddTimer); msgAddTimer.alarmTime = alarmtime; msgAddTimer.announceTime = announcetime; msgAddTimer.stopTime = stoptime; msgAddTimer.eventType = evType; msgAddTimer.eventRepeat = evrepeat; msgAddTimer.repeatCount = repeatcount; int length; if( evType == CTimerd::TIMER_SHUTDOWN || evType == CTimerd::TIMER_SLEEPTIMER ) { length = 0; } /* else if(evType == CTimerd::TIMER_NEXTPROGRAM || evType == CTimerd::TIMER_ZAPTO || */ else if (evType == CTimerd::TIMER_ZAPTO || evType == CTimerd::TIMER_IMMEDIATE_RECORD || evType == CTimerd::TIMER_ADZAP) { CTimerd::EventInfo *ei=static_cast<CTimerd::EventInfo*>(data); tei.apids = ei->apids; tei.channel_id = ei->channel_id; tei.epg_starttime = ei->epg_starttime; tei.epgID = ei->epgID; tei.recordingSafety = ei->recordingSafety; length = sizeof( CTimerd::TransferEventInfo); data = &tei; } else if(evType == CTimerd::TIMER_RECORD) { CTimerd::RecordingInfo *ri=static_cast<CTimerd::RecordingInfo*>(data); tri.apids = ri->apids; tri.channel_id = ri->channel_id; tri.epg_starttime = ri->epg_starttime; tri.epgID = ri->epgID; tri.recordingSafety = ri->recordingSafety; strncpy(tri.recordingDir, ri->recordingDir, RECORD_DIR_MAXLEN-1); length = sizeof( CTimerd::TransferRecordingInfo); data = &tri; } else if(evType == CTimerd::TIMER_STANDBY) { length = sizeof(CTimerdMsg::commandSetStandby); } else if(evType == CTimerd::TIMER_REMIND) { length = sizeof(CTimerdMsg::commandRemind); } else if(evType == CTimerd::TIMER_EXEC_PLUGIN) { length = sizeof(CTimerdMsg::commandExecPlugin); } else { length = 0; } send(CTimerdMsg::CMD_ADDTIMER, (char*)&msgAddTimer, sizeof(msgAddTimer)); if((data != NULL) && (length > 0)) send_data((char*)data, length); CTimerdMsg::responseAddTimer response; receive_data((char*)&response, sizeof(response)); close_connection(); if(adzaptimer){ adzap_eventID = response.eventID;//set adzap flag } return( response.eventID); }