MCPcopy Create free account
hub / github.com/BespokeSynth/BespokeSynth / LoadState

Method LoadState

Source/SongBuilder.cpp:887–936  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

885}
886
887void SongBuilder::LoadState(FileStreamIn& in, int rev)
888{
889 int numTargets;
890 in >> numTargets;
891 mTargets.resize(numTargets);
892 for (int i = 0; i < numTargets; ++i)
893 {
894 mTargets[i] = new ControlTarget();
895 if (rev >= 1)
896 in >> mTargets[i]->mId;
897 mTargets[i]->CreateUIControls(this);
898 mTargets[i]->mCable->LoadState(in);
899 int displayType;
900 in >> displayType;
901 mTargets[i]->mDisplayType = (ControlTarget::DisplayType)displayType;
902 }
903
904 for (auto* scene : mScenes)
905 scene->CleanUp();
906
907 int numScenes;
908 in >> numScenes;
909 mScenes.resize(numScenes);
910 for (int i = 0; i < numScenes; ++i)
911 {
912 mScenes[i] = new SongScene("");
913 in >> mScenes[i]->mName;
914 in >> mScenes[i]->mId;
915 mScenes[i]->CreateUIControls(this);
916
917 int numValues;
918 in >> numValues;
919 mScenes[i]->mValues.resize(numValues);
920 for (int j = 0; j < numValues; ++j)
921 {
922 mScenes[i]->mValues[j] = new ControlValue();
923 in >> mScenes[i]->mValues[j]->mId;
924 in >> mScenes[i]->mValues[j]->mFloatValue;
925 in >> mScenes[i]->mValues[j]->mBoolValue;
926 in >> mScenes[i]->mValues[j]->mIntValue;
927 mScenes[i]->mValues[j]->CreateUIControls(this);
928 mScenes[i]->TargetControlUpdated(mTargets[j], j, false);
929 }
930 }
931
932 RefreshSequencerDropdowns();
933 mWantRefreshValueDropdowns = true;
934
935 IDrawableModule::LoadState(in, rev);
936}
937
938void SongBuilder::DuplicateScene(int sceneIndex)
939{

Callers

nothing calls this directly

Calls 4

resizeMethod · 0.80
CleanUpMethod · 0.80
TargetControlUpdatedMethod · 0.80
CreateUIControlsMethod · 0.45

Tested by

no test coverage detected