def setUp(self): self.player = MpvPlayer() self.player.volume = 0 self.player.initialize()
def main(): parser = setup_argparse() args = parser.parse_args() if is_port_used(23333) or is_port_used(23334): print('\033[0;31m', end='') print( 'Port(23333 or 23334) is used, maybe another feeluown is running?') print('\033[0m', end='') sys.exit(1) debug = args.debug mpv_audio_device = args.mpv_audio_device cli_only = args.no_window logger_config(debug, to_file=args.log_to_file) from fuocore.player import MpvPlayer player = MpvPlayer(audio_device=bytes(mpv_audio_device, 'utf-8')) player.initialize() # 设置 exception hook sys.excepthook = excepthook if not cli_only: try: import PyQt5 # noqa except ImportError: logger.warning('PyQt5 is not installed,can only use CLI mode.') cli_only = True if not cli_only: from PyQt5.QtWidgets import QApplication from quamash import QEventLoop from feeluown.guiapp import GuiApp q_app = QApplication(sys.argv) q_app.setQuitOnLastWindowClosed(True) q_app.setApplicationName('FeelUOwn') app_event_loop = QEventLoop(q_app) asyncio.set_event_loop(app_event_loop) pubsub_gateway, pubsub_server = run_pubsub() app = GuiApp(pubsub_gateway, player=player) app.initialize() load_rcfile(app) # TODO: 调用 show 时,会弹出主界面,但这时界面还没开始绘制 # 为了让提升启动速度,一些非必须的初始化操作可以在 show 之后进行 app.show() else: from feeluown.app import CliApp pubsub_gateway, pubsub_server = run_pubsub() app = CliApp(pubsub_gateway) app.initialize() live_lyric = app.live_lyric event_loop = asyncio.get_event_loop() event_loop.create_task(run_server(app, live_lyric)) try: event_loop.run_forever() logger.info('Event loop stopped.') except KeyboardInterrupt: # NOTE: gracefully shutdown? pass finally: pubsub_server.close() event_loop.close()
def setUp(self): self.player = MpvPlayer()
def setUp(self): self.player = MpvPlayer() self.player.volume = 0
def setUp(self): self.player = MpvPlayer() self.playlist = self.player.playlist self.player.initialize()