diff options
| author | Jules Laplace <julescarbon@gmail.com> | 2018-06-06 04:41:26 +0200 |
|---|---|---|
| committer | Jules Laplace <julescarbon@gmail.com> | 2018-06-06 04:41:26 +0200 |
| commit | 16261518dfcf757e8bcc9d7fbbef25150ad576a3 (patch) | |
| tree | 16d154e308e4f08a3b29abed10ad2bf14b0849f3 /app | |
| parent | b92b633cf0c2d528e45c04828a9ce1f5679aeaa3 (diff) | |
hitting right upload endpoint
Diffstat (limited to 'app')
| -rw-r--r-- | app/client/api/crud.upload.js | 2 | ||||
| -rw-r--r-- | app/client/audio/wav2pix.js | 14 | ||||
| -rw-r--r-- | app/client/dataset/dataset.actions.js | 5 | ||||
| -rw-r--r-- | app/client/modules/pix2wav/pix2wav.reducer.js | 1 | ||||
| -rw-r--r-- | app/client/modules/pix2wav/views/spectrogram.upload.js | 26 |
5 files changed, 31 insertions, 17 deletions
diff --git a/app/client/api/crud.upload.js b/app/client/api/crud.upload.js index 6f82d27..a389d4f 100644 --- a/app/client/api/crud.upload.js +++ b/app/client/api/crud.upload.js @@ -10,6 +10,8 @@ export function crud_upload(type, fd, data, dispatch) { } }) + console.log('/api/' + type + '/' + id + '/upload/') + const xhr = new XMLHttpRequest() xhr.upload.addEventListener("progress", uploadProgress, false) xhr.addEventListener("load", uploadComplete, false) diff --git a/app/client/audio/wav2pix.js b/app/client/audio/wav2pix.js index d39262d..baba776 100644 --- a/app/client/audio/wav2pix.js +++ b/app/client/audio/wav2pix.js @@ -11,8 +11,8 @@ import spectrum from './lib/spectrum' import { requestAudioContext } from './lib' -const FRAME_LENGTH = 126 * 255 -const FRAME_OFFSET = FRAME_LENGTH / 4 +export const FRAME_LENGTH = 126 * 255 +export const FRAME_STEP = Math.round(FRAME_LENGTH / 4) const _r = 8 const _i = 8 @@ -49,14 +49,14 @@ export const loadPCM = (file) => { }) } -export const renderFrames = (file, { frame_offset=FRAME_OFFSET, max=10 }) => dispatch => { +export const renderFrames = (file, { frame_step=FRAME_STEP, max=10 }) => dispatch => { return new Promise((resolve, reject) => { loadPCM(file).then(({ buffer, pcm, sr }) => { dispatch({ type: types.wav2pix.loaded_buffer }) let canvases = [] for (let offset = 0, count = 0, _len = pcm.length - FRAME_LENGTH; offset < _len && count < max; - offset += frame_offset, count += 1 + offset += frame_step, count += 1 ) { canvases.push(render(pcm.slice(offset, offset+FRAME_LENGTH), sr, count)) } @@ -66,7 +66,7 @@ export const renderFrames = (file, { frame_offset=FRAME_OFFSET, max=10 }) => dis }) } -export const buildZip = (name, file, { frame_offset=FRAME_OFFSET, max=10000 }) => dispatch => { +export const buildZip = (name, file, { frame_step=FRAME_STEP, max=10000 }) => dispatch => { return new Promise((resolve, reject) => { loadPCM(file).then(({ buffer, pcm, sr }) => { dispatch({ type: types.wav2pix.loaded_buffer }) @@ -77,7 +77,7 @@ export const buildZip = (name, file, { frame_offset=FRAME_OFFSET, max=10000 }) = let offset = 0, count = 0, _len = pcm.length - FRAME_LENGTH for (; offset < _len && count < max; - offset += frame_offset, count += 1 + offset += frame_step, count += 1 ) { if ((count % 10) === 0) { dispatch({ type: types.wav2pix.draw_progress, count }) @@ -92,7 +92,7 @@ export const buildZip = (name, file, { frame_offset=FRAME_OFFSET, max=10000 }) = // FileSaver.saveAs(content, "wav2pix_" + name + ".zip") resolve({ zip: content, - name: "wav2pix_" + name + ".zip", + filename: "wav2pix_" + name + ".zip", count }) }) diff --git a/app/client/dataset/dataset.actions.js b/app/client/dataset/dataset.actions.js index 6cdd15a..ed17418 100644 --- a/app/client/dataset/dataset.actions.js +++ b/app/client/dataset/dataset.actions.js @@ -28,9 +28,9 @@ export const updateFolder = (module, folder, name, opt={}) => dispatch => { }) } -export const uploadFile = (module, folder, file) => dispatch => { +export const uploadFile = (module, folder, file, filename, opt) => dispatch => { const fd = new FormData() - fd.append('file', file) + fd.append('file', file, filename) actions.folder.upload(fd, { id: folder.id, module: module.name, @@ -38,6 +38,7 @@ export const uploadFile = (module, folder, file) => dispatch => { epoch: 0, processed: false, generated: false, + opt, }) } diff --git a/app/client/modules/pix2wav/pix2wav.reducer.js b/app/client/modules/pix2wav/pix2wav.reducer.js index def4f30..80ee4f7 100644 --- a/app/client/modules/pix2wav/pix2wav.reducer.js +++ b/app/client/modules/pix2wav/pix2wav.reducer.js @@ -15,6 +15,7 @@ const pix2wavReducer = (state = pix2wavInitialState, action) => { if (action.data && action.data.module === 'pix2wav') { state = datasetReducer(state, action) } + console.log(action.type) switch (action.type) { case types.wav2pix.loaded_buffer: diff --git a/app/client/modules/pix2wav/views/spectrogram.upload.js b/app/client/modules/pix2wav/views/spectrogram.upload.js index 087af6a..534263a 100644 --- a/app/client/modules/pix2wav/views/spectrogram.upload.js +++ b/app/client/modules/pix2wav/views/spectrogram.upload.js @@ -25,6 +25,7 @@ class SpectrogramUpload extends Component { name: "", frames: [], max: 3000, + frame_step: wav2pixActions.FRAME_STEP, } const audioElement = document.createElement('audio') audioElement.addEventListener('loadedmetadata', () => { @@ -41,23 +42,26 @@ class SpectrogramUpload extends Component { this.audioElement.src = URL.createObjectURL(file) console.log(file.size) if (file.size < 2 << 20) { - console.log('running le test!!!!!') this.props.wav2pix.renderFrames(file, {}) .then(frames => { - console.log(frames) + console.log('got frames', frames.length) this.setState({ ...this.state, frames }) }) } - console.log(file) - // get info on the file... size, etc } buildZip(){ - const { file } = this.state + const { file, max, frame_step } = this.state this.props.wav2pix.buildZip(this.state.name, file, {}) - .then(({ zip, count }) => { - this.props.datasetActions.uploadFile(pix2wavModule, this.props.id, zip, { count }) + .then(({ zip, filename, count }) => { + this.props.datasetActions.uploadFile( + this.props.module, + this.props.folder, + zip, + filename, + { count, max, frame_step } + ) }) } render(){ @@ -105,7 +109,7 @@ class SpectrogramUpload extends Component { <Param title='Date'>{moment(file.lastModifiedDate).format("YYYY-MM-DD h:mm a")}</Param> <Param title='Duration'>{Math.floor(duration) + ' s.'}</Param> <br /> - <Param title='Status'>{this.props.pix2wav.status}{this.props.upload.status}</Param> + <Param title='Status'>{this.props.pix2wav.status}</Param> <br /> </Group> <Group title='Data settings'> @@ -120,6 +124,12 @@ class SpectrogramUpload extends Component { value={this.state.max} onChange={max => this.setState({ max })} /> + <Slider + name='frame step' + min={10} max={10000} type='int' + value={this.state.frame_step} + onChange={frame_step => this.setState({ frame_step })} + /> <Button onClick={() => this.buildZip()} >Build Zip</Button> |
