MCPcopy Create free account
hub / github.com/HertzDevil/0CC-FamiTracker / OnUpdate

Method OnUpdate

Source/FamiTrackerView.cpp:1156–1230  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1154}
1155
1156void CFamiTrackerView::OnUpdate(CView* /*pSender*/, LPARAM lHint, CObject* /*pHint*/)
1157{
1158 // Called when the document has changed
1159 CMainFrame *pMainFrm = GetMainFrame(); // // //
1160
1161 // Handle new flags
1162 switch (lHint) {
1163 // Track has been added, removed or changed
1164 case UPDATE_TRACK:
1165 if (FTEnv.GetSoundGenerator()->IsPlaying())
1166 FTEnv.GetSoundGenerator()->StopPlayer(); // // //
1167 UpdateSongView(); // // //
1168 pMainFrm->UpdateTrackBox();
1169 m_pPatternEditor->InvalidateBackground();
1170 m_pPatternEditor->InvalidatePatternData();
1171 m_pPatternEditor->InvalidateHeader();
1172 RedrawPatternEditor();
1173 break;
1174 // Pattern data has been edited
1175 case UPDATE_PATTERN:
1176 m_pPatternEditor->InvalidatePatternData();
1177 RedrawPatternEditor();
1178 break;
1179 // Frame data has been edited
1180 case UPDATE_FRAME:
1181 InvalidateFrameEditor();
1182
1183 m_pPatternEditor->InvalidatePatternData();
1184 RedrawPatternEditor();
1185 pMainFrm->UpdateBookmarkList(); // // //
1186 break;
1187 // Instrument has been added / removed
1188 case UPDATE_INSTRUMENT:
1189 pMainFrm->UpdateInstrumentList();
1190 m_pPatternEditor->InvalidatePatternData();
1191 RedrawPatternEditor();
1192 break;
1193 // Module properties has changed (including channel count)
1194 case UPDATE_PROPERTIES:
1195 // Old
1196 UpdateSongView(); // // //
1197 m_pPatternEditor->ResetCursor();
1198 //m_pPatternEditor->Modified();
1199 pMainFrm->ResetUndo();
1200 pMainFrm->ResizeFrameWindow();
1201
1202 m_pPatternEditor->InvalidateBackground(); // Channel count might have changed, recalculated pattern layout
1203 m_pPatternEditor->InvalidatePatternData();
1204 m_pPatternEditor->InvalidateHeader();
1205 RedrawPatternEditor();
1206 UpdateNoteQueues(); // // //
1207 break;
1208 // Row highlight option has changed
1209 case UPDATE_HIGHLIGHT:
1210 m_pPatternEditor->SetHighlight(GetModuleData()->GetHighlight(pMainFrm->GetSelectedTrack())); // // //
1211 m_pPatternEditor->InvalidatePatternData();
1212 RedrawPatternEditor();
1213 break;

Callers

nothing calls this directly

Calls 15

UpdateTrackBoxMethod · 0.80
InvalidateBackgroundMethod · 0.80
InvalidatePatternDataMethod · 0.80
UpdateInstrumentListMethod · 0.80
ResetUndoMethod · 0.80
ResizeFrameWindowMethod · 0.80
GetSelectedTrackMethod · 0.80
CloseGrooveSettingsMethod · 0.80
CloseBookmarkSettingsMethod · 0.80
CloseInstrumentEditorMethod · 0.80
IsPlayingMethod · 0.45
GetSoundGeneratorMethod · 0.45

Tested by

no test coverage detected