Giter Site home page Giter Site logo

tournamentstreamhelper's People

Contributors

actions-user avatar ashleygruver avatar cash12121 avatar imranvirani avatar jinchanj avatar joaorb64 avatar kekwel avatar ladyisatis avatar lunki51 avatar sticks-stuff avatar twilcynder avatar wolfy76700 avatar zombiehdgaming avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

tournamentstreamhelper's Issues

Stage Strike App: hide browser top bar

I found out some other day that the Facebook webapp does this by a simple scroll call, where it scrolls the page 1px down once opened. In react, that would mean a function call on the ComponentDidMount function.

Support other games

The way the program is implemented makes it possible to support more games. Streamline character mappings from SmashGG to filename.

Idea: Add hotkeys for score up/down

Being able to use hotkeys for score up/down, reset scores, and swap players would allow use for a Streamdeck or custom Arduino Controllers.

Idea: Add fixed height flags to the software

In addition to having fixed width flags, allow for someone to have fixed height flags for use directly with their streaming software like OBS (More often than not when people have their custom overlays in image format it is more convenient to have fixed height flags to fit said flags into the player bars)

Layout: check for null/undefined variables

If you open the program and edit only one form, for example, this will be the only data available in the json. That makes so the Update on the layouts gets into exceptions.

4.03: Downloading Super Smahs Bros 64 asset crash the app

When you download the base config for Super Smash Bros 64, it crash the app and you can't launch it again
image

I didn't try with other game, just this one so don't know if it's specific to this game or not !

You just have to delete the ssb64 folder in /user_data to fix this

Idea: Add Top 8 bracket widget

As a user, I want to be able to input the players in an 8-player single-elimination or a double-elimination bracket, and select the victory paths in order to generate a stream graphic displaying Top 8. Theoretically you could load sets from this widget directly into the scoreboard widget as well.

A quick UI mockup for the widget would be:

Screenshot_682

Images missing

Getting some errors saying that:

[Errno 2] No such file or directory: 'character_icon/chara_0_link_00.png'
[Errno 2] No such file or directory: 'character_icon/chara_1_link_00.png'
[Errno 2] No such file or directory: 'character_icon/chara_3_link_00.png'
[Errno 2] No such file or directory: 'character_icon/chara_3_link_00-halfres.png'

I'm assuming that these images are unnecessary, as everything seems to look fine on the gui end.

4.04: Crash when using Dragon Ball FighterZ assets

The software seems to hard crash when trying to load the Dragon Ball FighterZ assets, specifically version 1.2 of base_files and full

Running the software from the BAT file reveals the following message:

