Skip to content

Commit 1740263

Browse files
committed
Reverse speed bar
1 parent e385ecd commit 1740263

File tree

2 files changed

+10
-9
lines changed

2 files changed

+10
-9
lines changed

src/frontend/components/Player/index.jsx

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ class Player extends React.Component {
1919
super(props);
2020

2121
this.state = {
22-
interval: 500,
22+
speed: 2,
2323
playing: false,
2424
building: false,
2525
};
@@ -94,7 +94,8 @@ class Player extends React.Component {
9494
resume(wrap = false) {
9595
this.pause();
9696
if (this.next() || wrap && this.props.setCursor(1)) {
97-
this.timer = window.setTimeout(() => this.resume(), this.state.interval);
97+
const interval = 4000 / Math.pow(Math.E, this.state.speed);
98+
this.timer = window.setTimeout(() => this.resume(), interval);
9899
this.setState({ playing: true });
99100
}
100101
}
@@ -115,8 +116,8 @@ class Player extends React.Component {
115116
return true;
116117
}
117118

118-
handleChangeInterval(interval) {
119-
this.setState({ interval });
119+
handleChangeSpeed(speed) {
120+
this.setState({ speed });
120121
}
121122

122123
handleChangeProgress(progress) {
@@ -129,7 +130,7 @@ class Player extends React.Component {
129130
render() {
130131
const { className, file } = this.props;
131132
const { chunks, cursor } = this.props.player;
132-
const { interval, playing, building } = this.state;
133+
const { speed, playing, building } = this.state;
133134

134135
return (
135136
<div className={classes(styles.player, className)}>
@@ -148,16 +149,16 @@ class Player extends React.Component {
148149
onChangeProgress={progress => this.handleChangeProgress(progress)} />
149150
<Button icon={faChevronRight} reverse primary disabled={!this.isValidCursor(cursor + 1)}
150151
onClick={() => this.next()} />
151-
<div className={styles.interval}>
152+
<div className={styles.speed}>
152153
Speed
153154
<InputRange
154155
classNames={{
155156
inputRange: styles.range,
156157
labelContainer: styles.range_label_container,
157158
slider: styles.range_slider,
158159
track: styles.range_track,
159-
}} maxValue={2000} minValue={100} step={100} value={interval}
160-
onChange={interval => this.handleChangeInterval(interval)} />
160+
}} minValue={0} maxValue={4} step={.5} value={speed}
161+
onChange={speed => this.handleChangeSpeed(speed)} />
161162
</div>
162163
</div>
163164
);

src/frontend/components/Player/stylesheet.scss

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
width: 160px;
66
}
77

8-
.interval {
8+
.speed {
99
display: flex;
1010
align-items: center;
1111
padding: 0 12px;

0 commit comments

Comments
 (0)