Loading app/videoplayer/buffer.py +14 −12 Original line number Diff line number Diff line Loading @@ -50,6 +50,20 @@ class AppBuffer(Buffer): position = int(session_data) self.buffer_widget.media_player.setPosition(position) def toggle_play(self): if self.buffer_widget.media_player.state() == QMediaPlayer.PlayingState: self.buffer_widget.media_player.pause() self.buffer_widget.video_need_replay = False else: self.buffer_widget.media_player.play() self.buffer_widget.video_need_replay = True def play_backward(self): self.buffer_widget.seek_backward() def play_forward(self): self.buffer_widget.seek_forward() class VideoPlayerWidget(QWidget): def __init__(self, parent=None): Loading Loading @@ -91,15 +105,3 @@ class VideoPlayerWidget(QWidget): video_position = self.media_player.position() self.media_player.setPosition(max(video_position - self.video_seek_durcation, 0)) def keyPressEvent(self, event): if event.key() == Qt.Key_Space: if self.media_player.state() == QMediaPlayer.PlayingState: self.media_player.pause() self.video_need_replay = False else: self.media_player.play() self.video_need_replay = True elif event.key() == Qt.Key_H: self.seek_backward() elif event.key() == Qt.Key_L: self.seek_forward() docs/KEYBINDING.md +1 −1 Original line number Diff line number Diff line Loading @@ -36,7 +36,7 @@ | [ | Remember position | | ] | Remember jump | ### Vide Player ### Video Player | Video Player Key | Event | | :-----: | :---- | Loading eaf.el +14 −0 Original line number Diff line number Diff line Loading @@ -182,6 +182,15 @@ by `dired-find-alternate-file'. Otherwise they will be opened normally with `dir :type 'cons :group 'eaf) (defcustom eaf-videoplayer-keybinding '(("SPC" . "toggle_play") ("h" . "play_backward") ("l" . "play_forward") ) "The keybinding of video player." :type 'cons :group 'eaf) (defun eaf-call (method &rest args) (apply 'dbus-call-method :session ; use the session (not system) bus Loading Loading @@ -397,6 +406,11 @@ We need calcuate render allocation to make sure no black border around render co (if function-name-value (eaf-call "execute_function" buffer-id (cdr function-name-value)) (eaf-call "send_key" buffer-id key-desc)))) ((equal buffer-app-name "videoplayer") (let ((function-name-value (assoc key-desc eaf-videoplayer-keybinding))) (if function-name-value (eaf-call "execute_function" buffer-id (cdr function-name-value)) (eaf-call "send_key" buffer-id key-desc)))) (t (eaf-call "send_key" buffer-id key-desc)))) ((string-match "^[CMSs]-.*" key-desc) Loading Loading
app/videoplayer/buffer.py +14 −12 Original line number Diff line number Diff line Loading @@ -50,6 +50,20 @@ class AppBuffer(Buffer): position = int(session_data) self.buffer_widget.media_player.setPosition(position) def toggle_play(self): if self.buffer_widget.media_player.state() == QMediaPlayer.PlayingState: self.buffer_widget.media_player.pause() self.buffer_widget.video_need_replay = False else: self.buffer_widget.media_player.play() self.buffer_widget.video_need_replay = True def play_backward(self): self.buffer_widget.seek_backward() def play_forward(self): self.buffer_widget.seek_forward() class VideoPlayerWidget(QWidget): def __init__(self, parent=None): Loading Loading @@ -91,15 +105,3 @@ class VideoPlayerWidget(QWidget): video_position = self.media_player.position() self.media_player.setPosition(max(video_position - self.video_seek_durcation, 0)) def keyPressEvent(self, event): if event.key() == Qt.Key_Space: if self.media_player.state() == QMediaPlayer.PlayingState: self.media_player.pause() self.video_need_replay = False else: self.media_player.play() self.video_need_replay = True elif event.key() == Qt.Key_H: self.seek_backward() elif event.key() == Qt.Key_L: self.seek_forward()
docs/KEYBINDING.md +1 −1 Original line number Diff line number Diff line Loading @@ -36,7 +36,7 @@ | [ | Remember position | | ] | Remember jump | ### Vide Player ### Video Player | Video Player Key | Event | | :-----: | :---- | Loading
eaf.el +14 −0 Original line number Diff line number Diff line Loading @@ -182,6 +182,15 @@ by `dired-find-alternate-file'. Otherwise they will be opened normally with `dir :type 'cons :group 'eaf) (defcustom eaf-videoplayer-keybinding '(("SPC" . "toggle_play") ("h" . "play_backward") ("l" . "play_forward") ) "The keybinding of video player." :type 'cons :group 'eaf) (defun eaf-call (method &rest args) (apply 'dbus-call-method :session ; use the session (not system) bus Loading Loading @@ -397,6 +406,11 @@ We need calcuate render allocation to make sure no black border around render co (if function-name-value (eaf-call "execute_function" buffer-id (cdr function-name-value)) (eaf-call "send_key" buffer-id key-desc)))) ((equal buffer-app-name "videoplayer") (let ((function-name-value (assoc key-desc eaf-videoplayer-keybinding))) (if function-name-value (eaf-call "execute_function" buffer-id (cdr function-name-value)) (eaf-call "send_key" buffer-id key-desc)))) (t (eaf-call "send_key" buffer-id key-desc)))) ((string-match "^[CMSs]-.*" key-desc) Loading