fixed a compilation error in the player, and a partial fix for bug 1896587.

This commit is contained in:
Erik Faye-Lund 2008-02-19 21:19:50 +00:00
parent eb180b4d15
commit 936fd39fe1
4 changed files with 20 additions and 17 deletions

View File

@ -126,10 +126,11 @@ bool fileNameValid = false;
void fileNew()
{
/* document.purgeUnused(); */
trackView->selectAll();
trackView->editDelete();
trackView->selectNone();
/* document.purgeUnusedTracks(); */
for (size_t i = 0; i < document.getTrackCount(); ++i)
{
document.getTrack(i).truncate();
}
fileNameValid = false;
document.clearUndoStack();
@ -250,12 +251,12 @@ static LRESULT CALLBACK mainWindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARA
{
case ID_FILE_NEW:
fileNew();
InvalidateRect(hwnd, NULL, FALSE);
InvalidateRect(trackViewWin, NULL, FALSE);
break;
case ID_FILE_OPEN:
fileOpen();
InvalidateRect(hwnd, NULL, FALSE);
InvalidateRect(trackViewWin, NULL, FALSE);
break;
case ID_FILE_SAVE_AS:

View File

@ -63,19 +63,13 @@ static bool loadTrack(sync::Track &track, std::string fileName)
Track &PlayerDevice::getTrack(const std::string &trackName)
{
sync::Data::TrackContainer::iterator iter = syncData.tracks.find(trackName);
if (iter != syncData.tracks.end()) return *syncData.actualTracks[iter->second];
if (iter != syncData.tracks.end()) return syncData.getTrack(iter->second);
sync::Track *track = new sync::Track();
size_t trackIndex = syncData.getTrackIndex(trackName);
sync::Track &track = syncData.getTrack(trackIndex);
assert(NULL != track);
loadTrack(*track, getTrackFileName(trackName));
/* track->setKeyFrame(0, Track::KeyFrame(1.0f, Track::KeyFrame::IT_LERP));
track->setKeyFrame(10, Track::KeyFrame(0.0f, Track::KeyFrame::IT_LERP)); */
size_t index = syncData.actualTracks.size();
syncData.actualTracks.push_back(track);
syncData.tracks[trackName] = index;
return *track;
loadTrack(track, getTrackFileName(trackName));
return track;
}
bool PlayerDevice::update(float row)

View File

@ -102,3 +102,9 @@ void Track::setKeyFrame(size_t row, const KeyFrame &keyFrame)
{
keyFrames[row] = keyFrame;
}
void Track::truncate()
{
keyFrames.clear();
}

View File

@ -42,6 +42,8 @@ namespace sync
void deleteKeyFrame(size_t row);
void setKeyFrame(size_t row, const KeyFrame &keyFrame);
void truncate();
// private:
typedef std::map<size_t, struct KeyFrame> KeyFrameContainer;