@@ -171,6 +171,8 @@ def __init__(self):
171171 self .playToSpeaker = False
172172 self .restart = False
173173 self .adhocFreq = - 1
174+ self .lyricX = - 1
175+ self .lyricY = - 1
174176
175177 dd .recordLayerSetupCommands ()
176178
@@ -184,10 +186,10 @@ def __init__(self):
184186 self .playLayer = self .setupButton ("⏯" )
185187 self .restartLayer = self .setupButton ("⏮" )
186188 self .targetLayer = self .setupButton ("📢" )
187- self .lyricLayer = LayerLcd (dd , 20 , 2 )
189+ self .lyricLayer = LayerLcd (dd , 40 , 4 )
188190 self .lyricLayer .margin (2 )
189191 self .lyricLayer .border (1 , "blue" , "round" )
190- self .lyricLayer .writeCenteredLine ("hello" )
192+ self .lyricLayer .writeCenteredLine ("hello" , 1 )
191193
192194 if not HWPlayToneBlocked :
193195 self .targetLayer .disabled ()
@@ -203,13 +205,13 @@ def __init__(self):
203205 def run (self ):
204206 while True :
205207 i = 0
206- self .lyricLayer .clear ()
207208 while True :
208209 dd .timeslice ()
209210 if self .adhocFreq != - 1 :
210211 # key on DumbDisplay pressed ... play the note/tone of the key press
211212 if not self .play :
212- self .lyricLayer .writeCenteredLine (f"🎵 { self .adhocFreq } " )
213+ self .lyricLayer .clear ()
214+ self .lyricLayer .writeCenteredLine (f"🎵 { self .adhocFreq } " , 1 )
213215 PlayTone (self .adhocFreq , 200 , self .playToSpeaker )
214216 self .adhocFreq = - 1
215217 if self .restart :
@@ -218,6 +220,16 @@ def run(self):
218220 break
219221 if not self .play :
220222 continue
223+
224+ if self .lyricX != - 1 and self .lyricY != - 1 :
225+ lyeric1 = ""
226+ lyeric2 = ""
227+ lyerics1 = Lyrics [self .lyricY ]
228+ for l1 in lyerics1 :
229+ noteCount = int (l1 [0 :1 ])
230+ lyeric1 = lyeric1 + l1 [2 :] + " "
231+ self .lyricLayer .writeCenteredLine (lyeric1 , 1 )
232+ self .lyricLayer .writeCenteredLine (lyeric2 , 2 )
221233 noteName = Song [i ]
222234 if noteName == "Z" :
223235 # reached end of song => break out of loop
@@ -288,6 +300,8 @@ def feedbackHandler(self, layer, type, x, y):
288300 self .play = not self .play
289301 if self .play :
290302 self .playLayer .backgroundColor ("lightgreen" )
303+ self .lyricX = 0
304+ self .lyricY = 0
291305 else :
292306 self .playLayer .noBackgroundColor ()
293307 elif layer == self .targetLayer :
@@ -298,6 +312,8 @@ def feedbackHandler(self, layer, type, x, y):
298312 self .targetLayer .noBackgroundColor ()
299313 elif layer == self .restartLayer :
300314 self .restart = True
315+ self .lyricX = 0
316+ self .lyricY = 0
301317 else :
302318 octaveOffset = layer .octaveOffset
303319 noteIdx = layer .noteIdx
0 commit comments