From c404df75ae6378cc1c844ee94c546895b425c41f Mon Sep 17 00:00:00 2001 From: Fernando Serrano Carpena Date: Fri, 30 Jun 2023 14:18:11 +0200 Subject: [PATCH] Documentation updated --- config/config.json | 1 + doc/tutorial/customize_colors.md | 1 + doc/tutorial/customize_playback_bar.md | 132 ++++++++++++++++++ doc/tutorial/index.md | 21 +-- doc/tutorial/pi_handler_visible.jpg | Bin 0 -> 13665 bytes doc/tutorial/pi_inline_mode_1.jpg | Bin 0 -> 20192 bytes doc/tutorial/pi_inline_mode_2.jpg | Bin 0 -> 21866 bytes .../pi_parent_container_button_area.jpg | Bin 0 -> 15232 bytes doc/tutorial/pi_parent_container_pi.jpg | Bin 0 -> 13508 bytes doc/tutorial/pi_remaining_hidden.jpg | Bin 0 -> 19448 bytes doc/tutorial/pi_remaining_visible.jpg | Bin 0 -> 17663 bytes doc/tutorial/pi_show_total_false.jpg | Bin 0 -> 10684 bytes doc/tutorial/pi_show_total_true.jpg | Bin 0 -> 11574 bytes doc/tutorial/pi_side_left_1.jpg | Bin 0 -> 20287 bytes doc/tutorial/pi_side_left_2.jpg | Bin 0 -> 13982 bytes doc/tutorial/pi_side_right_1.jpg | Bin 0 -> 17167 bytes doc/tutorial/pi_side_right_2.jpg | Bin 0 -> 17281 bytes src/css/PlaybackBar.css | 1 + 18 files changed, 146 insertions(+), 10 deletions(-) create mode 100644 doc/tutorial/customize_colors.md create mode 100644 doc/tutorial/customize_playback_bar.md create mode 100644 doc/tutorial/pi_handler_visible.jpg create mode 100644 doc/tutorial/pi_inline_mode_1.jpg create mode 100644 doc/tutorial/pi_inline_mode_2.jpg create mode 100644 doc/tutorial/pi_parent_container_button_area.jpg create mode 100644 doc/tutorial/pi_parent_container_pi.jpg create mode 100644 doc/tutorial/pi_remaining_hidden.jpg create mode 100644 doc/tutorial/pi_remaining_visible.jpg create mode 100644 doc/tutorial/pi_show_total_false.jpg create mode 100644 doc/tutorial/pi_show_total_true.jpg create mode 100644 doc/tutorial/pi_side_left_1.jpg create mode 100644 doc/tutorial/pi_side_left_2.jpg create mode 100644 doc/tutorial/pi_side_right_1.jpg create mode 100644 doc/tutorial/pi_side_right_2.jpg diff --git a/config/config.json b/config/config.json index cdd0cb62..ba1a94b3 100644 --- a/config/config.json +++ b/config/config.json @@ -390,6 +390,7 @@ "moveable": true, "resizeable": true, "popUpType": "no-modal", + "minContainerSize": 500, "closeActions": { "clickOutside": false, "closeButton": true diff --git a/doc/tutorial/customize_colors.md b/doc/tutorial/customize_colors.md new file mode 100644 index 00000000..39d2acae --- /dev/null +++ b/doc/tutorial/customize_colors.md @@ -0,0 +1 @@ +# Customize colors \ No newline at end of file diff --git a/doc/tutorial/customize_playback_bar.md b/doc/tutorial/customize_playback_bar.md new file mode 100644 index 00000000..94874f20 --- /dev/null +++ b/doc/tutorial/customize_playback_bar.md @@ -0,0 +1,132 @@ +# Customize playback bar + +The playback bar is customisable in two ways: + +- Using CSS: to modify simple properties, such as colours or sizes. +- Using the configuration file: there are modifications that would be too complex to make with CSS alone, so there are options to modify the playbar more directly by modifying properties in the settings. + + +## Progress Indicator + +The progress indicator is the bar that shows the percentage of playback of the video and also the current instant of playback. Using the `progressIndicator` property we can modify its appearance and some behaviours. + +```json +{ + "progressIndicator": { + // Progress indicator customization options + } +} +``` + +### showTotal (boolean, default=true) + +Shows or hides the total duration of the video. + +![pi_show_total_true](pi_show_total_true.jpg) +![pi_show_total_false](pi_show_total_false.jpg) + +### parentContainer (string, default="progressIndicator") + +Indicates in which container the time indicator is to be placed. It can be placed inside the progress indicator itself or next to it in the button area. The possible values for this property are as follows: + +**"buttonArea":** + +![pi_parent_container_button_area](pi_parent_container_button_area.jpg) + +**"progressIndicator":** + +![pi_parent_container_pi](pi_parent_container_pi.jpg) + +### side (string, default="left") + +Indicates the side (left or right) where the remaining time indicator will be placed: + +**"left":** +![pi_left_1](pi_side_left_1.jpg) +![pi_side_left_2](pi_side_left_2.jpg) + +**"right":** +![pi_side_right_1](pi_side_right_1.jpg) +![pi_side_right_2](pi_side_right_2.jpg) + + +### Visible (boolean, default=true) + +It is possible to hide the remaining time indicator completely. This can be done to show progress with other methods, for example by using a plugin. + +### Show handler (boolean, default=false) + +Displays a handle to seek the video. This handle is purely aesthetic: the playback bar will work the same with or without it. + +![pi_handler_visible](pi_handler_visible.jpg) + +### hideHandlerOnMouseOut (boolean, default=false) + +Indicates if we want to hide the handle when the mouse is outside the playback bar. + + +### showRemainingProgress (boolean, default=false) + +Displays a bar in the part of the video that has not yet been played. + +**true:** +![pi_remaining_visible](pi_remaining_visible.jpg) + +**false:** +![pi_remaining_hidden](pi_remaining_hidden.jpg) + + +### inlineMode (boolean, default=false) + +Allows you to place the playback bar in the middle of the button bar (between the left-aligned and right-aligned buttons). This mode is recommended only when we are not going to activate many button plugins. It takes up a lot of space in the button area, but also makes it easier to use the progress bar to seek the video. + +If this mode is enabled, it is recommended to leave the `parentContainer="progressIndicator"` property to save space: + +```json +{ + "parentContainer": "buttonArea", + "inlineMode": true, + "showRemainingProgress": true +} +``` + +![pi_inline_mode_2](pi_inline_mode_2.jpg) + +```json +{ + "parentContainer": "progressIndicator", + "inlineMode": true, + "showRemainingProgress": true +} +``` +![pi_inline_mode_1](pi_inline_mode_1.jpg) + + +## Styling progress bar + +There are a number of CSS variables that can be used to customise the playbar: + +- `--button-fixed-width`, `--button-fixed-height`: width and height of the buttons. +- `--button-fixed-width-sm`, `--button-fixed-height-sm`: width and height of the buttons in small size mode. +- `--button-icon-size`: button icon size. By default, this size is calculated as `--button-fixed-width / 2` +- `--button-icon-size-sm`: button icon size, in small size mode. By default, this size is calculated as `--button-fixed-width-sm / 2` +- `--progress-indicator-height`: height of the playback bar +- `--playback-bar-height`: minimum height of the playback bar (the height can be changed by plugins, so it is defined as minimum height). By default is calculated as `--button-fixed-height + --progress-indicator-height` +- `--progress-indicator-handler-size`: size of the playback bar seek handle. +- `--playback-bar-width`: width of the player bar. The default is 100% of the player. If this value is changed to a lower value, the playback bar will be centred automatically. + +The playbar works in two sizes: the small size is when the playbar is less than 700px wide, and the normal size is at larger sizes. This is related to the variables `--button-fixed-width`, `--button-fixed-height`, `--button-fixed-width-sm`, `--button-fixed-height-sm`, `--button-icon-size` and `--button-icon-size-sm`. + +By default, the sizes defined for normal mode and small mode are the same. If the player is going to contain a lot of active plugins, it is advisable to modify the size in small mode to make them fit better. To do this, you only need to modify the `--button-fixed-width-sm` and `--button-fixed-height-sm` variables, as the rest of the variables are calculated automatically. The rest of the variables can be modified, but it is not essential. + +We can also optimise the playbar buttons by hiding some buttons below a certain size. To do this we can use the `minContainerSize` property, which will cause that button not to be displayed if the playbar is smaller than that size. With this option we can hide the less relevant plugins when the player is too small to display them all. This property only works if the container where the button is located is the playback bar. + +```json +"es.upv.paella.layoutSelector": { + ... + "parentContainer": "playbackBar", + "minContainerSize": 600 +}, +``` + +## \ No newline at end of file diff --git a/doc/tutorial/index.md b/doc/tutorial/index.md index 297fb9e2..b6426279 100644 --- a/doc/tutorial/index.md +++ b/doc/tutorial/index.md @@ -7,13 +7,14 @@ Welcome to the paella-core tutorial for creating your own video player. This tut 3. [Init params](init_params.md) 4. [Add plugins from libraries](add_plugins.md) 5. [Group buttons](group_buttons.md) -6. Customize playback bar -7. Video manifest: formats -8. Video manifest: dual video -9. Video manifest: captions -10. Data plugins -11. Customize icons -12. Create a custom plugin -13. Video manifest: video canvas -14. Trimming basics -15. VideoContainer API +6. [Customize colors](customize_colors.md) +7. [Customize playback bar](customize_playback_bar.md) +8. Video manifest: formats +9. Video manifest: dual video +10. Video manifest: captions +11. Data plugins +12. Customize icons +13. Create a custom plugin +14. Video manifest: video canvas +15. Trimming basics +16. VideoContainer API diff --git a/doc/tutorial/pi_handler_visible.jpg b/doc/tutorial/pi_handler_visible.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4cfa3fd67cc05c705364e25dde4e908be8aefc11 GIT binary patch literal 13665 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 JrWOJ9{SSxxhj9P^ literal 0 HcmV?d00001 diff --git a/doc/tutorial/pi_inline_mode_1.jpg b/doc/tutorial/pi_inline_mode_1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..87749e49caeee6d62872e15af8ae0beaf6aa1d98 GIT binary patch literal 20192 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 XYJa3lykICxA7}mAJu7#fGW_2FYM}g; literal 0 HcmV?d00001 diff --git a/doc/tutorial/pi_inline_mode_2.jpg b/doc/tutorial/pi_inline_mode_2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..466e4c2c028d017591de0ec4e94504708d347131 GIT binary patch literal 21866 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 literal 0 HcmV?d00001 diff --git a/doc/tutorial/pi_parent_container_button_area.jpg b/doc/tutorial/pi_parent_container_button_area.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b7a66abbd5b69ed17d9cb10a199652eaa769c235 GIT binary patch literal 15232 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 literal 0 HcmV?d00001 diff --git a/doc/tutorial/pi_remaining_hidden.jpg b/doc/tutorial/pi_remaining_hidden.jpg new file mode 100644 index 0000000000000000000000000000000000000000..573be72dace1658b5c1e5bf3e68dcc119403cf97 GIT binary patch literal 19448 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 literal 0 HcmV?d00001 diff --git a/doc/tutorial/pi_remaining_visible.jpg b/doc/tutorial/pi_remaining_visible.jpg new file mode 100644 index 0000000000000000000000000000000000000000..46f90015a5664a73325e1d1a042d06de8ec52b5e GIT binary patch literal 17663 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 Zn01MI=o7m0%BS6Lm)-YE@vI|%`XA5nt+)UH literal 0 HcmV?d00001 diff --git a/doc/tutorial/pi_show_total_false.jpg b/doc/tutorial/pi_show_total_false.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c9abed0738074732ed889d4a64c5774e492ff966 GIT binary patch literal 10684 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 RE`8+Rye$7+L>R{F{{yEwaIF9U literal 0 HcmV?d00001 diff --git a/doc/tutorial/pi_show_total_true.jpg b/doc/tutorial/pi_show_total_true.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9d1c5fd6cf16cd469150a2b22ef90791f7416ef6 GIT binary patch literal 11574 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 P`(F{Ke|OE4{^q{`6A@=O literal 0 HcmV?d00001 diff --git a/doc/tutorial/pi_side_left_1.jpg b/doc/tutorial/pi_side_left_1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3e0bee48f2415f2a05ab5eef26760176f0068134 GIT binary patch literal 20287 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 literal 0 HcmV?d00001 diff --git a/doc/tutorial/pi_side_left_2.jpg b/doc/tutorial/pi_side_left_2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c0365c49a6a39ccd24db3981a20a786537a4a1a7 GIT binary patch literal 13982 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 literal 0 HcmV?d00001 diff --git a/src/css/PlaybackBar.css b/src/css/PlaybackBar.css index f2d5deb9..fc49583f 100644 --- a/src/css/PlaybackBar.css +++ b/src/css/PlaybackBar.css @@ -363,6 +363,7 @@ @container playback-bar (max-width: 700px) { .playback-bar { min-height: var(--playback-bar-height-sm); + background-color: red; } .playback-bar .button-plugins button i {