Warchamp7
Forum Admin
Most donation services don't include it in their API.
Ah, okay. Would it ever be in the plans to have Teeboard keep track itself?
Most donation services don't include it in their API.
Haven't decided on that yet. Been meaning to ask the different services to actually add it to their API data.Ah, okay. Would it ever be in the plans to have Teeboard keep track itself?
And you're opening that in the browser because?Countdown does not works...this happens if I open HTML file in Browser
Forget the browser. If it doesn't work when added to OBS via the CLR Browser plugin, read the documentation (F1) under widgets.I did but then nothing appears...all other widgets look normal in browser and work in OBS so thats why I mention that
I'm loving this tool, the only thing that is holding me back from using it is the donation alerts. Is it possible to add support for a custom notification system? I'm looking at using this - http://bobdev-fsnconcept.rhcloud.com/ - which gives the streamer complete control over their notifications instead of relying on a third party system. It's more complicated for a new user but I'm a web developer and understand it completely.
Thank you and looking forward to using TeeBoard
I absolutely love this tool. It's helped me improve and grow my stream to the point that I'm now partnered with twitch! I wouldn't have been able to build the excitement from viewers without the features that Teeboard offers.
Only confusing issue that I have is that sometimes when I have a donation come in, Teeboard will play the notification a second time. It doesn't show twice in the recent donations listing, nor on my StreamTip history it just plays the notification sound and pops up a second time shortly after the donation first comes in.
A second much smaller complaint is that there seems to be a lengthy delay after someone subscribes to the channel before Teeboard picks it up and plays the notification.
Thank you again for Teeboard, it's absolutely amazing to use.
I'm loving this tool, the only thing that is holding me back from using it is the donation alerts. Is it possible to add support for a custom notification system?
Hello DeezjaVu.You can access the videos from within TeeBoard by hitting F2.
Hello DeezjaVu.
First, I'd like to say thank you for sharing your program with all of us. Its feature-set looks incredible.
Then imagine what it would take to implement a GUI for it :)Second:
At its current state, I find it very time consuming to create a custom Follower/Subscriber/Donator notification that includes a custom background image (GIF/PNG/JPG).
Would it be possible for you to implement this option in its GUI instead or in conjunction to raw HTML/CSS editing?
I see.You're welcome.
Maybe, and that's a big maybe, at some point I'll add a simple basic GUI, but nothing planned atm.
I see.
Thank you for the prompt and insightful reply.
I hope you'll reconsider and take another look into it.
This would basically nullify the need to use external notification tools (which are problematic when it comes to Single-Monitor setups like the one I'm running here).
#notification-msg @font-face {
color: #FFFFFF;
font-size: 50px;
font-family: 'Rexlia Rg';
src: local("fonts/rexlia rg.ttf") format('truetype');
font-weight: bold;
/*text-transform: uppercase;*/
position: relative;
top: 90px;
left: 40px;
}
c:\Users\USERNAME\Documents\TeeBoard\mywidgest\obs-js\fonts\rexlia rg.ttf
function teeboardNotification(type, msg) {
//alert("notification: " + type + " - " + msg);
var img = document.getElementById("notification-img");
// set image depending on notification type
if(type == "follower") {
img.src = imgFollow;
}else if(type == "subscriber") {
img.src = imgSub;
}else if(type == "donation") {
img.src = imgDonate;
}
// set the notification message
var txt = document.getElementById("notification-msg");
txt.innerHTML = msg;
// animate everything onto the screen
var div = document.getElementById("notification");
div.style.visibility = "visible";
TweenLite.killTweensOf(div);
// tween x position from offscreen (0 - width of image) to 0
TweenLite.fromTo(div, 0.6, {y:1420}, {y:500, ease:Bounce.easeOut, onComplete:hideNotification});
}
function hideNotification() {
// animate everything back off screen
var div = document.getElementById("notification");
// tween x position from 0 to (0 - width of image)
TweenLite.to(div, 0.6, {y:-280, delay:6});
}
function teeboardNotification(type, msg) {
//alert("notification: " + type + " - " + msg);
var img = document.getElementById("notification-img");
// set image depending on notification type
if(type == "follower") {
img.src = imgFollow;
}else if(type == "subscriber") {
img.src = imgSub;
}else if(type == "donation") {
img.src = imgDonate;
}
// set the notification message
var txt = document.getElementById("notification-msg");
txt.innerHTML = msg;
// animate everything onto the screen
var div = document.getElementById("notification");
div.style.visibility = "visible";
TweenLite.killTweensOf(div);
// tween x position from offscreen (0 - width of image) to 0
TweenLite.fromTo(div, 0.6, {x:636, y:1420}, {x:636, y:400, ease:Bounce.easeOut, onComplete:hideNotification});
}
function hideNotification() {
// animate everything back off screen
var div = document.getElementById("notification");
// tween x position from 0 to (0 - width of image)
TweenLite.to(div, 0.6, {x:636, y:1420, delay:6});
}
Hello again,
Following DeezjaVu's Custom Notification Part 1 video, I'm trying to set up a custom notification and would very much appreciate assistance with three issues:
1. Have the custom notification utilize a custom font, using the CSS @font-face command.
The issue is that the text doesn't appear using the custom font which was specified.
2. Have the custom notification reveal itself from the bottom of the screen, stop somewhere at the center of the screen and then hide itself back at the bottom.
The text appears from the bottom and stops where I want it, but at the end it hides itself by moving to top instead of moving back to the bottom.
3. Custom notification's position on screen:
A. My screen resolution is 1920x1200.What should be added to the code in section 2, so that I can control its position on the X axis throughout the animation process?
B. The custom background image dimensions which I use is 648x220.
Again, help is appreciated!
Regards,
TweenLite.to(div, 0.6, {y:1420, delay:5});
<html>
<head>
<title>TeeBoard Notifications Widget</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!-- visit http://www.greensock.com/get-started-js/ for more info -->
<!--CDN links for the latest TweenLite, CSSPlugin, and EasePack -->
<script src="http://cdnjs.cloudflare.com/ajax/libs/gsap/latest/plugins/CSSPlugin.min.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/gsap/latest/easing/EasePack.min.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/gsap/latest/TweenLite.min.js"></script>
<style type="text/css" media="all">
@font-face {
font-family: 'Rexlia Rg';
src: url("fonts/rexlia rg.ttf");
}
html, body {
height: 100%;
/*background-color: #00FF00;*/
background-color: rgba(0,255,0,0)!important;
}
body {
margin: 0;
padding: 0;
overflow: hidden;
}
#flashContent {
width: 200px;
height: 100px;
}
#notification-msg {
color: #FFFFFF;
font-size: 43px;
/*font-family: Tahoma, Geneva, sans-serif;*/
font-family: 'Rexlia Rg';
font-weight: bold;
/*text-transform: uppercase;*/
position: relative;
top: 94px;
left: 90px;
}
#notification {
/*visibility: hidden;*/
}
</style>
<script>
// relative paths to notification images
var imgFollow = "images/notification-bg-follow-custom1-transparent.png";
var imgSub = "images/notification-bg-sub.png";
var imgDonate = "images/notification-bg-donate.png";
function teeboardNotification(type, msg) {
//alert("notification: " + type + " - " + msg);
var img = document.getElementById("notification-img");
// set image depending on notification type
if(type == "follower") {
img.src = imgFollow;
}else if(type == "subscriber") {
img.src = imgSub;
}else if(type == "donation") {
img.src = imgDonate;
}
// set the notification message
var txt = document.getElementById("notification-msg");
txt.innerHTML = msg;
// animate everything onto the screen
var div = document.getElementById("notification");
div.style.visibility = "visible";
TweenLite.killTweensOf(div);
// tween x position from offscreen (0 - width of image) to 0
TweenLite.fromTo(div, 1.33, {x:636, y:1420}, {x:636, y:800, ease:Bounce.easeOut, onComplete:hideNotification});
}
function hideNotification() {
// animate everything back off screen
var div = document.getElementById("notification");
// tween x position from 0 to (0 - width of image)
TweenLite.to(div, 1.33, {x:636, y:1420, delay:6});
}
</script>
</head>
<body>
<!--
Animations should take no longer than 10 seconds (showing + hiding), as notifications are queued,
meaning that if there are 2 new followers, 2 alerts are invoked, 10 seconds apart.
-->
<div id="notification">
<div id="notification-msg">
TEEBOARD JAVASCRIPT NOTIFICATIONS!!
</div>
<img id="notification-img" src="images/notification-bg-follow-custom1-transparent.png" width="648" height="220">
</div>
<div id="flashContent">
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="200" height="100" id="teeboard-notifications" align="middle">
<param name="movie" value="teeboard-notifications.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#00ff00" />
<param name="play" value="true" />
<param name="loop" value="false" />
<param name="wmode" value="transparent" />
<param name="scale" value="noscale" />
<param name="menu" value="false" />
<param name="devicefont" value="false" />
<param name="salign" value="lt" />
<param name="allowScriptAccess" value="always" />
<!--[if !IE]>-->
<object type="application/x-shockwave-flash" data="teeboard-notifications.swf" width="200" height="100">
<param name="movie" value="teeboard-notifications.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#00ff00" />
<param name="play" value="true" />
<param name="loop" value="false" />
<param name="wmode" value="transparent" />
<param name="scale" value="noscale" />
<param name="menu" value="false" />
<param name="devicefont" value="false" />
<param name="salign" value="lt" />
<param name="allowScriptAccess" value="always" />
</object>
<!--<![endif]-->
</object>
</div>
</body>
</html>
Wonderful!
Thank you very much DeezjaVu, for the time you've taken to explain all of this here!
Question please:
Kindly have a look at this image: http://i.imgur.com/Lnoq6oP.png
I've captured it (PrtScn) from OBS' Full-screen Preview Mode.
How do I set it, so that the %name% (BluePho3nix in this case) which is passed from TeeBoard, will always be centered on the image's X axis (again, in this case it's 648x220 pixels) ?
Regards,
<span id="msg">TEEBOARD JAVASCRIPT NOTIFICATIONS!!</span>
#msg {
margin: 0 auto;
display: table;
}
// set the notification message
var txt = document.getElementById("msg");
txt.innerHTML = msg;
top: XXpx;
<object type="application/x-shockwave-flash" data="teeboard-notifications.swf" width="200" height="100">
<html>
<head>
<title>TeeBoard Notifications Widget</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!-- visit http://www.greensock.com/get-started-js/ for more info -->
<!--CDN links for the latest TweenLite, CSSPlugin, and EasePack -->
<script src="http://cdnjs.cloudflare.com/ajax/libs/gsap/latest/plugins/CSSPlugin.min.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/gsap/latest/easing/EasePack.min.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/gsap/latest/TweenLite.min.js"></script>
<style type="text/css" media="all">
@font-face {
font-family: 'Rexlia Rg';
src: url("fonts/rexlia rg.ttf");
}
html, body {
height: 100%;
/*background-color: #00FF00;*/
background-color: rgba(0,255,0,0)!important;
}
body {
margin: 0;
padding: 0;
overflow: hidden;
}
#flashContent {
width: 200px;
height: 100px;
}
#notification-msg {
color: #FFFFFF;
font-size: 48px;
/*font-family: Tahoma, Geneva, sans-serif;*/
font-family: 'Rexlia Rg';
font-weight: bold;
/*text-transform: uppercase;*/
position: absolute;
top: 0px;
left: 0px;
}
#msg {
margin: 0 auto;
display: table;
}
#notification {
/*visibility: hidden;*/
}
</style>
<script>
// relative paths to notification images
var imgFollow = "images/notification-bg-follow-custom1-transparent.png";
var imgSub = "images/notification-bg-sub.png";
var imgDonate = "images/notification-bg-donate.png";
function teeboardNotification(type, msg) {
//alert("notification: " + type + " - " + msg);
var img = document.getElementById("notification-img");
// set image depending on notification type
if(type == "follower") {
img.src = imgFollow;
}else if(type == "subscriber") {
img.src = imgSub;
}else if(type == "donation") {
img.src = imgDonate;
}
// set the notification message
var txt = document.getElementById("msg");
txt.innerHTML = msg;
// animate everything onto the screen
var div = document.getElementById("notification");
div.style.visibility = "visible";
TweenLite.killTweensOf(div);
// tween x position from offscreen (0 - width of image) to 0
TweenLite.fromTo(div, 1.33, {x:636, y:1420}, {x:636, y:800, ease:Bounce.easeOut, onComplete:hideNotification});
}
function hideNotification() {
// animate everything back off screen
var div = document.getElementById("notification");
// tween x position from 0 to (0 - width of image)
TweenLite.to(div, 1.33, {x:636, y:1420, delay:6});
}
</script>
</head>
<body>
<!--
Animations should take no longer than 10 seconds (showing + hiding), as notifications are queued,
meaning that if there are 2 new followers, 2 alerts are invoked, 10 seconds apart.
-->
<div id="notification">
<div id="notification-msg">
<span id="msg">TEEBOARD JAVASCRIPT NOTIFICATIONS!!</span>
</div>
<img id="notification-img" src="images/notification-bg-follow-custom1-transparent.png" width="648" height="220">
</div>
<div id="flashContent">
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="200" height="100" id="teeboard-notifications" align="middle">
<param name="movie" value="teeboard-notifications.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#00ff00" />
<param name="play" value="true" />
<param name="loop" value="false" />
<param name="wmode" value="transparent" />
<param name="scale" value="noscale" />
<param name="menu" value="false" />
<param name="devicefont" value="false" />
<param name="salign" value="lt" />
<param name="allowScriptAccess" value="always" />
<!--[if !IE]>-->
<object type="application/x-shockwave-flash" data="teeboard-notifications.swf" width="200" height="100">
<param name="movie" value="teeboard-notifications.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#00ff00" />
<param name="play" value="true" />
<param name="loop" value="false" />
<param name="wmode" value="transparent" />
<param name="scale" value="noscale" />
<param name="menu" value="false" />
<param name="devicefont" value="false" />
<param name="salign" value="lt" />
<param name="allowScriptAccess" value="always" />
</object>
<!--<![endif]-->
</object>
</div>
</body>
</html>
Thank you again.
1. Using your instructions, the resulting text that's being passed by TeeBoard seems to align to the top-left corner:
http://i.imgur.com/ix3OdTk.png
Regards,
position: relative;
width: 100%;
width: 100%;