Averaging group volume

This commit is contained in:
James Barnsley
2018-05-02 16:14:53 +12:00
parent 781d46168a
commit 0e87515e29
9 changed files with 192 additions and 62 deletions

View File

@ -9,6 +9,7 @@ export default class VolumeControl extends React.Component{
}
handleClick(e){
var old_percent = this.props.volume;
var slider = e.target;
if (slider.className != 'slider' ) slider = slider.parentElement;
@ -22,11 +23,12 @@ export default class VolumeControl extends React.Component{
percent = 0
}
this.props.onVolumeChange(percent);
this.props.onVolumeChange(percent, old_percent);
}
handleWheel(e){
if (this.props.scrollWheel){
var old_percent = this.props.volume;
// Identify which direction we've scrolled (inverted)
// This is simplified and doesn't consider momentum as it varies wildly
@ -42,7 +44,7 @@ export default class VolumeControl extends React.Component{
percent = 0
}
this.props.onVolumeChange(percent);
this.props.onVolumeChange(percent, old_percent);
e.preventDefault();
}
}
@ -66,10 +68,14 @@ export default class VolumeControl extends React.Component{
}
render(){
var className = "volume-control"
var className = "volume-control";
if (this.props.mute){
className += " muted"
className += " muted";
}
if (this.props.className){
className += " "+this.props.className;
}
return (
<span className={className} onWheel={e => this.handleWheel(e)}>
{this.renderMuteButton()}