Browse Source

Filter-Feedback repariert

master
Heiko Ommert 4 years ago
parent
commit
fbffb7b56a
2 changed files with 10 additions and 11 deletions
  1. 1
    5
      TinnitusAnalyse/SoundGenerator.py
  2. 9
    6
      TinnitusAnalyse/TinnitusAnalyse_GUI.py

+ 1
- 5
TinnitusAnalyse/SoundGenerator.py View File

@@ -299,13 +299,9 @@ class Sound:
if max_ges < abs(music_rechts[i]):
max_ges = abs(music_rechts[i])
if i % int(nframes/10) == 0: # glaub hier stand 10000 davor oder 50000
# fortschritt = i / nframes * 100
# self.filterfortschritt = 3, round(fortschritt, 1)
# print(" max: ", self.filterfortschritt[1], "%")

fortschritt += 10
self.filterfortschritt = 3, round(fortschritt, 1)
print(" max: ", self.filterfortschritt[1], "%")
fortschritt += 10
end_time = time.time()
print("Zeitaufwand Maxima-Suche: ", end_time - start_time)


+ 9
- 6
TinnitusAnalyse/TinnitusAnalyse_GUI.py View File

@@ -209,21 +209,25 @@ def unten_button_filtere_tinnitus_aus_musik():
# Filtern in extra thread, damit sich die GUI nicht aufhängt: (daemon beendet den Thread, wenn das Hauptprogramm beendet wird)
filter_thread = threading.Thread(target=sound.musik_filtern, daemon=True)
filter_thread.start()
time.sleep(1) # Zeit, damit man das Feedback lesen kann, bevor es gelöscht wird (siehe übernächste Zeile)

safe_percentage = 0
schritt = 0
while filter_thread.is_alive():
#feedback.lineCounter = 11 # "Workaround" um Zeilen überschreiben zu können
schritt_alt = schritt
schritt = sound.filterfortschritt[0]
if schritt > schritt_alt: # Prozentanzeige auf 0 zurücksetzen, wenn ein neuer Schritt beginnt
safe_percentage = 0
if schritt == 3 or schritt == 4: # Nur bei dem 3. und 4. Schritt wird der Fortschritt in Prozent angezeigt
fb = "Schritt " + str(schritt) + " von 4 (" + str(sound.filterfortschritt[1]) + "%)"
fb = "Schritt " + str(schritt) + " von 4 (" + str(safe_percentage) + "%)"
if sound.filterfortschritt[1] > safe_percentage:
feedback(fb)
safe_percentage = sound.filterfortschritt[1]
elif schritt < 3:
safe_percentage += 10
elif schritt < 3 and schritt > schritt_alt:
fb = "Schritt " + str(schritt) + " von 4"
feedback(fb)

root.update() # damit die GUI nicht eingefroren erscheint

if sound.filterfortschritt[0] == 5: #ist 5, wenn erfolgreich gefiltert wurde
print("-- filtern beendet --")
feedback("Filtervorgang erfolgreich abgeschlossen. \n"
@@ -237,7 +241,6 @@ def unten_button_filtere_tinnitus_aus_musik():
"gestellt ist. Sonst gehen wir davon aus, dass auf diesem Ohr kein Tinnitus vorliegt.", "red",
"white")


""" Initialisierungen """
tinnitus = Tinnitus() # siehe SoundGenerator.py
sound = Sound(tinnitus) # siehe SoundGenerator.py

Loading…
Cancel
Save