Preview: Official ATVO Theme 2020

Posts: 785
A first preview of this theme has now been released! You can download it here:
Download theme

Please read the instructions file first! Before opening the theme you may need to install the Roboto font as a system font. It is included in the download.

Make sure you're on the latest stable or beta channel!

The theme contains the Theme Editor source and the exported version. Use the Theme Editor source to see how it was made.


Note that there may still be some items that are not fully working. Please leave your feedback for this theme in this thread and we will see if we can address it. Once we are happy with the theme, we will look into including it with ATVO by default.
Edited (1 time)
Posts: 287
Whaou .... I spend so many time to do something and I saw I can do it better with your exemple !!!

I have to look everithing but it is so intersting how you made that.

--> ERASE ---> RESTART (summery of what I have to do )
Posts: 62
Thanks so much for working on this Nick! I'm really looking forward to reverse engineering this so I can get the most out of this awesome tool.

Unfortunately, I just tried loading the .adt file and the theme in the editor, but I'm getting the same error:

Requested value 'Storyboard' was not found.


Here's the full log:

Error: 6/14/2020 3:11:40 PM (UTC)
Unhandled exception
System.ArgumentException: Requested value 'Storyboard' was not found.
  at System.Enum.EnumResult.SetFailure(ParseFailureKind failure, String failureMessageID, Object failureMessageFormatArgument)
  at System.Enum.TryParseEnum(Type enumType, String value, Boolean ignoreCase, EnumResult& parseResult)
  at System.Enum.Parse(Type enumType, String value, Boolean ignoreCase)
  at ATVO.ThemeEditor.ThemeModels.Actions.ActionProvider.Get(String typeName, IController controller) in D:\Users\Nick\Documents\Programming\ATVO\Appgineer.in-TV-Overlay-for-iRacing\ATVO.ThemeEditor\ThemeModels\Actions\ActionProvider.cs:line 40
  at ATVO.ThemeEditor.ThemeModels.Actions.ActionProvider.Deserialize(XElement element, IController controller) in D:\Users\Nick\Documents\Programming\ATVO\Appgineer.in-TV-Overlay-for-iRacing\ATVO.ThemeEditor\ThemeModels\Actions\ActionProvider.cs:line 47
  at ATVO.ThemeEditor.Utils.ActionUtil.DeserializeActions(IController controller, XElement element) in D:\Users\Nick\Documents\Programming\ATVO\Appgineer.in-TV-Overlay-for-iRacing\ATVO.ThemeEditor\Utils\ActionUtil.cs:line 25
  at ATVO.ThemeEditor.ThemeModels.ControlButton.Deserialize(XElement element, Boolean convertName) in D:\Users\Nick\Documents\Programming\ATVO\Appgineer.in-TV-Overlay-for-iRacing\ATVO.ThemeEditor\ThemeModels\ControlButton.cs:line 85
  at ATVO.ThemeEditor.ThemeModels.Serialization.ThemeSerializer.ReadTheme(XDocument doc, Theme theme) in D:\Users\Nick\Documents\Programming\ATVO\Appgineer.in-TV-Overlay-for-iRacing\ATVO.ThemeEditor\ThemeModels\Serialization\ThemeSerializer.cs:line 217
  at ATVO.ThemeEditor.ThemeModels.Serialization.ThemeSerializer.LoadTheme(String path, String encryptedFilepath, Boolean isInEditor) in D:\Users\Nick\Documents\Programming\ATVO\Appgineer.in-TV-Overlay-for-iRacing\ATVO.ThemeEditor\ThemeModels\Serialization\ThemeSerializer.cs:line 95
  at ATVO.ThemeEditor.ViewModels.MainMenuViewModel.OnOpenThemeInternal(String path) in D:\Users\Nick\Documents\Programming\ATVO\Appgineer.in-TV-Overlay-for-iRacing\ATVO.ThemeEditor\ViewModels\MainMenuViewModel.cs:line 331
  at ATVO.ThemeEditor.ViewModels.MainMenuViewModel.OnOpenTheme() in D:\Users\Nick\Documents\Programming\ATVO\Appgineer.in-TV-Overlay-for-iRacing\ATVO.ThemeEditor\ViewModels\MainMenuViewModel.cs:line 306
  at Prism.Commands.DelegateCommand.<>c__DisplayClass1_0.<.ctor>b__0(Object o)
  at Prism.Commands.DelegateCommandBase.<>c__DisplayClass6_0.<.ctor>b__0(Object arg)
  at Prism.Commands.DelegateCommandBase.<Execute>d__15.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
  at Prism.Commands.DelegateCommandBase.<System-Windows-Input-ICommand-Execute>d__13.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.CompilerServices.AsyncMethodBuilderCore.<>c.<ThrowAsync>b__6_0(Object state)
  at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
  at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)




