summaryrefslogtreecommitdiff
path: root/app/client/live/reducer.js
diff options
context:
space:
mode:
Diffstat (limited to 'app/client/live/reducer.js')
-rw-r--r--app/client/live/reducer.js37
1 files changed, 36 insertions, 1 deletions
diff --git a/app/client/live/reducer.js b/app/client/live/reducer.js
index e056808..a043df3 100644
--- a/app/client/live/reducer.js
+++ b/app/client/live/reducer.js
@@ -1,11 +1,13 @@
import { combineReducers } from 'redux'
+import moment from 'moment'
+let FileSaver = require('file-saver')
const liveInitialState = {
loading: false,
error: null,
opt: {},
checkpoints: [],
- checkpoint_dir: ['latest'],
+ epochs: ['latest'],
sequences: [],
fps: 0,
frame: { i: 0, sequence_i: 0, sequence_len: '1' }
@@ -68,6 +70,39 @@ const liveReducer = (state = liveInitialState, action) => {
frame: action.meta
} : state
+ case 'START_RECORDING':
+ return {
+ ...state,
+ opt: {
+ ...state.opt,
+ recording: true,
+ }
+ }
+
+ case 'SAVE_FRAME':
+ FileSaver.saveAs(
+ action.blob,
+ state.opt.checkpoint_name + "_" +
+ state.opt.sequence + "_" +
+ moment().format("YYYYMMDD_HHmm") + ".png"
+ )
+ return state
+
+ case 'SAVE_VIDEO':
+ FileSaver.saveAs(
+ action.blob,
+ state.opt.checkpoint_name + "_" +
+ state.opt.sequence + "_" +
+ moment().format("YYYYMMDD_HHmm") + ".webm"
+ )
+ return {
+ ...state,
+ opt: {
+ ...state.opt,
+ recording: false,
+ }
+ }
+
default:
return state
}