Skip to main content

Extra Life Donation Tracker (ELDonation Tracker) | Call for Features & Coders

djotaku Posted October 6, 2016

I’d announced this last year (http://community.extra-life.org/forums/topic/2755-donation-tracker-for-linux-streamers/), but realized that it should work just fine with Mac and Windows as it does with Linux.

A few days ago I got my first feature request on github:

https://github.com/djotaku/ELDonationTracker

(Aw! I’ve got big-boy project now!)

Planed for this year:

  • I’ll be closing out that issue by adding in Team support.
  • Fixing the formatting so that money has 2 decimal places instead of just one.
  • I’ll be switching to functional programming (vs the current script-like) to prepare for a GUI
  • I don’t know if I’ll get to a GUI this year, but I’m willing to merge code to do so. Why a GUI? I’d like to model it after @bfinleyui‘s utility where he has a main window that shows what’s in the text files so that you don’t need to open them all up to do a sanity check that it’s pulling the correct data. He also has a second window he can spawn that’s all black (for chroma key) that will update with a “DONATION Person’s name – AMOUNT” that can be used in OBS or XSplit to let people know there are donations as they come in.He also allows you to use a JPEG or PNG along with it a la SteamAlerts. If I make a GUI it’ll most likely be QTQuick for Linux as I have experience with that. I know both QT and GTK+ can also work on Windows, but if someone wanted to write a native WIndows client, that would work as well. It’d be nice if it worked with Python bindings so that the user doesn’t have to compile anything to use the GUI. I know I can do that in Linux. Not sure about Windows.

Anything else you’d like to see? Feel free to file issues. Able to code GUIs? Feel free to join the project!

djotaku Posted October 7, 2016

OK, finished all those goals and am now working on the GUI.

Nice thing about the fact that I converted to functions is that it can now be imported as a library if you want to focus on GUIs or incorporating it into some other Python code you’ve got going on.

djotaku Posted July 26, 2018

Will be updating to the new JSON API – hopefully soon

djotaku Posted July 26, 2018

OK, I’ve fixed it up to work with the new API! With @bfinleyui ending support on his Adobe Air app, I’ll be actively working on my Python API so that I can use it on Windows as well.

djotaku Posted August 3, 2018

Been using it successfully for the past week. So far it’s working well. I started work in a branch for a tkinter GUI:https://github.com/djotaku/ELDonationTracker/tree/tkinterGUI

For now I’m stuck on how to update the text. So I’ve moved to another approach where I create an HTML file. For the sanity check you can just load it into a browser and it’ll update every 30 seconds. For the Steamalerts functionality – you can add that webpage as a source in OBS and it’ll work OK. Once I get it working relatively well, I’ll add that into Github for others to test and potentially contribute to.

djotaku Posted December 3, 2018

I’ve updated the commandline interface to be Python3! Hurray! I’ve also implemented unit tests which ended up catching an error in one of my functions. Software testing, ftw! Now that I’m in Python3 I hope to be able to support emojis and non-ascii characters. This is in the main git branch: https://github.com/djotaku/ELDonationTracker

djotaku Posted January 4, 2019

I’ve just added a video on Youtube on how to use it!

djotaku Posted January 6, 2019

And now a video for how to use it on Windows:

djotaku Posted July 21, 2019

New version released! It’s all object-oriented now in preparation for finally getting a GUI working. At this time the important user-facing change is moving the user options out into another file rather than having them edit the main file. So, videos to go along with the new procedures!

 

djotaku Posted August 29, 2019

Finally got the GUI working. Here are videos for that!

Linux:

and Windows video coming a little later tonight.

djotaku Posted August 29, 2019

Here’s the Windows video:

Keegan Posted September 27, 2019

Hey Eric,

Loving this application! I was wondering if you have any plans for adding team info functionality soon. I would love to use this app this year for my team.

djotaku Posted September 27, 2019

  On 9/27/2019 at 7:31 AM, Keegan said:

Hey Eric,

Loving this application! I was wondering if you have any plans for adding team info functionality soon. I would love to use this app this year for my team.

Sure, I can get that into the next milestone.

In the past, I’ve captured the goal, sum of the donations, and top members. Looking at the current donor drive API (https://github.com/DonorDrive/PublicAPI/blob/master/docs/1.0/resources/teams.md ) I’m not sure if the top members is available anymore – I’m going to have to do some experimentation. Of the other fields available, the ones that make sense to me that someone might be interested in are the name and the team captain. Edit to add: it actually is there, just documented in a different part of the API.

What team data would you be interested in?

Keegan Posted September 27, 2019

  On 9/27/2019 at 4:01 PM, djotaku said:

Sure, I can get that into the next milestone.

In the past, I’ve captured the goal, sum of the donations, and top members. Looking at the current donor drive API (https://github.com/DonorDrive/PublicAPI/blob/master/docs/1.0/resources/teams.md ) I’m not sure if the top members is available anymore – I’m going to have to do some experimentation. Of the other fields available, the ones that make sense to me that someone might be interested in are the name and the team captain. Edit to add: it actually is there, just documented in a different part of the API.

What team data would you be interested in?

I was actually looking for total donations for the team, that way my group would be able to catch every donation even if it is not made to a specific member.

Keegan Posted September 28, 2019

  On 9/27/2019 at 4:01 PM, djotaku said:

Sure, I can get that into the next milestone.

In the past, I’ve captured the goal, sum of the donations, and top members. Looking at the current donor drive API (https://github.com/DonorDrive/PublicAPI/blob/master/docs/1.0/resources/teams.md ) I’m not sure if the top members is available anymore – I’m going to have to do some experimentation. Of the other fields available, the ones that make sense to me that someone might be interested in are the name and the team captain. Edit to add: it actually is there, just documented in a different part of the API.

What team data would you be interested in?

I actually managed to learn enough coding in python to make a simple tool to do exactly what I needed. If you still want to update this for other people in the community, feel free, but I am all set for this year.

Thanks for the help!

djotaku Posted September 28, 2019

  On 9/28/2019 at 1:57 PM, Keegan said:

I actually managed to learn enough coding in python to make a simple tool to do exactly what I needed. If you still want to update this for other people in the community, feel free, but I am all set for this year.

Thanks for the help!

No worries. I already started work on it, so feel free to come back and check on what I put together in case it meets your needs and allows it all to be in one program.

djotaku Posted September 30, 2019

Another release!

@Keegan it includes Team Data, so if you want, feel free to come back over to the software.

Here are the release notes:

  1. I move to semantic versioning which is recommended by Github and is also more Pythonic. So instead of going by date on the tags, we’re now on v.1.9.2. v2.0 – FYI – is going to be the first ready-to-go GUI version.
  2. Team data is now generated! This release includes:

– Team_captain.txt
– Team_goal.txt
– Team_numDonations.txt
– Team_Top5ParticipantsHorizontal.txt
– Team_Top5Participants.txt
– Team_TopParticipantNameAmnt.txt
– Team_totalRaised.txt

Thanks to Keegan over on the Extra Life community forums for asking for Team data. There’s more I hope to do with the Team data, but if there’s something specific you want, open a feature request issue.

The next release should be to include the Team info on the GUI!

From now until game day there might be a higher level than usual of releases, so keep checking back!

If you’re a GUI user:
pyinstaller created releases that will allow you to run this program even if you don’t have Python or the necessary libraries installed. If you grab the Linux install – you will need to grab participant.conf and Engineer.png from the Github repo and put it into the dist/gui folder. (Just growing pains on learning Github’s CI)

If you prefer to use the commandline utilities without the GUI, just download the source code.tar.gz (Linux) or source code.zip file (Windows). New for YOU this release:
Addition of requirements.txt so that you can do a pip3 install -r requirements.txt and it will grab any packages you need.

Please file any bug reports on either the GUI or the commandline!

Enjoy!

djotaku Posted October 1, 2019

A new release to get the Team info into the GUI! (https://github.com/djotaku/ELDonationTracker/releases/tag/v1.9.3) Now it’s probably going to be a bit until the next release so I can finalize the GUI stuff.

Release notes:

Another day, another release!

Team data will now appear on the GUI after your first run with the Team ID filled out in the settings. (And remember to hit ‘save’)

As a reminder, the team data is:

  • Team_captain.txt
  • Team_goal.txt
  • Team_numDonations.txt
  • Team_Top5ParticipantsHorizontal.txt
  • Team_Top5Participants.txt
  • Team_TopParticipantNameAmnt.txt
  • Team_totalRaised.txt

I’m hoping to make the next release the 2.0 release that gets the GUI out of beta.

From now until game day there might be a higher level than usual of releases, so keep checking back!

If you’re a GUI user:
pyinstaller created releases that will allow you to run this program even if you don’t have Python or the necessary libraries installed. If you grab the Linux install – you will need to grab participant.conf and Engineer.png from the Github repo and put it into the dist/gui folder. (Just growing pains on learning Github’s CI)

If you prefer to use the commandline utilities without the GUI, just download the source code.tar.gz (Linux) or source code.zip file (Windows). New for YOU this release:
Addition of requirements.txt so that you can do a pip3 install -r requirements.txt and it will grab any packages you need.

Please file any bug reports on either the GUI or the commandline!

Enjoy!

djotaku Posted October 10, 2019

It’s been a few releases since I last posted. I’m now at v2.2. https://github.com/djotaku/ELDonationTracker/releases/tag/v2.2 Because of all the new features I’ll be recording a new instructional video this weekend if all goes well.

Release notes:

ot exactly a superstitious person, but release 13 had an issue I immediately discovered upon release – it doesn’t handle anonymous donors well. So this fix handles that. Found it when testing against another user’s donors.

Note:
You can select a sound file to play when you get a donation. I’ve provided on called Donation.mp3 that you’ll find in the same directory as the files. You will need to manually add it via the settings because, unlike the image file, it needs to know exactly where it is on your computer.

I plan to record some new instructional videos soon.

If you’re a GUI user:
pyinstaller created releases that will allow you to run this program even if you don’t have Python or the necessary libraries installed.

If you prefer to use the commandline utilities without the GUI, just download the source code.tar.gz (Linux) or source code.zip file (Windows).

Please file any bug reports on either the GUI or the commandline!

Enjoy!

djotaku Posted October 12, 2019

video tutorial for using v2.2 on Windows is now live:

djotaku Posted October 13, 2019

video tutorial for release v2.2 on Linux is now live:

djotaku Posted November 9, 2019

If you’re following this topic to see when I have a new release – please switch over to following:

Rather than continue to hijack the thread where I was calling for features and coders, I’m starting this new thread for new releases. Of course, you can always subscribe to the releases on github.

Github page: https://github.com/djotaku/ELDonationTracker

What does this software do? Well, on either Windows or Linux (wherever you choose to game) you can run this program with a GUI or on the commandline to generate text files from the Extra Life data. You can then use these text files in OBS or XSplit to update as donations come in as you play.

Current releasev2.2.3 – https://github.com/djotaku/ELDonationTracker/releases/tag/v2.2.3  See below for v3.1!!!

I’m about to release v2.5, but it doesn’t add any extra functionality. It adds in unit tests for people who want to help with development and for me as I refactor the code for better maintenance.

If you have issues and need a bug fix, the best and fastest way to contact me is by making an issue on Github. (That’s basically a bug report, but you can also use it for a feature request) Second best would be in this thread.

I’ve got a bunch of instructions on the github page on how to use the software. But I’ll copy into here the current videos of how to use it:

djotaku Posted November 22, 2019

Current Release: v3.0

Release URL: https://github.com/djotaku/ELDonationTracker/releases/tag/v3.0

Release notes:

Lots and lots of changes – some user-facing and some in the background, running more efficiently. (Or more maintain-ably)

  • In the GUI start/stop should reload the config now – no more need to restart the GUI. So if you change something in the configuration after you’ve started running the script, just hit stop and start again.
  • I have added the ability to persist the settings. No longer do you have to re-enter your settings when you upgrade. It will save to the XDG-recommended location on Linux and the equivalent on Windows. Because of this, the config file has a version now (in case I add new fields). When you start the GUI with an outdated version it will ask if you want to start from scratch or update your configs by opening settings, double-checking what’s there and hitting save (or persist – depending on whether you want to persist your settings or just save within the folder you just extracted).
  • You now have the ability to change number of donations put into the text files. So if you want to display more than 5 donations on the screen (vertically or horizontally) you can now show any arbitrary number of donors and donations. See the settings button (or file) for that option.
  • I do have one “breaking” change for this release – some of the filenames have changed both to reflect the fact it no longer saves only 5 donations or donors and because I’ve realized that there is a difference in the API between donors and donations.

So enjoy all that!

With all those changes there’s bound to be a bug that slipped in there (I hope not, but …. I’m only human) so please file an issue if anything is not working correctly.

New tutorial videos:

djotaku Posted December 21, 2019

Current Release: v3.1

Release URL: https://github.com/djotaku/ELDonationTracker/releases/tag/v3.1

Release notes:

In the past I’ve handled Anonymous names and donations without messages. New wrinkle in things – donations where the amount is secret. This release fixes that.

Don’t forget to sign up for Extra Life to help sick and injured kids in hospitals around the US and Canada by playing games!