Compare commits

...

3 Commits

Author SHA1 Message Date
Dominique Merle 863f7679ee docs: review the README
4 years ago
Dominique Merle aa5bfab61b fix: Tween is briefly not in the scene tree when we call refresh()
4 years ago
Dominique Merle 318a2a0934 fix: ResourceLoader can't cast to MajorityJudgmentPoll
4 years ago

@ -1,5 +1,5 @@
[![Join the Discord chat at https://discord.gg/rAAQG9S](https://img.shields.io/discord/705322981102190593.svg)](https://discord.gg/rAAQG9S)
[![Join the Discord chat at https://discord.gg/rAAQG9S](https://img.shields.io/discord/705322981102190593.svg)](https://discord.gg/rAAQG9S) \
[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)
@ -9,6 +9,15 @@ Organize a majority judgment poll in a few seconds _(as low as 0.5s, by hitting
[![A short demo of the application](https://img.youtube.com/vi/6JnTlUcu1nA/0.jpg)](https://www.youtube.com/watch?v=6JnTlUcu1nA)
## Just for streamers?
No.
The app can be exported for Android, and you can set up polls on your smartphone.
Any participant can vote by sending you SMSes with commands of the form: `A3 B5 C0`.
The app has to stay alive to keep receiving SMSes, for now (see Issue #8), so best keep it in focus for the duration of the poll.
## Overview
This is a distributable project made with Godot Game Engine, and there is no server-side to this application.
@ -16,12 +25,15 @@ All the data is held by the streamer, on their computer, whether they're using a
By design, the ballots are open, which may be unsuitable for politics, but it will allow us to enable delegation features, and we find that exciting!
Perhaps there is a way to close the ballots (using whispers, a Twitch js overlay or some other trick).
Perhaps there is a way to make the ballots more secret (using whispers, a Twitch js overlay or some other trick).
## Disclaimer
The project is in a **PRIVATE ALPHA** stage.
It works, but it needs further testing on different machines before it can be considered stable.
> Please consider becoming a tester, we need _YOU_!
We're looking for streamers willing to test it out and help us improve the software by making it crash in a number of interesting ways.
@ -48,7 +60,17 @@ Grades start at `0`, and their meaning is as follows:
5. EXCELLENT
This is an example of meaning for 6 grades.
We may support different gradings in the future.
We will support different gradings in the future.
> Valid Examples:
> - A2 B0 C5
> - A2B0C5
> - a4B1 c5
#### Grade capping
Grades are capped to the maximum grade, so `A1337` is understood as `A5`.
## Add a new provider
@ -60,15 +82,12 @@ We may support different gradings in the future.
## Missing Features
- Delegation (yay!)
- Use the Poll Title :p
- More providers (Youtube live, IRC, CSV file, etc.)
- Option to align with bottom (perhaps tricky, perhaps not)
- Option to change the background color
- Save/Load polls (only the GUI left to do)
- Delegation (#10 [work in progress](https://git.mieuxvoter.fr/MieuxVoter/majority-judgment-for-streamers/wiki/Delegations))
- More providers (Youtube live, Peertube live, IRC, CSV file, etc.)
- Save/Load polls (#2)
- Resilience to scale (Poll tallier may be vastly improved)
- Option to enable/disable logs
- Allow candidates to be added by the Chat
- Allow candidates to be added by the Chat (#11)
- …

@ -51,6 +51,8 @@ func compute_height():
func refresh(merit_profile:MajorityJudgmentCandidateMeritProfile):
if not $Tween.is_inside_tree():
yield($Tween, "tree_entered")
$Tween.remove_all()
var total_amount_of_judgments : int = merit_profile.count_judgments()

@ -100,7 +100,8 @@ func load_ongoing_poll():
var file := File.new()
if file.file_exists(ONGOING_POLL_FILEPATH):
print("Loading ongoing poll…")
var _ongoing_poll = ResourceLoader.load(ONGOING_POLL_FILEPATH, "MajorityJudgmentPoll")
# var _ongoing_poll = ResourceLoader.load(ONGOING_POLL_FILEPATH, "MajorityJudgmentPoll")
var _ongoing_poll = ResourceLoader.load(ONGOING_POLL_FILEPATH)
print("Ongoing poll loaded!")
start_poll(_ongoing_poll)
else:

Loading…
Cancel
Save