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 samplernnActions from '../samplernn.actions' import * as audioPlayerActions from '../../../common/audioPlayer/audioPlayer.actions' import Loading from '../../../common/loading.component' import { FileList, FileRow } from '../../../common/fileList.component' class SampleRNNResults extends Component { constructor(props){ super() if (!props.samplernn.data) props.actions.load_directories() } render(){ if (this.props.samplernn.loading) return const { folderLookup, fileLookup, datasetLookup } = this.props.samplernn.data // const { folderLookup } = samplernn const renders = Object.keys(folderLookup).sort(util.sort.stringSort.asc).map(key => { const folder = folderLookup[key] let { mapFn, sortFn } = util.sort.orderByFn('epoch desc') const datasetPairs = folder.datasets.map(name => datasetLookup[name]).map(mapFn).sort(sortFn) const bestRenders = datasetPairs .map(pair => pair[1]) .filter(dataset => dataset.output.length) .map(dataset => { const { output } = dataset return output.map(id => fileLookup[id]).map(mapFn).sort(sortFn)[0][1] }) // console.log(bestRenders.map(r => r.epoch)) const path = folder.name === 'unsorted' ? "/samplernn/import/" : "/samplernn/datasets/" + folder.id + "/" return (

{folder.name}

{ e.preventDefault() e.stopPropagation() console.log('picked a file', file) this.handlePick(file) }} />
) }) return (

SampleRNN Results

new project
{renders}
) } handlePick(file){ this.props.audioPlayer.play(file) } } const mapStateToProps = state => ({ samplernn: state.module.samplernn, runner: state.system.runner, task: state.task, }) const mapDispatchToProps = (dispatch, ownProps) => ({ actions: bindActionCreators(samplernnActions, dispatch), audioPlayer: bindActionCreators(audioPlayerActions, dispatch), }) export default connect(mapStateToProps, mapDispatchToProps)(SampleRNNResults)