Proto commits in postlund/pyatv

These 46 commits are when the Protocol Buffers files have changed:

Commit:e551954
Author:Pierre Ståhl
Committer:Pierre Ståhl

companion: Fix credentials not saved Relates to #2216

The documentation is generated from this commit.

Commit:dfcc82b
Author:Pierre Ståhl
Committer:Pierre Ståhl

mrp: Add some missing protobuf definitions

Commit:8badbf7
Author:Michał Modzelewski
Committer:Pierre Ståhl

Support volume control for an Apple TV connected to HomePod(s) instead of TV speakers

Commit:254694c
Author:Michał Modzelewski
Committer:GitHub

Control AirPlay output devices (#2044) * Control AirPlay output devices * fixup! Control AirPlay output devices

Commit:fa006ff
Author:Michał Modzelewski
Committer:Pierre Ståhl

add field to UpdateOutputDeviceMessage

Commit:7a307c2
Author:Michał Modzelewski
Committer:Pierre Ståhl

add protobuf ConfigureConnectionMessage

Commit:d69554e
Author:Pierre Ståhl
Committer:GitHub

protobuf: Add more fields to DeviceInfoMessage (#1778) Relates to #1654 Co-authored-by: Pierre Ståhl <pierre.sigma@renzgroup.com>

Commit:9541d21
Author:Pierre Ståhl
Committer:GitHub

mrp: Fix erroneous button press behavior (#1521) With this fix buttons should not be ignored or "stick" anymore. Relates to #1516

Commit:dc247bd
Author:Pierre Ståhl
Committer:Pierre Ståhl

mrp: Update some MRP protobuf messages

Commit:b0a780e
Author:Pierre Ståhl
Committer:Pierre Ståhl

mrp: Move mrp to protocols Relates to #1140

Commit:384a7a6
Author:Pierre Ståhl
Committer:Pierre Ståhl

mrp: Add new protobuf messages Relates to #1255

Commit:5a6c267
Author:Pierre Ståhl
Committer:Pierre Ståhl

mrp: Add VolumeDidChangeMessage Relates to #1255

Commit:f15fa67
Author:Pierre Ståhl
Committer:GitHub

mrp: Tidy upp keyboard related messages (#1048) Relates to #584

Commit:b0c9355
Author:acheronfail
Committer:GitHub

chore: update types in CryptoPairingMessage to be optional (#1013) Co-authored-by: Pierre Ståhl <pierre.staahl@gmail.com>

Commit:60df163
Author:Pierre Ståhl
Committer:GitHub

mrp: Use GenericMessage for heartbeats (#975) Seems like tvOS 14.5 beta has some issues with current heartbeat implementation, so switch to another measage for heartbeats. Fixes #959.

Commit:8e0fc01
Author:Pierre Ståhl
Committer:GitHub

mrp: Add some protobuf messages for volume (#947)

Commit:df56149
Author:Pierre Ståhl
Committer:GitHub

mrp: Add fields to UpdateOutputDevice (#921)

Commit:ccfa5eb
Author:Pierre Ståhl
Committer:GitHub

mrp: Major updates to protobuf messages (#912) Added more protobuf types, some new message definitions introduced in tvOS 14 and moved playback state to common.

Commit:100aeee
Author:Lucas Christian
Committer:Pierre Ståhl

mrp: Update protobuf for language options. From experimentation, the format of the availableLanguageOptions and currentLanguageOptions fields in the ContentItem protobuf are slightly different. This introduces a new protobuf LanguageOptionGroup to try and capture the correct format for the availableLanguageOptions field.

Commit:127ed5a
Author:Pierre Ståhl
Committer:Pierre Ståhl

mrp: Fix repeat state bug Fixes #662. Fixes #645.

Commit:c8bf5ce
Author:Pierre Ståhl

mrp: Clean up transaction message

Commit:230cf9c
Author:Pierre Ståhl
Committer:Pierre Ståhl

mrp: Fixes to support older protobuf versions Relates to #623.

Commit:d9986bc
Author:Pierre Ståhl
Committer:Pierre Ståhl

cq: Fix a bunch of TODOs in the code

Commit:6c41457
Author:Pierre Ståhl
Committer:Pierre Ståhl

mrp: Fix TransationMessage definition

Commit:ff7dbad
Author:Pierre Ståhl
Committer:Pierre Ståhl

mrp: Add more missing protobuf definitions

Commit:1b2262d
Author:Pierre Ståhl
Committer:Pierre Ståhl

mrp: Fix broken protobuf messages I added an Unknown field a while back that caused the protobuf generatation to fail due to name collision. This was unfortunate on one end that message generation is not checked by tox, but also that protobuf uses a "global" namespace for enums. To work around this I moved the affected enums to individual messages, only for sake of scope. This also made it easy to share types between message, which was an issue before. The same thing should also be done for other messages over time.

Commit:b9fb540
Author:Pierre Ståhl
Committer:Pierre Ståhl

cq: Add codespell for code and docs A new environment has been introduced in tox which checks spelling in all code and documentation. Verification of API documentation consistency has been moved here now, instead of "generated". To verify documentation, do it with tox like this: $ tox -e docs Fixes #541.

Commit:30c4f1f
Author:Pierre Ståhl
Committer:Pierre Ståhl

mrp: Add error codes

Commit:64f98fd
Author:Pierre Ståhl
Committer:Pierre Ståhl

mrp: Add error code to SendCommandResultMessage

Commit:dbc75fa
Author:Pierre Ståhl
Committer:Pierre Ståhl

protobuf: Update messages Add SetNowPlayingPlayerMessage and add type new message type UPDATE_OUTPUT_DEVICE_MESSAGE.

Commit:024284b
Author:Pierre Ståhl
Committer:Pierre Ståhl

mrp: Add some protobuf definitions for voice Not used now but will be relevant for #170 at some point.

Commit:ac3ae13
Author:Pierre Ståhl
Committer:Pierre Ståhl

mrp: Wait for command responses When a command has been sent to the device (e.g. play, pause), wait for the response and check error code if applicable. Also add new message SendButtonEvent which likely can replace the awful packed HID stuff. Not tested yet, definition is provided for future improvements. Also some other general additions to protobuf defitions.

Commit:bfa5a45
Author:Pierre Ståhl
Committer:Pierre Ståhl

New protobuf message and minor updates

Commit:4a2b27e
Author:Pierre Ståhl
Committer:Pierre Ståhl

Add first "playing" functional test to MRP This only tests paused video. To support playing video, faking time must be done in a clever way. Will deal with that later.

Commit:5001d18
Author:Pierre Ståhl
Committer:Pierre Ståhl

Rename play_state to device_state This commit changes play state to device state and consolidates states a bit to make them fit better between MRP and DMAP. In the long run, a standby state shall be added as well once that is supported.

Commit:680bdcf
Author:Pierre Ståhl
Committer:Pierre Ståhl

Initial support for artwork in MRP Similar support as for DMAP.

Commit:49efc3a
Author:Pierre Ståhl
Committer:Pierre Ståhl

Use generic pair function for all protocols Pairing interface has moved to its own function call and pairing (no matter protocol) is not initiated via pyatv.pair. This simplifies a lot of things. Tests are however not that well structured now and probably need an oversight.

Commit:a118bbf
Author:Pierre Ståhl
Committer:Pierre Ståhl

Improve player state handling Keep track of all state changes, including delta updates in MRP and use that to generate playing status.

Commit:5c5071f
Author:Pierre Ståhl
Committer:Pierre Ståhl

Add additional protobuf messages

Commit:c49328a
Author:Pierre Ståhl
Committer:Pierre Ståhl

Fix mistake in TextInputMessage

Commit:2dd783a
Author:Pierre Ståhl
Committer:Pierre Ståhl

Use unique identifiers from zeroconf

Commit:d96b2bd
Author:Pierre Ståhl
Committer:Pierre Ståhl

Add protobuf message TextInputMessage

Commit:dfad557
Author:Pierre Ståhl
Committer:Pierre Ståhl

Fix broken pairing on tvOS 13 Some new fields must be present in CryptoPairingMessage.

Commit:655dfcd
Author:Pierre Ståhl
Committer:Pierre Ståhl

Various updates to MRP Just hacking around adding more functionality to MRP. It is as usual very rough and more along the line of getting things in rather than making it perfect. Once most functionality is in place and works, tests can be written so that refactoring can be made.

Commit:ecafcc9
Author:Pierre Ståhl
Committer:Pierre Ståhl

Various minor fixes mainly for MRP

Commit:4828123
Author:Pierre Ståhl
Committer:Pierre Ståhl

Initial MRP implementation This is the initial implementation of the MRP protocol. It's pretty rough and not everything works, but it's a start. No tests and no up-to-date documentation yet. To try it out, just use: atvremote --debug --protocol mrp -a pair Add --address in case you want to target a specific device (but you must still use -a to discover the correct port).