Merge branch 'reset-queue-same-track' into 'develop'
Fixed position not being reseted properly when playing the same track multiple times in a row See merge request funkwhale/funkwhale!90
This commit is contained in:
commit
f65828762e
|
@ -0,0 +1 @@
|
||||||
|
Fixed position not being reseted properly when playing the same track multiple times in a row
|
|
@ -3,7 +3,7 @@
|
||||||
<div class="player">
|
<div class="player">
|
||||||
<audio-track
|
<audio-track
|
||||||
ref="currentAudio"
|
ref="currentAudio"
|
||||||
v-if="currentTrack"
|
v-if="renderAudio && currentTrack"
|
||||||
:key="(currentIndex, currentTrack.id)"
|
:key="(currentIndex, currentTrack.id)"
|
||||||
:is-current="true"
|
:is-current="true"
|
||||||
:start-time="$store.state.player.currentTime"
|
:start-time="$store.state.player.currentTime"
|
||||||
|
@ -151,6 +151,7 @@ export default {
|
||||||
data () {
|
data () {
|
||||||
let defaultAmbiantColors = [[46, 46, 46], [46, 46, 46], [46, 46, 46], [46, 46, 46]]
|
let defaultAmbiantColors = [[46, 46, 46], [46, 46, 46], [46, 46, 46], [46, 46, 46]]
|
||||||
return {
|
return {
|
||||||
|
renderAudio: true,
|
||||||
sliderVolume: this.volume,
|
sliderVolume: this.volume,
|
||||||
Track: Track,
|
Track: Track,
|
||||||
defaultAmbiantColors: defaultAmbiantColors,
|
defaultAmbiantColors: defaultAmbiantColors,
|
||||||
|
@ -163,7 +164,6 @@ export default {
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
...mapActions({
|
...mapActions({
|
||||||
pause: 'player/pause',
|
|
||||||
togglePlay: 'player/togglePlay',
|
togglePlay: 'player/togglePlay',
|
||||||
clean: 'queue/clean',
|
clean: 'queue/clean',
|
||||||
next: 'queue/next',
|
next: 'queue/next',
|
||||||
|
@ -230,6 +230,17 @@ export default {
|
||||||
this.ambiantColors = this.defaultAmbiantColors
|
this.ambiantColors = this.defaultAmbiantColors
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
currentIndex (newValue, oldValue) {
|
||||||
|
if (newValue !== oldValue) {
|
||||||
|
// why this? to ensure the audio tag is deleted and fully
|
||||||
|
// rerendered, so we don't have any issues with cached position
|
||||||
|
// or whatever
|
||||||
|
this.renderAudio = false
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.renderAudio = true
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},
|
||||||
volume (newValue) {
|
volume (newValue) {
|
||||||
this.sliderVolume = newValue
|
this.sliderVolume = newValue
|
||||||
},
|
},
|
||||||
|
|
Loading…
Reference in New Issue