Title: | An R Shiny App for Editing, Syncing, and Scouting Volleyball Match Files |
---|---|
Description: | Functions for video synchronisation, scout file editing, and more from volleyball match files. |
Authors: | Ben Raymond [aut, cre], Adrien Ickowicz [aut], openvolley.org [org] |
Maintainer: | Ben Raymond <[email protected]> |
License: | MIT + file LICENSE |
Version: | 0.5.0 |
Built: | 2024-10-25 04:18:09 UTC |
Source: | https://github.com/openvolley/ovscout |
Create a new datavolley match object
dv_create( match, more, teams, players_h, players_v, video_file, attacks = ov_simplified_attack_table(), setter_calls = ov_default_setter_calls_table(), winning_symbols = ov_default_winning_symbols(), zones_or_cones = "Z", regulation = "indoor rally point", comments )
dv_create( match, more, teams, players_h, players_v, video_file, attacks = ov_simplified_attack_table(), setter_calls = ov_default_setter_calls_table(), winning_symbols = ov_default_winning_symbols(), zones_or_cones = "Z", regulation = "indoor rally point", comments )
match |
list or single-row data.frame: (optional) with components |
more |
list or single-row data.frame: (optional) with components |
teams |
data.frame: a 2-row data frame, with required columns |
players_h , players_v
|
data.frame: with required columns |
video_file |
string: (optional) path to video file |
attacks |
data.frame: as returned by |
setter_calls |
data.frame: as returned by |
winning_symbols |
data.frame: as returned by |
zones_or_cones |
string: "Z" or "C". Will be ignored if |
regulation |
string: "indoor rally point", "beach rally point", or "indoor sideout". Will be ignored if |
comments |
character: optional vector of length up to 5, of comments |
A datavolley object
x <- dv_create(teams = data.frame(team_id = c("TM1", "TM2"), team = c("Team 1", "Team 2")), comments = "Test file", players_h = data.frame(firstname = toupper(letters[1:7]), lastname = "Player", number = 1:7), players_v = data.frame(firstname = letters[10:15], lastname = "VisPlayer", number = 10:15)) ## enter the team lineups for set 1 x <- dv_set_lineups(x, set_number = 1, lineups = list(6:1, 15:10), setter_positions = c(2, 1))
x <- dv_create(teams = data.frame(team_id = c("TM1", "TM2"), team = c("Team 1", "Team 2")), comments = "Test file", players_h = data.frame(firstname = toupper(letters[1:7]), lastname = "Player", number = 1:7), players_v = data.frame(firstname = letters[10:15], lastname = "VisPlayer", number = 10:15)) ## enter the team lineups for set 1 x <- dv_set_lineups(x, set_number = 1, lineups = list(6:1, 15:10), setter_positions = c(2, 1))
Probably only useful for testing.
dv_scout_from_console( x, prompt = "SCOUT> ", compound_table = ov_default_compound_table(), default_scouting_table = ov_default_scouting_table() )
dv_scout_from_console( x, prompt = "SCOUT> ", compound_table = ov_default_compound_table(), default_scouting_table = ov_default_scouting_table() )
x |
datavolley: a datavolley object as returned by |
prompt |
string: the prompt to show |
compound_table |
tibble: the table of default compound codes |
default_scouting_table |
tibble: the table of scouting defaults (skill type and evaluation) |
A modified version of x
, with rows added to the plays2 component
Enter the team lineups at the start of a set
dv_set_lineups(x, set_number, lineups, setter_positions, setters)
dv_set_lineups(x, set_number, lineups, setter_positions, setters)
x |
datavolley: a datavolley object |
set_number |
integer: set number, 1–3 for beach or 1–5 for indoor |
lineups |
list: two-element list with numeric vectors of player numbers. Each lineup is
|
setter_positions |
integer: two-element integer vector giving the position on court of the two setters. At least one of |
setters |
integer: two-element integer vector giving the jersey numbers of the two setters. At least one of |
A modified version of x
Default attack combination code table
ov_default_attack_table() ov_simplified_attack_table()
ov_default_attack_table() ov_simplified_attack_table()
A tibble
Default compound skills table
ov_default_compound_table()
ov_default_compound_table()
A tibble
Default scouting (type and evaluation for each skill) table
ov_default_scouting_table()
ov_default_scouting_table()
A tibble
Default setter calls table
ov_default_setter_calls_table()
ov_default_setter_calls_table()
A tibble
Default winning symbols table
ov_default_winning_symbols()
ov_default_winning_symbols()
A tibble
Launch a Shiny app for video synchronisation and scout editing
ov_shiny_video_sync( dvw, video_file = NULL, launch_browser = TRUE, prompt_for_files = interactive(), ... )
ov_shiny_video_sync( dvw, video_file = NULL, launch_browser = TRUE, prompt_for_files = interactive(), ... )
dvw |
string or datavolley: either the path to a dvw file (which will be read by |
video_file |
string: optionally, the path to the video file. If not supplied (or |
launch_browser |
logical: if |
prompt_for_files |
logical: if |
... |
: extra parameters passed to |
Functions for video synchronisation, scout file editing, and more from volleyball match files.
Get team rotations point by point
rotations(x, team, start_point_id, set_number, new_rotation, new_rotation_id)
rotations(x, team, start_point_id, set_number, new_rotation, new_rotation_id)
x |
datavolley or data.frame: a datavolley object as returned by |
team |
string: team name |
start_point_id |
vector: vector of pointids for which to return the rotation |
set_number |
value: Set number |
new_rotation |
vector: vector of player number, positioned from 1 to 6 |
new_rotation_id |
character: as for |
list of 2 data.frames. Current data.frame, without changes, and updated data.frame, with new player rotation.
## Not run: x <- read_dv(dv_example_file(), insert_technical_timeouts=FALSE) new_x <- rotations(x, start_point_id = 25, new_rotation = c(9,6,15,4,12,7)) ## End(Not run)
## Not run: x <- read_dv(dv_example_file(), insert_technical_timeouts=FALSE) new_x <- rotations(x, start_point_id = 25, new_rotation = c(9,6,15,4,12,7)) ## End(Not run)
Variable width modal dialog
vwModalDialog(..., width = 90)
vwModalDialog(..., width = 90)
... |
: as for |
width |
numeric: percentage of viewport width |
As for shiny::modalDialog()
## Not run: showModal(vwModalDialog(title = "Wide dialog", "blah", width = 90)) ## End(Not run)
## Not run: showModal(vwModalDialog(title = "Wide dialog", "blah", width = 90)) ## End(Not run)