Giter Site home page Giter Site logo

cpvalente / ontime Goto Github PK

View Code? Open in Web Editor NEW
395.0 10.0 45.0 10.09 MB

Free, open-source time keeping for live events

Home Page: https://www.getontime.no

License: Other

HTML 0.25% JavaScript 2.45% SCSS 6.01% Dockerfile 0.09% TypeScript 91.19% Shell 0.01% CSS 0.01%
entertainment stage video production

ontime's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ontime's Issues

OSC messaging enhancement request

Hi
If the application is in Unload mode and I press or trigger Next Event, onTime moves to the first cue, but at this time no OSC Next message is triggered.
May I request this event triggers an OSC Next event, same as if onTime was ready to play the first cue
thank you

Upload corporate logo

Add functionality to upload custom logo.
it could maybe be present instead of the QR code

Improve time input workflow

This works now. (installed whats built now.)
only thing i could miss is if you want to enter a time fast and just hit the box and enter 12 for example. and hit enter. (to enter 12:00:00) but its entered as 00:00:12 can the input be right filled with 0 instead of left filled. also if you don't enter : maybe that can be filled in automatically?. so say you want to enter 15:45:00 just hit box. enter 1545 enter.

Originally posted by @xztraz in #46 (comment)

warning popups white text on yellow backgroung hard to read.

popups if entering times wrong results in a popup that is having a bit to low contrast to read.
image
something more intuitive would be to change the color of the boxes with offending times.
something like
image

But the question rises. what do you do if you want an event that stretches over midnight?

Autofill to the right

user request:

Currently ontime autofills to the left, eg:
12:23 is read as mm:ss and becomes 00:12:23
ideally we would like it to autofill to the right so that
12:23 is read as hh:mm and becomes 12:23:00

Create table interface for visualising and editing data

Hi,

A simple workflow would be to use the excel import to setup (and populate) the custom fields in the onTime internal database, along with UI functionality to add/remove/edit custom fields (not the field data). These custom fields would be available for all cues in this event.

Yes, I had imagined a separate cue sheet screen available via web browser (not UI), and this would display the cue sheet grid, similar to the example cue sheets - rows and columns. The custom field data could be edited in this view, and columns resized or hidden. The use case here is the team running the show. For example, if I am the show caller, I want to see all fields, but if I am audio, i would hide the video, lighting, etc - columns not relevant to me. I would then edit/input my audio cue notes directly into this screen (via browser). The concept here is same as a live edit multi-user google sheet.
Lastly, this view would also need to reflect the current show status - active cue, running/paused, time remaining etc, and the green bar highlighted row was just for example.
thanks!

Originally posted by @je71175 in #86 (comment)

colorize events

the backstage panel and editor could have colorized events to differentiate different event types/teams.

ex
interview team has orange
pre recorded video segments purple.
speaker segments yellow
and so on.

excel import could read the color of a cell.

MacOS Version

Make release for MacOS

  • setup scripts
  • setup CI

On Mac OS version

Mac OS version has been ready for a while now, just stalled for lack of testers. If someone would like to focus on Mac OS I am happy to push a alpha build, drop me a message

OSC Improvements

Increase amount of feedback we can get from OSC

  • Presenter Name
  • Event title
  • Active lower third info

Hotkeys

The title says it all :-)

Would be nice to have (definable?) hotkeys for start, pause, stop, +- 1 min, etc...

Import excel

Create workflow for importing an event rundown from an excel file

Style issues with small window

Small style issues / improvements when window is at its smallest (horizontally)

  • Display messages and timer control swap places
  • Timer control overflows when displaying placeholder --:--:--

When window is at its smallest both horizontally and vertically

  • A lot of remaining Y space
  • Timer Control doesnt take as much space in X
  • Timer Control title small
  • Timer Control time overflows

ability to enter posts with just a start time

If end time is 0 or - (default) maybe the post can be assumed to only show a start time and calculate the end time

enter start time -> if end time not set by user. set end time to start time of next event dynamically

OSC?

OSC is mentioned a lot but is that Open sound Controll or something else? some hint of what it is in the gui and help would be great :)

import(upload) borken

version: ontime-win64 rc0.5.0 aliases + logging + anywhere

importing excel or json gives
image

Roll behaviour on backstage events

When running the timer, if the current timer is a backstage event, the public views would display the last available public event.
When using the roll function, this does not happen and nothing shows in the "Now" fields

hoover help on some buttons missing

Hoover help is awesome for quick hints what a button does and some have it and some are missing it.
all buttons and boxes here are missing hoover texts. for example.
image

Some text suggestions:
image
Show overlay message to / Hide overlay message to

