def onOK(self, evt): if self.temp_audiofile: if os.path.exists(self.temp_audiofile): dlg = wx.TextEntryDialog(self.frame, u"Bitte einen Namen eingeben", u"Wave Datei speichern", "", wx.OK | wx.CANCEL) if dlg.ShowModal() == wx.ID_OK: name = dlg.GetValue().strip() if not name.endswith(".wav"): name += ".wav" path = os.path.join(self.sound_folder, name) if not os.path.exists(path): os.rename(self.temp_audiofile, path) if "PULSE_LATENCY_MSEC" in os.environ: del os.environ["PULSE_LATENCY_MSEC"] self.frame.EndModal(wx.ID_OK) else: if dialogs.ask(self.frame, u"Datei überschreiben?", u"Datei überschreiben"): os.remove(path) os.rename(self.temp_audiofile, path) if "PULSE_LATENCY_MSEC" in os.environ: del os.environ["PULSE_LATENCY_MSEC"] self.frame.EndModal(wx.ID_OK) else: return else: if "PULSE_LATENCY_MSEC" in os.environ: del os.environ["PULSE_LATENCY_MSEC"] self.frame.EndModal(wx.ID_OK) else: if "PULSE_LATENCY_MSEC" in os.environ: del os.environ["PULSE_LATENCY_MSEC"] self.frame.EndModal(wx.ID_OK)
def onClose(self, evt): self.playing = False self.recording = False self.timer.Stop() if self.temp_audiofile: if not dialogs.ask(self.frame, u"Aufnahme löschen?", u"Aufnahme löschen?"): return os.remove(self.temp_audiofile) if "PULSE_LATENCY_MSEC" in os.environ: del os.environ["PULSE_LATENCY_MSEC"] self.frame.EndModal(wx.ID_CANCEL)
def onCancel(self, evt): if self.temp_audiofile: if not dialogs.ask(self.frame, u"Aufnahme löschen?", u"Aufnahme löschen?"): return if os.path.exists(self.temp_audiofile): try: os.remove(self.temp_audiofile) except IOError, e: self.logger.error(unicode(e)) except OSError, e: self.logger.error(unicode(e))
def onRecord(self, evt): if self.playing: dialogs.showErrorMessage(self.frame, u"Bitte stoppen Sie zuerst die Wiedergabe!", "Wiedergabe stoppen") return self.recording = not self.recording if self.recording: if not self.temp_audiofile: self.temp_audiofile = os.path.join(self.sound_folder, stringhelper.uniqid("temp_", False) + ".wav") else: if not dialogs.ask(self.frame, u"Bestehende Aufnahme überschreiben?", u"Aufnahme überschreiben"): self.recording = False return self.logger.debug("Start recording") self.frame.btnRecord.SetLabel("Stop") thread.start_new_thread(self.record, ()) else: self.logger.debug("Stop recording") self.frame.btnRecord.SetLabel("Aufnehmen")