Posts: 785
Make sure you're on the latest stable or beta channel!
Posts: 62
Aha! I had upgraded to the 1.30 Alpha ..

I just set the Update channel to Stable and I was prompted to downgrade to 1.29.

The theme loaded!

I will have fun exploring this for a while ..

Thanks again for putting this together!!!! This is so helpful.

-Jeremy
Posts: 46
Sorry, missed your new post....

"Just out of curiosity, will you only make the .adt file available, or also the whole theme in Theme editor?

Theme editor would be quite interesting, because we could have a look inside it, an see how some animations, triggers e.t.c. are done ?"
Edited (2 times)
Posts: 785
The link I shared has the full Theme Editor source so you can see how it's made and edit it!
Posts: 287
I test it on one of the big 6h endurance in iracing yesterday. It is ok, animations are nice and full personalisable information on some widget are very intersting. I look how you do and I'm very "exiting" to reproduce some of theme ;)

I notice the problem if you try to show a empty Class in ticker, after system go slowly.

I reproduce the animation of results panel on my theme. But my subwidget get some background picture and LOGO car in dynamic. And quickly it take a lot of "capacity computer" and ATVO begin to go slowly (ATVO windows take time to answer more and more). So I suppose additinal picture or dynamic image are not recommended for this sort of ticker.
Edited (1 time)
Posts: 287
I have a look on a lot of your logical for differents things. The loader ticker at the begening, logical with condition flag for Best Lap .... change ticker from static to paging if more than 3 classes .... a lot of solution we can take for exemple to do different things :)
Posts: 287
Some other test, it seems to have a little bug when you pass from DRIVER to COMPARE
Posts: 4
Edit: Disregard, when all else fails, reboot.
Edited (1 time)
Posts: 66
It is a nice theam, but it looks to have some preformans issue, as it uses about 1gb of ram, and it is having a data fps of 3-5 and data delay of 300-400 so atm it is not realy usebule.

I am using the Stable version of ATVO on Beta it just frezz.

And my other overlays are not having this data delays.
I do still have 4-5 gb of ram to use, so i dont realy know were the issue is?
Posts: 785
I don't have any of these issues. Did you change anything on the theme?
Posts: 66
I have don one were i did that, but to make sure that it was not any to my chances i downloaded the original version and did try again but yea 1 gb and fps data 3-5 and delay of 300-400
Posts: 66
restall of ATVO did help, but not on my chanced version, but the normal one
Posts: 11
Not sure if this is just me or not but I was looking at this theme and playing around with it and I see when you hit the replay or instant replay the game gets a lot of lag to the point I can see on my atvo I'm getting 10 to 15 fps.
Posts: 785
What is lagging, the game or ATVO?

And no I don't have any of these issues. Not sure why... Are you on limited hardware or something and is iRacing using up all your resources (CPU/GPU)?
Edited (1 time)
Posts: 66
It is ATVO it is unresponsiv, and laggy, sometimes i cant close it, and have to force close it.

I have a Razyn 2600 and a 1660 super, when i am running iracing i my cpu is on like 30% and gpu at 60%, and it is the data FPS that is down, but also the data lag. I did try with one of my other overlays with more pictures and overall bigger files, and no issue at all. But it is mostley with the one i have modifided from youres, but it is not that mutch that this ATVO lag makes any sens.
Posts: 11
Nick Thissen wrote:
What is lagging, the game or ATVO?

And no I don't have any of these issues. Not sure why... Are you on limited hardware or something and is iRacing using up all your resources (CPU/GPU)?

Both but no im running a 3700x with a 2070sc card with 16gb or ram. When I click on the replay button it's show on the bottom of atvo my frames drop too 10 to 15 fps then it's makes my game lag till I click on iracing screen or some were on my desktop to make it stop. If you look at the 17.00 mark you see I have a mp4 file to play for the replay when I click on it https://youtu.be/yrc9w7Svyzo
Posts: 11
Also how do you code it to show colors of position changes in the tickers?
Posts: 287
It is with Overrides in widget or subwidget or label, you select binding ClassColor and the color take the color of the class, you can do it for background, font color ....
Posts: 11
Emmanuel Suter wrote:
It is with Overrides in widget or subwidget or label, you select binding ClassColor and the color take the color of the class, you can do it for background, font color ....
Thanks also I played a little bit more nick and found out on the lag it's got something too do with my replay file I tryed yours and it works just fine
Posts: 11
Emmanuel Suter wrote:
It is with Overrides in widget or subwidget or label, you select binding ClassColor and the color take the color of the class, you can do it for background, font color ....
So that shows car overtaking pos?
Posts: 287
no , over is for Replace original color or data ....
Posts: 11
Emmanuel Suter wrote:
no , over is for Replace original color or data ....
Okay is there a way to so cars in color to overtake a pos?