def highlight(self):
		logging.info("Play state: %d", libsmf.getPlayState())
		if libsmf.getPlayState() == 0:
			self.current_playback_fpath=None
		for i, row in enumerate(self.list_data):
			if row[0] is not None and row[0]==self.current_playback_fpath:
				self.listbox.itemconfig(i, {'bg':zynthian_gui_config.color_hl})
			else:
				self.listbox.itemconfig(i, {'fg':zynthian_gui_config.color_panel_tx})
Exemple #2
0
 def test_ab02_playback(self):
     self.assertEqual(client.transport_state, jack.STOPPED)
     self.assertTrue(zynsmf.load(smf, "./test.mid"))
     self.assertTrue(libsmf.attachPlayer(smf))
     libsmf.startPlayback(False)
     self.assertEqual(libsmf.getPlayState(), STARTING)
     client.transport_start()
     self.assertEqual(client.transport_state, jack.ROLLING)
     self.assertEqual(libsmf.getPlayState(), PLAYING)
     # Stop
     libsmf.stopPlayback(False)
     self.assertEqual(libsmf.getPlayState(), STOPPING)
     sleep(0.1)
     self.assertEqual(client.transport_state, jack.STOPPED)
     self.assertEqual(libsmf.getPlayState(), STOPPED)
	def stop_playing(self):
		if libsmf.getPlayState()!=zynsmf.PLAY_STATE_STOPPED:
			logging.info("STOPPING MIDI PLAY ...")
			libsmf.stopPlayback()
			sleep(0.1)
			self.end_playing()
			return True

		else:
			return False
	def get_status(self):
		status = None

		if libsmf.isRecording():
			status = "REC"

		if libsmf.getPlayState():
			if status=="REC":
				status = "PLAY+REC"
			else:
				status = "PLAY"

		return status
	def hide(self):
		super().hide()
		if self.bpm_zgui_ctrl:
			self.bpm_zgui_ctrl.hide()
		# Remove player / recorder if not in use which reduces load on JACK
		if libsmf.getPlayState() == 0:
			libsmf.removePlayer()
			libsmf.removeSmf(self.smf_player)
			self.smf_player = None
		if not libsmf.isRecording():
			libsmf.removeRecorder()
			libsmf.removeSmf(self.smf_recorder)
			self.smf_recorder = None
	def check_playback(self):
		if self.shown and libsmf.getPlayState() == 0:
			self.end_playing()
		else:
			self.smf_timer = Timer(interval = 1, function=self.check_playback)
			self.smf_timer.start()