robvdpol / racecontrol Goto Github PK
View Code? Open in Web Editor NEWRace Control is a standalone, open source F1TV client for Windows, written in C# on the .NET platform.
License: GNU General Public License v3.0
Race Control is a standalone, open source F1TV client for Windows, written in C# on the .NET platform.
License: GNU General Public License v3.0
Describe the bug
Error windows when trying to cast a 2020 or older race stream to my Mi Box S with Chromecast built in.
Stream does load normally when playing with Race Control built in player or VLC on desktop.
Error message: Load failed
To Reproduce
Press 'Scan' in 'Options' section
Select Chromecast device from dropdown
Select 2020 or older race stream
Press Cast
Error message will pop-up
Expected behavior
Start casting selected stream to Chromecast device
Desktop (please complete the following information):
Windows 10 x64 20H2 build 19042.867
Casting device: Mi Box S (Chromecast built in)
Race Control version: 2.0.1
F1TV account
F1 TV Pro
Netherlands
No VPN or proxy
Additional context
Add any other context about the problem here.
Resizing and organizing more than 4 streams is difficult and time consuming.
Would it be possible to have preset window sizes and/or layouts that would accommodate more than 4 windows?
We could have a size that would fit 3x3 windows, one that would fit 5 (3x3 sized windows) and 1 larger window in the remaining space (that takes the space of 4 3x3 windows). Or perhaps just a way to autosnap when resizing the windows (1/4 width, 1/2, 3/4 etc).
Example of a nice layout with more than 4 equally sized windows:
Downloading any stream has a high chance of random freeze/stuck without any user feedback that this has happened. Freeze can be observed by looking at file size not increasing or network monitor showing zero network activity. Download window remains in "downloading" state indefinitely when this happens. Tested on 2020 Belgian GP onboard footage.
Suspected "Pipe copy aborted" error is happening in the background. Same error can occur when using streamlink directly in command prompt.
As described in title audio is delayed by 5-7 second on live streams in vlc and internal player. Audio is synced in MPV. This happened in previous versions as well sometimes, but mostly in internal player, VLC was fine. Now its also in vlc in 1.8. Makes it unwatchable really.
First of all; this is awesome! Thank you for developing such a polished app with no frills that just works!
My feature request is to have a hotkey for every player window that toggles full screen. Currently you have to click on the window and press the full screen hotkey.
It would be nice to have keys 1-9 to toggle full screen for a specific window.
The specific full screen hotkeys can also mute all other windows and only unmute the full screen player.
Full screen should be local to the monitor that the screen is shown on
I am not sure what the best way would be to enumerate each window but maybe they can be enumerated based on the order they were opened,
Is your feature request related to a problem? Please describe.
The default installation path for applications on Windows is 'C:\Program Files' or 'C:\Program Files (x86)'. The most recent version of this application suggest to install in 'C:\RACECONTROL'
Describe the solution you'd like
Default installation path should either be:
Describe alternatives you've considered
n/a
Additional context
n/a
Is your feature request related to a problem? Please describe.
Currently I cannot move the video dialog. I have a dual monitor setup and would like to move the video window from my primary to my secondary monitor. The only I way I can do that now is by resizing/moving the right border of the dialog to the 2nd monitor, then do the same with the left border.
Describe the solution you'd like
I would like to be able to drag the video dialog by clicking and holding the title bar and then drag/drop the window to my 2nd screen
Describe alternatives you've considered
n/a
Additional context
The buttons for full screen and placing the video dialog in a corner is nice to order multiple dialogs, but cannot be used to move them to a 2nd monitor. I would still like to keep these buttons though!
Changing audio track when using internal player mutes audio even if re-selecting original track. You have to close player window and reopen stream to regain audio playback.
Chaging audio track works ok with MPV.
When watching + using computer, the videoplayer moves to the background when switching between programs (alt+tab).
Request for an "always on top" toggle within the videoplayer.
This would basically help overcome some the of issues of the auto sync since it's still being improved. This would allow you to type in the time that a feed is delayed which would then be taken into account when the sync button is pressed. For example, I notice that one feed is delayed by 5 seconds to the rest of them, I could enter 5 seconds into a box on that player and it would then set that feed ahead by 5 seconds of what the sync estimation is when I press sync. This would help when skipping through a race so you don't have to manually fix the sync by pausing all the other feeds.
I just found out about this project and it is really cool to have a dashboard with multiple streams on view instead of juggling with browser windows like I'm currently doing. Unfortunately all my current machines use linux systems, which is not currently supported by the project.
I'm sure there are many others who have this same scenario. Spinning up a VM seems like a bit of stretch for a single application. Hence, it would be a good idea to have a linux based version of the project.
I'm a novice, but I can help out in the project if you decide to do so.
Low priority. Difficult to solve because Streamlink download speed output can not be captured. Alternative would be to use Event Tracing (see https://stackoverflow.com/a/45076244), but that's a complicated solution especially since we need the Python child process id.
I have a windows laptop that is connected to a 4k TV. Current resolution settings are:
When i open race control and create a layout with the internal player (afaik this is the only method of creating a layout that can be saved?). Next i close all windows and press the button, open saved layout in MPV. The layout is then much smaller then it should be and it doesn't use the full screen. Attached are some screenshots for comparison.
Note: opening the layout in internal player does work correctly and uses the full screen.
This is the correct layout in the internal player:
When using two monitors with one monitor in fullscreen mode, I am unable to pause all the streams if I am focused on the fullscreen window and press shift + space. This feature works if I am focused on a non fullscreen window on the other monitor.
SESSIONS are currently sorted by chronological (?) order. F3, F2 and F1 are intertwined making it harder to rewatch a race weekend (if only interested in 1 class)
Suggested solution: checkbox for F3 F2 F1 (next to SESSIONS), making a quickfilter for one or more raceclasses, and cluster the F3/F2/F1 SESSIONS to their respective classes.
I'd love to have older seasons showing up in the list. I'm currently rewatching from 2014 onwards, and I'd rather want to watch via Race Control than F1TV as the website kind of slows down my computer while playing a game simultaneously and often the audio is low quality.
Thanks! :-)
Stream windows are unable to be dragged around by the new menu bar.
Open any stream
Click and drag on the menu bar
Nothing happens
Main Race Control window can be dragged by the menu bar, streams cannot
Windows 10 Pro 64bit V2.0.0
Shouldn't matter but Pro access, US, no VPN
Describe the bug
Thanks again for your program. I can't move any window to position it at any place of the desktop. Moving them by the arrows beneath instead works. Seems like i'm unable to get a focus on the window. And i must add, i use 2 Monitors.
Desktop Gerätename SpassMaschine
Prozessor Intel(R) Core(TM) i7-6700K CPU @ 4.00GHz 4.00 GHz
Installierter RAM 16,0 GB
Geräte-ID DFA40D09-D252-4C3F-A708-C596D401AEC7
Produkt-ID 00330-80000-00000-AA371
Systemtyp 64-Bit-Betriebssystem, x64-basierter Prozessor
F1TV account
Additional context
Add any other context about the problem here.
error about runtime which is installed shows up every time on windows 10.
When running the default MSI from releases, the default install folder location is C:\Race Control\
.
Is that correct? My guess would be Program Files would be the recommended location.
Describe the bug
Unable to pause the live feed in the native session, which means there's no way to sync the feeds.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Stream to stop and fill a buffer which is played back when pause pressed again, like earlier versions.
Desktop (please complete the following information):
F1TV account
A UX suggestion.
These buttons are all very handy, but I'd put the closing button somewhere else:
Just some first impression feedback, feel free to close this :)
Would be nice to be able to change which sound device the internal player sends audio out to.
Describe the bug*
All the different movie players (mvp, VLC, watch) will start the stream correctly in English. But only MVP works when changing the audio track to another track then English. For VLC and Watch player, changing the audio track back to english doesn't work either.
Desktop (please complete the following information):
F1TV account
Loving this program!
With your built-in video player, can you add the option to change aspect ratio?
Currently I use MPV and when I do SHIFT+A I can switch aspect ratios.
Very useful for ultrawide screens as it allows for more screen area to be used, plus the image stretching gets fixed by your brain in a few seconds anyways
Thanks!!
Currently only way to control volume in internal is either on or off. Linear volume controls with scroll wheel adjustment (VNC like) would be good since currently only way to do is trough operating system volume mixer.
Currently recording in internal player is possible only for live sessions, it would be nice if it could be done for playbacks as well, similar to VLC which can also do both.
When I watch a race BEFORE 2018 (not available through 'Race Seasons') I can not cast to my THOMSON (android) TV.
How To Recreate:
I have F1 TV Access.
Not sure if really a bug, but the internal MPV player does not read the config from the 'default' MPV config file location (%AppData%/mpv/mpv.conf).
I would like to change the render mode (vo) from 'gpu' (shaders) to 'direct3d' because my relatively old GPU can not handle more than 1 stream in this default configuration and works fine with the latter. I could use the 'external' MPV option, but then I lose the handy shortkey options.
Is is possible to somehow change the configuration of the internal player?
I upgraded from 2.0.0 to 2.0.1 and had 2 versions installed, and needed to manually remove the previous version
I think for this sort of project it is not a big deal at all but wanted to at least let you know
I looked through the vdproj and didn't see anything obvious to me (but I am more familiar with the WiX installer framework). But I will check back and take a stab at it if it isn't something super obvious/trivial for you
Also, huge thanks, the app is really awesome, I look forward to using it throughout the season :)
The video starts correctly with audio in English, but when changing to another language (for example Spanish) it runs out of sound. Even if I go back to English audio, it still has no sound.
Windows 10 Pro
64 bit
20H2
F1TV Pro
Argentina
No VPN
Idk if this would be possible for the other players than the internal, but it would be convenient to pick up watching where you left.
Thanks again for this gorgeous program!
After the upgrade to 1.7.2, the watch in saved layout button doesn't work anymore.
Error message: Value cannot be null. (Parameter: 'source')
Is your feature request related to a problem? Please describe.
As of the end of February 2021, the F1TV website has been redesigned and has a new API that serves video. This new API has all newly added video content, and serves 50fps video when available. The old API currently used should be considered deprecated.
Describe the solution you'd like
Update to the new API in order to continue accessing content with the best quality possible.
Describe alternatives you've considered
N/A
Additional context
It is possible that this will be a larger effort, so I am creating similar issues for all F1TV related repositories. Hopefully there is a way we can all collaborate.
Ability to change overscan for each window (ie increase or decrease the size of each stream within it's window). Especially useful on 16:10 monitors or when you want to maximize the action on a certain feed (like the data tracker, where I like to enlarge just the main data panel and cut off the rest).
So lets say, i hover over the F1 Training 1 session button from yesterday, it shows the latest standings from this session so we know what happened at a glance. Would this be feasible, but only for expired sessions, maybe optional for those who don't want to be spoiled?
Yes, i know, you could also take a random pic here, caus first two are always the same, but ... /s
And again i want to thank you for this gorgeous program!!
Describe the bug
windowsdesktop-runtime-3.1.9-win-x64 installed
Racecontrol 1.8.1 installed
To Reproduce
Steps to reproduce the behavior:
installed to c:\RaceControl
Open the app as administrstor
Get to login prompt
Enter any username/password and hit login button (valid/invalid credentials have the same effect)
after 2 seconds red text under password field " Object reference not set to an instalnce of an object."
Expected behavior
I expect to log in and browse streams presented to me. I have previously used your applicaiton on 1.8 which I upgraded to 1.8.1.
I have deleted the stored credentials in Windows
I have deleted \AppData\Local\RaceControl
I have run the installer again and deleted the app
I have rebooted
I have reinstalled the app and experienced the same issues.
Screenshots
https://i.imgur.com/IjcBGCY.png
Desktop (please complete the following information):
F1TV account
Additional context
When running the application I see a request for api.formula1.com hit my firewall and is forwarded.
tried watching and downloading highlight of 2021, a race of 2020, and worldfeed all giving the same errors
snippet of the log:
2021-03-15 20:44:59.4124 ERROR [VLC] cannot initialize COM (error 0x80010106)
2021-03-15 20:44:59.4124 INFO Getting tokenised URL for content-type 'Asset' and content-URL 'CONTENT/PLAY?contentId=1000001387'...
2021-03-15 20:44:59.7221 WARN A non-critical error occurred.
System.ArgumentNullException: Value cannot be null. (Parameter 'mrl')
at LibVLCSharp.Shared.Media.SelectNativeCtor(LibVLC libVLC, String mrl, FromType type)
at LibVLCSharp.Shared.Media.<>c__DisplayClass2_0.<.ctor>b__0()
at LibVLCSharp.Shared.Internal..ctor(Func1 create, Action
1 release)
at LibVLCSharp.Shared.Media..ctor(Func1 create, Action
1 release, String[] options)
at LibVLCSharp.Shared.Media..ctor(LibVLC libVLC, String mrl, FromType type, String[] options)
at RaceControl.Vlc.VlcMediaDownloader.StartDownloadAsync(String streamUrl, String filename) in D:\Projects\RaceControl\RaceControl\RaceControl\Vlc\VlcMediaDownloader.cs:line 45
at RaceControl.ViewModels.DownloadDialogViewModel.GetTokenisedUrlAndStartDownloadAsync(String subscriptionToken) in D:\Projects\RaceControl\RaceControl\RaceControl\ViewModels\DownloadDialogViewModel.cs:line 68
at System.Threading.Tasks.TaskExtensions.Await(Task task, Action completedCallback, Action1 errorCallback, Boolean configureAwait) 2021-03-15 20:45:01.8877 ERROR [VLC] cannot initialize COM (error 0x80010106) 2021-03-15 20:45:01.8877 INFO Getting tokenised URL for content-type 'Asset' and content-URL 'CONTENT/PLAY?contentId=1000001387'... 2021-03-15 20:45:01.9531 ERROR A critical error occurred. System.ArgumentNullException: Value cannot be null. (Parameter 'mrl') at LibVLCSharp.Shared.Media.SelectNativeCtor(LibVLC libVLC, String mrl, FromType type) at LibVLCSharp.Shared.Media.<>c__DisplayClass2_0.<.ctor>b__0() at LibVLCSharp.Shared.Internal..ctor(Func
1 create, Action1 release) at LibVLCSharp.Shared.Media..ctor(Func
1 create, Action1 release, String[] options) at LibVLCSharp.Shared.Media..ctor(LibVLC libVLC, String mrl, FromType type, String[] options) at RaceControl.Vlc.VlcMediaPlayer.StartPlaybackAsync(String streamUrl) in D:\Projects\RaceControl\RaceControl\RaceControl\Vlc\VlcMediaPlayer.cs:line 106 at RaceControl.ViewModels.VideoDialogViewModel.StartStreamAsync() in D:\Projects\RaceControl\RaceControl\RaceControl\ViewModels\VideoDialogViewModel.cs:line 437 at RaceControl.ViewModels.VideoDialogViewModel.InitializeAsync() in D:\Projects\RaceControl\RaceControl\RaceControl\ViewModels\VideoDialogViewModel.cs:line 408 at System.Threading.Tasks.TaskExtensions.Await(Task task, Action completedCallback, Action
1 errorCallback, Boolean configureAwait)
Describe the bug
In RaceControl 1.8.2, I could access the F1TV archive. In version 2.0, I can not find it. Content pre-2018 seems unavailable. May be it is a bug?
To Reproduce
Just launch the software and try to find the race archive.
I am sorry if I am just blind and congratulations for this superb project! The key reason I pay for F1TV.
I have 5.0.4 .NET installed, but for some reason the .MSI installer keeps prompting me to install .NET 5.0.
I often watch in a darkened room and find that when I mouseover the windows and the transport controls popup they are eye searingly bright - a dark mode for these would be great. In addition to being able to suppress the transport popup (as mentioned in another request).
First i want to thank you for this awesome program! Great work!
So, would it be possible to select a language before starting live streams or, maybe set a special language as default for the used player? This would be great!!
Keep up the great work!!
I find it distracting that whenever I move the mouse over the windows the transport controls pop up immediately - perhaps suppress the popup unless the mouse is in a hot spot area of the feed - like the bottom left corner, etc.
Describe the bug
This isn't critical, just FYI.
When using an expired session, clicking on any action button (download, copy, watch, etc) will result in an expected error message.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Probably another well defined error message.
Screenshots
Desktop (please complete the following information):
I have 3 windows set up in the racecontrol.layout.json i have "Volume": 0 for two windows and "Volume" : 100 for one.
If i use Open internal they are all opened at 100%
If i close all 3 and open internal again still 100%
But if i set one window to say 22% and close that as the last window the windows set to 0 are at 22% volume when all are opened with open internal.
If i set a non 0% volume for a window and save to the json then it's set to the correct volume when open internal is used.
So seems to only impact windows set to 0% volume picking up the volume of the last closed window
Hoping that all archived seasons will be available for the app rather than just 2018 --> 2020?
Make a mobile application, downloadable on a download link.
Because the original application is not optimized
That my idea
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.