void FTimeline::SetTimelineLength(float NewLength) { Length = NewLength; if(Position > NewLength) { SetNewTime(NewLength-KINDA_SMALL_NUMBER); } }
void AmEventTimeView::ObserverMessageReceived(BMessage* msg) { int32 change; msg->FindInt32(B_OBSERVE_WHAT_CHANGE, &change); if (change == ARPMSG_INT_CONTROL_CHANGED) { if ( ConstructSignatureFromControls() == B_OK ) { if ( (mBeatCtrl == 0) || (mClockCtrl == 0) ) return; AmTime time = mSignature->StartTime(); time += ( (mBeatCtrl->Value() - 1) * mSignature->TicksPerBeat() ); time += mClockCtrl->Value(); SetNewTime(time); } } else if (change == ARPMSG_TIME_VIEW_CHANGED) { // Just force a redisplay SetEvent( mContainer, mEvent ); } }