Seite 1 von 1

Musik-Keyboard grafisch darstellen

Verfasst: 26.03.2024 22:19
von Delle
Hallo,

ich hatte gerade die Idee für ein Projekt ein Musik-Keyboard grafisch darzustellen.

Code: Alles auswählen

For sound = 1 To 970 Step 10
  
  StringGadget(800+(sound/10), 30+sound, 545, 9, 50, "", #PB_String_ReadOnly|#PB_String_BorderLess)
  SetGadgetColor(800+(sound/10), #PB_Gadget_BackColor, $FFFFFF)
  
Next

StringGadget(800+98, 37, 545, 7, 25, "", #PB_String_ReadOnly|#PB_String_BorderLess)
SetGadgetColor(800+98, #PB_Gadget_BackColor, $000000)
Ergebnis:

Bild

Nun, ist natürlich in dieser Form kompletter Quatsch.

Das Keyboard soll 97 Tasten haben, weiß und schwarz insgesamt.

Ich rammel mit der obigen Version ja erstmal blind 97x weiße Tasten auf den Schirm, setze danach die schwarzen oben drauf.

Später sollen die Tasten auch hellgrau werden, wenn man z.B. sagt "markiere Taste 1 + 3 + 7" hellgrau.

Wie geht man da logisch vor? :roll:

Erst die 7 weißen Tasten zeichnen, KEINE fortlaufenden Nummern vergeben sondern eher sowas wie "1,3,5,6,8,10,12" das eben dann mal 8 für die Oktaven.

Danach dann die 5 schwarzen Tasten 2,4,7,9,11 und wieder 8-fach hintereinander drauf?

PS: Leider lassen sich ja nicht (mehr) normale Buttons einfärben, daher mein Workaround/Missbrauch mit dem Stringgadget .-) 2DDrawing wäre auch eine Möglichkeit und dann das Ergebnis in EINEN breiten Imagebutton. Aber mit obiger Methode ist es vielleicht sinnvoller, weil jede vorhandene Taste aka Stringgadget mit einer Nummer angesprochen/eingefärbt werden kann...

Re: Musik-Keyboard grafisch darstellen

Verfasst: 26.03.2024 23:06
von mk-soft
Eher ein CanvasGadget für alle Tasten. Überlappende Gadgets sind keine gute Idee. Wird nicht unterstützt.