image
Run events synced to clock.

image
Run selected event

image
Pause

image
Stop run (maybe a square stop symbol instead?)

image
Jump to Next/Prev post

image
I have no idea what this button does?

image
Add / Remove post. (remove might need some confirmation or undo function)

Some hoover help on a block would be great too. what does a block do.

create a logging system

It would be important to create a logging system. This will allow better troubleshooting, and is specially important for people working with integrations

The logger will live in the Info panel and should contain

  • Logs on playback status
  • Logs on integration triggers (HTTP / OSC input)
  • Logs when sending network messages (HTTP / OSC)
  • Logs for file upload / download
  • Error messages and warnings from user interface (eg: inserting invalid times)

Over/Undertime

Would be nice to have the total time of all events somewhere to see if you´re running short or too long... Useful for Streamingevents where you need to stay in defined times.

Entering start and end times mixes 12h and 24h

enter 15:00:00 as time. it shows as 03:00:00 and then back again to 15.. when enter is pushed.
Selecting the same time shows 03.. again.
image
image

also entering 00:00, 12:00, anything 20+ buggs out. probably related. and the drop downs to enter time are a bit weird :)

version. downloaded today

Data in user directory

Data file is in the installation for now, this should move to a directory on the user side eg /Documents

View options in URL

We would like to be able to pass options for a view in its URL (as in lower thirds).
It is particularly handy and more usable now that aliases are working

ie: ability to control the time of the Schedule section in Public and Backstage would look something like IP_ADDRESS:4001/public?schedule_timer=5 (to set a 5 second between pages and override the 10 second default)

Dev note: I believe this is a good idea and prefer it to adding this costumisations in a central app global seetings. However, this would not include style overrides

OSC out enhancement request

For the OSC out messages, would it be possible to send a message of the Event List number (as well as the name). I guess kind of the reverse of /ontime/goto x used to trigger an Event Item. I am looking to two-way syncronise the selected / running cue list number with another program (Chataigne).

Studio clock support for special characters

rc5_v2(unofficial)
image

  • adding delay doesn't change the countdown timer bellow clock.

  • font does not support some special chars. ÅÄÖ for example. it's ok but just noted.
    image

List updates times now! great!
Next item text under clock autoscales. Nice!! (needs a bit of centering covered in graphics couple of posts above)

Originally posted by @xztraz in #42 (comment)

Roll mode issues

Few issues in roll mode.

if the start time is the day after end time, and start time is earlier than now. Roll mode dismisses the event
eg.
Now: 19:30
Event Start: 19:20
Event Finish 16:10

If the start time is the day after end time, and both are later than now. An error occurs unable to find DAY_MS of undefined at getSelectionByRoll
eg.
Now: 19:34
Event Start 19:40
Event End: 19:35

Editor view broken in safari

Looks like there are some issues with rendering the editor in safari
I suspect this is due to differences in implementation of grid.

Should investigate and fix ahead of v1 release
Picture1

Improve in app help

There should be more clarity in the application about how it works.
We will make a PR focusing on that, it would be nice to gather some ideas here

  • Add documentation in app
  • Add tooltips on buttons? (Not sure about this, as it might clutter interface)

Add documentation in app?

What format could this take?
Currently all the documentation is in gitbook. However in my experience, a lot of production machines are offline.
I am careful of cluttering the application with elements that could hurt its performance and portability.

I imagine that every component could have a small help button that would display some hints on the usage (text only) as well as a link to the relevant gitbook page
Quick sketch
inapp help

Add tooltips on buttons

Not a big fan of this approach. As a user of similar software, I believe it becomes harmful to experienced users by creating distracting changes in the layout. This is why the tooltips only exist on navigation help, which you woudlnt be using in a live scenario anyway.
Thoughts? Happy to be wrong

And for further documentation see #51 and #52

http api. not sure if working correctly or if i try to reach it wrongly.

curl 'http://192.168.1.200:4001/playback/onAir'

