refactoring
This commit is contained in:
parent
b53505f660
commit
0534c70719
@ -50,6 +50,7 @@ private:
|
||||
|
||||
#endif
|
||||
|
||||
#include <windows.h>
|
||||
#include <memory>
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
@ -64,13 +65,14 @@ int main(int argc, char *argv[])
|
||||
|
||||
sync::Track &track = syncDevice->getTrack("test");
|
||||
|
||||
// timer.play();
|
||||
timer.play();
|
||||
while (1)
|
||||
{
|
||||
float row = timer.getRow();
|
||||
if (!syncDevice->update(row)) break;
|
||||
|
||||
printf("%2.2f: %2.2f \r", row, track.getValue(row));
|
||||
printf("%2.2f: %2.2f \n", row, track.getValue(row));
|
||||
Sleep(1000);
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
||||
@ -7,17 +7,24 @@ using namespace sync;
|
||||
class ClientDevice : public Device
|
||||
{
|
||||
public:
|
||||
ClientDevice(SOCKET serverSocket, Timer &timer) : serverSocket(serverSocket), timer(timer) {}
|
||||
ClientDevice(const std::string &baseName, SOCKET serverSocket, Timer &timer) :
|
||||
baseName(baseName),
|
||||
timer(timer),
|
||||
serverSocket(serverSocket)
|
||||
{
|
||||
}
|
||||
|
||||
~ClientDevice();
|
||||
|
||||
|
||||
Track &getTrack(const std::string &trackName);
|
||||
bool update(float row);
|
||||
|
||||
private:
|
||||
const std::string &baseName;
|
||||
SyncData syncData;
|
||||
SOCKET serverSocket;
|
||||
|
||||
Timer &timer;
|
||||
|
||||
SOCKET serverSocket;
|
||||
};
|
||||
|
||||
ClientDevice::~ClientDevice()
|
||||
@ -45,7 +52,6 @@ Track &ClientDevice::getTrack(const std::string &trackName)
|
||||
send(serverSocket, name_str, name_len, 0);
|
||||
|
||||
sync::Track *track = new sync::Track();
|
||||
/* todo: fill in based on the response */
|
||||
|
||||
syncData.actualTracks.push_back(track);
|
||||
syncData.tracks[trackName] = clientIndex;
|
||||
|
||||
55
sync/device_player.cpp
Normal file
55
sync/device_player.cpp
Normal file
@ -0,0 +1,55 @@
|
||||
#include "device.h"
|
||||
#include "../network.h"
|
||||
#include "../syncdata.h"
|
||||
|
||||
using namespace sync;
|
||||
|
||||
class PlayerDevice : public Device
|
||||
{
|
||||
public:
|
||||
PlayerDevice(const std::string &baseName, Timer &timer) :
|
||||
baseName(baseName),
|
||||
timer(timer)
|
||||
{
|
||||
}
|
||||
|
||||
~PlayerDevice();
|
||||
|
||||
Track &getTrack(const std::string &trackName);
|
||||
bool update(float row);
|
||||
|
||||
private:
|
||||
const std::string &baseName;
|
||||
SyncData syncData;
|
||||
Timer &timer;
|
||||
};
|
||||
|
||||
PlayerDevice::~PlayerDevice() { }
|
||||
|
||||
Track &PlayerDevice::getTrack(const std::string &trackName)
|
||||
{
|
||||
SyncData::TrackContainer::iterator iter = syncData.tracks.find(trackName);
|
||||
if (iter != syncData.tracks.end()) return *syncData.actualTracks[iter->second];
|
||||
|
||||
sync::Track *track = new sync::Track();
|
||||
|
||||
// TODO: load data from file
|
||||
track->setKeyFrame(0, 10.0f);
|
||||
track->setKeyFrame(10, 0.0f);
|
||||
|
||||
size_t index = syncData.actualTracks.size();
|
||||
syncData.actualTracks.push_back(track);
|
||||
syncData.tracks[trackName] = index;
|
||||
return *track;
|
||||
}
|
||||
|
||||
bool PlayerDevice::update(float row)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
Device *sync::createDevice(const std::string &baseName, Timer &timer)
|
||||
{
|
||||
Device *device = new PlayerDevice(baseName, timer);
|
||||
return device;
|
||||
}
|
||||
@ -23,7 +23,6 @@ namespace sync
|
||||
|
||||
void deleteKeyFrame(size_t row);
|
||||
void setKeyFrame(size_t row, const KeyFrame &keyFrame);
|
||||
void setKeyFrame(size_t row, const float value);
|
||||
|
||||
// private:
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user