From 33c728a55080d9649b220531da52d6aa3f4da1aa Mon Sep 17 00:00:00 2001 From: yumoqing Date: Tue, 30 Aug 2022 23:16:23 +0800 Subject: [PATCH] bugfix --- docs/changelog.md | 2 ++ kivyblocks/blocksapp.py | 16 ++++++++++------ kivyblocks/ffpyplayer_video.py | 12 +++++++++--- kivyblocks/version.py | 2 +- 4 files changed, 22 insertions(+), 10 deletions(-) diff --git a/docs/changelog.md b/docs/changelog.md index 81af85e..1f20fb3 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -5,3 +5,5 @@ add script to support local .tmpl and .dspy file translation. it can build dynam ## version 0.3.1 * uses weakref to collect all the i18n widgets in i18n.py +* show video play position + diff --git a/kivyblocks/blocksapp.py b/kivyblocks/blocksapp.py index 6642857..3c9d1dd 100644 --- a/kivyblocks/blocksapp.py +++ b/kivyblocks/blocksapp.py @@ -115,12 +115,7 @@ class BlocksApp(App): print('profile_path=', fname) return fname - def write_profile(self, dic): - fname = self.get_profile_name() - with codecs.open(fname,'w','utf-8') as f: - json.dump(dic,f) - - def write_default_profile(self): + def default_profile(self): device_id = getID() try: device_id = plyer.uniqueid.id @@ -132,6 +127,15 @@ class BlocksApp(App): d = { 'device_id': device_id } + return d + + def write_profile(self, dic): + fname = self.get_profile_name() + with codecs.open(fname,'w','utf-8') as f: + json.dump(dic,f) + + def write_default_profile(self): + d = self.default_profile() self.write_profile(d) def read_profile(self): diff --git a/kivyblocks/ffpyplayer_video.py b/kivyblocks/ffpyplayer_video.py index a42b38e..6c416cb 100644 --- a/kivyblocks/ffpyplayer_video.py +++ b/kivyblocks/ffpyplayer_video.py @@ -12,6 +12,7 @@ from kivy.clock import Clock from kivy.properties import StringProperty, BooleanProperty, \ OptionProperty, NumericProperty from kivy.graphics.texture import Texture +from kivy.graphics import Color, Line from kivyblocks.ready import WidgetReady @@ -115,9 +116,14 @@ class FFVideo(WidgetReady, Image): def on_frame(self, *args): if self._player is None: return - if self.audio_id is None: - return - self._player.request_channel(self, 'audio', 'open', self.audio_id) + # self._player.request_channel(self, 'audio', 'open', self.audio_id) + p = self._player.get_pts() / self.duration * self.width + with self.canvas.after: + Color(1,1,1,1) + Line() + Line(points=[0, 0, self.width, 0], width=1) + Color(1,0,0,1) + Line(points=[0,1,p,0], width=2) def __del__(self): if self._update_task: diff --git a/kivyblocks/version.py b/kivyblocks/version.py index 0404d81..e1424ed 100644 --- a/kivyblocks/version.py +++ b/kivyblocks/version.py @@ -1 +1 @@ -__version__ = '0.3.0' +__version__ = '0.3.1'