Display System-Time in Projection

1,345 views
Skip to first unread message

Michel H

unread,
May 4, 2015, 5:32:26 PM5/4/15
to ql...@googlegroups.com
Hi,

I'm a total newbie to QLab and have to use it for a university project (and I really like it as far as I know it). The director want to have a large digital clock in 24 hour format on the screens that simply show the current time (aka mac system time).

Is there an easy way to do this? I thought about an applescript cue changing the text of a titles cue to the time in "hh:mm" format, but my knowledge about applescript is very limited.

Does someone have a solution for this?

luckydave

unread,
May 4, 2015, 5:34:47 PM5/4/15
to ql...@googlegroups.com

On May 4, 2015 at 2:32:25 PM, Michel H (michel...@gmail.com) wrote:

I'm a total newbie to QLab and have to use it for a university project (and I really like it as far as I know it). The director want to have a large digital clock in 24 hour format on the screens that simply show the current time (aka mac system time).

Is there an easy way to do this? I thought about an applescript cue changing the text of a titles cue to the time in "hh:mm" format, but my knowledge about applescript is very limited.

This gives you an analog clock, but there's AppleScript in the example that you could modify to use with a Titles cue instead of animating still images as it currently does:


-- 
luckydave

micpool

unread,
May 4, 2015, 5:48:42 PM5/4/15
to ql...@googlegroups.com
Here's the digital version
Mic
time lower thirdv2.cues

luckydave

unread,
May 4, 2015, 6:12:28 PM5/4/15
to ql...@googlegroups.com
Here's a slight modication with just the time, like a digital watch, which is a pretty neat idea.

set hourstring to hours of (current date)

if hourstring > 11 then

set hourstring to hourstring - 12

end if

if hourstring < 10 then

set hourstring to "0" & (hourstring as text)

end if

set minutestring to minutes of (current date)

if minutestring < 10 then

set minutestring to "0" & (minutestring as text)

end if

set secondstring to seconds of (current date)

if secondstring < 10 then

set secondstring to "0" & (secondstring as text)

end if

set theTimeString to hourstring & ":" & minutestring & ":" & secondstring

tell application id "com.figure53.qlab.3" to tell front workspace

set the text of cue "TIME" to theTimeString

end tell


-- 
luckydave

On May 4, 2015 at 2:48:45 PM, micpool (m...@micpool.com) wrote:

Here's the digital version
Mic

Rich Walsh

unread,
May 4, 2015, 6:25:13 PM5/4/15
to ql...@googlegroups.com
Or just:

set theTimeString to do shell script "date '+%T'"
tell application id "com.figure53.qlab.3" to tell front workspace
set the text of cue "TIME" to theTimeString
end tell

Rich

Michel H

unread,
May 4, 2015, 6:30:19 PM5/4/15
to ql...@googlegroups.com
Thank you very much for this solutions! QLab has the best community of any tool I know!

micpool

unread,
May 4, 2015, 6:53:11 PM5/4/15
to ql...@googlegroups.com
Thanks Rich, That's very neat.

Just to complete the thread it's probably worth posting all the Format sequences for Date in case anyone else wants to do variants of this in the future.

Mic

DATE(1)				 User Commands			       DATE(1)

NAME

date - print or set the system date and time

SYNOPSIS

date [OPTION]... [+FORMAT] date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]

DESCRIPTION