Reload games
SmashGG characters file updated
Changed to game: dbfz
Loaded stock icons
Character Android 16 has 1 skins
Character Android 17 has 1 skins
Character Android 18 has 1 skins
Character Android 21 has 1 skins
Character Bardock has 1 skins
Character Beerus has 1 skins
Character Broly has 1 skins
Character Broly (DBS) has 1 skins
Character Captain Ginyu has 1 skins
Character Cell has 1 skins
Character Cooler has 1 skins
Character Frieza has 1 skins
Character Gogeta (SS4) has 1 skins
Character Gogeta (SSGSS) has 1 skins
Character Gohan (Adult) has 1 skins
Character Gohan (Teen) has 1 skins
Character Goku has 1 skins
Character Goku (GT) has 1 skins
Character Goku (SSGSS) has 1 skins
Character Goku (Super Saiyan) has 1 skins
Character Goku (Ultra Instinct) has 1 skins
Character Goku Black has 1 skins
Character Gotenks has 1 skins
Character Hit has 1 skins
Character Janemba has 1 skins
Character Jiren has 1 skins
Character Kefla has 1 skins
Character Kid Buu has 1 skins
Character Krillin has 1 skins
Character Majin Buu has 1 skins
Character Master Roshi has 1 skins
Character Nappa has 1 skins
Character Piccolo has 1 skins
Character Super Baby 2 has 1 skins
Character Tien has 1 skins
Character Trunks has 1 skins
Character Vegeta has 1 skins
Character Vegeta (SSGSS) has 1 skins
Character Vegeta (Super Saiyan) has 1 skins
Character Vegito (SSGSS) has 1 skins
Character Videl has 1 skins
Character Yamcha has 1 skins
Character Zamasu (Fused) has 1 skins
Character Android 21 (Lab Coat) has 1 skins
Traceback (most recent call last):
  File "C:\TournamentStreamHelper_Next\TournamentStreamHelper\src\TSHScoreboardStageWidget.py", line 307, in SetupOptions
    self.LoadRulesets()
  File "C:\TournamentStreamHelper_Next\TournamentStreamHelper\src\TSHScoreboardStageWidget.py", line 382, in LoadRulesets
    myRuleset.useDSR = ruleset.get("settings", {}).get(
AttributeError: 'list' object has no attribute 'get'

Improvements to stage strike app

  • Api side: export player names and receive match score
  • App side:
    • start set with 2 options: starting player (p1/p2), or "random"
    • show player names instead of P1/P2
    • send current game count to the api

4.0: Rework UI, reorganize the code, add more functionality

I'm going to have this registered here, I am now working something that is almost like a new start to the program. Seeing old functionalities not making sense anymore and new possibilities I learned recently, I think it's time to take a few steps back before going forward again.

  • Transform the main selection to TOURNAMENT. This is the program's main focus, right?
  • Downloading autocomplete from a tournament not only does not work but also does not make sense. If you're using SmashGG, you're already using "Select Set". If not, I think autocomplete should load in the background as you set a tournament, so that it will just magically have every player as an autocomplete option.
  • Add Challonge support, as long requested. SmashGG offers so much more data, but I guess for some TOs it seems too complicated...?
  • Add a bracket tab
  • Add support for dynamic player slots -- support for doubles, teams (team games?)
  • Add a tournament info tab
  • Add a intermission tab with wait message, timer
  • Add commentators somewhere

Project-wise:

  • Start using QT Designer -- easier and quicker to make UI edits, cleans up a LOT of code; I can see translation support also being a thing!
  • Have at least one class per tab
  • Create sub-classes from Qt's widgets for cleaner code and less code repetition
  • Have more user feedback for async features. Example: Currently, when you click "Select Set", it takes a few seconds to execute. There is no visual indication of anything.

Crash when saving players in local database in v3.03 (Windows 10)

When using the ARMS assets in v3.03, I have an issue where saving a player in the local database with incomplete data crashes the program

Unfortunately the cmd window also closes making logging difficult, but attached is a photo of the last message before closure
Screenshot_479
Screenshot_480

Restarting the program shows that this data was indeed saved

NB: This happens with both P1 and P2 sides

Attached here is the log:
logs.log

Clean up code

Having all code in one file might not be the way to go lol
Also, there's duplicated code here and there.
The program (.py) itself is not very edit-friendly at the moment.

Add support for saving/loading local player files

  • Support spreadsheets for the user to edit, export as .CSV, and have the program read it
  • Add a save button for filled in player data. Maybe add a screen similar to the one where you select a set to show, but with local users for deletion?

4.0: Integrate thumbnail generation into the software

As a user, I want to be able to generate my thumbnail from the current data in TSH by clicking a button in the TSH UI

Additionally, I want to be able to configure the following parameters in the UI: (Which are already configurable in the thumbnail script)

  • Import a custom foreground image
  • Import a custom background image
  • Import a custom icon
  • Set if the generated thumbnail should use team names
  • Set if the generated thumbnail should display sponsor names
  • Set if the generated thumbnail should display the phase name
  • Set the font used for the thumbnail (If possible based on system fonts, if not based on a list of free-to-use fonts)

4.0: The updater doesn't seem to work

In the 4.0 Windows release, attempting to update to 4.01 downloads the package but closes the software after doing so. Rebooting the software still shows that an update is available and still offers to download 4.01

Additionally the layout folder is completely deleted in the process

Links to associated logs:
log.txt
log_error.txt

Typos in default round names

There are some typos in the default round names

Grand Final -> Grand Finals
Losers Final -> Losers Finals
Winners Final -> Winners Finals

Idea: Add a feature/tab to display the last played sets for a given player

If the tournament data is extracted from Smash.gg or Challonge, display previous played sets and scores in the tournament in the app and save them to a file for stream display (Akin to what was done at Heatwave: https://twitter.com/CH_Bonanza/status/1459985041421856768)

My contribution to #eSports broadcasting. This, I believe, is the first graphic of its kind, showing an individual player's run through the bracket. Hope to use this at more tournaments #RivalsofAether #heatwave pic.twitter.com/MYeP4WzER0

โ€” Taylor Broad @ Ascension (@CH_Bonanza) November 14, 2021

This feature could in theory extend to display set counts between two players as given by different data sources like a subset of Challonge/Smash.gg tournaments or Smash.gg general stats

(Obviously this is a low priority feature ^^)

Idea: Addition of Next on Stream module to scoreboard widget

This is more of a nice to see feature addition over currently needed.

Considering we already implement the same technology between the scoreboard widget and commentary widget, it should be looked into adding a scoreboard sub-module for setting who will show up next on stream with a slimmed down score sub-module. All it would need is the players per team, the team widgets and maybe the load set button for pulling it from Smash.gg for the functionality.

This would add the ability to make a stream facing "Up Next" display as if people are viewing a major or higher end event and would be a nice tool that I'm sure most users would take advantage of.

4.04: Stage-Strike App doesn't appear to launch correctly in browser due to missing JS file

It appears after you made the commit for adding new features to the stage strike app (pulling names, changing scores via app, etc.), the stage strike app won't load properly in a production environment due to the JavaScript file it's looking for (main.825bd5ae.js, as of your latest changes) due to the file being changed in commit da93317072bc49f5e65dde2be8a6e7eaa95e142d and the original file being removed with no substitute file introduced. As such, when players go to use the tool, at this moment, the browser just shows a white screen as it returns a 404 for the JS file.

If this can get added back, this would be greatly appreciated as I really want to continue integrating the new 4.0 features into our local, and I have no idea how I'd make a PR for this as React is new to me ๐Ÿ˜…

Crashes with local_players.csv

Whenever I save a player locally with "Save to local DB" and when I load a player with the autocomplete from the local database, the application crashes with a KeyError of the country code.
<class 'KeyError'> 'Brazil (BR)' <traceback object at 0x0BC92B68>

Also, the local_players.csv is not being loaded when I start the program. When I save a player, it looks like this:

org,name,full_name,country_code,state,twitter,main,color (0-7)

,test,,Brazil (BR),,,,0

,test2,,Afghanistan (AF),,,,0


but if I remove the blank lines in the csv, it loads correctly when I start the program:

org,name,full_name,country_code,state,twitter,main,color (0-7)
,test,,Brazil (BR),,,,0
,test2,,Afghanistan (AF),,,,0


And the crashes regarding the KeyError seems to be fixed by renaming the country_state to "BR" and "AF" in the previous example

org,name,full_name,country_code,state,twitter,main,color (0-7)
,test,,BR,,,,0
,test2,,AF,,,,0


I'm using the version v2.97 on Windows

4.0 suggestion: Lock asset download behind `base_files` download

As a user, the current UI for the asset downloader doesn't make it quite clear that someone has to download the base_files pack before being able to download other asset packs, and the base_files pack sometimes does not appear first in the list. The app should probably separate the base_files pack from the other packs, and lock the other asset packs from being downloaded until the base_files pack is

Modular layout

What if every screen element was a separate HTML?
The user could place them wherever they want in OBS.

Might be a great option, actually. No html/css editing! And simpler files for the user to not get too overwhelmed.

Find a way of updating without overwriting layout edits

If I release a new update, it will overwrite user edits on /layouts/.
One thing I could do is to rename the directory, but I need a better solution as I'm not renaming it for every new release.
Maybe check if the directory exists before update and rename it to /..._backup/?

Rethink player data management

From what I can think of, tournaments can be of the following types:

  • SmashGG, with tasks
    • tasks and score updated in real time; can get character selection and stage striking);
    • should get smashgg player data once and then let the user change everything (aside from character);
    • should not overwrite character skin unless player changes current character (then set it to 0);
  • SmashGG, without tasks (offline?);
    • score usually updated by TOs only in the end of the set; no need to be auto-updating;
    • should get smashgg player data once and then let the user change everything;
  • Others (offline?);
    • make use of local player data;

Maybe I can make it so SmashGG data is always saved into local_players.csv or create some kind of cache.csv so that if there's any problem with SmashGG or anything like that the user can always have up-to-date data.

Forbid closing a tab

I closed a tab by accident and I don't know how to re-open it ๐Ÿ˜ฌ
Maybe don't allow such thing if possible ?

The new .pyw is not running

Before update I used to run .exe and software ran normally.

Did the installrequirements.bat part, then

Tried clicking on the ".pyw" file to open but it won't run. I had to type in "cmd" on explorar bar and run it that way. But I need to keep command prompt open or if not it will close.

Create more layout samples, simplify edition

  • Create a global library file to clean up all the .js
  • Comment code
  • Create documentation for editing layouts
  • Check for errors such as undefined variables, etc
  • Idea: have the js search for specific classes and check if the element exists to add text into it. Example: jQuery search for ".p1-name" so user can put this anywhere in the html (or not) and it will just work. Do this for all exported variables, maybe in an automatic way using key names from json

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.