<!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="icon" href="/favicon.ico"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#121212"/><meta name="onsite" content="onsite - event timer manager"/><link rel="apple-touch-icon" href="/logo192.png"/><link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png"/><link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png"/><link rel="manifest" href="/site.webmanifest"/><link rel="manifest" href="/manifest.json"/><title>React App</title><style>body,html{background-color:rgba(0,0,0,0)!important}</style><link href="/static/css/4.0cb8b072.chunk.css" rel="stylesheet"><link href="/static/css/main.67ebba96.chunk.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div><script>!function(e){function t(t){for(var n,o,u=t[0],f=t[1],i=t[2],d=0,s=[];d<u.length;d++)o=u[d],Object.prototype.hasOwnProperty.call(a,o)&&a[o]&&s.push(a[o][0]),a[o]=0;for(n in f)Object.prototype.hasOwnProperty.call(f,n)&&(e[n]=f[n]);for(l&&l(t);s.length;)s.shift()();return c.push.apply(c,i||[]),r()}function r(){for(var e,t=0;t<c.length;t++){for(var r=c[t],n=!0,o=1;o<r.length;o++){var f=r[o];0!==a[f]&&(n=!1)}n&&(c.splice(t--,1),e=u(u.s=r[0]))}return e}var n={},o={3:0},a={3:0},c=[];function u(t){if(n[t])return n[t].exports;var r=n[t]={i:t,l:!1,exports:{}};return e[t].call(r.exports,r,r.exports,u),r.l=!0,r.exports}u.e=function(e){var t=[];o[e]?t.push(o[e]):0!==o[e]&&{6:1,7:1,8:1,9:1,10:1,11:1,12:1,13:1,14:1,17:1,18:1,19:1}[e]&&t.push(o[e]=new Promise((function(t,r){for(var n="static/css/"+({}[e]||e)+"."+{0:"31d6cfe0",1:"31d6cfe0",5:"31d6cfe0",6:"ccb0dfa7",7:"c0d3caa2",8:"0eadfc29",9:"7b478ffa",10:"0ad86aa6",11:"98e7a9c0",12:"515face7",13:"9e826583",14:"53b1664c",15:"31d6cfe0",16:"31d6cfe0",17:"82339f6b",18:"08a98b5f",19:"ca6532cf",20:"31d6cfe0",21:"31d6cfe0"}[e]+".chunk.css",a=u.p+n,c=document.getElementsByTagName("link"),f=0;f<c.length;f++){var i=(l=c[f]).getAttribute("data-href")||l.getAttribute("href");if("stylesheet"===l.rel&&(i===n||i===a))return t()}var d=document.getElementsByTagName("style");for(f=0;f<d.length;f++){var l;if((i=(l=d[f]).getAttribute("data-href"))===n||i===a)return t()}var s=document.createElement("link");s.rel="stylesheet",s.type="text/css",s.onload=t,s.onerror=function(t){var n=t&&t.target&&t.target.src||a,c=new Error("Loading CSS chunk "+e+" failed.\n("+n+")");c.code="CSS_CHUNK_LOAD_FAILED",c.request=n,delete o[e],s.parentNode.removeChild(s),r(c)},s.href=a,document.getElementsByTagName("head")[0].appendChild(s)})).then((function(){o[e]=0})));var r=a[e];if(0!==r)if(r)t.push(r[2]);else{var n=new Promise((function(t,n){r=a[e]=[t,n]}));t.push(r[2]=n);var c,f=document.createElement("script");f.charset="utf-8",f.timeout=120,u.nc&&f.setAttribute("nonce",u.nc),f.src=function(e){return u.p+"static/js/"+({}[e]||e)+"."+{0:"4360b2cd",1:"b9c4df56",5:"4da1d7e3",6:"3d7bac14",7:"8e6e66f8",8:"7446033d",9:"b6617b89",10:"775dc499",11:"4b1fbbb7",12:"787dd425",13:"82dd96cc",14:"e76879a0",15:"feb6482e",16:"39f429fa",17:"182587ec",18:"9a14a583",19:"fce134a0",20:"38bd6927",21:"51f6be35"}[e]+".chunk.js"}(e);var i=new Error;c=function(t){f.onerror=f.onload=null,clearTimeout(d);var r=a[e];if(0!==r){if(r){var n=t&&("load"===t.type?"missing":t.type),o=t&&t.target&&t.target.src;i.message="Loading chunk "+e+" failed.\n("+n+": "+o+")",i.name="ChunkLoadError",i.type=n,i.request=o,r[1](i)}a[e]=void 0}};var d=setTimeout((function(){c({type:"timeout",target:f})}),12e4);f.onerror=f.onload=c,document.head.appendChild(f)}return Promise.all(t)},u.m=e,u.c=n,u.d=function(e,t,r){u.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},u.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},u.t=function(e,t){if(1&t&&(e=u(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(u.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)u.d(r,n,function(t){return e[t]}.bind(null,n));return r},u.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return u.d(t,"a",t),t},u.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},u.p="/",u.oe=function(e){throw console.error(e),e};var f=this.webpackJsonpontime=this.webpackJsonpontime||[],i=f.push.bind(f);f.push=t,f=f.slice();for(var d=0;d<f.length;d++)t(f[d]);var l=i;r()}([])</script><script src="/static/js/4.e0f928fd.chunk.js"></script><script src="/static/js/main.1baf0333.chunk.js"></script></body></html>



