From 1e39e0d283ad06a4a8212abbe2c817eb6e3f5b91 Mon Sep 17 00:00:00 2001 From: Jules Laplace Date: Mon, 12 Oct 2020 14:44:33 +0200 Subject: toggle script --- animism-align/cli/commands/peaks/parse.py | 8 ++++++- animism-align/frontend/app/constants.js | 6 +++++ animism-align/frontend/app/views/align/align.css | 16 ++++++++++++- .../app/views/align/containers/script.container.js | 27 ++++++++++++++++++---- .../frontend/app/views/audio/audio.actions.js | 5 +++- .../frontend/app/views/site/site.actions.js | 5 ++-- .../frontend/app/views/viewer/nav/eflux.chrome.js | 4 ++-- .../frontend/app/views/viewer/nav/eflux.icons.js | 7 ++++++ 8 files changed, 66 insertions(+), 12 deletions(-) diff --git a/animism-align/cli/commands/peaks/parse.py b/animism-align/cli/commands/peaks/parse.py index b6a9f82..f5b36a4 100644 --- a/animism-align/cli/commands/peaks/parse.py +++ b/animism-align/cli/commands/peaks/parse.py @@ -5,7 +5,7 @@ Extract peaks from an MP3 file. import click @click.command() -@click.option('-i', '--input', 'fp_in', required=False, +@click.option('-i', '--input', 'fp_in', required=True, help='Input file') @click.pass_context def cli(ctx, fp_in): @@ -19,6 +19,10 @@ def cli(ctx, fp_in): from app.settings import app_cfg + if not os.path.exists(fp_in): + print(f"fp_in does not exist: {fp_in}") + return + print(f"Loading {fp_in}") y, sr = librosa.load(fp_in, sr=None) @@ -36,3 +40,5 @@ def cli(ctx, fp_in): with open(os.path.join(app_cfg.DIR_DATA_STORE, 'peaks/peaks.json'), 'w') as fp_out: json.dump(peaks.tolist(), fp_out, separators=(',', ':')) + + print("Wrote peaks.json") diff --git a/animism-align/frontend/app/constants.js b/animism-align/frontend/app/constants.js index dfee865..a9f51ec 100644 --- a/animism-align/frontend/app/constants.js +++ b/animism-align/frontend/app/constants.js @@ -1,3 +1,9 @@ +export const URLS = { + audio: '/static/data_store/peaks/animism_episode_01_0910.mp3', + peaks: '/static/data_store/peaks/peaks.json', + text: '/static/data_store/peaks/text.txt', +} + export const WAVEFORM_SIZE = 300 export const ZOOM_STEPS = [ diff --git a/animism-align/frontend/app/views/align/align.css b/animism-align/frontend/app/views/align/align.css index 760ec4b..15ff840 100644 --- a/animism-align/frontend/app/views/align/align.css +++ b/animism-align/frontend/app/views/align/align.css @@ -99,9 +99,23 @@ canvas { /* Script */ .script { - height: calc(100vh - 3.15rem); + position: absolute; + top: 0; + right: 0; + min-width: 4rem; z-index: 8; } +.script textarea { + height: calc(100vh - 3.15rem); +} +.script button { + position: absolute; + top: 0.25rem; + right: 0.25rem; + z-index: 9; + border: 0; + background: transparent; +} /* Annotations */ diff --git a/animism-align/frontend/app/views/align/containers/script.container.js b/animism-align/frontend/app/views/align/containers/script.container.js index cc340c6..fe3f27b 100644 --- a/animism-align/frontend/app/views/align/containers/script.container.js +++ b/animism-align/frontend/app/views/align/containers/script.container.js @@ -6,17 +6,34 @@ import { connect } from 'react-redux' import actions from 'app/actions' class Timeline extends Component { + state = { + visible: false, + } constructor(props){ super(props) } render() { if (this.props.text.loading) return
+ if (!this.state.visible) { + return ( +
+ +
+ ) + } return ( -