From 7fed3e630e87f3734b43161595459463d3c04b0a Mon Sep 17 00:00:00 2001 From: seyffejn <55194230+seyffejn@users.noreply.github.com> Date: Fri, 26 Jun 2020 11:20:32 +0200 Subject: [PATCH] Savety update (Rauschen scales safer) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Ein paar restriktionen für die Rauschen scale widgets eingebaut (Untere, Obere Rauschgrenzen) so dass die digitale Bandpass Funktion hintendran keine Fehler mehr geben kann. Das sollte die GUI robuster machen. --- TinnitusAnalyse/.idea/workspace.xml | 155 +++++++++--------- TinnitusAnalyse/TinnitusAnalyse_GUI.py | 49 ++++-- .../__pycache__/SoundGenerator.cpython-35.pyc | Bin 4793 -> 4942 bytes 3 files changed, 109 insertions(+), 95 deletions(-) diff --git a/TinnitusAnalyse/.idea/workspace.xml b/TinnitusAnalyse/.idea/workspace.xml index 2b71126..b918042 100644 --- a/TinnitusAnalyse/.idea/workspace.xml +++ b/TinnitusAnalyse/.idea/workspace.xml @@ -2,10 +2,8 @@ - - + - @@ -259,13 +284,14 @@ + - + @@ -279,20 +305,20 @@ - + - - + + - + - + @@ -306,23 +332,7 @@ - - - - - - - - - - - - - - - - - + @@ -337,53 +347,9 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + @@ -391,10 +357,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + diff --git a/TinnitusAnalyse/TinnitusAnalyse_GUI.py b/TinnitusAnalyse/TinnitusAnalyse_GUI.py index 0c32b2d..49a7873 100644 --- a/TinnitusAnalyse/TinnitusAnalyse_GUI.py +++ b/TinnitusAnalyse/TinnitusAnalyse_GUI.py @@ -29,15 +29,23 @@ def links_scale_rauschen_lautstärke_change(self): def links_scale_untere_grenzfrequenz_change(self): + og = float(linksScaleObereGrenzfrequenz.get() * 1000) # kHz -> Hz ug = float(linksScaleUntereGrenzfrequenz.get() * 1000) # kHz -> Hz - tinnitus.linksRauschenUntereGrenzfrequenz = ug - sound.play() + if og <= ug: # wenn obere Grenzfreq. kleiner als untere Grenzfreq. ist -> macht keinen Sinn deswegen verbieten + linksScaleUntereGrenzfrequenz.set(linksScaleObereGrenzfrequenz.get() - 0.01) + else: + tinnitus.linksRauschenUntereGrenzfrequenz = ug + sound.play() def links_scale_obere_grenzfrequenz_change(self): og = float(linksScaleObereGrenzfrequenz.get()*1000) # kHz -> Hz - tinnitus.linksRauschenObereGrenzfrequenz = og - sound.play() + ug = float(linksScaleUntereGrenzfrequenz.get() * 1000) # kHz -> Hz + if og <= ug: # wenn obere Grenzfreq. kleiner als untere Grenzfreq. ist -> macht keinen Sinn deswegen verbieten + linksScaleObereGrenzfrequenz.set(linksScaleUntereGrenzfrequenz.get() + 0.01) + else: + tinnitus.linksRauschenObereGrenzfrequenz = og + sound.play() """----------Funktionen rechts----------""" @@ -62,15 +70,23 @@ def rechts_scale_rauschen_lautstärke_change(self): def rechts_scale_untere_grenzfrequenz_change(self): + og = float(rechtsScaleObereGrenzfrequenz.get() * 1000) # kHz -> Hz ug = float(rechtsScaleUntereGrenzfrequenz.get() * 1000) # kHz -> Hz - tinnitus.rechtsRauschenUntereGrenzfrequenz = ug - sound.play() + if ug >= og: # wenn obere Grenzfreq. kleiner als untere Grenzfreq. ist -> macht keinen Sinn deswegen verbieten + rechtsScaleUntereGrenzfrequenz.set(rechtsScaleObereGrenzfrequenz.get()-0.01) + else: + tinnitus.rechtsRauschenUntereGrenzfrequenz = ug + sound.play() def rechts_scale_obere_grenzfrequenz_change(self): og = float(rechtsScaleObereGrenzfrequenz.get()*1000) # kHz -> Hz - tinnitus.rechtsRauschenObereGrenzfrequenz = og - sound.play() + ug = float(rechtsScaleUntereGrenzfrequenz.get() * 1000) # kHz -> Hz + if og <= ug: # wenn obere Grenzfreq. kleiner als untere Grenzfreq. ist -> macht keinen Sinn deswegen verbieten + rechtsScaleObereGrenzfrequenz.set(rechtsScaleUntereGrenzfrequenz.get()+0.01) + else: + tinnitus.rechtsRauschenObereGrenzfrequenz = og + sound.play() """--------------Funktionen unten------------------""" @@ -133,7 +149,7 @@ def unten_button_stop_press(): sound.stop() -def feedback(text, fontcolor = "black", backgroundcolor = "lightsteelblue"): +def feedback(text, fontcolor="black", backgroundcolor="lightsteelblue"): """ This is a helper function. You can give it a string text and it will display it in the feedback frame (bottom right of the GUI) in the text widget. The parameter color is also a string and defines the font color. Same with background. Honestly this function is way too complicated, but Tkinter has no nicer/easier builtin way of doing the @@ -206,17 +222,17 @@ linksScaleRauschenLautstärke.grid(column=1, row=3, sticky=(W+E)) # Obere Grenzfrequenz linksLabelObereGrenzfrequenz = Label(linkerFrame, text="Obere Grenzfrequenz [kHz]", anchor="w") linksLabelObereGrenzfrequenz.grid(column=0, row=4, sticky=W) -linksScaleObereGrenzfrequenz = Scale(linkerFrame, from_=0, to=20, orient=HORIZONTAL, length=600, resolution=-1.0, +linksScaleObereGrenzfrequenz = Scale(linkerFrame, from_=0.02, to=20, orient=HORIZONTAL, length=600, resolution=-1.0, command=links_scale_obere_grenzfrequenz_change) linksScaleObereGrenzfrequenz.grid(column=1, row=4, sticky=(W+E)) - +linksScaleObereGrenzfrequenz.set(20.00) # Untere Grenzfrequenz linksLabelUntereGrenzfrequenz = Label(linkerFrame, text="Untere Grenzfrequenz [kHz]", anchor="w") linksLabelUntereGrenzfrequenz.grid(column=0, row=5, sticky=(W+E)) -linksScaleUntereGrenzfrequenz = Scale(linkerFrame, from_=0, to=20, orient=HORIZONTAL, length=600, resolution=-1.0, +linksScaleUntereGrenzfrequenz = Scale(linkerFrame, from_=0.01, to=20, orient=HORIZONTAL, length=600, resolution=-1.0, command=links_scale_untere_grenzfrequenz_change) linksScaleUntereGrenzfrequenz.grid(column=1, row=5, sticky=(W+E)) - +linksScaleUntereGrenzfrequenz.set(0.01) """----------------------------------------------RECHTER FRAME-------------------------------------------------------""" rechterFrame = LabelFrame(root, text="Rechtes Ohr", font="bold") rechterFrame.grid(column=1, row=0, sticky=(N+E+W+S)) @@ -256,16 +272,17 @@ rechtsScaleRauschenLautstärke.grid(column=1, row=3, sticky=(W+E)) # Obere Grenzfrequenz rechtsLabelObereGrenzfrequenz = Label(rechterFrame, text="Obere Grenzfrequenz [kHz]", anchor="w") rechtsLabelObereGrenzfrequenz.grid(column=0, row=4, sticky=W) -rechtsScaleObereGrenzfrequenz = Scale(rechterFrame, from_=0, to=20, orient=HORIZONTAL, length=600, resolution=-1.0, +rechtsScaleObereGrenzfrequenz = Scale(rechterFrame, from_=0.02, to=20, orient=HORIZONTAL, length=600, resolution=-1.0, command=rechts_scale_obere_grenzfrequenz_change) rechtsScaleObereGrenzfrequenz.grid(column=1, row=4, sticky=(W+E)) - +rechtsScaleObereGrenzfrequenz.set(20.00) # Untere Grenzfrequenz rechtsLabelUntereGrenzfrequenz = Label(rechterFrame, text="Untere Grenzfrequenz [kHz]", anchor="w") rechtsLabelUntereGrenzfrequenz.grid(column=0, row=5, sticky=(W+E)) -rechtsScaleUntereGrenzfrequenz = Scale(rechterFrame, from_=0, to=20, orient=HORIZONTAL, length=600, resolution=-1.0, +rechtsScaleUntereGrenzfrequenz = Scale(rechterFrame, from_=0.01, to=20, orient=HORIZONTAL, length=600, resolution=-1.0, command=rechts_scale_untere_grenzfrequenz_change) rechtsScaleUntereGrenzfrequenz.grid(column=1, row=5, sticky=(W+E)) +rechtsScaleUntereGrenzfrequenz.set(0.01) """------------------------------------------------ UNTERER LINKER FRAME---------------------------------------------""" untererFrame = LabelFrame(root, text="Generelles", border=10) diff --git a/TinnitusAnalyse/__pycache__/SoundGenerator.cpython-35.pyc b/TinnitusAnalyse/__pycache__/SoundGenerator.cpython-35.pyc index 3494734d48c12e9eab9cd9242a2654b658ac2fd7..5fdd109149bb34662b0c2c06b58c3423bb93afe1 100644 GIT binary patch delta 1212 zcmb7EJ#5oJ6n^K}PUFN)(x#NODj*6Kf&K*{DnSq+f}lucDH2kk1%q8kM4a|~fl?(Z zQpLi08w(>6VqrmIfr%A~H8VRxh>3;oxh=3TAo-r}efQpX@6UdB_|t?l?7Gg0mp_(o z9D3uNazssEblT}DB9hZAX7oqr`lgL-66*q1^aVl@`GU3t2_>jukdG%pTLyIn`6hLt zTGUODN>Ib34pf^~40h;3C2CmIiE-ZB)JReX?r;PM!ankoF*_?M+GH!|H;|4QGO@mX zo{4;fL-Z8a^zk*t>QafixB}iTseWo?$xo5WQO6?Rp#tJStQ`K@3%br`dDS*2e&jur!>B~P`Wj_2v6JI04zdssdOkCL z(^{4FQ1wh$2eJsXXN0RYvlRxBJj|A5#!OXj2DMBSsPOK6FAReRQLIH?bM;Z(SNG*n zn8nbF^qPV6R3MM(x0%v@TMqJ35*OTR-D&jf*dXfJk@66x{+gK`8G!{Ejxmt1g)N4} zzJx1sB4>;ly6i66GdPuH{mh*ZP5s857iIm^Jz$+cYy87vvP zXG~EyNy?>0KaW-?$rFVkVK+1v1CyeygwgGbZE`x7EziT#A=wl=)cIZB0nq&)+q3Mn z`|9uf^@r@}Cin;A^b0&xT!$f~wVlTv><}iDVH(~Ja+JreFqf$O$=oXLnD6};Px0S8 zdn#*B1lP^P9r(oNj9YjM-O5!DjmQ&dUoR0ojz_@{r0iMJ3-1MTlKXlRLVwQPUOCQM znnentl-e1mR$KX=^5khgnPX9b=!tcC8Sk3Ca!Cf^hOF{Q;kOv#9gp=oR>c1g!oUrh zMg2TKnl2hMg4dXl)$j91(r0ii&$2kDzvatfRF4mo#%BT4tgzi&eH=$AFUCN0w+_Hy K>p9&Txbh3d-0>v< delta 1056 zcma)5%}x_h6h3$U+L?BS(jQ7gFe(A8@>h(KD6&wLp9L;hkTgMPoS|ujQtsR;m^NKB z@dfVAH7{VIi9Uc^6SwmMu3Y&5dd?k%6^V=c_4GUUJLlf--1#>3Wzs3SuCw0w_2S3P z56%OJMe?cBNzDNOpC?$5U!9%4fnfsI6I|g(1Od=w&_&e1XE4y9$3W=dYcOEIC}BWP z17Si}QON9B&}Gm}C|OdWtfS-)Fp#g@g=`in zUXM)+L~sggjopYeEU_S-#}$OWuIxlPUBFy;cJLQ#p=tJO&I> zP{(;DK%}Rk>5_xp1o#&C@#sA8li=Gh(6wF?H{mqo`=QDPDsA9(HGGV5IB}2Ri*o;4 zEuWc7oX0np&og6vtd><5&w=l#AdeS{s~0fB1LB_%DAJDyWAq;KOZxIZFAOkCf43K} zsxx|Zoss1e!N@TKd*CpZw7n7VLH^FHUMunYII>6&&%($Gg&%MpnY`Aj2a(ol%lhzs z<1URlMPMV8ZS_j{62?{Q0H0J4Muun{1*ETuP8hLMz7}WKc+h&wACoqJ0R@UC32=q< zMuAx@XXNB;cFfLc^Q?qxTyAG?r5@6@M+7VKUADps@^iL4Q9+_=wmL`cGyaT{^j%lY P@MQxDjfiz=