curl -X POST 'http://192.168.1.200:4001/playback/start'

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Error</title>
</head>
<body>
<pre>Cannot POST /playback/start</pre>
</body>
</html>```

Downloaded file has no extension

It seems that if "File name extensions" option in windows explorer is disabled. The downloaded file has no extension .json, and is then not recognised as an uploadable file

Tested with v.0.2.0

Delay support in roll mode

Currently roll mode ignores delays.

This is because supporting it means editing the times as they run.
ie: during a running event, we add a delay before of 10 min, this would mean the event started 10 minutes later and change the timer accordingly.
I am unsure if that is the expected behaviour

With this in place we have a good opportunity to compare the realtime clock to the running event clock and provide feedback.
Eg. we could add information on how delayed / ahead the overall planning is in some of the screens

http api to enable/disable presenter, public, and low3 screen message

something that we would use, is the presenter screen, to inform if there is a incoming interview and ask the speakers to round off and hand over.

a message like "Interview NOW!" for a hand over off and maybe "Interview in a minute"
if the message was also settable via the api that would be even more useful.

this way we could do some scripting in the mixer/companion or similar to send out a message to involved parties automatically. even a countdown if message is changable via api.

if we mount a mobile screen on the eng camera we could even get a synced countdown and also inform the interviewer when to round of. they are not always listening to intercom while interviewing

OSC Time values differ to UI

Hi,

am working with the latest version which includes the countdown timer value. The value in OSC seems to be -1 second from the UI values.

image

Component improvements in event block

We are planning some work on restructuring some of the components. Mostly focusing on the usability of the app rather than adding new functionality

I thought it would be good to start a documentation on this, focusing for now on Event block which is next in line in worklist

  • Improve time input workflow, lots of good stuff at #50 and #46
  • Show a small progressbar in running event when collapsed
  • Add playbutton to event block
  • Add skip action #172
  • Allow more text to be added in notes (note field is text area) #59
  • Add a note event: event with a single text field and time without duration. eg: 08:30 mic check.
  • Ability to link event times
  • Visually diferentiate past and upcoming events #125

and some aesthetic stuff

  • inconsistent border radius, see #53
  • use nore space in event list, see #57

will also have to match styles to the other blocks, this should be mostly styling, but while we are here

  • delay field is maxed at 60, however this correction only happens on submit and not onBlur
  • When creating an event with the sortcut Alt+E, the option "Start time is last end" is not respected #171

Show a small progressbar in running event when collapsed

User request. In half window mode the app shows only the eventlist. Some people like using this and triggering events remotely. It would be nice to have a clearer indication of which component is running and its progress

Add playbutton to event block

User request. It would be nice to be able to trigger an event straight from its definition. I am assuming this is for people who use ontime as a stage timer application rather than a rundown list

Add a note event

User request. One of the oldest things in the list. Some workflows would benefit from having a simpler event type for things without a duration. eg: 08:30 Mic check Michael Fassbender.

Ability to link event times

We are looking at a possible workflow where the time start of an event could be linked to the end of another.
eg; event two would have as start time a link to its previous event and a duration of 30min.
This could significantly complicate the usability and clutter the interface with advanced features if not approached correctly

Studio clock expand screen size support

Looks like users are trying to use the studio clock in small devices like tablets.
Should try and make this one more responsive.

This should quickly follow #97 and put in priority list
It could also be an idea to preload the chosen font to avoid CLS issues

Viewer improvement: Vertical screens

It would be good to have nicer designs for vertical screens, especially on public and backstage views
Should also accomodate for lower resolutions. find a minimum expected resolution and ensure that everything looks ok
perhaps 1280 x 720 would be good

Once this is completed, there should also be a button to rotate the screen 90 degrees

Should also look into avoiding content shifts when timers go negative

Improvements on delay input

We are looking for some improvements on how we enter delays

  • Ability to have negative delays (time ahead)
  • Could we have a nicer workflow for adding delays? Roll back to slider from the earlier versions?
  • Show a more self explanatory note field as suggested in #55 (15 minutes delayed - 15 minutes ahead)
  • Show somewhere the running time compared to local (1:25min behind)

Studio Clock View

Would be great with a studio clock view for studio/ob work. Did a mockup of a possible page layout.

1 Clock with led-ring
2 Next countdown and name under time
3 events on the side with led dots and colored text
4 on air (possibly connected to an event or streaming software stream status? this might be overkill :)

studiocklock-mockup

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.