Hopefully addressing segfault in issue #3
This commit is contained in:
parent
8366fed1be
commit
b10e729627
18
app/music.py
18
app/music.py
@ -30,7 +30,7 @@ class Music:
|
|||||||
to hold up the UI during the fade.
|
to hold up the UI during the fade.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
DEBUG("fade()")
|
DEBUG("music.fade()")
|
||||||
|
|
||||||
if not self.playing():
|
if not self.playing():
|
||||||
return None
|
return None
|
||||||
@ -45,7 +45,7 @@ class Music:
|
|||||||
Implementation of fading the current track in a separate thread.
|
Implementation of fading the current track in a separate thread.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
DEBUG("_fade()")
|
DEBUG("music._fade()")
|
||||||
|
|
||||||
fade_time = Config.FADE_TIME / 1000
|
fade_time = Config.FADE_TIME / 1000
|
||||||
steps = Config.FADE_STEPS
|
steps = Config.FADE_STEPS
|
||||||
@ -75,11 +75,16 @@ class Music:
|
|||||||
def get_playtime(self):
|
def get_playtime(self):
|
||||||
"Return elapsed play time"
|
"Return elapsed play time"
|
||||||
|
|
||||||
|
if not self.player:
|
||||||
|
return None
|
||||||
|
|
||||||
return self.player.get_time()
|
return self.player.get_time()
|
||||||
|
|
||||||
def get_position(self):
|
def get_position(self):
|
||||||
"Return current position"
|
"Return current position"
|
||||||
|
|
||||||
|
DEBUG("music.get_position")
|
||||||
|
|
||||||
return self.player.get_position()
|
return self.player.get_position()
|
||||||
|
|
||||||
def play(self, path):
|
def play(self, path):
|
||||||
@ -89,7 +94,7 @@ class Music:
|
|||||||
Log and return if path not found.
|
Log and return if path not found.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
DEBUG(f"play({path})")
|
DEBUG(f"music.play({path})")
|
||||||
|
|
||||||
if not os.access(path, os.R_OK):
|
if not os.access(path, os.R_OK):
|
||||||
ERROR(f"play({path}): path not found")
|
ERROR(f"play({path}): path not found")
|
||||||
@ -135,8 +140,15 @@ class Music:
|
|||||||
def stop(self):
|
def stop(self):
|
||||||
"Immediately stop playing"
|
"Immediately stop playing"
|
||||||
|
|
||||||
|
DEBUG("music.stop()")
|
||||||
|
|
||||||
|
if not self.player:
|
||||||
|
return None
|
||||||
|
|
||||||
position = self.player.get_position()
|
position = self.player.get_position()
|
||||||
self.player.stop()
|
self.player.stop()
|
||||||
self.player.release()
|
self.player.release()
|
||||||
|
# Ensure we don't reference player after release
|
||||||
|
self.player = None
|
||||||
|
|
||||||
return position
|
return position
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user