syntax = "proto3"; option java_package = "com.github.damontecres.wholphin.preferences"; option java_multiple_files = true; enum SkipSegmentBehavior{ IGNORE = 0; AUTO_SKIP = 1; ASK_TO_SKIP = 2; } enum PrefContentScale{ FIT = 0; NONE = 1; CROP = 2; FILL = 3; Fill_WIDTH = 4; FILL_HEIGHT = 5; } message PlaybackOverrides{ bool ac3_supported = 1; bool downmix_stereo = 2; bool direct_play_ass = 3; bool direct_play_pgs = 4; } message PlaybackPreferences { int64 skip_forward_ms = 1; int64 skip_back_ms = 2; int64 controller_timeout_ms = 3; int32 seek_bar_steps = 4; bool show_debug_info = 5; bool auto_play_next = 6; int64 auto_play_next_delay_seconds = 7; int64 skip_back_on_resume_seconds = 8; int64 max_bitrate = 9; SkipSegmentBehavior skip_intros = 10; SkipSegmentBehavior skip_outros = 11; SkipSegmentBehavior skip_commercials = 12; SkipSegmentBehavior skip_recaps = 13; SkipSegmentBehavior skip_previews = 14; PlaybackOverrides overrides = 15; int64 pass_out_protection_ms = 16; PrefContentScale global_content_scale = 17; } message HomePagePreferences{ int32 max_items_per_row = 1; bool enable_rewatching_next_up = 2; bool combine_continue_next = 3; } enum ThemeSongVolume { DISABLED = 0; LOWEST = 1; LOW = 2; MEDIUM = 3; HIGH = 4; HIGHEST = 5; } enum AppThemeColors { PURPLE = 0; BLUE = 1; GREEN = 2; ORANGE = 3; } message InterfacePreferences { ThemeSongVolume play_theme_songs = 1; bool remember_selected_tab = 2; map remembered_tabs = 3; AppThemeColors app_theme_colors = 4; } message AppPreferences { // The currently signed in server and user IDs, mostly for restoring a session string current_server_id = 1; string current_user_id = 2; PlaybackPreferences playback_preferences = 3; HomePagePreferences home_page_preferences = 4; InterfacePreferences interface_preferences = 5; bool auto_check_for_updates = 6; string update_url = 7; bool send_crash_reports = 8; }