def _converter(self, stopEvent): """ Converts the MP4 to MP3 that arrives in _beatToConvert. """ while (not stopEvent.is_set()): try: beat = self._beatToConvert.get() self.kivyView.setStatusLabelText("Converting") mp4 = beat.getTitle() + ".mp4" mp3 = beat.getTitle() + ".mp3" if utils.fileExists(self.__ofolder+mp4) is False: self.kivyView.showPopup(Errors.CONVERSION_FAILED[0]) return elif utils.fileExists(self.__ofolder+mp3): #@TODO offer choice to the user. utils.deleteFile(self.__ofolder+mp3) secs = utils.getFFmpegFileDurationInSeconds(self.__ofolder + mp4) efsize = utils.estimateFFmpegMp4toMp3NewFileSizeInBytes(secs, 320000) utils.convertMp4ToMp3(mp4, mp3, self.__ofolder, 320000, efsize, beat, self.updateProgress, self.notifyConversionCompleted) except Queue.Empty: pass
def notifyConversionCompleted(self, fullpath, beat): self.kivyView.setStatusLabelText("Saving Beat Information") utils.writeMP3Metadata(fullpath, beat) utils.deleteFile(self.__ofolder + beat.getTitle()+".mp4") self.kivyView.setStatusLabelText("Completed!") self.kivyView.enableDownloadButton()