msxbuild/lib/openmsx/share/scripts/night_flight.tcl
Willem Cazander 4fc2cae2ea
All checks were successful
Run test asserts / Test-Asserts (push) Successful in -11s
Added vdp color optional arguments and small doc chars.
2024-07-01 11:57:30 +02:00

64 lines
1.9 KiB
Tcl

# night_flight -- Setup the night flight black box recorder for build pipelines.
#
# Adds the following commands to openMSX;
#
# 'night_flight_save_screenshot [prefix-id]'
# Takes an screenshot with optional prefix parameter.
#
# 'night_flight_save_video [prefix-id]'
# Starts video recording with optional prefix parameter.
#
# Supported environment variables by this script;
#
# NF_PREFIX=msxbuild
# Gives screenshots and videos an prefix; msxbuild0001.avi
#
# NF_SEPERATOR=-
# Gives screenshots and videos an seperator; openmsx-0001.png
#
# NF_RECORD_FLAG=-doublesize
# Flag given to the video record command.
#
set night_flight_prefix flight
set night_flight_seperator -
set night_flight_record_flag ""
proc night_flight_save_screenshot {{prefix_id 0}} {
global night_flight_prefix
global night_flight_seperator
if {$prefix_id != 0} {
set file_prefix "$prefix_id$night_flight_seperator"
} else {
set file_prefix "$night_flight_prefix$night_flight_seperator"
}
screenshot -prefix $file_prefix
return "Flight screenshot saved"
}
proc night_flight_save_video {{prefix_id 0}} {
global night_flight_prefix
global night_flight_seperator
global night_flight_record_flag
if {$prefix_id != 0} {
set file_prefix "$prefix_id$night_flight_seperator"
} else {
set file_prefix "$night_flight_prefix$night_flight_seperator"
}
after quit "record stop"
after time 1 "record start $night_flight_record_flag -prefix $file_prefix"
return "Flight video started"
}
if {[info exists ::env(NF_PREFIX)] && ([string trim $::env(NF_PREFIX)] != "")} {
set night_flight_prefix [string trim $::env(NF_PREFIX)]
}
if {[info exists ::env(NF_SEPERATOR)] && ([string trim $::env(NF_SEPERATOR)] != "")} {
set night_flight_seperator [string trim $::env(NF_SEPERATOR)]
}
if {[info exists ::env(NF_RECORD_FLAG)] && ([string trim $::env(NF_RECORD_FLAG)] != "")} {
set night_flight_record_flag [string trim $::env(NF_RECORD_FLAG)]
}