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 がスッカラカンに。
自分で拡張できるアプリって面白いよね。