summaryrefslogtreecommitdiff
path: root/app/client/modules
diff options
context:
space:
mode:
Diffstat (limited to 'app/client/modules')
-rw-r--r--app/client/modules/pix2pix/index.js3
-rw-r--r--app/client/modules/pix2pix/pix2pix.actions.js4
-rw-r--r--app/client/modules/pix2pix/views/pix2pix.new.js3
-rw-r--r--app/client/modules/pix2pix/views/pix2pix.show.js2
-rw-r--r--app/client/modules/pix2wav/index.js13
-rw-r--r--app/client/modules/pix2wav/pix2wav.actions.js57
-rw-r--r--app/client/modules/pix2wav/pix2wav.tasks.js7
-rw-r--r--app/client/modules/pix2wav/views/pix2wav.new.js13
-rw-r--r--app/client/modules/pix2wav/views/pix2wav.show.js116
-rw-r--r--app/client/modules/samplernn/index.js2
-rw-r--r--app/client/modules/samplernn/samplernn.actions.js4
-rw-r--r--app/client/modules/samplernn/views/samplernn.graph.js6
-rw-r--r--app/client/modules/samplernn/views/samplernn.import.js2
-rw-r--r--app/client/modules/samplernn/views/samplernn.new.js2
-rw-r--r--app/client/modules/samplernn/views/samplernn.results.js2
-rw-r--r--app/client/modules/samplernn/views/samplernn.show.js2
16 files changed, 221 insertions, 17 deletions
diff --git a/app/client/modules/pix2pix/index.js b/app/client/modules/pix2pix/index.js
index ffe5f6b..9e3d466 100644
--- a/app/client/modules/pix2pix/index.js
+++ b/app/client/modules/pix2pix/index.js
@@ -1,11 +1,14 @@
import { h, Component } from 'preact'
import { Route, Link } from 'react-router-dom'
+import util from '../../util'
+
import Pix2PixNew from './views/pix2pix.new'
import Pix2PixShow from './views/pix2pix.show'
import Pix2PixLive from './views/pix2pix.live'
function router () {
+ document.body.style.backgroundImage = 'linear-gradient(' + (util.randint(40)+40) + 'deg, #fde, #ffe)'
return (
<section>
<Route exact path='/pix2pix/new/' component={Pix2PixNew} />
diff --git a/app/client/modules/pix2pix/pix2pix.actions.js b/app/client/modules/pix2pix/pix2pix.actions.js
index 82311ad..8633c0a 100644
--- a/app/client/modules/pix2pix/pix2pix.actions.js
+++ b/app/client/modules/pix2pix/pix2pix.actions.js
@@ -7,13 +7,13 @@ import * as datasetLoader from '../../dataset/dataset.loader'
import actions from '../../actions'
-import { allProgress } from '../../util'
+import util from '../../util'
import pix2pixModule from './pix2pix.module'
export const load_directories = (id) => (dispatch) => {
const module = pix2pixModule.name
- allProgress([
+ util.allProgress([
datasetLoader.load(module),
// actions.socket.list_directory({ module, dir: 'datasets' }),
// actions.socket.list_directory({ module, dir: 'results' }),
diff --git a/app/client/modules/pix2pix/views/pix2pix.new.js b/app/client/modules/pix2pix/views/pix2pix.new.js
index 173777c..203a606 100644
--- a/app/client/modules/pix2pix/views/pix2pix.new.js
+++ b/app/client/modules/pix2pix/views/pix2pix.new.js
@@ -1,7 +1,4 @@
import { h, Component } from 'preact'
-import { bindActionCreators } from 'redux'
-import { connect } from 'react-redux'
-import * as util from '../../../util'
import NewDatasetForm from '../../../dataset/dataset.new'
diff --git a/app/client/modules/pix2pix/views/pix2pix.show.js b/app/client/modules/pix2pix/views/pix2pix.show.js
index ef4b906..2139c6c 100644
--- a/app/client/modules/pix2pix/views/pix2pix.show.js
+++ b/app/client/modules/pix2pix/views/pix2pix.show.js
@@ -1,7 +1,7 @@
import { h, Component } from 'preact'
import { bindActionCreators } from 'redux'
import { connect } from 'react-redux'
-import * as util from '../../../util'
+import util from '../../../util'
import * as pix2pixActions from '../pix2pix.actions'
import * as pix2pixTasks from '../pix2pix.tasks'
diff --git a/app/client/modules/pix2wav/index.js b/app/client/modules/pix2wav/index.js
index 602d54e..9071d04 100644
--- a/app/client/modules/pix2wav/index.js
+++ b/app/client/modules/pix2wav/index.js
@@ -1,10 +1,18 @@
import { h, Component } from 'preact'
import { Route, Link } from 'react-router-dom'
+import util from '../../util'
+
+import Pix2WavNew from './views/pix2wav.new'
+import Pix2WavShow from './views/pix2wav.show'
+// import Pix2WavLive from './views/pix2wav.live'
function router () {
- // <Route exact path='/pix2pix/live/' component={Pix2PixLive} />
+ document.body.style.backgroundImage = 'linear-gradient(' + (util.randint(40)+40) + 'deg, #fde, #ffe)'
return (
<section>
+ <Route exact path='/pix2wav/new/' component={Pix2WavNew} />
+ <Route exact path='/pix2wav/datasets/' component={Pix2WavShow} />
+ <Route exact path='/pix2wav/datasets/:id/' component={Pix2WavShow} />
</section>
)
}
@@ -13,12 +21,11 @@ function links(){
return (
<span>
<span>datasets</span>
- <span><Link to="/pix2wav/live/">live</Link></span>
</span>
)
}
export default {
- name: 'pix2pix',
+ name: 'pix2wav',
router, links,
}
diff --git a/app/client/modules/pix2wav/pix2wav.actions.js b/app/client/modules/pix2wav/pix2wav.actions.js
new file mode 100644
index 0000000..08f1a97
--- /dev/null
+++ b/app/client/modules/pix2wav/pix2wav.actions.js
@@ -0,0 +1,57 @@
+import uuidv1 from 'uuid/v1'
+
+import socket from '../../socket'
+import types from '../../types'
+
+import * as datasetLoader from '../../dataset/dataset.loader'
+
+import actions from '../../actions'
+
+import util from '../../util'
+
+import pix2wavModule from './pix2wav.module'
+
+export const load_directories = (id) => (dispatch) => {
+ const module = pix2wavModule.name
+ util.allProgress([
+ datasetLoader.load(module),
+ // actions.socket.list_directory({ module, dir: 'datasets' }),
+ // actions.socket.list_directory({ module, dir: 'results' }),
+ // actions.socket.list_directory({ module, dir: 'output' }),
+ // actions.socket.disk_usage({ module, dir: 'datasets' }),
+ ], (percent, i, n) => {
+ dispatch({ type: types.app.load_progress, progress: { i, n }})
+ }).then(res => {
+ const [datasetApiReport] = res //, datasets, results, output, datasetUsage, lossReport] = res
+ const {
+ folderLookup,
+ fileLookup,
+ datasetLookup,
+ folders,
+ files,
+ unsortedFolder,
+ } = datasetApiReport
+ dispatch({
+ type: types.dataset.load,
+ data: {
+ module,
+ folderLookup,
+ fileLookup,
+ datasetLookup,
+ folders, files,
+ },
+ })
+ if (id) {
+ console.log('folder id', id)
+ dispatch({
+ type: types.dataset.set_folder,
+ data: {
+ folder_id: id,
+ module
+ },
+ })
+ }
+ }).catch(e => {
+ console.error(e)
+ })
+}
diff --git a/app/client/modules/pix2wav/pix2wav.tasks.js b/app/client/modules/pix2wav/pix2wav.tasks.js
new file mode 100644
index 0000000..646e28c
--- /dev/null
+++ b/app/client/modules/pix2wav/pix2wav.tasks.js
@@ -0,0 +1,7 @@
+import uuidv1 from 'uuid/v1'
+
+import socket from '../../socket'
+import types from '../../types'
+
+import actions from '../../actions'
+
diff --git a/app/client/modules/pix2wav/views/pix2wav.new.js b/app/client/modules/pix2wav/views/pix2wav.new.js
new file mode 100644
index 0000000..aff00aa
--- /dev/null
+++ b/app/client/modules/pix2wav/views/pix2wav.new.js
@@ -0,0 +1,13 @@
+import { h, Component } from 'preact'
+
+import NewDatasetForm from '../../../dataset/dataset.new'
+
+import pix2wavModule from '../pix2wav.module'
+
+export default function Pix2WavNew ({ history }) {
+ return (
+ <div class='app pix2wav'>
+ <NewDatasetForm module={pix2wavModule} history={history} />
+ </div>
+ )
+}
diff --git a/app/client/modules/pix2wav/views/pix2wav.show.js b/app/client/modules/pix2wav/views/pix2wav.show.js
new file mode 100644
index 0000000..46a2436
--- /dev/null
+++ b/app/client/modules/pix2wav/views/pix2wav.show.js
@@ -0,0 +1,116 @@
+import { h, Component } from 'preact'
+import { bindActionCreators } from 'redux'
+import { connect } from 'react-redux'
+import util from '../../../util'
+
+import * as pix2wavActions from '../pix2wav.actions'
+import * as pix2wavTasks from '../pix2wav.tasks'
+
+import Loading from '../../../common/loading.component'
+import DatasetForm from '../../../dataset/dataset.form'
+import NewDatasetForm from '../../../dataset/dataset.new'
+import UploadStatus from '../../../dataset/upload.status'
+import { FileList, FileRow } from '../../../common/fileList.component'
+
+import DatasetComponent from '../../../dataset/dataset.component'
+
+import pix2wavModule from '../pix2wav.module'
+
+class Pix2wavShow extends Component {
+ constructor(props){
+ super(props)
+ this.datasetActions = this.datasetActions.bind(this)
+ }
+ componentWillMount(){
+ const id = this.props.match.params.id || localStorage.getItem('pix2wav.last_id')
+ console.log('load dataset:', id)
+ const { match, pix2wav, actions } = this.props
+ if (id === 'new') return
+ if (id) {
+ if (parseInt(id)) localStorage.setItem('pix2wav.last_id', id)
+ if (! pix2wav.folder || pix2wav.folder.id !== id) {
+ actions.load_directories(id)
+ }
+ }
+ }
+ render(){
+ const { pix2wav, match, history } = this.props
+ const { folderLookup } = (pix2wav.data || {})
+ const folder = (folderLookup || {})[pix2wav.folder_id] || {}
+
+ return (
+ <div className='app pix2wav'>
+ <div class='heading'>
+ <div class='spaced'>
+ <h1>{folder ? folder.name : <Loading />}</h1>
+ <UploadStatus />
+ </div>
+ </div>
+ {folder && folder.name && folder.name !== 'unsorted' &&
+ <DatasetForm
+ title='Add Files'
+ module={pix2wavModule}
+ folder={folder}
+ canUpload canAddURL
+ />
+ }
+ <DatasetComponent
+ loading={pix2wav.loading}
+ progress={pix2wav.progress}
+ id={pix2wav.folder_id}
+ module={pix2wavModule}
+ data={pix2wav.data}
+ folder={folder}
+ history={history}
+ onPickFile={(file, e) => {
+ e.preventDefault()
+ e.stopPropagation()
+ console.log('picked a file', file)
+ }}
+ datasetActions={this.datasetActions}
+ />
+ </div>
+ )
+ }
+ datasetActions(dataset, isFetching=false, isProcessing=false){
+ const { pix2wav, remote } = this.props
+ const input = pix2wav.data.fileLookup[dataset.input[0]]
+ if (! input) return null
+ if (input.name && input.name.match(/(gif|jpe?g|png)$/i)) return null
+ return (
+ <div>
+ <div class={'actions'}>
+ <span class='link' onClick={() => remote.train_task(dataset, pix2wav.folder_id, 1)}>train</span>
+ <span class='link' onClick={() => remote.train_task(dataset, pix2wav.folder_id, 2)}>2x</span>
+ <span class='link' onClick={() => remote.train_task(dataset, pix2wav.folder_id, 4)}>4x</span>
+ <span class='link' onClick={() => remote.train_task(dataset, pix2wav.folder_id, 6)}>6x</span>
+ <span class='link' onClick={() => remote.train_task(dataset, pix2wav.folder_id, 18)}>18x</span>
+ </div>
+ {dataset.isBuilt
+ ? <div class='subtext'>
+ {'fetched '}
+ <span class='link' onClick={() => remote.clear_cache_task(dataset)}>rm</span>
+ </div>
+ : isFetching
+ ? <div class='subtext'>
+ {'fetching'}
+ </div>
+ : <div class='subtext'>
+ <span class='link' onClick={() => remote.fetch_task(input.url, input.id, dataset.name)}>fetch</span>
+ </div>
+ }
+ </div>
+ )
+ }
+}
+
+const mapStateToProps = state => ({
+ pix2wav: state.module.pix2wav,
+})
+
+const mapDispatchToProps = (dispatch, ownProps) => ({
+ actions: bindActionCreators(pix2wavActions, dispatch),
+ remote: bindActionCreators(pix2wavTasks, dispatch),
+})
+
+export default connect(mapStateToProps, mapDispatchToProps)(Pix2wavShow)
diff --git a/app/client/modules/samplernn/index.js b/app/client/modules/samplernn/index.js
index 7d5e36e..485a9a4 100644
--- a/app/client/modules/samplernn/index.js
+++ b/app/client/modules/samplernn/index.js
@@ -1,5 +1,6 @@
import { h, Component } from 'preact'
import { Route, Link } from 'react-router-dom'
+import util from '../../util'
import SampleRNNNew from './views/samplernn.new'
import SampleRNNShow from './views/samplernn.show'
@@ -8,6 +9,7 @@ import SampleRNNResults from './views/samplernn.results'
import SampleRNNGraph from './views/samplernn.graph'
function router () {
+ document.body.style.backgroundImage = 'linear-gradient(' + (util.randint(40)+40) + 'deg, #eef, #fef)'
return (
<section>
<Route exact path='/samplernn/new/' component={SampleRNNNew} />
diff --git a/app/client/modules/samplernn/samplernn.actions.js b/app/client/modules/samplernn/samplernn.actions.js
index d0fda31..a957e25 100644
--- a/app/client/modules/samplernn/samplernn.actions.js
+++ b/app/client/modules/samplernn/samplernn.actions.js
@@ -7,13 +7,13 @@ import * as datasetLoader from '../../dataset/dataset.loader'
import actions from '../../actions'
-import { allProgress } from '../../util'
+import util from '../../util'
import samplernnModule from './samplernn.module'
export const load_directories = (id) => (dispatch) => {
const module = samplernnModule.name
- allProgress([
+ util.allProgress([
datasetLoader.load(module),
actions.socket.list_directory({ module, dir: 'datasets' }),
actions.socket.list_directory({ module, dir: 'results' }),
diff --git a/app/client/modules/samplernn/views/samplernn.graph.js b/app/client/modules/samplernn/views/samplernn.graph.js
index 821f1cb..9685802 100644
--- a/app/client/modules/samplernn/views/samplernn.graph.js
+++ b/app/client/modules/samplernn/views/samplernn.graph.js
@@ -2,7 +2,9 @@ import { h, Component } from 'preact'
import { bindActionCreators } from 'redux'
import { connect } from 'react-redux'
-import { lerp, norm, randint, randrange } from '../../../util'
+import util from '../../../util'
+
+const { lerp, norm, randint, randrange } = util
import * as samplernnActions from '../samplernn.actions'
@@ -38,7 +40,7 @@ class SampleRNNGraph extends Component {
canvas.style.width = canvas.width + 'px'
canvas.style.height = canvas.height + 'px'
- const ctx = canvas.getContext('2d')
+ const ctx = canvas.getContext('2d-lodpi')
const w = canvas.width = canvas.width * devicePixelRatio
const h = canvas.height = canvas.height * devicePixelRatio
ctx.clearRect(0,0,w,h)
diff --git a/app/client/modules/samplernn/views/samplernn.import.js b/app/client/modules/samplernn/views/samplernn.import.js
index cce4aea..61df4da 100644
--- a/app/client/modules/samplernn/views/samplernn.import.js
+++ b/app/client/modules/samplernn/views/samplernn.import.js
@@ -1,7 +1,7 @@
import { h, Component } from 'preact'
import { bindActionCreators } from 'redux'
import { connect } from 'react-redux'
-import * as util from '../../../util'
+import util from '../../../util'
import * as samplernnActions from '../samplernn.actions'
diff --git a/app/client/modules/samplernn/views/samplernn.new.js b/app/client/modules/samplernn/views/samplernn.new.js
index 5f657c0..5640afc 100644
--- a/app/client/modules/samplernn/views/samplernn.new.js
+++ b/app/client/modules/samplernn/views/samplernn.new.js
@@ -1,7 +1,7 @@
import { h, Component } from 'preact'
import { bindActionCreators } from 'redux'
import { connect } from 'react-redux'
-import * as util from '../../../util'
+import util from '../../../util'
import NewDatasetForm from '../../../dataset/dataset.new'
diff --git a/app/client/modules/samplernn/views/samplernn.results.js b/app/client/modules/samplernn/views/samplernn.results.js
index 12367a3..3d448fc 100644
--- a/app/client/modules/samplernn/views/samplernn.results.js
+++ b/app/client/modules/samplernn/views/samplernn.results.js
@@ -2,8 +2,8 @@ import { h, Component } from 'preact'
import { bindActionCreators } from 'redux'
import { Link } from 'react-router-dom';
import { connect } from 'react-redux'
+import util from '../../../util'
-import * as util from '../../../util'
import * as samplernnActions from '../samplernn.actions'
import * as audioPlayerActions from '../../../common/audioPlayer/audioPlayer.actions'
diff --git a/app/client/modules/samplernn/views/samplernn.show.js b/app/client/modules/samplernn/views/samplernn.show.js
index f44deda..b7e0740 100644
--- a/app/client/modules/samplernn/views/samplernn.show.js
+++ b/app/client/modules/samplernn/views/samplernn.show.js
@@ -1,7 +1,7 @@
import { h, Component } from 'preact'
import { bindActionCreators } from 'redux'
import { connect } from 'react-redux'
-import * as util from '../../../util'
+import util from '../../../util'
import * as samplernnActions from '../samplernn.actions'
import * as samplernnTasks from '../samplernn.tasks'