Req Frame Advance and Slow Motion
#46
Dear FernetMenta, thanks a lot for this, just now saw the push on github from Sep 2017. I would love to map the slow-mo button as well as frame-by-frame to my remote. Any hints for the right commands for the keymap.xml or any reference for me where to find them? Thanks a lot once more!
P.S: read in the commit that the OSD still will be displayed if f.e. I would do frame by frame? If it still does that would unfortunately not be so much of use for me in this state right now Sad
Reply
#47
a silent bump since it has been a month Smile
Reply
#48
For further reference I have found a keymap for the fast forward function. Big thanks to @Landstander for that! From the github commit I read that you can only speedup/speed down to normal speed with this function. Can someone please give me a hint for a keymap of the slowmo version of this?
Landstanders keymap.xml Wrote:<keymap>
<fullscreenvideo>
<keyboard>
<key id="your remote key">PlayerControl(tempoup)</key>
<key id="your remote key">PlayerControl(tempodown)</key>
</keyboard>
</fullscreenvideo>
</keymap>

edit: from your github push I assume that the function to map in the keymap.xml is "PlayerControl(frameadvance(1))" (for advancing 1 frame)? Am I right? I apologize in advance, I am just a novice coder and do not get all the nitty gritty details.
Reply
#49
From what I understand, TempoUp and TempoDown currently give you a range of 0.75x to 1.55x (with some possible future changes coming), although it reads on my display as .8x to 1.5x since there is only 1 decimal place in the OSD.  So you do have Slow motion with sound already available.

It is thanks to TinyHands that I was able to capture the remote key.  Using the KeyMap addon you can set up the remote buttons to something you'll remember, and then either using ES File Explorer, or like I did, the BackUp addon to dump the gen.xml file to a removable device for editing.

From there you can see what the keyid is for the remote button.  For example I found <key id="61568"> is "Up Arrow" on my remote.  You can then set it to a custom function like PlayerControl(tempoup).

If you don't want to steal any buttons like directions or FF/Rewind, you should be able to use the modifier mod="longpress" such as:
Code:
<key id="61568" mod="longpress">PlayerControl(tempoup)</key>
<key id="61569" mod="longpress">PlayerControl(tempodown)</key>
In theory that would keep up/down arrow function normal (BigStepForward, BigStepBackward), but long pressing the button would give it the tempoup/tempodown function.  (Although I think the opposite configuration might be more intuitive.)

I don't know anything about frame advancing though.  I haven't tried to assign what you suggested.
Reply
#50
I fixed frameadvance and added an infobool to be used by skinners. This allows hiding the seekbar during frameadvance.

for using this feature yo need something like this:

<a mod="alt">xbmc.playercontrol(frameadvance(1))</a>
Reply
#51
Thank you so much! I really appreaciate your dedication to things which might seem unimportant to you, but for me (and I am sure for many others) they add a lot of value Smile!
Reply
#52
I should point out that I have since discovered longpress up and down are pre-mapped to switch audio track and subtitle track.  I recommend against adding that modifier.

Edit: And a question.  How exactly does PlayerControl(frameadvance(1)) work in practice?
Do you pause, push a button bound to that and you move forward one frame at a time?
It sounds like you can't go backwards a frame and you couldn't reuse something like FF to advance which would be a more natural use of the fucntion.
Reply
#53
Quote:Do you pause, push a button bound to that and you move forward one frame at a time?
correct
Quote:It sounds like you can't go backwards a frame
true. decoding only works in forward mode.
Reply
#54
Advanced playback features are really a lack in many players these days.
For just watching movies they do not seem of very much importance.
With movies I sometimes like to use skip forward/backward for e.g. 30s or so.
But I have a bunch of instructional videos for e.g. ballroom dancing, judo.
With my old DVD player I was able to set A-B loops, run slow motion forward and backward and do single frame steps.
I am definitely missing these features on modern players.
Reply
#55
(2018-07-26, 20:54)FernetMenta Wrote: I fixed frameadvance and added an infobool to be used by skinners. This allows hiding the seekbar during frameadvance.

for using this feature yo need something like this:

<a mod="alt">xbmc.playercontrol(frameadvance(1))</a>
I don't see documentation for frameadvance in the wiki. My guess is that it should go in the following tables (like "Seek()"):
https://kodi.wiki/view/Skinning_Manual#P...ilt-in.27s
https://kodi.wiki/view/List_of_built-in_...ilt-in.27s
Action_IDs (wiki)
Reply
#56
(2018-11-13, 21:05)MHSwizzleStick Wrote:
(2018-07-26, 20:54)FernetMenta Wrote: I fixed frameadvance and added an infobool to be used by skinners. This allows hiding the seekbar during frameadvance.

for using this feature yo need something like this:

<a mod="alt">xbmc.playercontrol(frameadvance(1))</a>
I don't see documentation for frameadvance in the wiki. My guess is that it should go in the following tables (like "Seek()"):
https://kodi.wiki/view/Skinning_Manual#P...ilt-in.27shttps://kodi.wiki/view/List_of_built-in_...ilt-in.27sAction_IDs (wiki) 
 yes, and the infobool for skinners is: Player.FrameAdvance
Reply
#57
Happy to see slowmotion and frame advance being implemented. Thanks FernetMenta, much appreciated!
For troubleshooting and bug reporting please make sure you read this first (usually it's enough to follow instructions in the second post).
Reply
#58
Is this feature already implemented in some skins? 
If so..which ones?

Thanks in advance...
Reply
#59
(2018-11-16, 21:21)dtviewer Wrote: Is this feature already implemented in some skins? 
If so..which ones?

Thanks in advance...
 I added it to Confluence and fTV awhile ago.
Reply
#60
Thanks!!
Reply

Logout Mark Read Team Forum Stats Members Help
Frame Advance and Slow Motion3