Implémentation basique notes avec les doigts

This commit is contained in:
Quentin Roussel
2023-05-04 13:45:21 +02:00
parent b709602be6
commit 6fcc0e6ac0
7 changed files with 101 additions and 15 deletions

View File

@@ -51,6 +51,7 @@ class Manager():
if(res != False):
self.state = 1
self.timeLastChange = time.time()
print("Change to state 1")
self.server.sendMessage({"type": "state", "state": 1})
#Envoie la position de la main a l'écran et passe a l'étape suivante si une main est detectée pendant assez longtemps
@@ -63,7 +64,26 @@ class Manager():
res = self.handDetector.loop()
if(res != False):
state, coords, size, finalDecision, progress = res
self.server.sendMessage({"type": "effects", "effects": [{"type": "loading", "x":coords[0], "y": coords[1], "width": size, "height": size, "progress": progress},{"type": state, "x":coords[0], "y": coords[1], "width": size, "height": size}]})
self.server.sendMessage({
"type": "effects",
"effects": [
{
"type": "loading",
"x":coords[0],
"y": coords[1],
"width": size,
"height": size,
"progress": progress
},
{
"type": state,
"x":coords[0],
"y": coords[1],
"width": size,
"height": size
}
]
})
self.isLastHandPacketEmpty = False
self.timeLastChange = time.time()
if(finalDecision != False):
@@ -75,25 +95,41 @@ class Manager():
self.isLastHandPacketEmpty = True
def grade(self):
#Premier passage dans la boucle
if(self.currentCriteria == None):
self.currentCriteria = 0
self.server.sendMessage({"type":"new_criteria","criteria":self.criteria_list[self.currentCriteria]})
self.server.sendMessage({
"type": "state",
"state": 2
})
self.server.sendMessage({
"type":"new_criteria",
"criteria":self.criteria_list[self.currentCriteria]
})
return
grade = self.fingerCountDetector.loop()
if(grade != None):
self.avis["notes_autres"][self.criteria_list[self.currentCriteria]] = grade
self.server.sendMessage({
"type":"criteria_grade",
"grade":grade
})
time.sleep(3)
self.currentCriteria+=1
if(self.currentCriteria < len(self.criteria_list)):
self.server.sendMessage({"type":"new_criteria","criteria":self.criteria_list[self.currentCriteria]})
self.server.sendMessage({
"type":"new_criteria",
"criteria":self.criteria_list[self.currentCriteria]
})
self.fingerCountDetector.reset()
else:
print("Change to state 3")
self.state = 3
self.server.sendMessage({"type": "state", "state": 3})
def audio(self):
time.sleep(3)
self.server.sendMessage({"type":"recording_started"})
with sr.Microphone() as source:
audio = self.recongizer.listen(source)