cpvalente / ontime Goto Github PK
View Code? Open in Web Editor NEWFree, open-source time keeping for live events
Home Page: https://www.getontime.no
License: Other
Free, open-source time keeping for live events
Home Page: https://www.getontime.no
License: Other
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
Add functionality to upload custom logo.
it could maybe be present instead of the QR code
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)
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
Hi,
would it be possible to increase the number of rows/cues imported via excel from 99 please? Perhaps a user configurable number or at least 250
thanks Jason
Send running title data to vmix
Same data as the lower thirds
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)
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.
Make release for MacOS
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
Increase amount of feedback we can get from OSC
The title says it all :-)
Would be nice to have (definable?) hotkeys for start, pause, stop, +- 1 min, etc...
Create workflow for importing an event rundown from an excel file
Small style issues / improvements when window is at its smallest (horizontally)
When window is at its smallest both horizontally and vertically
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 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 :)
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 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.
Some text suggestions:
Show overlay message to / Hide overlay message to
Stop run (maybe a square stop symbol instead?)
I have no idea what this button does?
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.
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
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.
Data file is in the installation for now, this should move to a directory on the user side eg /Documents
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
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).
rc5 (unofficial)
ok http://127.0.0.1:4001/playback/start
ok http://127.0.0.1:4001/playback/pause
ok http://127.0.0.1:4001/playback/stop
ok http://127.0.0.1:4001/playback/roll
ok http://127.0.0.1:4001/playback/previous
ok http://127.0.0.1:4001/playback/next
ok http://127.0.0.1:4001/playback/reload
ok http://127.0.0.1:4001/playback/unload
NOK http://127.0.0.1:4001/playback/onAir
Turn On Air flag ON
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.
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)
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
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
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
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
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>```
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
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
Page is blank in iOS devices.
Tested with version 0.2.0 on iPad and iPhone (safari and chrome)
See code signing before release
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
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
and some aesthetic stuff
will also have to match styles to the other blocks, this should be mostly styling, but while we are here
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
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
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.
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
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
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
We are looking for some improvements on how we enter delays
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 :)
now you have to right klick and select show interface. almost all other software is left click to show the window and right click for a menue with some options.
Add seconds control to event timers
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.