Display the current time in the given FORMAT, or set the system date. -d, --date=STRING display time described by STRING, not 'now' -f, --file=DATEFILE like --date once for each line of DATEFILE -r, --reference=FILE display the last modification time of FILE -R, --rfc-2822 output date and time in RFC 2822 format --rfc-3339=TIMESPEC output date and time in RFC 3339 format. TIMESPEC='date', 'sec- onds', or 'ns' for date and time to the indicated precision. -s, --set=STRING set time described by STRING -u, --utc, --universal print or set Coordinated Universal Time --help display this help and exit --version output version information and exit FORMAT controls the output. The only valid option for the second form specifies Coordinated Universal Time. Interpreted sequences are: %% a literal % %a locale's abbreviated weekday name (e.g., Sun) %A locale's full weekday name (e.g., Sunday) %b locale's abbreviated month name (e.g., Jan) %B locale's full month name (e.g., January) %c locale's date and time (e.g., Thu Mar 3 23:05:25 2005) %C century; like %Y, except omit last two digits (e.g., 21) %d day of month (e.g, 01) %D date; same as %m/%d/%y %e day of month, space padded; same as %_d %F full date; same as %Y-%m-%d %g last two digits of year of ISO week number (see %G) %G year of ISO week number (see %V); normally useful only with %V %h same as %b %H hour (00..23) %I hour (01..12) %j day of year (001..366) %k hour ( 0..23) %l hour ( 1..12) %m month (01..12) %M minute (00..59) %n a newline %N nanoseconds (000000000..999999999) %p locale's equivalent of either AM or PM; blank if not known %P like %p, but lower case %r locale's 12-hour clock time (e.g., 11:11:04 PM) %R 24-hour hour and minute; same as %H:%M %s seconds since 1970-01-01 00:00:00 UTC %S second (00..60) %t a tab %T time; same as %H:%M:%S %u day of week (1..7); 1 is Monday %U week number of year, with Sunday as first day of week (00..53) %V ISO week number, with Monday as first day of week (01..53) %w day of week (0..6); 0 is Sunday %W week number of year, with Monday as first day of week (00..53) %x locale's date representation (e.g., 12/31/99) %X locale's time representation (e.g., 23:13:48) %y last two digits of year (00..99) %Y year %z +hhmm numeric timezone (e.g., -0400) %:z +hh:mm numeric timezone (e.g., -04:00) %::z +hh:mm:ss numeric time zone (e.g., -04:00:00) %:::z numeric time zone with : to necessary precision (e.g., -04, +05:30) %Z alphabetic time zone abbreviation (e.g., EDT) By default, date pads numeric fields with zeroes. The following optional flags may follow '%': - (hyphen) do not pad the field _ (underscore) pad with spaces 0 (zero) pad with zeros ^ use upper case if possible # use oppo- site case if possible After any flags comes an optional field width, as a decimal number; then an optional modifier, which is either E to use the locale's alter- nate representations if available, or O to use the locale's alternate numeric symbols if available.

ENVIRONMENT

TZ Specifies the timezone, unless overridden by command line param- eters. If neither is specified, the setting from /etc/localtime is used.

AUTHOR

Written by David MacKenzie.

REPORTING BUGS

Report bugs to <bug-co...@gnu.org>.

COPYRIGHT

Copyright (C) 2006 Free Software Foundation, Inc. This is free software. You may redistribute copies of it under the terms of the GNU General Public License <http://www.gnu.org/licenses/gpl.html>. There is NO WARRANTY, to the extent permitted by law.

SEE ALSO

The full documentation for date is maintained as a Texinfo manual. If the info and date programs are properly installed at your site, the command info date should give you access to the complete manual. date 5.97 March 2012 DATE(1)

talkingtobrian

unread,
Sep 10, 2016, 10:04:47 AM9/10/16
to QLab
This is, once again, an excellent and useful thread!

I have just built something using this thread - a full screen clock, with just the hour and minute. (the second display can distract some speakers - "it's like a time bomb".  Anyway, using Rick's code and Mic's library, here is what I have:

set theTimeString to do shell script "date '+%l:%M'"
tell application id "com.figure53.qlab.3" to tell front workspace
set the text of cue "TIME" to theTimeString
end tell

The targeted Title cue is set with a font size of 300 and display is full screen. (smaller values, like 20, work, but there is heavy pixelation as the font is stretched)

The problem is that I was getting a space in front of the resulting text (It's currently 9:55 over here) which pushes the whole thing to the right. Should anyone else encounter this in the future, it's because the hour in this example is in two-digit format. So since there is no "1" in "9:55" the first character in the hour is a space.

Rich Walsh

unread,
Sep 26, 2016, 3:38:16 AM9/26/16
to ql...@googlegroups.com
Did you read this bit:

By default, date pads numeric fields with zeroes. The following optional flags may follow '%':

     - (hyphen) do not pad the field _ (underscore) pad with spaces 0
     (zero) pad with zeros ^ use upper case if possible # use oppo-
     site case if possible

This will give you 12-hour time with no leading spaces:

do shell script "date '+%-l:%M %p'"

However, it will still jump around on screen unless you use a fixed-width font and right-align it.

Rich

ufelski

unread,
Jan 17, 2018, 5:36:51 AM1/17/18
to QLab
Hi all, 
I am trying to mimic an iPhone screen (see attachment). How can I display the real time with my custom text settings.?
Any help would be very appreciated!!!

micpool

unread,
Jan 17, 2018, 8:09:37 AM1/17/18
to QLab
The programming to update the text fields is contained in  this post in this thread


In your case you will want  2 text cues numbered TIME and DATE


and this script

tell application id "com.figure53.QLab.4" to tell front workspace

set the text of cue "TIME" to do shell script "date '+%H:%M'"

set the text of cue "DATE" to do shell script "date '+%A %d %B'"

end tell


QLab 4 workspace attached


Mic
IPhoneclock.qlab4
Message has been deleted

ufelski

unread,
Jan 17, 2018, 9:30:31 AM1/17/18
to QLab

PERFECT !!! THANK YOU SO MUCH !!!

Reply all
Reply to author
Forward
0 new messages