diff options
Diffstat (limited to 'public/bundle.js')
| -rw-r--r-- | public/bundle.js | 1733 |
1 files changed, 1343 insertions, 390 deletions
diff --git a/public/bundle.js b/public/bundle.js index b9d796c..1e68e45 100644 --- a/public/bundle.js +++ b/public/bundle.js @@ -163,6 +163,38 @@ exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)( /***/ }), +/***/ "./app/client/common/group.component.js": +/*!**********************************************!*\ + !*** ./app/client/common/group.component.js ***! + \**********************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = Group; + +var _preact = __webpack_require__(/*! preact */ "./node_modules/preact/dist/preact.esm.js"); + +function Group(props) { + return (0, _preact.h)( + 'div', + { className: 'group' }, + (0, _preact.h)( + 'h3', + null, + this.props.title + ), + this.props.children + ); +} + +/***/ }), + /***/ "./app/client/common/header.component.js": /*!***********************************************!*\ !*** ./app/client/common/header.component.js ***! @@ -179,9 +211,18 @@ Object.defineProperty(exports, "__esModule", { var _preact = __webpack_require__(/*! preact */ "./node_modules/preact/dist/preact.esm.js"); +var _reactRouterDom = __webpack_require__(/*! react-router-dom */ "./node_modules/react-router-dom/es/index.js"); + var _reactRedux = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); function Header(props) { + var tools = "pix2pix samplernn style_transfer_video style_transfer_audio".split(" ").map(function (s, i) { + return (0, _preact.h)( + 'option', + { value: s }, + s + ); + }); return (0, _preact.h)( 'header', null, @@ -193,6 +234,44 @@ function Header(props) { (0, _preact.h)( 'span', null, + (0, _preact.h)( + 'select', + null, + tools + ) + ), + (0, _preact.h)( + 'span', + null, + (0, _preact.h)( + _reactRouterDom.Link, + { to: '/dashboard' }, + 'dashboard' + ) + ), + (0, _preact.h)( + 'span', + null, + 'checkpoints' + ), + (0, _preact.h)( + 'span', + null, + 'datasets' + ), + (0, _preact.h)( + 'span', + null, + 'results' + ), + (0, _preact.h)( + 'span', + null, + 'live' + ), + (0, _preact.h)( + 'span', + null, props.fps, ' fps' ) @@ -642,138 +721,28 @@ exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)( /***/ }), -/***/ "./app/client/index.jsx": -/*!******************************!*\ - !*** ./app/client/index.jsx ***! - \******************************/ +/***/ "./app/client/dashboard/actions.js": +/*!*****************************************!*\ + !*** ./app/client/dashboard/actions.js ***! + \*****************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -var _preact = __webpack_require__(/*! preact */ "./node_modules/preact/dist/preact.esm.js"); - -var _reactRedux = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); - -var _reactRouterDom = __webpack_require__(/*! react-router-dom */ "./node_modules/react-router-dom/es/index.js"); - -var _store = __webpack_require__(/*! ./store */ "./app/client/store.js"); +var _types = __webpack_require__(/*! ../types */ "./app/client/types.js"); -var _socket = __webpack_require__(/*! ./socket */ "./app/client/socket.js"); - -var _socket2 = _interopRequireDefault(_socket); - -var _header = __webpack_require__(/*! ./common/header.component */ "./app/client/common/header.component.js"); - -var _header2 = _interopRequireDefault(_header); - -var _live = __webpack_require__(/*! ./live */ "./app/client/live/index.js"); - -var _live2 = _interopRequireDefault(_live); +var _types2 = _interopRequireDefault(_types); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } -// import client from './client' - -var app = (0, _preact.h)( - _reactRedux.Provider, - { store: _store.store }, - (0, _preact.h)( - _reactRouterDom.BrowserRouter, - null, - (0, _preact.h)( - 'div', - null, - (0, _preact.h)(_header2.default, null), - (0, _preact.h)(_reactRouterDom.Route, { path: '/', component: _live2.default }), - (0, _preact.h)(_reactRouterDom.Route, { path: '/live/', component: _live2.default }) - ) - ) -); - -(0, _preact.render)(app, document.getElementById('container')); - /***/ }), -/***/ "./app/client/live/actions.js": -/*!************************************!*\ - !*** ./app/client/live/actions.js ***! - \************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.play = exports.pause = exports.seek = exports.load_epoch = exports.load_sequence = exports.list_sequences = exports.list_epochs = exports.list_checkpoints = exports.set_param = exports.get_params = undefined; - -var _socket = __webpack_require__(/*! ../socket */ "./app/client/socket.js"); - -var socket = _interopRequireWildcard(_socket); - -function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } - -var get_params = exports.get_params = function get_params() { - socket.get_params(); - return { type: 'GET_PARAMS' }; -}; - -var set_param = exports.set_param = function set_param(key, value) { - console.log('set param', key, value); - socket.set_param(key, value); - return { type: 'SET_PARAM', key: key, value: value }; -}; - -var list_checkpoints = exports.list_checkpoints = function list_checkpoints() { - socket.list_checkpoints(); - return { type: 'LOADING_CHECKPOINTS' }; -}; - -var list_epochs = exports.list_epochs = function list_epochs(path) { - socket.list_epochs(path); - return { type: 'LOADING_EPOCHS' }; -}; - -var list_sequences = exports.list_sequences = function list_sequences() { - socket.list_sequences(); - return { type: 'LOADING_SEQUENCES' }; -}; - -var load_sequence = exports.load_sequence = function load_sequence(sequence) { - socket.load_sequence(sequence); - return { type: 'LOADING_SEQUENCE' }; -}; - -var load_epoch = exports.load_epoch = function load_epoch(checkpoint, epoch) { - socket.load_epoch(checkpoint, epoch); - return { type: 'LOADING_CHECKPOINT' }; -}; - -var seek = exports.seek = function seek(frame) { - socket.seek(frame); - return { type: 'SEEKING' }; -}; - -var pause = exports.pause = function pause(frame) { - socket.pause(pause); - return { type: 'PAUSING' }; -}; - -var play = exports.play = function play(frame) { - socket.play(); - return { type: 'PLAYING' }; -}; - -/***/ }), - -/***/ "./app/client/live/index.js": -/*!**********************************!*\ - !*** ./app/client/live/index.js ***! - \**********************************/ +/***/ "./app/client/dashboard/dashboard.component.js": +/*!*****************************************************!*\ + !*** ./app/client/dashboard/dashboard.component.js ***! + \*****************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { @@ -796,9 +765,9 @@ var _player = __webpack_require__(/*! ../common/player.component */ "./app/clien var _player2 = _interopRequireDefault(_player); -var _paramGroup = __webpack_require__(/*! ../common/paramGroup.component */ "./app/client/common/paramGroup.component.js"); +var _group = __webpack_require__(/*! ../common/group.component */ "./app/client/common/group.component.js"); -var _paramGroup2 = _interopRequireDefault(_paramGroup); +var _group2 = _interopRequireDefault(_group); var _slider = __webpack_require__(/*! ../common/slider.component */ "./app/client/common/slider.component.js"); @@ -812,9 +781,23 @@ var _button = __webpack_require__(/*! ../common/button.component */ "./app/clien var _button2 = _interopRequireDefault(_button); -var _player3 = __webpack_require__(/*! ./player */ "./app/client/live/player.js"); +var _dashboardheader = __webpack_require__(/*! ./dashboardheader.component */ "./app/client/dashboard/dashboardheader.component.js"); + +var _dashboardheader2 = _interopRequireDefault(_dashboardheader); + +var _tasklist = __webpack_require__(/*! ./tasklist.component */ "./app/client/dashboard/tasklist.component.js"); -var _actions = __webpack_require__(/*! ./actions */ "./app/client/live/actions.js"); +var _tasklist2 = _interopRequireDefault(_tasklist); + +var _filelist = __webpack_require__(/*! ./filelist.component */ "./app/client/dashboard/filelist.component.js"); + +var _filelist2 = _interopRequireDefault(_filelist); + +var _gallery = __webpack_require__(/*! ./gallery.component */ "./app/client/dashboard/gallery.component.js"); + +var _gallery2 = _interopRequireDefault(_gallery); + +var _actions = __webpack_require__(/*! ./actions */ "./app/client/dashboard/actions.js"); var liveActions = _interopRequireWildcard(_actions); @@ -828,81 +811,35 @@ function _possibleConstructorReturn(self, call) { if (!self) { throw new Referen function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } -var App = function (_Component) { - _inherits(App, _Component); +var Dashboard = function (_Component) { + _inherits(Dashboard, _Component); - function App(props) { - _classCallCheck(this, App); + function Dashboard(props) { + _classCallCheck(this, Dashboard); - var _this = _possibleConstructorReturn(this, (App.__proto__ || Object.getPrototypeOf(App)).call(this)); - - props.actions.get_params(); - props.actions.list_checkpoints(); - props.actions.list_sequences(); - _this.changeCheckpoint = _this.changeCheckpoint.bind(_this); - _this.changeEpoch = _this.changeEpoch.bind(_this); - _this.changeSequence = _this.changeSequence.bind(_this); - _this.seek = _this.seek.bind(_this); - _this.togglePlaying = _this.togglePlaying.bind(_this); - _this.toggleRecording = _this.toggleRecording.bind(_this); - return _this; + return _possibleConstructorReturn(this, (Dashboard.__proto__ || Object.getPrototypeOf(Dashboard)).call(this)); } - _createClass(App, [{ + _createClass(Dashboard, [{ key: 'componentWillUpdate', value: function componentWillUpdate(nextProps) { - if (nextProps.opt.checkpoint_name && nextProps.opt.checkpoint_name !== this.props.opt.checkpoint_name) { - this.props.actions.list_epochs(nextProps.opt.checkpoint_name); - } - } - }, { - key: 'changeCheckpoint', - value: function changeCheckpoint(checkpoint_name) { - this.props.actions.load_epoch(checkpoint_name, 'latest'); - } - }, { - key: 'changeEpoch', - value: function changeEpoch(epoch_name) { - this.props.actions.load_epoch(this.props.opt.checkpoint_name, epoch_name); - } - }, { - key: 'changeSequence', - value: function changeSequence(sequence) { - console.log('got sequence', sequence); - this.props.actions.load_sequence(sequence); - } - }, { - key: 'seek', - value: function seek(percentage) { - var frame = Math.floor(percentage * (parseInt(this.props.frame.sequence_len) || 1) + 1); - this.props.actions.seek(frame); - } - }, { - key: 'togglePlaying', - value: function togglePlaying() { - if (this.props.opt.processing) { - this.props.actions.pause(); - } else { - this.props.actions.play(); - } - } - }, { - key: 'toggleRecording', - value: function toggleRecording() { - if (this.props.opt.recording) { - (0, _player3.stopRecording)(); - this.props.actions.pause(); - } else { - (0, _player3.startRecording)(); - } + // if (nextProps.opt.checkpoint_name && nextProps.opt.checkpoint_name !== this.props.opt.checkpoint_name) { + // this.props.actions.list_epochs(nextProps.opt.checkpoint_name) + // } } }, { key: 'render', value: function render() { + var _props = this.props, + tasks = _props.tasks, + files = _props.files, + images = _props.images, + site = _props.site; + return (0, _preact.h)( 'div', - { className: 'app' }, - (0, _preact.h)(_player2.default, { width: 424, height: 256 }), + { className: 'dashboard' }, + (0, _preact.h)(_dashboardheader2.default, null), (0, _preact.h)( 'div', { className: 'params' }, @@ -910,201 +847,54 @@ var App = function (_Component) { 'div', { className: 'column' }, (0, _preact.h)( - _paramGroup2.default, - { - title: 'Playback', - noToggle: true - }, - (0, _preact.h)(_select2.default, { - name: 'send_image', - title: 'view mode', - options: ['a', 'b', 'sequence', 'recursive'] - }), - (0, _preact.h)(_select2.default, { - name: 'sequence_name', - title: 'sequence', - options: this.props.sequences, - onChange: this.changeSequence - }), - (0, _preact.h)(_select2.default, { - name: 'checkpoint_name', - title: 'checkpoint', - options: this.props.checkpoints, - onChange: this.changeCheckpoint - }), - (0, _preact.h)(_select2.default, { - name: 'epoch', - title: 'epoch', - options: this.props.epochs, - onChange: this.changeEpoch - }), - (0, _preact.h)(_slider2.default, { - name: 'position', - min: 0.0, max: 1.0, type: 'float', - value: (this.props.frame.sequence_i || 0) / (this.props.frame.sequence_len || 1), - onChange: this.seek - }), - (0, _preact.h)( - _button2.default, - { - title: 'Processing: ' + (this.props.opt.processing ? 'yes' : 'no'), - onClick: this.togglePlaying - }, - this.props.opt.processing ? 'Pause' : 'Restart' - ), - (0, _preact.h)( - _button2.default, - { - title: this.props.opt.savingVideo ? 'Saving video...' : this.props.opt.recording ? 'Recording (' + timeInSeconds(this.props.opt.recordFrames) + ')' : 'Record video', - onClick: this.toggleRecording - }, - this.props.opt.savingVideo ? 'Saving' : this.props.opt.recording ? 'Recording' : 'Record' - ), - (0, _preact.h)( - _button2.default, - { - title: 'Save frame', - onClick: _player3.saveFrame - }, - 'Save' - ) - ) - ), - (0, _preact.h)( - 'div', - { className: 'column' }, - (0, _preact.h)( - _paramGroup2.default, - { - title: 'Transition', - name: 'transition' - }, - (0, _preact.h)(_slider2.default, { - name: 'transition_period', - min: 10, max: 5000, type: 'int' - }), - (0, _preact.h)(_slider2.default, { - name: 'transition_min', - min: 0.001, max: 0.2, type: 'float' - }), - (0, _preact.h)(_slider2.default, { - name: 'transition_max', - min: 0.1, max: 1.0, type: 'float' - }) - ), - (0, _preact.h)( - _paramGroup2.default, - { - title: 'Recursion', - name: 'recursive' - }, - (0, _preact.h)(_slider2.default, { - name: 'recursive_frac', - min: 0.0, max: 0.5, type: 'float' - }), - (0, _preact.h)(_slider2.default, { - name: 'recurse_roll', - min: -64, max: 64, type: 'int' - }), - (0, _preact.h)(_slider2.default, { - name: 'recurse_roll_axis', - min: 0, max: 1, type: 'int' - }) + _group2.default, + { title: 'Completed Tasks' }, + (0, _preact.h)(_tasklist2.default, { tasks: tasks }) ), (0, _preact.h)( - _paramGroup2.default, - { - title: 'Sequence', - name: 'sequence' - }, - (0, _preact.h)(_slider2.default, { - name: 'sequence_frac', - min: 0.0, max: 0.5, type: 'float' - }), - (0, _preact.h)(_slider2.default, { - name: 'process_frac', - min: 0, max: 1, type: 'float' - }) + _group2.default, + { title: 'Upcoming Tasks' }, + (0, _preact.h)(_tasklist2.default, { tasks: tasks }) ) ), (0, _preact.h)( 'div', { className: 'column' }, (0, _preact.h)( - _paramGroup2.default, - { - title: 'Clahe', - name: 'clahe' - }, - (0, _preact.h)(_slider2.default, { - name: 'clip_limit', - min: 1.0, max: 4.0, type: 'float' - }) - ), - (0, _preact.h)( - _paramGroup2.default, - { - title: 'Posterize', - name: 'posterize' - }, - (0, _preact.h)(_slider2.default, { - name: 'spatial_window', - min: 2, max: 128, type: 'int' - }), - (0, _preact.h)(_slider2.default, { - name: 'color_window', - min: 2, max: 128, type: 'int' - }) + _group2.default, + { title: 'Your Datasets' }, + (0, _preact.h)(_filelist2.default, { files: files }) ), (0, _preact.h)( - _paramGroup2.default, - { - title: 'Blur', - name: 'blur' - }, - (0, _preact.h)(_slider2.default, { - name: 'blur_radius', - min: 3, max: 7, type: 'odd' - }), - (0, _preact.h)(_slider2.default, { - name: 'blur_sigma', - min: 0, max: 2, type: 'float' - }) + _group2.default, + { title: 'Results' }, + (0, _preact.h)(_filelist2.default, { files: files }) ), (0, _preact.h)( - _paramGroup2.default, - { - title: 'Canny Edge Detection', - name: 'canny' - }, - (0, _preact.h)(_slider2.default, { - name: 'canny_lo', - min: 10, max: 200, type: 'int' - }), - (0, _preact.h)(_slider2.default, { - name: 'canny_hi', - min: 10, max: 200, type: 'int' - }) + _group2.default, + { title: 'Audio Player' }, + (0, _preact.h)(_filelist2.default, { files: files }) ) ) + ), + (0, _preact.h)( + 'div', + null, + (0, _preact.h)(_gallery2.default, { images: images }) ) ); } }]); - return App; + return Dashboard; }(_preact.Component); -function timeInSeconds(n) { - return (n / 10).toFixed(1) + ' s.'; -} var mapStateToProps = function mapStateToProps(state) { return { - opt: state.live.opt, - frame: state.live.frame, - checkpoints: state.live.checkpoints, - epochs: state.live.epochs, - sequences: state.live.sequences + site: state.system.site, + images: state.system.images, + tasks: state.system.tasks, + files: state.system.files }; }; @@ -1114,7 +904,615 @@ var mapDispatchToProps = function mapDispatchToProps(dispatch, ownProps) { }; }; -exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(App); +exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(Dashboard); + +/***/ }), + +/***/ "./app/client/dashboard/dashboard.reducer.js": +/*!***************************************************!*\ + !*** ./app/client/dashboard/dashboard.reducer.js ***! + \***************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _moment = __webpack_require__(/*! moment */ "./node_modules/moment/moment.js"); + +var _moment2 = _interopRequireDefault(_moment); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var FileSaver = __webpack_require__(/*! file-saver */ "./node_modules/file-saver/FileSaver.js"); + +var dashboardInitialState = { + loading: false, + error: null +}; + +var dashboardReducer = function dashboardReducer() { + var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : dashboardInitialState; + var action = arguments[1]; + + switch (action.type) { + default: + return state; + } +}; + +exports.default = dashboardReducer; + +/***/ }), + +/***/ "./app/client/dashboard/dashboardheader.component.js": +/*!***********************************************************!*\ + !*** ./app/client/dashboard/dashboardheader.component.js ***! + \***********************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + +var _preact = __webpack_require__(/*! preact */ "./node_modules/preact/dist/preact.esm.js"); + +var _reactRedux = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); + +var _redux = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); + +var _actions = __webpack_require__(/*! ../live/actions */ "./app/client/live/actions.js"); + +var liveActions = _interopRequireWildcard(_actions); + +var _util = __webpack_require__(/*! ../util */ "./app/client/util.js"); + +var util = _interopRequireWildcard(_util); + +function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + +var DashboardHeader = function (_Component) { + _inherits(DashboardHeader, _Component); + + function DashboardHeader(props) { + _classCallCheck(this, DashboardHeader); + + var _this = _possibleConstructorReturn(this, (DashboardHeader.__proto__ || Object.getPrototypeOf(DashboardHeader)).call(this, props)); + + _this.handleClick = _this.handleClick.bind(_this); + return _this; + } + + _createClass(DashboardHeader, [{ + key: 'handleClick', + value: function handleClick(e) { + this.props.onClick && this.props.onClick(); + } + }, { + key: 'render', + value: function render() { + var _props = this.props, + currentTask = _props.currentTask, + site = _props.site; + + var eta = (currentTask.epochs - currentTask.epoch) * 180 / 60 + " minutes"; + return (0, _preact.h)( + 'div', + { 'class': 'dashboardHeader heading' }, + (0, _preact.h)( + 'h3', + null, + site.name + ), + 'Currently ', + util.gerund(currentTask.activity), + ' ', + currentTask.library, + ' on ', + currentTask.dataset, + (0, _preact.h)('br', null), + 'Epoch: ', + currentTask.epoch, + ' / ', + currentTask.epochs, + ', ETA ', + eta, + (0, _preact.h)('br', null), + (0, _preact.h)('br', null), + 'Want to play live? ', + (0, _preact.h)( + 'button', + null, + 'Pause at the end of this epoch' + ) + ); + } + }]); + + return DashboardHeader; +}(_preact.Component); + +var mapStateToProps = function mapStateToProps(state) { + return { + currentTask: state.system.currentTask, + site: state.system.site + }; +}; + +var mapDispatchToProps = function mapDispatchToProps(dispatch, ownProps) { + return {}; +}; + +exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(DashboardHeader); + +/***/ }), + +/***/ "./app/client/dashboard/filelist.component.js": +/*!****************************************************!*\ + !*** ./app/client/dashboard/filelist.component.js ***! + \****************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }(); + +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + +var _preact = __webpack_require__(/*! preact */ "./node_modules/preact/dist/preact.esm.js"); + +var _redux = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); + +var _reactRedux = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); + +var _util = __webpack_require__(/*! ../util */ "./app/client/util.js"); + +var util = _interopRequireWildcard(_util); + +function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + +var FileList = function (_Component) { + _inherits(FileList, _Component); + + function FileList(props) { + _classCallCheck(this, FileList); + + return _possibleConstructorReturn(this, (FileList.__proto__ || Object.getPrototypeOf(FileList)).call(this)); + } + + _createClass(FileList, [{ + key: 'render', + value: function render() { + var files = this.props.files; + + var time = 0; + var fileList = files.map(function (file) { + var eta = time + file.epochs * 180 / 60 + " min."; + time += file.epochs * 180 / 60; + var dataset_type = void 0, + dataset_name = void 0; + if (file.dataset.indexOf('/') !== -1) { + var _file$dataset$split = file.dataset.split('/'); + + var _file$dataset$split2 = _slicedToArray(_file$dataset$split, 2); + + dataset_type = _file$dataset$split2[0]; + dataset_name = _file$dataset$split2[1]; + } else { + dataset_name = file.dataset; + } + return (0, _preact.h)( + 'div', + { 'class': 'row' }, + (0, _preact.h)( + 'div', + { 'class': 'activity' }, + file.activity, + ' ', + file.library, + ' ', + dataset_type + ), + (0, _preact.h)( + 'div', + { 'class': 'dataset' }, + dataset_name + ), + (0, _preact.h)( + 'div', + { 'class': 'epochs' }, + file.epochs, + ' ep.' + ), + (0, _preact.h)( + 'div', + { 'class': 'eta' }, + eta + ) + ); + }); + return (0, _preact.h)( + 'div', + { 'class': 'filelist rows' }, + fileList + ); + } + }]); + + return FileList; +}(_preact.Component); + +var mapStateToProps = function mapStateToProps(state) { + return {}; +}; + +var mapDispatchToProps = function mapDispatchToProps(dispatch, ownProps) { + return { + // actions: bindActionCreators(liveActions, dispatch) + }; +}; + +exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(FileList); + +/***/ }), + +/***/ "./app/client/dashboard/gallery.component.js": +/*!***************************************************!*\ + !*** ./app/client/dashboard/gallery.component.js ***! + \***************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + +var _preact = __webpack_require__(/*! preact */ "./node_modules/preact/dist/preact.esm.js"); + +var _redux = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); + +var _reactRedux = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + +var Gallery = function (_Component) { + _inherits(Gallery, _Component); + + function Gallery(props) { + _classCallCheck(this, Gallery); + + return _possibleConstructorReturn(this, (Gallery.__proto__ || Object.getPrototypeOf(Gallery)).call(this)); + } + + _createClass(Gallery, [{ + key: 'render', + value: function render() { + var _props = this.props, + title = _props.title, + images = _props.images; + + images.push(images[0]); + var imageList = images.map(function (image) { + return (0, _preact.h)( + 'div', + null, + (0, _preact.h)('img', { src: image.url }) + ); + }); + return (0, _preact.h)( + 'div', + { 'class': 'gallery' }, + imageList + ); + } + }]); + + return Gallery; +}(_preact.Component); + +var mapStateToProps = function mapStateToProps(state) { + return {}; +}; + +var mapDispatchToProps = function mapDispatchToProps(dispatch, ownProps) { + return { + // actions: bindActionCreators(liveActions, dispatch) + }; +}; + +exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(Gallery); + +/***/ }), + +/***/ "./app/client/dashboard/tasklist.component.js": +/*!****************************************************!*\ + !*** ./app/client/dashboard/tasklist.component.js ***! + \****************************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }(); + +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + +var _preact = __webpack_require__(/*! preact */ "./node_modules/preact/dist/preact.esm.js"); + +var _redux = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); + +var _reactRedux = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + +var TaskList = function (_Component) { + _inherits(TaskList, _Component); + + function TaskList(props) { + _classCallCheck(this, TaskList); + + return _possibleConstructorReturn(this, (TaskList.__proto__ || Object.getPrototypeOf(TaskList)).call(this)); + } + + _createClass(TaskList, [{ + key: 'render', + value: function render() { + var _props = this.props, + title = _props.title, + tasks = _props.tasks; + + var time = 0; + var taskList = tasks.map(function (task) { + var eta = time + task.epochs * 180 / 60 + " min."; + time += task.epochs * 180 / 60; + var dataset_type = void 0, + dataset_name = void 0; + if (task.dataset.indexOf('/') !== -1) { + var _task$dataset$split = task.dataset.split('/'); + + var _task$dataset$split2 = _slicedToArray(_task$dataset$split, 2); + + dataset_type = _task$dataset$split2[0]; + dataset_name = _task$dataset$split2[1]; + } else { + dataset_name = task.dataset; + } + return (0, _preact.h)( + 'div', + { 'class': 'row' }, + (0, _preact.h)( + 'div', + { 'class': 'activity' }, + task.activity, + ' ', + task.library, + ' ', + dataset_type + ), + (0, _preact.h)( + 'div', + { 'class': 'dataset' }, + dataset_name + ), + (0, _preact.h)( + 'div', + { 'class': 'epochs' }, + task.epochs, + ' ep.' + ), + (0, _preact.h)( + 'div', + { 'class': 'eta' }, + eta + ) + ); + }); + return (0, _preact.h)( + 'div', + { 'class': 'taskList rows' }, + taskList + ); + } + }]); + + return TaskList; +}(_preact.Component); + +var mapStateToProps = function mapStateToProps(state) { + return {}; +}; + +var mapDispatchToProps = function mapDispatchToProps(dispatch, ownProps) { + return { + // actions: bindActionCreators(liveActions, dispatch) + }; +}; + +exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(TaskList); + +/***/ }), + +/***/ "./app/client/index.jsx": +/*!******************************!*\ + !*** ./app/client/index.jsx ***! + \******************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +var _preact = __webpack_require__(/*! preact */ "./node_modules/preact/dist/preact.esm.js"); + +var _reactRedux = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); + +var _reactRouterDom = __webpack_require__(/*! react-router-dom */ "./node_modules/react-router-dom/es/index.js"); + +var _store = __webpack_require__(/*! ./store */ "./app/client/store.js"); + +var _socket = __webpack_require__(/*! ./socket */ "./app/client/socket.js"); + +var _socket2 = _interopRequireDefault(_socket); + +var _header = __webpack_require__(/*! ./common/header.component */ "./app/client/common/header.component.js"); + +var _header2 = _interopRequireDefault(_header); + +var _dashboard = __webpack_require__(/*! ./dashboard/dashboard.component */ "./app/client/dashboard/dashboard.component.js"); + +var _dashboard2 = _interopRequireDefault(_dashboard); + +var _pix2pix = __webpack_require__(/*! ./pix2pix */ "./app/client/pix2pix/index.js"); + +var _pix2pix2 = _interopRequireDefault(_pix2pix); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var app = (0, _preact.h)( + _reactRedux.Provider, + { store: _store.store }, + (0, _preact.h)( + _reactRouterDom.BrowserRouter, + null, + (0, _preact.h)( + 'div', + null, + (0, _preact.h)(_reactRouterDom.Route, { path: '/', component: _dashboard2.default }), + (0, _preact.h)(_reactRouterDom.Route, { path: '/live/', component: _pix2pix2.default }), + (0, _preact.h)(_reactRouterDom.Route, { path: '/dashboard/', component: _dashboard2.default }), + (0, _preact.h)(_header2.default, null) + ) + ) +); +// import client from './client' + +(0, _preact.render)(app, document.getElementById('container')); + +/***/ }), + +/***/ "./app/client/live/actions.js": +/*!************************************!*\ + !*** ./app/client/live/actions.js ***! + \************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.play = exports.pause = exports.seek = exports.load_epoch = exports.load_sequence = exports.list_sequences = exports.list_epochs = exports.list_checkpoints = exports.set_param = exports.get_params = undefined; + +var _socket = __webpack_require__(/*! ../socket */ "./app/client/socket.js"); + +var socket = _interopRequireWildcard(_socket); + +var _types = __webpack_require__(/*! ../types */ "./app/client/types.js"); + +var _types2 = _interopRequireDefault(_types); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } + +var get_params = exports.get_params = function get_params() { + socket.get_params(); + return { type: _types2.default.player.get_params }; +}; + +var set_param = exports.set_param = function set_param(key, value) { + console.log('set param', key, value); + socket.set_param(key, value); + return { type: _types2.default.player.set_param, key: key, value: value }; +}; + +var list_checkpoints = exports.list_checkpoints = function list_checkpoints() { + socket.list_checkpoints(); + return { type: _types2.default.player.loading_checkpoints }; +}; + +var list_epochs = exports.list_epochs = function list_epochs(path) { + socket.list_epochs(path); + return { type: _types2.default.player.loading_epochs }; +}; + +var list_sequences = exports.list_sequences = function list_sequences() { + socket.list_sequences(); + return { type: _types2.default.player.loading_sequences }; +}; + +var load_sequence = exports.load_sequence = function load_sequence(sequence) { + socket.load_sequence(sequence); + return { type: _types2.default.player.loading_sequence }; +}; + +var load_epoch = exports.load_epoch = function load_epoch(checkpoint, epoch) { + socket.load_epoch(checkpoint, epoch); + return { type: _types2.default.player.loading_checkpoint }; +}; + +var seek = exports.seek = function seek(frame) { + socket.seek(frame); + return { type: _types2.default.player.seeking }; +}; + +var pause = exports.pause = function pause(frame) { + socket.pause(pause); + return { type: _types2.default.player.pausing }; +}; + +var play = exports.play = function play(frame) { + socket.play(); + return { type: _types2.default.player.playing }; +}; /***/ }), @@ -1142,6 +1540,10 @@ var _whammy = __webpack_require__(/*! ./whammy */ "./app/client/live/whammy.js") var _whammy2 = _interopRequireDefault(_whammy); +var _types = __webpack_require__(/*! ../types */ "./app/client/types.js"); + +var _types2 = _interopRequireDefault(_types); + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var fps = 0, @@ -1154,7 +1556,7 @@ function startRecording() { videoWriter = new _whammy2.default.Video(10); recording = true; _store.store.dispatch({ - type: 'START_RECORDING' + type: _types2.default.player.start_recording }); } @@ -1162,12 +1564,12 @@ function stopRecording() { if (!recording) return; recording = false; _store.store.dispatch({ - type: 'SAVING_VIDEO' + type: _types2.default.player.saving_video }); videoWriter.compile(false, function (blob) { - console.log(blob); + // console.log(blob) _store.store.dispatch({ - type: 'SAVE_VIDEO', + type: _types2.default.player.save_video, blob: blob }); }); @@ -1182,23 +1584,25 @@ function onFrame(data) { var url = URL.createObjectURL(blob); var img = new Image(); img.onload = function () { + img.onload = null; last_frame = data.meta; URL.revokeObjectURL(url); var canvas = document.querySelector('.player canvas'); + if (!canvas) return console.error('no canvas for frame'); var ctx = canvas.getContext('2d'); ctx.drawImage(img, 0, 0, canvas.width, canvas.height); if (recording) { console.log('record frame'); videoWriter.add(canvas); _store.store.dispatch({ - type: 'ADD_RECORD_FRAME' + type: _types2.default.player.add_record_frame }); } if (saving) { saving = false; canvas.toBlob(function (blob) { _store.store.dispatch({ - type: 'SAVE_FRAME', + type: _types2.default.player.save_frame, blob: blob }); }); @@ -1210,11 +1614,11 @@ function onFrame(data) { setInterval(function () { _store.store.dispatch({ - type: 'SET_FPS', + type: _types2.default.player.set_fps, fps: fps }); _store.store.dispatch({ - type: 'CURRENT_FRAME', + type: _types2.default.player.current_frame, meta: last_frame }); fps = 0; @@ -1238,18 +1642,22 @@ Object.defineProperty(exports, "__esModule", { var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; -var _redux = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); - var _moment = __webpack_require__(/*! moment */ "./node_modules/moment/moment.js"); var _moment2 = _interopRequireDefault(_moment); +var _fileSaver = __webpack_require__(/*! file-saver */ "./node_modules/file-saver/FileSaver.js"); + +var _fileSaver2 = _interopRequireDefault(_fileSaver); + +var _types = __webpack_require__(/*! ../types */ "./app/client/types.js"); + +var _types2 = _interopRequireDefault(_types); + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } -var FileSaver = __webpack_require__(/*! file-saver */ "./node_modules/file-saver/FileSaver.js"); - var liveInitialState = { loading: false, error: null, @@ -1268,7 +1676,7 @@ var liveReducer = function liveReducer() { var results = void 0; switch (action.type) { - case 'LOAD_PARAMS': + case _types2.default.player.load_params: if (!action.opt || !Object.keys(action.opt).length) { return state; } @@ -1278,18 +1686,18 @@ var liveReducer = function liveReducer() { opt: action.opt }); - case 'SET_PARAM': + case _types2.default.player.set_param: return _extends({}, state, { opt: _extends({}, state.opt, _defineProperty({}, action.key, action.value)) }); - case 'LIST_CHECKPOINTS': + case _types2.default.player.list_checkpoints: return _extends({}, state, { checkpoints: action.checkpoints, epochs: [] }); - case 'LIST_EPOCHS': + case _types2.default.player.list_epochs: return _extends({}, state, { epochs: (action.epochs || []).map(function (a) { return [a == 'latest' ? Infinity : a, a]; @@ -1300,46 +1708,46 @@ var liveReducer = function liveReducer() { }) }); - case 'LIST_SEQUENCES': + case _types2.default.player.list_sequences: return _extends({}, state, { sequences: action.sequences }); - case 'SET_FPS': + case _types2.default.player.set_fps: return _extends({}, state, { fps: action.fps }); - case 'CURRENT_FRAME': + case _types2.default.player.current_frame: return action.meta ? _extends({}, state, { frame: action.meta }) : state; - case 'START_RECORDING': + case _types2.default.player.start_recording: return _extends({}, state, { opt: _extends({}, state.opt, { recording: true }) }); - case 'ADD_RECORD_FRAME': + case _types2.default.player.add_record_frame: return _extends({}, state, { opt: _extends({}, state.opt, { recordFrames: (state.opt.recordFrames || 0) + 1 }) }); - case 'SAVE_FRAME': - FileSaver.saveAs(action.blob, state.opt.checkpoint_name + "_" + state.opt.sequence + "_" + (0, _moment2.default)().format("YYYYMMDD_HHmm") + ".png"); + case _types2.default.player.save_frame: + _fileSaver2.default.saveAs(action.blob, state.opt.checkpoint_name + "_" + state.opt.sequence + "_" + (0, _moment2.default)().format("YYYYMMDD_HHmm") + ".png"); return state; - case 'SAVING_VIDEO': + case _types2.default.player.saving_video: return _extends({}, state, { opt: _extends({}, state.opt, { savingVideo: true }) }); - case 'SAVE_VIDEO': - FileSaver.saveAs(action.blob, state.opt.checkpoint_name + "_" + state.opt.sequence + "_" + (0, _moment2.default)().format("YYYYMMDD_HHmm") + ".webm"); + case _types2.default.player.save_video: + _fileSaver2.default.saveAs(action.blob, state.opt.checkpoint_name + "_" + state.opt.sequence + "_" + (0, _moment2.default)().format("YYYYMMDD_HHmm") + ".webm"); return _extends({}, state, { opt: _extends({}, state.opt, { recording: false, @@ -1891,6 +2299,354 @@ module.exports = function () { /***/ }), +/***/ "./app/client/pix2pix/index.js": +/*!*************************************!*\ + !*** ./app/client/pix2pix/index.js ***! + \*************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + +var _preact = __webpack_require__(/*! preact */ "./node_modules/preact/dist/preact.esm.js"); + +var _redux = __webpack_require__(/*! redux */ "./node_modules/redux/es/redux.js"); + +var _reactRedux = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js"); + +var _player = __webpack_require__(/*! ../common/player.component */ "./app/client/common/player.component.js"); + +var _player2 = _interopRequireDefault(_player); + +var _paramGroup = __webpack_require__(/*! ../common/paramGroup.component */ "./app/client/common/paramGroup.component.js"); + +var _paramGroup2 = _interopRequireDefault(_paramGroup); + +var _slider = __webpack_require__(/*! ../common/slider.component */ "./app/client/common/slider.component.js"); + +var _slider2 = _interopRequireDefault(_slider); + +var _select = __webpack_require__(/*! ../common/select.component */ "./app/client/common/select.component.js"); + +var _select2 = _interopRequireDefault(_select); + +var _button = __webpack_require__(/*! ../common/button.component */ "./app/client/common/button.component.js"); + +var _button2 = _interopRequireDefault(_button); + +var _player3 = __webpack_require__(/*! ../live/player */ "./app/client/live/player.js"); + +var _actions = __webpack_require__(/*! ../live/actions */ "./app/client/live/actions.js"); + +var liveActions = _interopRequireWildcard(_actions); + +function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + +var LivePix2Pix = function (_Component) { + _inherits(LivePix2Pix, _Component); + + function LivePix2Pix(props) { + _classCallCheck(this, LivePix2Pix); + + var _this = _possibleConstructorReturn(this, (LivePix2Pix.__proto__ || Object.getPrototypeOf(LivePix2Pix)).call(this)); + + props.actions.get_params(); + props.actions.list_checkpoints(); + props.actions.list_sequences(); + _this.changeCheckpoint = _this.changeCheckpoint.bind(_this); + _this.changeEpoch = _this.changeEpoch.bind(_this); + _this.changeSequence = _this.changeSequence.bind(_this); + _this.seek = _this.seek.bind(_this); + _this.togglePlaying = _this.togglePlaying.bind(_this); + _this.toggleRecording = _this.toggleRecording.bind(_this); + return _this; + } + + _createClass(LivePix2Pix, [{ + key: 'componentWillUpdate', + value: function componentWillUpdate(nextProps) { + if (nextProps.opt.checkpoint_name && nextProps.opt.checkpoint_name !== this.props.opt.checkpoint_name) { + this.props.actions.list_epochs(nextProps.opt.checkpoint_name); + } + } + }, { + key: 'changeCheckpoint', + value: function changeCheckpoint(checkpoint_name) { + this.props.actions.load_epoch(checkpoint_name, 'latest'); + } + }, { + key: 'changeEpoch', + value: function changeEpoch(epoch_name) { + this.props.actions.load_epoch(this.props.opt.checkpoint_name, epoch_name); + } + }, { + key: 'changeSequence', + value: function changeSequence(sequence) { + console.log('got sequence', sequence); + this.props.actions.load_sequence(sequence); + } + }, { + key: 'seek', + value: function seek(percentage) { + var frame = Math.floor(percentage * (parseInt(this.props.frame.sequence_len) || 1) + 1); + this.props.actions.seek(frame); + } + }, { + key: 'togglePlaying', + value: function togglePlaying() { + if (this.props.opt.processing) { + this.props.actions.pause(); + } else { + this.props.actions.play(); + } + } + }, { + key: 'toggleRecording', + value: function toggleRecording() { + if (this.props.opt.recording) { + (0, _player3.stopRecording)(); + this.props.actions.pause(); + } else { + (0, _player3.startRecording)(); + } + } + }, { + key: 'render', + value: function render() { + return (0, _preact.h)( + 'div', + { className: 'app' }, + (0, _preact.h)(_player2.default, { width: 424, height: 256 }), + (0, _preact.h)( + 'div', + { className: 'params' }, + (0, _preact.h)( + 'div', + { className: 'column' }, + (0, _preact.h)( + _paramGroup2.default, + { + title: 'Playback', + noToggle: true + }, + (0, _preact.h)(_select2.default, { + name: 'send_image', + title: 'view mode', + options: ['a', 'b', 'sequence', 'recursive'] + }), + (0, _preact.h)(_select2.default, { + name: 'sequence_name', + title: 'sequence', + options: this.props.sequences, + onChange: this.changeSequence + }), + (0, _preact.h)(_select2.default, { + name: 'checkpoint_name', + title: 'checkpoint', + options: this.props.checkpoints, + onChange: this.changeCheckpoint + }), + (0, _preact.h)(_select2.default, { + name: 'epoch', + title: 'epoch', + options: this.props.epochs, + onChange: this.changeEpoch + }), + (0, _preact.h)(_slider2.default, { + name: 'position', + min: 0.0, max: 1.0, type: 'float', + value: (this.props.frame.sequence_i || 0) / (this.props.frame.sequence_len || 1), + onChange: this.seek + }), + (0, _preact.h)( + _button2.default, + { + title: 'Processing: ' + (this.props.opt.processing ? 'yes' : 'no'), + onClick: this.togglePlaying + }, + this.props.opt.processing ? 'Pause' : 'Restart' + ), + (0, _preact.h)( + _button2.default, + { + title: this.props.opt.savingVideo ? 'Saving video...' : this.props.opt.recording ? 'Recording (' + timeInSeconds(this.props.opt.recordFrames) + ')' : 'Record video', + onClick: this.toggleRecording + }, + this.props.opt.savingVideo ? 'Saving' : this.props.opt.recording ? 'Recording' : 'Record' + ), + (0, _preact.h)( + _button2.default, + { + title: 'Save frame', + onClick: _player3.saveFrame + }, + 'Save' + ) + ) + ), + (0, _preact.h)( + 'div', + { className: 'column' }, + (0, _preact.h)( + _paramGroup2.default, + { + title: 'Transition', + name: 'transition' + }, + (0, _preact.h)(_slider2.default, { + name: 'transition_period', + min: 10, max: 5000, type: 'int' + }), + (0, _preact.h)(_slider2.default, { + name: 'transition_min', + min: 0.001, max: 0.2, type: 'float' + }), + (0, _preact.h)(_slider2.default, { + name: 'transition_max', + min: 0.1, max: 1.0, type: 'float' + }) + ), + (0, _preact.h)( + _paramGroup2.default, + { + title: 'Recursion', + name: 'recursive' + }, + (0, _preact.h)(_slider2.default, { + name: 'recursive_frac', + min: 0.0, max: 0.5, type: 'float' + }), + (0, _preact.h)(_slider2.default, { + name: 'recurse_roll', + min: -64, max: 64, type: 'int' + }), + (0, _preact.h)(_slider2.default, { + name: 'recurse_roll_axis', + min: 0, max: 1, type: 'int' + }) + ), + (0, _preact.h)( + _paramGroup2.default, + { + title: 'Sequence', + name: 'sequence' + }, + (0, _preact.h)(_slider2.default, { + name: 'sequence_frac', + min: 0.0, max: 0.5, type: 'float' + }), + (0, _preact.h)(_slider2.default, { + name: 'process_frac', + min: 0, max: 1, type: 'float' + }) + ) + ), + (0, _preact.h)( + 'div', + { className: 'column' }, + (0, _preact.h)( + _paramGroup2.default, + { + title: 'Clahe', + name: 'clahe' + }, + (0, _preact.h)(_slider2.default, { + name: 'clip_limit', + min: 1.0, max: 4.0, type: 'float' + }) + ), + (0, _preact.h)( + _paramGroup2.default, + { + title: 'Posterize', + name: 'posterize' + }, + (0, _preact.h)(_slider2.default, { + name: 'spatial_window', + min: 2, max: 128, type: 'int' + }), + (0, _preact.h)(_slider2.default, { + name: 'color_window', + min: 2, max: 128, type: 'int' + }) + ), + (0, _preact.h)( + _paramGroup2.default, + { + title: 'Blur', + name: 'blur' + }, + (0, _preact.h)(_slider2.default, { + name: 'blur_radius', + min: 3, max: 7, type: 'odd' + }), + (0, _preact.h)(_slider2.default, { + name: 'blur_sigma', + min: 0, max: 2, type: 'float' + }) + ), + (0, _preact.h)( + _paramGroup2.default, + { + title: 'Canny Edge Detection', + name: 'canny' + }, + (0, _preact.h)(_slider2.default, { + name: 'canny_lo', + min: 10, max: 200, type: 'int' + }), + (0, _preact.h)(_slider2.default, { + name: 'canny_hi', + min: 10, max: 200, type: 'int' + }) + ) + ) + ) + ); + } + }]); + + return LivePix2Pix; +}(_preact.Component); + +function timeInSeconds(n) { + return (n / 10).toFixed(1) + ' s.'; +} +var mapStateToProps = function mapStateToProps(state) { + return { + opt: state.live.opt, + frame: state.live.frame, + checkpoints: state.live.checkpoints, + epochs: state.live.epochs, + sequences: state.live.sequences + }; +}; + +var mapDispatchToProps = function mapDispatchToProps(dispatch, ownProps) { + return { + actions: (0, _redux.bindActionCreators)(liveActions, dispatch) + }; +}; + +exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)(LivePix2Pix); + +/***/ }), + /***/ "./app/client/socket.js": /*!******************************!*\ !*** ./app/client/socket.js ***! @@ -1943,25 +2699,25 @@ socket.on('res', function (data) { break; case 'get_params': _store.store.dispatch({ - type: 'LOAD_PARAMS', + type: types.socket.load_params, opt: data.res }); break; case 'list_checkpoints': _store.store.dispatch({ - type: 'LIST_CHECKPOINTS', + type: types.socket.list_checkpoints, checkpoints: data.res }); break; case 'list_sequences': _store.store.dispatch({ - type: 'LIST_SEQUENCES', + type: types.socket.list_sequences, sequences: data.res }); break; case 'list_epochs': _store.store.dispatch({ - type: 'LIST_EPOCHS', + type: types.socket.list_epochs, epochs: data.res }); break; @@ -1975,6 +2731,7 @@ socket.on('frame', player.onFrame); socket.on('status', function (data) { console.log('got status', data.key, data.value); + _store.store.dispatch({ type: types.socket.status }); switch (data.key) { case 'processing': _store.store.dispatch(_extends({ @@ -2076,6 +2833,14 @@ var _createBrowserHistory = __webpack_require__(/*! history/createBrowserHistory var _createBrowserHistory2 = _interopRequireDefault(_createBrowserHistory); +var _system = __webpack_require__(/*! ./system/system.reducer */ "./app/client/system/system.reducer.js"); + +var _system2 = _interopRequireDefault(_system); + +var _dashboard = __webpack_require__(/*! ./dashboard/dashboard.reducer */ "./app/client/dashboard/dashboard.reducer.js"); + +var _dashboard2 = _interopRequireDefault(_dashboard); + var _reducer = __webpack_require__(/*! ./live/reducer */ "./app/client/live/reducer.js"); var _reducer2 = _interopRequireDefault(_reducer); @@ -2083,6 +2848,8 @@ var _reducer2 = _interopRequireDefault(_reducer); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var appReducer = (0, _redux.combineReducers)({ + system: _system2.default, + dashboard: _dashboard2.default, live: _reducer2.default, router: _reactRouterRedux.routerReducer }); @@ -2095,6 +2862,192 @@ _reduxThunk2.default, (0, _reactRouterRedux.routerMiddleware)(history)))); /***/ }), +/***/ "./app/client/system/system.reducer.js": +/*!*********************************************!*\ + !*** ./app/client/system/system.reducer.js ***! + \*********************************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _moment = __webpack_require__(/*! moment */ "./node_modules/moment/moment.js"); + +var _moment2 = _interopRequireDefault(_moment); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var FileSaver = __webpack_require__(/*! file-saver */ "./node_modules/file-saver/FileSaver.js"); + +var systemInitialState = { + loading: false, + error: null, + + site: { + name: 'Lens Cortex' + }, + currentTask: { + id: 1072, + activity: 'train', + library: 'pix2pix', + dataset: 'video/woods_final', + epoch: 87, + epochs: 100 + }, + images: [{ + url: 'https://s3.amazonaws.com/i.asdf.us/bucky/data/4282/woodscaled_4_true_20180521_2125.png' + }, { + url: 'https://s3.amazonaws.com/i.asdf.us/bucky/data/4282/woodscaled_4_true_20180521_2146%20(1).png' + }, { + url: 'https://s3.amazonaws.com/i.asdf.us/bucky/data/4282/woodscaled_4_true_20180521_2149.png' + }, { + url: 'https://s3.amazonaws.com/i.asdf.us/bucky/data/4282/woodscaled_4_true_20180521_2150.png' + }], + tasks: [{ + id: 1073, + activity: 'train', + library: 'pix2pix', + dataset: 'video/woods_green', + epochs: 100 + }, { + id: 1073, + activity: 'train', + library: 'samplernn', + dataset: 'bobby_brown_-_every_little_step', + epochs: 6 + }, { + id: 1073, + activity: 'train', + library: 'pix2pix', + checkpoint: 'lyra_voice_layers', + dataset: 'audio/lyra_improv', + epochs: 30 + }, { + id: 1073, + activity: 'train', + library: 'pix2pix', + checkpoint: 'lyra_melody_lines', + dataset: 'audio/lyra_improv', + epochs: 30 + }, { + id: 1073, + activity: 'train', + library: 'pix2pix', + checkpoint: 'ensemble_chords', + dataset: 'audio/lyra_improv', + epochs: 30 + }, { + id: 1073, + activity: 'generate', + library: 'samplernn', + dataset: 'coccoglass3', + opt: { time: 5, count: 6 } + }, { + id: 1073, + activity: 'train', + library: 'pix2pix', + dataset: 'video/woods_green', + epochs: 100 + }, { + id: 1073, + activity: 'train', + library: 'samplernn', + dataset: 'bobby_brown_-_every_little_step', + epochs: 6 + }], + files: [{ id: 2, library: 'samplernn', checkpoint: 'jwcglassbeat', dataset: 'jwcglassbeat', epoch: 18, duration: 30, batch_size: 5, filename: 'jwcglassbeat-ep18.mp3', size: 3 * 1024 * 1024, date: Date.now(), opt: "{}" }] +}; + +var systemReducer = function systemReducer() { + var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : systemInitialState; + var action = arguments[1]; + + switch (action.type) { + default: + return state; + } +}; + +exports.default = systemReducer; + +/***/ }), + +/***/ "./app/client/types.js": +/*!*****************************!*\ + !*** ./app/client/types.js ***! + \*****************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = { + socket: { + load_params: 'LOAD_PARAMS', + list_sequences: 'LIST_SEQUENCES', + list_epochs: 'LIST_EPOCHS' + }, + player: { + get_params: 'GET_PARAMS', + set_param: 'SET_PARAM', + + loading_checkpoints: 'LOADING_CHECKPOINTS', + list_checkpoints: 'LIST_CHECKPOINTS', + + loading_sequences: 'LOADING_SEQUENCES', + load_sequence: 'LOAD_SEQUENCE', + + loading_epochs: 'LOADING_EPOCHS', + load_epoch: 'LOAD_EPOCH', + + set_fps: 'SET_FPS', + seeking: 'SEEKING', + pausing: 'PAUSING', + playing: 'PLAYING', + current_frame: 'CURRENT_FRAME', + start_recording: 'START_RECORDING', + add_record_frame: 'ADD_RECORD_FRAME', + save_frame: 'SAVE_FRAME', + saving_video: 'SAVING_VIDEO', + save_video: 'SAVE_VIDEO' + } +}; + +/***/ }), + +/***/ "./app/client/util.js": +/*!****************************!*\ + !*** ./app/client/util.js ***! + \****************************/ +/*! no static exports found */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.timeInSeconds = timeInSeconds; +exports.gerund = gerund; +function timeInSeconds(n) { + return (n / 10).toFixed(1) + ' s.'; +} +function gerund(s) { + return s.replace(/e?$/, 'ing'); +} + +/***/ }), + /***/ "./node_modules/fbjs/lib/emptyFunction.js": /*!************************************************!*\ !*** ./node_modules/fbjs/lib/emptyFunction.js ***! |
