CBlend* CKinematicsAnimated::IBlend_Create () { UpdateTracks (); _DBG_SINGLE_USE_MARKER; CBlend *I=blend_pool.begin(), *E=blend_pool.end(); for (; I!=E; I++) if (I->blend == CBlend::eFREE_SLOT) return I; FATAL("Too many blended motions requisted"); return 0; }
sbError sbiTunesAgentProcessor::UpdateTrack(std::string const & aID, std::string const & aPath) { if (mTrackBatch.size() >= mBatchSize) { sbError const & error = UpdateTracks(mTrackBatch); SB_ENSURE_ERRORHANDLER(error); mLastSource = ""; mTrackBatch.clear(); } mTrackBatch.push_back(Track(Track::TYPE_ITUNES, aID, aPath)); return sbNoError; }
sbError sbiTunesAgentProcessor::ProcessPendingTrackBatch() { std::string source(mLastSource); mLastSource.clear(); mLastMethod.clear(); if (mTrackBatch.empty()) { return sbNoError; } if (mTrackBatch.front().type == Track::TYPE_ITUNES) { // updates sbError const & error = UpdateTracks(mTrackBatch); SB_ENSURE_ERRORHANDLER(error); } else { sbError const & error = AddTracks(source, mTrackBatch); SB_ENSURE_ERRORHANDLER(error); } mTrackBatch.clear(); return sbNoError; }
static void SplitTitleArtist(GtkWidget *widget,gpointer data) { GripInfo *ginfo; int track; int mode; ginfo=(GripInfo *)data; mode=(int)gtk_object_get_user_data(GTK_OBJECT(widget)); for(track=0;track<ginfo->disc.num_tracks;track++) { if(mode==0) SeparateFields(ginfo->ddata.data_track[track].track_name, ginfo->ddata.data_track[track].track_name, ginfo->ddata.data_track[track].track_artist, ginfo->title_split_chars); else SeparateFields(ginfo->ddata.data_track[track].track_name, ginfo->ddata.data_track[track].track_artist, ginfo->ddata.data_track[track].track_name, ginfo->title_split_chars); } UpdateTracks(ginfo); }
void CKinematicsAnimated::OnCalculateBones () { UpdateTracks () ; }