fixed a compilation error in the player, and a partial fix for bug 1896587.
This commit is contained in:
parent
eb180b4d15
commit
936fd39fe1
@ -126,10 +126,11 @@ bool fileNameValid = false;
|
|||||||
|
|
||||||
void fileNew()
|
void fileNew()
|
||||||
{
|
{
|
||||||
/* document.purgeUnused(); */
|
/* document.purgeUnusedTracks(); */
|
||||||
trackView->selectAll();
|
for (size_t i = 0; i < document.getTrackCount(); ++i)
|
||||||
trackView->editDelete();
|
{
|
||||||
trackView->selectNone();
|
document.getTrack(i).truncate();
|
||||||
|
}
|
||||||
fileNameValid = false;
|
fileNameValid = false;
|
||||||
|
|
||||||
document.clearUndoStack();
|
document.clearUndoStack();
|
||||||
@ -250,12 +251,12 @@ static LRESULT CALLBACK mainWindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARA
|
|||||||
{
|
{
|
||||||
case ID_FILE_NEW:
|
case ID_FILE_NEW:
|
||||||
fileNew();
|
fileNew();
|
||||||
InvalidateRect(hwnd, NULL, FALSE);
|
InvalidateRect(trackViewWin, NULL, FALSE);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ID_FILE_OPEN:
|
case ID_FILE_OPEN:
|
||||||
fileOpen();
|
fileOpen();
|
||||||
InvalidateRect(hwnd, NULL, FALSE);
|
InvalidateRect(trackViewWin, NULL, FALSE);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case ID_FILE_SAVE_AS:
|
case ID_FILE_SAVE_AS:
|
||||||
|
|||||||
@ -63,19 +63,13 @@ static bool loadTrack(sync::Track &track, std::string fileName)
|
|||||||
Track &PlayerDevice::getTrack(const std::string &trackName)
|
Track &PlayerDevice::getTrack(const std::string &trackName)
|
||||||
{
|
{
|
||||||
sync::Data::TrackContainer::iterator iter = syncData.tracks.find(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));
|
||||||
loadTrack(*track, getTrackFileName(trackName));
|
return track;
|
||||||
/* 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;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool PlayerDevice::update(float row)
|
bool PlayerDevice::update(float row)
|
||||||
|
|||||||
@ -102,3 +102,9 @@ void Track::setKeyFrame(size_t row, const KeyFrame &keyFrame)
|
|||||||
{
|
{
|
||||||
keyFrames[row] = keyFrame;
|
keyFrames[row] = keyFrame;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Track::truncate()
|
||||||
|
{
|
||||||
|
keyFrames.clear();
|
||||||
|
}
|
||||||
|
|
||||||
|
|||||||
@ -42,6 +42,8 @@ namespace sync
|
|||||||
void deleteKeyFrame(size_t row);
|
void deleteKeyFrame(size_t row);
|
||||||
void setKeyFrame(size_t row, const KeyFrame &keyFrame);
|
void setKeyFrame(size_t row, const KeyFrame &keyFrame);
|
||||||
|
|
||||||
|
void truncate();
|
||||||
|
|
||||||
// private:
|
// private:
|
||||||
|
|
||||||
typedef std::map<size_t, struct KeyFrame> KeyFrameContainer;
|
typedef std::map<size_t, struct KeyFrame> KeyFrameContainer;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user