Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FastForwardBegin = 8 #2230

Open
nfreeze opened this issue Oct 5, 2023 · 4 comments
Open

FastForwardBegin = 8 #2230

nfreeze opened this issue Oct 5, 2023 · 4 comments
Labels
companion Companion Link feature mrp Media Remote Protocol

Comments

@nfreeze
Copy link

nfreeze commented Oct 5, 2023

What do you need help with?

Hi, I am trying to find the command to fast forward. I see that in pyatv/protocols/companion/api.py there is a reference to FastForwardBegin = 8 but when i do atvremote commands I don't see any fast forward command in there. How do I send a fast forward command? This is similar to pressing and holding the right key on the appletv remote.

@postlund
Copy link
Owner

postlund commented Oct 6, 2023

Fast forwarding/reverse is currently not supported. I think it mostly is because no one has requested it. Would have to try it out to ensure it actually works, but would otherwise be really easy to implement. Should be done for both MRP and Companion.

@postlund postlund added feature mrp Media Remote Protocol companion Companion Link and removed question labels Oct 6, 2023
@zehnm
Copy link

zehnm commented Mar 8, 2024

Fast forward and rewind would be a great addition!

I quickly checked if MediaControlCommand.FastForwardBegin actually works with the companion protocol by replacing the channel_up and channel_down functions:

async def channel_up(self) -> None:
"""Select next channel."""
await self._press_button(HidCommand.ChannelIncrement)
async def channel_down(self) -> None:
"""Select previous channel."""
await self._press_button(HidCommand.ChannelDecrement)

with

    async def channel_up(self) -> None:
        await self.api.mediacontrol_command(MediaControlCommand.FastForwardBegin)

    async def channel_down(self) -> None:
        await self.api.mediacontrol_command(MediaControlCommand.FastForwardEnd)

and fast forward works (in Apple TV+)!

How to get that properly implemented with a FastForward/Rewind feature is another question :-) I'd have to find time to figure out the inner workings of pyatv.

One question: there is only one speed level, multiple FastForwardBegin commands don't change the fast forward speed as with the original remote. Any idea if that would be possible with the companion or MRP protocols?

@zehnm
Copy link

zehnm commented Mar 8, 2024

there is only one speed level

I've pressed comment too fast! While in fast forward mode, remote_control.right() will increase the speed 👍

@postlund
Copy link
Owner

postlund commented Mar 8, 2024

@nfreeze started the work here: #2363

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
companion Companion Link feature mrp Media Remote Protocol
Projects
None yet
Development

No branches or pull requests

3 participants