History

Make recording and playback work in interface, playback in agent

Brad Davis committed 10 years ago

Commit 5b8047d1 parent 2636e4312 files · +202 −203Browse files

Showing the changes to libraries/script-engine/src/RecordingScriptingInterface.cpp (1 of 12 files). Show all

Unified · Split

libraries/script-engine/src/RecordingScriptingInterface.cpp+0−90
@@ -15,43 +15,16 @@ · 14 unmodified lines
1515 #include <recording/Clip.h>
1616 #include <recording/Frame.h>
1717 #include <NumericalConstants.h>
18−// FiXME
19−//#include <AudioClient.h>
20−#include <AudioConstants.h>
2118 #include <Transform.h>
2219
2320 #include "ScriptEngineLogging.h"
2421
25−typedef int16_t AudioSample;
26−
27−
2822 using namespace recording;
2923
30−// FIXME move to somewhere audio related?
31−static const QString AUDIO_FRAME_NAME = "com.highfidelity.recording.Audio";
3224
3325 RecordingScriptingInterface::RecordingScriptingInterface() {
34− static const recording::FrameType AVATAR_FRAME_TYPE = recording::Frame::registerFrameType(AvatarData::FRAME_NAME);
35− // FIXME how to deal with driving multiple avatars locally?
36− Frame::registerFrameHandler(AVATAR_FRAME_TYPE, [this](Frame::ConstPointer frame) {
37− processAvatarFrame(frame);
38− });
39−
40− static const recording::FrameType AUDIO_FRAME_TYPE = recording::Frame::registerFrameType(AUDIO_FRAME_NAME);
41− Frame::registerFrameHandler(AUDIO_FRAME_TYPE, [this](Frame::ConstPointer frame) {
42− processAudioFrame(frame);
43− });
44−
4526 _player = DependencyManager::get<Deck>();
4627 _recorder = DependencyManager::get<Recorder>();
47−
48− // FIXME : Disabling Sound
49−// auto audioClient = DependencyManager::get<AudioClient>();
50− // connect(audioClient.data(), &AudioClient::inputReceived, this, &RecordingScriptingInterface::processAudioInput);
51−}
52−
53−void RecordingScriptingInterface::setControlledAvatar(AvatarData* avatar) {
54− _controlledAvatar = avatar;
5528 }
5629
5730 bool RecordingScriptingInterface::isPlaying() const {
@@ -92,12 +65,6 @@ void RecordingScriptingInterface::startPlaying() { · 34 unmodified lines
9265 return;
9366 }
9467
95− // Playback from the current position
96− if (_playFromCurrentLocation && _controlledAvatar) {
97− _dummyAvatar.setRecordingBasis(std::make_shared<Transform>(_controlledAvatar->getTransform()));
98− } else {
99− _dummyAvatar.clearRecordingBasis();
100− }
10168 _player->play();
10269 }
10370
@@ -176,12 +143,6 @@ void RecordingScriptingInterface::startRecording() { · 72 unmodified lines
176143 return;
177144 }
178145
179− _recordingEpoch = Frame::epochForFrameTime(0);
180−
181− if (_controlledAvatar) {
182− _controlledAvatar->setRecordingBasis();
183− }
184−
185146 _recorder->start();
186147 }
187148
@@ -189,10 +150,6 @@ void RecordingScriptingInterface::stopRecording() { · 1 unmodified line
189150 _recorder->stop();
190151 _lastClip = _recorder->getClip();
191152 _lastClip->seek(0);
192−
193− if (_controlledAvatar) {
194− _controlledAvatar->clearRecordingBasis();
195− }
196153 }
197154
198155 void RecordingScriptingInterface::saveRecording(const QString& filename) {
@@ -225,50 +182,3 @@ void RecordingScriptingInterface::loadLastRecording() { · 26 unmodified lines
225182 _player->play();
226183 }
227184
228−void RecordingScriptingInterface::processAvatarFrame(const Frame::ConstPointer& frame) {
229− Q_ASSERT(QThread::currentThread() == thread());
230−
231− if (!_controlledAvatar) {
232− return;
233− }
234−
235− AvatarData::fromFrame(frame->data, _dummyAvatar);
236−
237−
238−
239− if (_useHeadModel && _dummyAvatar.getFaceModelURL().isValid() &&
240− (_dummyAvatar.getFaceModelURL() != _controlledAvatar->getFaceModelURL())) {
241− // FIXME
242− //myAvatar->setFaceModelURL(_dummyAvatar.getFaceModelURL());
243− }
244−
245− if (_useSkeletonModel && _dummyAvatar.getSkeletonModelURL().isValid() &&
246− (_dummyAvatar.getSkeletonModelURL() != _controlledAvatar->getSkeletonModelURL())) {
247− // FIXME
248− //myAvatar->useFullAvatarURL()
249− }
250−
251− if (_useDisplayName && _dummyAvatar.getDisplayName() != _controlledAvatar->getDisplayName()) {
252− _controlledAvatar->setDisplayName(_dummyAvatar.getDisplayName());
253− }
254−
255− _controlledAvatar->setPosition(_dummyAvatar.getPosition());
256− _controlledAvatar->setOrientation(_dummyAvatar.getOrientation());
257−
258− // FIXME attachments
259− // FIXME joints
260− // FIXME head lean
261− // FIXME head orientation
262−}
263−
264−void RecordingScriptingInterface::processAudioInput(const QByteArray& audio) {
265− if (_recorder->isRecording()) {
266− static const recording::FrameType AUDIO_FRAME_TYPE = recording::Frame::registerFrameType(AUDIO_FRAME_NAME);
267− _recorder->recordFrame(AUDIO_FRAME_TYPE, audio);
268− }
269−}
270−
271−void RecordingScriptingInterface::processAudioFrame(const recording::FrameConstPointer& frame) {
272− // auto audioClient = DependencyManager::get<AudioClient>();
273− // audioClient->handleRecordedAudioInput(frame->data);
274−}