Results 1 to 12 of 12

Thread: Time delta bar & other newbie questions

  1. #1

    Time delta bar & other newbie questions

    Hi all,

    I purchased RaceRender ultimate last weekend to make some gauges for my telemetry. So far really loving the product!

    I made a time delta bar from using the this lap vs cur best lap field. I couldn't find a delta bar that came out-of-the-box (please correct me if I'm wrong) so I made two bar graphs with indexes of 0 - -3 and -3 - 0 respectively and coloured them red and green, and then stuck the bars end-to-end. You can see the result here: delta bar 01.png

    This seems to work pretty well but there are a few problems. The first one is that each box seems to show a single pixel line of the fill colour when the reading is at 0 and they should be showing nothing at all. The second problem is that in order to get the bars to line up perfectly back-to-back in the rendered video, I have to actually set them to overlap slightly in the editor. You can see both of those things here: delta bar 02.png

    Any thoughts on this?

    Lastly I've noticed that I can't adjust the width setting of a bar graph without also affecting the height, even if I disable the setting to maintain aspect ratio. And it seems like thickness (which I've been using to reduce the height, since the actual height setting is greyed out) can be adjusted without affecting the width of the bar. Thus, if I want to reduce the width but maintain the height I have to play around with these two settings which is a bit cumbersome. Please let me know if there is a better way to do this.

    Cheers!

  2. #2
    Also just wondering if anyone can tell me whether there's an ability to display split times and/or generate an optimal lap from the best sectors? I haven't been able to figure it out thus far. RaceChrono does export sector names (in the form of traps) in the csv data but I don't think there's any way to make RaceRender do anything with it.

  3. #3
    Tuner in Training
    Join Date
    Apr 2018
    Posts
    21
    In these sorts of situations, I usually just make a graph myself: Bar Graph - Delta Current.rro

    This should be pretty close to what you want. If you have the Advanced/Ultimate Editions, then you should be able to modify the script to change the height/width however you like.

    Faster.png

    Neutral.png

    Slower.png

    You'll need to save that to "My Documents\RaceRender 3\Styles" (or the equivalent location where all other RaceRender files are stored). Then you can open RaceRender and choose the new graph.

    Quote Originally Posted by andrewrichardson View Post
    Also just wondering if anyone can tell me whether there's an ability to display split times and/or generate an optimal lap from the best sectors? I haven't been able to figure it out thus far. RaceChrono does export sector names (in the form of traps) in the csv data but I don't think there's any way to make RaceRender do anything with it.
    Displaying Split/Sector times is a highly requested feature that a lot of us users would love to see in RaceRender (especially with its inclusion in TrackAddict output), but sadly, it is not yet available. I'm currently side-stepping this in my own videos by adding extra "laps" at the end of my CSV files that essentially mimic what a sector would be:



    Right now, all of those displays are setup for only autocross (i.e. only work on Lap 1 and assume that anything else is simply additional lap list or sector information), but I'm hoping to make additional ones that would work with circuits in the future. Whenever I do finish those, I'll post all of them on the Shared Templates & Styles Forum

  4. #4
    Potential Tuner
    Join Date
    Dec 2017
    Posts
    7
    I was able to get sector times with difference from current best using an Enhanced Display Object, but you have to manually set the sector points and it can get complicated. I actually wrote a Python script that generates the Enhanced Display Object scripts. I was also able to show minimum turn speeds & maximum straight speeds vs the current best. I could share what I have but it might be hard to follow. (if you figure out, please explain it to me! ) It would also require Python to generate the scripts.

    Last edited by atadams; 05-21-2019 at 07:27 AM.

  5. #5
    Potential Tuner
    Join Date
    Dec 2017
    Posts
    7
    HoboBob, I love your template! Very nice.

  6. #6
    Thanks for providing the script HoboBob! I'll have a play around to get it looking how I want, but it's pretty close. Mainly having issues figuring out how to make it resize in a consistent manner. How did you create that from scratch - I don't see any options to create a new gauge, just to edit the existing ones.

  7. #7
    Tuner in Training
    Join Date
    Apr 2018
    Posts
    21
    Quote Originally Posted by andrewrichardson View Post
    Thanks for providing the script HoboBob! I'll have a play around to get it looking how I want, but it's pretty close. Mainly having issues figuring out how to make it resize in a consistent manner. How did you create that from scratch - I don't see any options to create a new gauge, just to edit the existing ones.
    I just started with an existing one, deleted everything in the scripts, made my updates, and then exported using a different name.

    You should be able to adjust the SizeX and SizeY variables on Object Parameters tab. I also have a Header variable in the Background Script which can adjust the height of the portion where the text is displayed (which is 30% of the height at the moment but easy to adjust).

  8. #8
    Tuner in Training
    Join Date
    Apr 2018
    Posts
    21
    Quote Originally Posted by atadams View Post
    I was able to get sector times with difference from current best using an Enhanced Display Object, but you have to manually set the sector points and it can get complicated. I actually wrote a Python script that generates the Enhanced Display Object scripts. I was also able to show minimum turn speeds & maximum straight speeds vs the current best. I could share what I have but it might be hard to follow. (if you figure out, please explain it to me! ) It would also require Python to generate the scripts.
    Looks great! If you trust your GPS, then you could probably rely on TrackAddict's sectors/RaceChrono's traps to get a row of data that contains everything. You could probably use your script to add extra columns to your data file which could contain the [max/min] speed of the current best at that point, and then just have a relatively dumb display object that just displays whatever is in that field. Maybe that's what you're already doing, but that seems like a lot less work than creating brand new gauges each time (maybe I'm just not quite understanding what you're doing ). If you don't trust your GPS, then maybe you could pick certain points on the track, note the time within the current lap at that point in the video, and use the script to add columns appropriately.

    Java is my preferred language; so I've been keeping my updates on Github so that they're backed up. I've got a few gauges on there as well as a formatter file for Eclipse to keep it in the preferred style for RaceRender.

  9. #9
    Potential Tuner
    Join Date
    Dec 2017
    Posts
    7
    Quote Originally Posted by HoboBob View Post
    Looks great! If you trust your GPS, then you could probably rely on TrackAddict's sectors/RaceChrono's traps to get a row of data that contains everything. You could probably use your script to add extra columns to your data file which could contain the [max/min] speed of the current best at that point, and then just have a relatively dumb display object that just displays whatever is in that field. Maybe that's what you're already doing, but that seems like a lot less work than creating brand new gauges each time (maybe I'm just not quite understanding what you're doing ). If you don't trust your GPS, then maybe you could pick certain points on the track, note the time within the current lap at that point in the video, and use the script to add columns appropriately.

    Java is my preferred language; so I've been keeping my updates on Github so that they're backed up. I've got a few gauges on there as well as a formatter file for Eclipse to keep it in the preferred style for RaceRender.
    Static data would probably have been easier. I'll zip my files together tomorrow morning and send you a link so you can look at them. I think we are doing thing similar, but I'm not too familar with Java so I could be wrong.

  10. #10
    Potential Tuner
    Join Date
    Dec 2017
    Posts
    7
    I pushed my Python script up to GitHub. It was a quick script not really meant for public consumption, but you can see what I was doing. It outputs .txt files with each enhanced object's foreground and background scripts. I then just cut and paste into RaceRender. The idea was to have a json file that described the track sections and sectors and the RR script would handle the calculations. This could probably be done easier by modifying the input data and using dumb objects.

    I looked at your repo. I'm not a Java guy, so it's a little hard for me to follow. I see what you're doing with RaceRenderFormatter (I should do the same process), but I don't understand how RaceRenderCustomGauges get into RaceRender.

  11. #11
    Tuner in Training
    Join Date
    Apr 2018
    Posts
    21
    Quote Originally Posted by atadams View Post
    I pushed my Python script up to GitHub. It was a quick script not really meant for public consumption, but you can see what I was doing. It outputs .txt files with each enhanced object's foreground and background scripts. I then just cut and paste into RaceRender. The idea was to have a json file that described the track sections and sectors and the RR script would handle the calculations. This could probably be done easier by modifying the input data and using dumb objects.

    I looked at your repo. I'm not a Java guy, so it's a little hard for me to follow. I see what you're doing with RaceRenderFormatter (I should do the same process), but I don't understand how RaceRenderCustomGauges get into RaceRender.
    Oh, the RaceRenderCustomGauges have a few classes buried deep down that represent the actual Enhanced Script Object. There's a backgroundScript method for the background script, and a foregroundScript method for the foreground script (I'm really creative with my names). I can just copy the contents of that method directly into RaceRender. No need to run or output anything. And I only need to do that if I need to make updates to it. It's mostly a set-and-forget thing once it's saved in a layout template.

    Let me know if you'd like me to take a look at helping convert your script into a formatter type reference similar to mine. Looks like you're taking milliseconds since the start of the video for each portion of interest and then outputting corresponding display commands. You could probably have similar results by outputting a CSV-like data file with the ~20-50 lines that you care about (with appropriate Time column for lining things up) and then have the gauge read that data file instead of your main one. That way you could just run the formatter and load up a consistent RaceRender template without needing much other work (besides noting each timing point).

  12. #12
    Potential Tuner
    Join Date
    Dec 2017
    Posts
    7
    Quote Originally Posted by HoboBob View Post
    Oh, the RaceRenderCustomGauges have a few classes buried deep down that represent the actual Enhanced Script Object. There's a backgroundScript method for the background script, and a foregroundScript method for the foreground script (I'm really creative with my names). I can just copy the contents of that method directly into RaceRender. No need to run or output anything. And I only need to do that if I need to make updates to it. It's mostly a set-and-forget thing once it's saved in a layout template.
    So for the gauges, you're just using Eclipse as an editor. I use Python to output the scripts to keep the coding more DRY. Mine is specific to the track, but I could make it "set-and-forget" by adding to the data files like you do.

    Quote Originally Posted by HoboBob View Post
    Let me know if you'd like me to take a look at helping convert your script into a formatter type reference similar to mine. Looks like you're taking milliseconds since the start of the video for each portion of interest and then outputting corresponding display commands. You could probably have similar results by outputting a CSV-like data file with the ~20-50 lines that you care about (with appropriate Time column for lining things up) and then have the gauge read that data file instead of your main one. That way you could just run the formatter and load up a consistent RaceRender template without needing much other work (besides noting each timing point).
    I'm using an AiM Solo DL for data capture and it doesn't have sectors that can be output. I'm manually creating them using the distance into the lap. I could do this as a formatter process as you do, but I would still need some way to manually mark sectors, turns, etc. Your idea about a separate file for that is interesting. I'll play around with that idea and let you know what I come up with.