Skip to content

Commit d4517aa

Browse files
committed
going for v0.3.0
1 parent 26c5b13 commit d4517aa

1 file changed

Lines changed: 20 additions & 4 deletions

File tree

samples/melody/main.py

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)