File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 6868 let lastSkipSeek = 0 ;
6969 let lastSkippedZoneIdx = - 1 ;
7070 let lastNextCall = 0 ;
71+ let lastEndLoopSeek = 0 ;
7172 let seekStartPendingUri = null ;
7273 let lastStartEnforce = 0 ;
7374 let prevProgressPercent = - 1 ;
298299 return ;
299300 }
300301
301- // Song end enforcement: advance to next track when playback reaches ]
302+ // Song end enforcement: at ], either loop back (repeat-one) or advance to next track
302303 if ( end !== null && percent >= end ) {
303- if ( ts - lastNextCall > 2000 ) {
304+ // Spicetify.Player.getRepeat(): 0 = off, 1 = repeat context, 2 = repeat track
305+ if ( Spicetify . Player . getRepeat ( ) === 2 ) {
306+ if ( ts - lastEndLoopSeek > 500 ) {
307+ lastEndLoopSeek = ts ;
308+ Spicetify . Player . seek ( start ?? 0 ) ;
309+ }
310+ } else if ( ts - lastNextCall > 2000 ) {
304311 lastNextCall = ts ;
305312 seekStartPendingUri = Spicetify . Player . data ?. item ?. uri ?? null ;
306313 Spicetify . Player . next ( ) ;
338345 prevPressedAt = 0 ;
339346 lastStartEnforce = 0 ;
340347 lastNextCall = 0 ;
348+ lastEndLoopSeek = 0 ;
341349 lastSkipSeek = 0 ;
342350 lastSkippedZoneIdx = - 1 ;
343351 } ) ;
You can’t perform that action at this time.
0 commit comments