From 13c4623da4f9ce55f90d09cb5753a54ca29a26f4 Mon Sep 17 00:00:00 2001 From: Kattni Rembor Date: Fri, 15 Jun 2018 11:40:33 -0400 Subject: [PATCH 1/5] Added deinit() to play_file, stop_tone --- adafruit_circuitplayground/express.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/adafruit_circuitplayground/express.py b/adafruit_circuitplayground/express.py index ef90638..e76af1b 100755 --- a/adafruit_circuitplayground/express.py +++ b/adafruit_circuitplayground/express.py @@ -649,6 +649,8 @@ def stop_tone(self): # Stop playing any tones. if self._sample is not None and self._sample.playing: self._sample.stop() + self._sample.deinit() + self._sample = None self._speaker_enable.value = False def play_file(self, file_name): @@ -677,6 +679,7 @@ def play_file(self, file_name): audio.play(file) while audio.playing: pass + audio.deinit() else: audio = audioio.AudioOut(board.SPEAKER, open(file_name, "rb")) audio.play() From 4a4555b086312adef81d09826ce5b236ed62677e Mon Sep 17 00:00:00 2001 From: Kattni Rembor Date: Fri, 15 Jun 2018 11:42:34 -0400 Subject: [PATCH 2/5] Added try/except to play_file --- adafruit_circuitplayground/express.py | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/adafruit_circuitplayground/express.py b/adafruit_circuitplayground/express.py index e76af1b..3ef6548 100755 --- a/adafruit_circuitplayground/express.py +++ b/adafruit_circuitplayground/express.py @@ -673,18 +673,21 @@ def play_file(self, file_name): """ # Play a specified file. self._speaker_enable.value = True - if sys.implementation.version[0] >= 3: - audio = audioio.AudioOut(board.SPEAKER) - file = audioio.WaveFile(open(file_name, "rb")) - audio.play(file) - while audio.playing: - pass - audio.deinit() - else: - audio = audioio.AudioOut(board.SPEAKER, open(file_name, "rb")) - audio.play() - while audio.playing: - pass + try: + if sys.implementation.version[0] >= 3: + audio = audioio.AudioOut(board.SPEAKER) + file = audioio.WaveFile(open(file_name, "rb")) + audio.play(file) + while audio.playing: + pass + audio.deinit() + else: + audio = audioio.AudioOut(board.SPEAKER, open(file_name, "rb")) + audio.play() + while audio.playing: + pass + except RuntimeError: + pass self._speaker_enable.value = False From f8b379bd9e41f3ec9de19063178b75c395677039 Mon Sep 17 00:00:00 2001 From: Kattni Rembor Date: Fri, 15 Jun 2018 13:56:52 -0400 Subject: [PATCH 3/5] whitespace --- adafruit_circuitplayground/express.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/adafruit_circuitplayground/express.py b/adafruit_circuitplayground/express.py index 3ef6548..ebd99d9 100755 --- a/adafruit_circuitplayground/express.py +++ b/adafruit_circuitplayground/express.py @@ -687,7 +687,7 @@ def play_file(self, file_name): while audio.playing: pass except RuntimeError: - pass + pass self._speaker_enable.value = False From b7d7d7e62a67d3cdcbd05a36c82d44be4e427ca8 Mon Sep 17 00:00:00 2001 From: Kattni Rembor Date: Fri, 15 Jun 2018 14:19:30 -0400 Subject: [PATCH 4/5] Removed trailing whitespace for linting fix --- adafruit_circuitplayground/express.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/adafruit_circuitplayground/express.py b/adafruit_circuitplayground/express.py index ebd99d9..3ef6548 100755 --- a/adafruit_circuitplayground/express.py +++ b/adafruit_circuitplayground/express.py @@ -687,7 +687,7 @@ def play_file(self, file_name): while audio.playing: pass except RuntimeError: - pass + pass self._speaker_enable.value = False From c70fe23fc1ade16ec610d15f2bbb6fa83b91e5aa Mon Sep 17 00:00:00 2001 From: Kattni Rembor Date: Fri, 15 Jun 2018 15:18:36 -0400 Subject: [PATCH 5/5] Add stop_tone()/with syntax to play_file --- adafruit_circuitplayground/express.py | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/adafruit_circuitplayground/express.py b/adafruit_circuitplayground/express.py index 3ef6548..7330f41 100755 --- a/adafruit_circuitplayground/express.py +++ b/adafruit_circuitplayground/express.py @@ -672,22 +672,19 @@ def play_file(self, file_name): cpx.play_file("rimshot.wav") """ # Play a specified file. + self.stop_tone() self._speaker_enable.value = True - try: - if sys.implementation.version[0] >= 3: - audio = audioio.AudioOut(board.SPEAKER) - file = audioio.WaveFile(open(file_name, "rb")) - audio.play(file) + if sys.implementation.version[0] >= 3: + with audioio.AudioOut(board.SPEAKER) as audio: + wavefile = audioio.WaveFile(open(file_name, "rb")) + audio.play(wavefile) while audio.playing: pass - audio.deinit() - else: - audio = audioio.AudioOut(board.SPEAKER, open(file_name, "rb")) + else: + with audioio.AudioOut(board.SPEAKER, open(file_name, "rb")) as audio: audio.play() while audio.playing: pass - except RuntimeError: - pass self._speaker_enable.value = False