mpv をスクリプトで拡張をまとめてページを作ろうとして、欲が出た。
動画の回転を Eye of GNOME や Totem に合わせたい。
具体的には Ctrl+R で 90° ずつ時計回り、Shift 追加で逆回り。
今まで Ctrl+E を逆回りに割り当てていたけど、やはりおかしい。
それに割り当てする値は 0-359 以内にしないとエラーになる。
input.conf ではどうにもならない、Lua スクリプトを書く。
-- ~/.config/mpv/scripts/mpv_rotate.lua -- input.conf に 'Ctrl+r add video-rotate 90' でもいいけど -- 0-359 以内にしないとエラーなのとキーを Eye of GNOME に合わせたかったので function on_rotate_right() angle = mp.get_property('options/video-rotate') num = tonumber(angle) + 90 if num > 270 then num = 0 end mp.osd_message('angle:'..tostring(num)..'°') mp.set_property_number('options/video-rotate', num) end function on_rotate_left() angle = mp.get_property('options/video-rotate') num = tonumber(angle) - 90 if num < 0 then num = 270 end mp.osd_message('angle:'..tostring(num)..'°') mp.set_property_number('options/video-rotate', num) end mp.add_key_binding('Ctrl+r', 'rotate_right', on_rotate_right) mp.add_key_binding('Ctrl+Shift+r', 'rotate_left', on_rotate_left)
osd も入れて。
よし問題なく動くぞ。
macOS な人は逆回転を command+L にすれば Preview.app と同じになる。
ついでに、time-pos プロパティをゼロにすれば先頭に巻き戻しできるけど。
最後まで再生してポーズ状態からだとポーズのまま、即再生させたいのよ筆者は。
-- ~/.config/mpv/scripts/mpv_go_home.lua -- Home キーで先頭に巻き戻して再生する -- 最後まで再生しポーズ状態になっていても即再生できるように function on_go_home() mp.set_property_number('time-pos', 0) if mp.get_property_bool('pause') then mp.set_property_bool('pause', false) end end mp.add_key_binding('Home', 'go_home_func', on_go_home)
できた。
いやいや input.conf がスッカラカンに。
自分で拡張できるアプリって面白いよね。