| // Copyright 2018 The Fuchsia Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| library fuchsia.bluetooth.avrcp; |
| |
| using fuchsia.bluetooth; |
| |
| // Types are intented match how they are defined in the BT AVRCP 1.6.2 spec |
| // and the 1394-TA AV\C Panel specification. |
| // Deviations are called out in comments. |
| |
| /// Defined by AVRCP 1.6.2 section 6.7.2 (RegisterNotification) and Appendix H. |
| enum TargetEvent : uint8 { |
| /// EVENT_PLAYBACK_STATUS_CHANGED |
| PlaybackStatusChanged = 0x01; |
| /// EVENT_TRACK_CHANGED |
| TrackChanged = 0x02; |
| /// EVENT_TRACK_REACHED_END |
| TrackReachedEnd = 0x03; |
| /// EVENT_TRACK_REACHED_START |
| TrackReachedStart = 0x04; |
| /// EVENT_TRACK_POS_CHANGED |
| TrackPosChanged = 0x05; |
| /// EVENT_BATT_STATUS_CHANGED |
| BattStatusChanged = 0x06; |
| /// EVENT_SYSTEM_STATUS_CHANGED |
| SystemStatusChanged = 0x07; |
| /// EVENT_PLAYER_APPLICATION_SETTINGS_CHANGED |
| PlayerApplicationSettingsChanged = 0x08; |
| /// EVENT_NOW_PLAYING_CONTENT_CHANGED |
| NowPlayingContentChanged = 0x09; |
| /// EVENT_AVAILABLE_PLAYERS_CHANGED |
| AvailablePlayersChanged = 0x0a; |
| /// EVENT_ADDRESSED_PLAYER_CHANGED |
| AddressedPlayerChanged = 0x0b; |
| /// EVENT_UIDS_CHANGED |
| UidsChanged = 0x0c; |
| /// EVENT_VOLUME_CHANGED |
| VolumeChanged = 0x0d; |
| }; |
| |
| /// Defined by AVRCP 1.6.2 section 6.7.2 (RegisterNotification). |
| /// Format for EVENT_SYSTEM_STATUS_CHANGED. |
| enum SystemStatus : uint8 { |
| PowerOn = 0x00; |
| PowerOff = 0x01; |
| Unplugged = 0x02; |
| }; |
| |
| /// Defined by AVRCP 1.6.2 section 6.7.2 (RegisterNotification). |
| /// Format for EVENT_PLAYBACK_STATUS_CHANGED. |
| enum PlaybackStatus : uint8 { |
| Stopped = 0x00; |
| Playing = 0x01; |
| Paused = 0x02; |
| FwdSeek = 0x03; |
| RevSeek = 0x04; |
| Error = 0xFF; |
| }; |
| |
| /// Defined by AVRCP 1.6.2 section 6.7.2 (RegisterNotification). |
| /// Format for EVENT_BATT_STATUS_CHANGED. |
| /// Same encoding also defined by 6.5.8 (InformBatteryStatusOfCT). |
| enum BatteryStatus : uint8 { |
| Normal = 0x00; |
| Warning = 0x01; |
| Critical = 0x02; |
| External = 0x03; |
| FullCharge = 0x04; |
| Reserved = 0x05; |
| }; |
| |
| /// Defined by AVRCP 1.6.2 Appendix F (player application settings). |
| enum RepeatStatusMode : uint8 { |
| Off = 0x01; |
| SingleTrackRepeat = 0x02; |
| AllTrackRepeat = 0x03; |
| GroupRepeat = 0x04; |
| Reserved = 0xFF; |
| }; |
| |
| /// Defined by AVRCP 1.6.2 Appendix F (player application settings). |
| enum ShuffleMode : uint8 { |
| Off = 0x01; |
| AllTracksShuffle = 0x02; |
| GroupShuffle = 0x03; |
| Reserved = 0xFF; |
| }; |
| |
| /// Defined by AVRCP 1.6.2 Appendix F (player application settings). |
| enum ScanMode : uint8 { |
| Off = 0x01; |
| AllTracksScan = 0x02; |
| GroupScan = 0x03; |
| Reserved = 0xFF; |
| }; |
| |
| /// Defined by AVRCP 1.6.2 Appendix F (player application settings). |
| struct PlayerApplicationSettings { |
| bool equalizer; |
| RepeatStatusMode repeat_status_mode; |
| ShuffleMode shuffle_mode; |
| ScanMode scan_mode; |
| }; |
| |
| /// Defined by AVRCP 1.6.2 Appendix E (media attributes). |
| struct MediaAttributes { |
| string title; |
| string artist_name; |
| string album_name; |
| string track_number; |
| string total_number_of_tracks; |
| string genre; |
| string playing_time; |
| // TODO(BT-729): Add BIP cover art handle. |
| }; |
| |
| /// Defined by AV\C Panel specification. |
| enum AvcPanelCommand : uint8 { |
| select = 0x00; |
| up = 0x01; |
| down = 0x02; |
| left = 0x03; |
| right = 0x04; |
| root_menu = 0x09; |
| contents_menu = 0x0b; |
| favorite_menu = 0x0c; |
| exit = 0x0d; |
| on_demand_menu = 0x0e; |
| apps_menu = 0x0f; |
| key_0 = 0x20; |
| key_1 = 0x21; |
| key_2 = 0x22; |
| key_3 = 0x23; |
| key_4 = 0x24; |
| key_5 = 0x25; |
| key_6 = 0x26; |
| key_7 = 0x27; |
| key_8 = 0x28; |
| key_9 = 0x29; |
| dot = 0x2a; |
| enter = 0x2b; |
| channel_up = 0x30; |
| channel_down = 0x31; |
| channel_previous = 0x32; |
| input_select = 0x34; |
| info = 0x35; |
| help = 0x36; |
| page_up = 0x37; |
| page_down = 0x38; |
| lock = 0x3a; |
| power = 0x40; |
| volume_up = 0x41; |
| volume_down = 0x42; |
| mute = 0x43; |
| play = 0x44; |
| stop = 0x45; |
| pause = 0x46; |
| record = 0x47; |
| rewind = 0x48; |
| fast_forward = 0x49; |
| eject = 0x4a; |
| forward = 0x4b; |
| backward = 0x4c; |
| list = 0x4d; |
| f1 = 0x71; |
| f2 = 0x72; |
| f3 = 0x73; |
| f4 = 0x74; |
| f5 = 0x75; |
| f6 = 0x76; |
| f7 = 0x77; |
| f8 = 0x78; |
| f9 = 0x79; |
| red = 0x7a; |
| green = 0x7b; |
| blue = 0x7c; |
| yellow = 0x7d; |
| }; |