/* Unterprogramm zu Noten.pprx */ signal on halt signal on break_c signal on break_e signal on break_d call ppm_SetStyle(N) noteneingabe: /* Kleinster Notenabstand */ sysart = "Notensystemart:2" systemart = ppm_Getform("Bitte noch einmal die gewählte Systemart eingeben. (2, 1v oder 1b)", 3, sysart) select when systemart == '2' then zdist = 4 when systemart == '1v' then zdist = 2 when systemart == '1b' then zdist = 2 otherwise noteneingabe() end zdist2 = zdist-2 xgrdform = "(1,2,4,8 oder 16)" xgrd = ppm_GetForm("Bitte für den kleinsten Notenwert eingeben ... (NICHTS=ABBRUCH)", 3, xgrdform) if xgrd == '' then exit_msg("Abbruch") select when xgrd == '1' then xg =0.7 when xgrd == '2' then xg =1.4 when xgrd == '4' then xg =2.8 when xgrd == '8' then xg =5.6 when xgrd == '16' then xg =11.2 otherwise notenwert() end /* Punktgröße der Noten */ notepkt = 26 call ppm_SetJustification(0) zz = 0 /* Zeilenzähler */ notex = 0 notey = 0 page = ppm_CurrentPage() clickpos: res = ppm_GetUserText(2, "Manuell oder an Box ausrichten ? m/b") if res == 'M' then res = 'm' if res == 'B' then res = 'b' select when res == 'm' then do clickpos = ppm_GetClickPosition("Bitte die Stelle anklicken wo ich beginnen soll...") if clickpos == 0 then do exit_msg("Falsche Eingabe !! ENDE !!") end else do notey = word(clickpos, 2) notex = word(clickpos, 1) if notex < 2.5 then notex = 2.5 xw = notex yw = notey if systemart ~= '2' then do if notey <= 3.3 then zz= 0 /* zz ist ZeilenZähler */ if ((notey > 3.5)&(notey < 5.3)) then zz = 2 if ((notey > 5.5)&(notey < 7.3)) then zz = 4 if ((notey > 7.5)&(notey < 9.3)) then zz = 6 if ((notey > 9.5)&(notey < 11.3)) then zz = 8 if ((notey > 11.5)&(notey < 13.3)) then zz = 10 if ((notey > 13.5)&(notey < 15.3)) then zz = 12 if ((notey > 15.5)&(notey < 17.3)) then zz = 14 if ((notey > 17.5)&(notey < 19.3)) then zz = 16 if ((notey > 19.5)&(notey < 21.3)) then zz = 18 if ((notey > 21.5)&(notey < 23.3)) then zz = 20 if ((notey > 23.5)&(notey < 25.3)) then zz = 22 if notey > 25.3 then noteneingabe() end else do if notey <= 3.3 then zz= 0 /* zz ist ZeilenZähler */ if ((notey > 3.5)&(notey < 5.3)) then zz = 4 if ((notey > 5.5)&(notey < 11.3)) then zz = 8 if ((notey > 11.5)&(notey < 15.3)) then zz = 12 if ((notey > 15.5)&(notey < 19.3)) then zz = 16 if ((notey > 19.5)&(notey < 23.3)) then zz = 20 if notey > 25.3 then noteneingabe() end end end when res == 'b' then do clickbox = ppm_ClickOnBox("Bitte eine Box anklicken, an der Stelle, wo es weitergeht ...") pos = ppm_GetBoxPosition(clickbox) notex = word(pos, 1) notey = word(pos, 2) xw = notex yw = notey call ppm_BoxAtPosn(notex, notey, page) if systemart ~= '2' then do if notey <= 3.3 then zz= 0 /* zz ist ZeilenZähler */ if ((notey > 3.5)&(notey < 5.3)) then zz = 2 if ((notey > 5.5)&(notey < 7.3)) then zz = 4 if ((notey > 7.5)&(notey < 9.3)) then zz = 6 if ((notey > 9.5)&(notey < 11.3)) then zz = 8 if ((notey > 11.5)&(notey < 13.3)) then zz = 10 if ((notey > 13.5)&(notey < 15.3)) then zz = 12 if ((notey > 15.5)&(notey < 17.3)) then zz = 14 if ((notey > 17.5)&(notey < 19.3)) then zz = 16 if ((notey > 19.5)&(notey < 21.3)) then zz = 18 if ((notey > 21.5)&(notey < 23.3)) then zz = 20 if ((notey > 23.5)&(notey < 25.3)) then zz = 22 if notey > 25.3 then noteneingabe() end else do if notey <= 3.3 then zz= 0 /* zz ist ZeilenZähler */ if ((notey > 3.5)&(notey < 5.3)) then zz = 4 if ((notey > 5.5)&(notey < 11.3)) then zz = 8 if ((notey > 11.5)&(notey < 15.3)) then zz = 12 if ((notey > 15.5)&(notey < 19.3)) then zz = 16 if ((notey > 19.5)&(notey < 23.3)) then zz = 20 if notey > 25.3 then noteneingabe() end if notex <= 1 then do noteneingabe() end end otherwise clickpos() end /* Zeigerbox */ zbid = ppm_CreateBox(notex, zz+zdist2+0.5, 0.3, 1, 0) call ppm_SetSize(26) zbn = ppm_GetBoxName(zbid) call ppm_TextIntoBox(zbn, '5') notenwert: do forever cr = '0a'x form = "Wert Name ['A'ufl.]" call ppm_SetBoxPosition(zbid, notex, zz+zdist2+0.5) call ppm_UpdateScreen() eingabe = ppm_GetForm("Bitte für die Noten eingeben ...(nichts=Abbruch)", 9, form) if eingabe == '' then do call ppm_DeleteBox(zbid) exit_msg() end nw = word(eingabe, 1) if nw == 'P' then nw = 'p' nn = word(eingabe, 2) al = word(eingabe, 3) if al == 'A' then al = 'a' IF nw == 'D' then nw = 'd' if nw == 'LEFT' then nw = 'left' if nw == 'L' then nw = 'l' if nw == 'T' then nw = 't' if nn == 'T' then nn = 't' if nw == "NEU" then nw = "neu" select when nn=='DB1' then nn = 'Db1' when nn=='EB1' then nn = 'Eb1' when nn=='GB1' then nn = 'Gb1' when nn=='AB1' then nn = 'Ab1' when nn=='DB2' then nn = 'Db2' when nn=='EB2' then nn = 'Eb2' when nn=='GB2' then nn = 'Gb2' when nn=='AB2' then nn = 'Ab2' when nn=='DB3' then nn = 'Db3' when nn=='EB3' then nn = 'Eb3' when nn=='GB3' then nn = 'Gb3' otherwise NOP end /* x-Abstände der Noten zueinander */ auswahl: select when nw == 's' then do xw = xg/16 nw='x' yv = 0 end when nw == 'S' then do xw = xg/16 nw='X' yv = 0.47 end when nw == 'a' then do xw = xg/8 nw='e' yv = 0 end when nw == 'A' then do xw = xg/8 nw='E' yv = 0.47 end when nw == 'v' then do xw = xg/4 nw='q' yv = 0 end when nw == 'V' then do xw = xg/4 nw='Q' yv = 0.47 end when nw == 'h' then do xw = xg/2 yv = 0 end when nw == 'H' then do xw = xg/2 yv = 0.47 end when nw == 'g' then do xw = xg nw='w' yv = 0 end when nw == 'G' then do xw = xg nw='W' yv = 0.47 end /* Sprung an den Anfang der Zeile */ when nw == 'left' then do call ppm_SetPagePosition(0, zz+zdist2+0.5) end /* Punkt nach der Note - muß als erstes eingegeben werden falls gewünscht den nötigen Freiraum mit "sp" eingeben */ when nw == 'pk' then do if notex < 3 then do notex = bakx zz = zz - zdist call ppm_SetSize(25) box#id = ppm_CreateBox(notex+0.4, yw+zz+0.26-yv, 0.3, 0.9, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 'd') end else do call ppm_SetSize(25) box#id = ppm_CreateBox(notex-xw+0.4, yw+zz+0.26-yv, 0.3, 0.9, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 'd') end select when nn == '1' then do xw = xg notex = notex+xw end when nn == '2' then do xw = xg/2 notex = notex+xw end when nn == '4' then do xw = xg/4 notex = notex+xw end when nn == '8' then do xw = xg/8 notex = notex+xw end when nn == '16' then do xw = xg/16 notex = notex+xw end when nn == 't' then do xw = 0.2 notex = notex+xw end otherwise notenwert() end if notex >=18.7 then do notex = 2.5 zz = zz + zdist end px = notex - 4 py = zz-1 if px < 0 then px = 0 call ppm_SetPagePosition(px, py+1.5) notenwert() end when nw == 'PK' then do if notex < 3 then do notex = bakx zz = zz - zdist call ppm_SetSize(25) box#id = ppm_CreateBox(notex+0.4, yw+zz+0.26-yv, 0.3, 0.9, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 'd') end else do call ppm_SetSize(25) box#id = ppm_CreateBox(notex-xw+0.4, yw+zz+0.26-yv, 0.3, 0.9, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 'd') end select when nn == '1' then do xw = xg notex = notex+xw end when nn == '2' then do xw = xg/2 notex = notex+xw end when nn == '4' then do xw = xg/4 notex = notex+xw end when nn == '8' then do xw = xg/8 notex = notex+xw end when nn == '16' then do xw = xg/16 notex = notex+xw end when nn == 't' then do xw = 0.2 notex = notex+xw end otherwise notenwert() end if notex >=18.7 then do notex = 2.5 zz = zz + zdist end px = notex - 4 py = zz-1 if px < 0 then px = 0 call ppm_SetPagePosition(px, py+1.5) notenwert() end /* Löschen */ when nw == 'd' then do oldpos = notex thisbox = ppm_BoxNum() if thisbox == zbid then do ppm_Inform(1, "Nichts mehr zu löschen!","OK") notenwert() end lpos= ppm_GetBoxPosition() notex = word(lpos, 1) call ppm_DeleteBox() diff = oldpos - notex if (diff < 0.3)&(diff > 0.1) then notex = notex + 0.23 py = zz - 1 px = notex - 4 if px < 0 then px = 0 call ppm_SetPagePosition(px, py+1.5) notenwert() end /* Taktstrich */ when nw == 't' then do call ppm_SetLineWeight(0.25) call ppm_DrawLine(notex, 2+zz+zdist2, notex, 2.8+zz+zdist2) notex = notex+0.2 end when nw == 'p' | when nw == 'P' then do pausenwert: /* wert = ppm_GetForm("1/1 1/2 1/4 1/8 1/16 ...?", 2, "1 , 2, 4, 8, 16") */ x = notex select when nn == '1' then do y = 2.29+zz+zdist2 call ppm_SetLineWeight(4) call ppm_DrawLine(x, y, x+0.4, y) call ppm_SetLineWeight(0.25) xw = xg notex = notex+xw end when nn == '2' then do y = 2.33+zz+zdist2 call ppm_SetLineWeight(4) call ppm_DrawLine(x, y, x+0.4, y) call ppm_SetLineWeight(0.25) xw = xg/2 notex = notex+xw end when nn == '4' then do y = 2.07+zz+zdist2 Pbox = ppm_CreateBox(x, y, 0.59, 0.86, 0) boxnm = ppm_DocNextBox(Pbox) call ppm_DeleteContents(boxnm) call ppm_ImportGraphic(boxnm, 'Genies:noten_pausen/viertelPause', pause) xw = xg/4 notex = notex+xw end when nn == '8' then do y = 2.21+zz+zdist2 Pbox = ppm_CreateBox(x, y, 0.27, 0.42, 0) boxnm = ppm_DocNextBox(Pbox) call ppm_DeleteContents(boxnm) call ppm_ImportGraphic(boxnm, 'Genies:noten_pausen/achtelPause', pause) xw = xg/8 notex = notex+xw end when nn == '16' then do y = 2.21+zz+zdist2 Pbox = ppm_CreateBox(x, y, 0.27, 0.42, 0) boxnm = ppm_DocNextBox(Pbox) call ppm_DeleteContents(boxnm) call ppm_ImportGraphic(boxnm, 'Genies:noten_pausen/sechzehntelPause', pause) xw = xg/16 notex = notex+xw end otherwise notenwert() end if notex >=18.7 then do notex = 2.5 zz = zz + zdist end px = notex - 4 py = zz-1 if px < 0 then px = 0 call ppm_SetPagePosition(px, py+1.5) notenwert() end /* Freiräume "space" */ when nw == 'l' then do /* wert = ppm_GetForm("1/1 1/2 1/4 1/8 1/16 ...?", 2, "1 , 2, 4, 8, 16") */ select when nn == '1' then do xw = xg notex = notex+xw end when nn == '2' then do xw = xg/2 notex = notex+xw end when nn == '4' then do xw = xg/4 notex = notex+xw end when nn == '8' then do xw = xg/8 notex = notex+xw end when nn == '16' then do xw = xg/16 notex = notex+xw end when nn == 't' then do xw = 0.2 notex = notex+xw end otherwise notenwert() end if notex >=18.7 then do notex = 2.5 zz = zz + zdist end px = notex - 4 py = zz-1 if px < 0 then px = 0 call ppm_SetPagePosition(px, py+1.5) notenwert() end when nw == 'neu' then do call ppm_DeleteBox(zbid) clickpos() end otherwise notenwert() end /* y-Raster der Noten - Notenhälse nach oben (y-Position der Box) */ call ppm_SetLineWeight(0.25) select when nn=='g#3' then do yw = 0.745 + zdist2 box#id = ppm_CreateBox(notex-0.22, yw+zz+zdist2+0.32, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 's') call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8) call ppm_DrawLine(notex, zz+zdist2+1.6, (notex+0.4), zz+zdist2+1.6) call ppm_DrawLine(notex, zz+zdist2+1.4, (notex+0.4), zz+zdist2+1.4) end when nn=='g3' then do yw = 0.745 + zdist2 if al == 'a' then call auflhoch() call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8) call ppm_DrawLine(notex, zz+zdist2+1.6, (notex+0.4), zz+zdist2+1.6) call ppm_DrawLine(notex, zz+zdist2+1.4, (notex+0.4), zz+zdist2+1.4) end when nn=='gb3' then do yw = 0.745 + zdist2 box#id = ppm_CreateBox(notex-0.22, yw+zz+zdist2+0.21, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 'f') call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8) call ppm_DrawLine(notex, zz+zdist2+1.6, (notex+0.4), zz+zdist2+1.6) call ppm_DrawLine(notex, zz+zdist2+1.4, (notex+0.4), zz+zdist2+1.4) end when nn=='f#3' then do yw = 0.845 + zdist2 box#id = ppm_CreateBox(notex-0.22, yw+zz+zdist2+0.32, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 's') call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8) call ppm_DrawLine(notex, zz+zdist2+1.6, (notex+0.4), zz+zdist2+1.6) end when nn=='f3' then do yw = 0.845 + zdist2 if al == 'a' then call auflhoch() call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8) call ppm_DrawLine(notex, zz+zdist2+1.6, (notex+0.4), zz+zdist2+1.6) end when nn=='e#3' then do yw = 0.945 + zdist2 box#id = ppm_CreateBox(notex-0.22, yw+zz+zdist2+0.32, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 's') call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8) call ppm_DrawLine(notex, zz+zdist2+1.6, (notex+0.4), zz+zdist2+1.6) end when nn=='e3' then do yw = 0.945 + zdist2 if al == 'a' then call auflhoch() call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8) call ppm_DrawLine(notex, zz+zdist2+1.6, (notex+0.4), zz+zdist2+1.6) end when nn=='eb3' then do yw = 0.945 + zdist2 box#id = ppm_CreateBox(notex-0.22, yw+zz+zdist2+0.21, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 'f') call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8) call ppm_DrawLine(notex, zz+zdist2+1.6, (notex+0.4), zz+zdist2+1.6) end when nn=='d#3' then do yw = 1.045 + zdist2 box#id = ppm_CreateBox(notex-0.22, yw+zz+zdist2+0.32, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 's') call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8) end when nn=='d3' then do yw = 1.045 + zdist2 if al == 'a' then call auflhoch() call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8) end when nn=='db3' then do yw = 1.045 + zdist2 box#id = ppm_CreateBox(notex-0.22, yw+zz+zdist2+0.21, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 'f') call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8) end when nn=='c#3' then do yw = 1.145 + zdist2 box#id = ppm_CreateBox(notex-0.22, yw+zz+zdist2+0.32, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 's') call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8) end when nn=='c3' then do yw = 1.145 + zdist2 if al == 'a' then call auflhoch() call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8) end when nn=='h2' then do yw = 1.245 + zdist2 if al == 'a' then call auflhoch() end when nn=='b2' then do yw = 1.245 + zdist2 box#id = ppm_CreateBox(notex-0.22, yw+zz+zdist2+0.21, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 'f') end when nn=='a#2' then do yw = 1.345 + zdist2 box#id = ppm_CreateBox(notex-0.22, yw+zz+zdist2+0.32, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 's') end when nn=='a2' then do yw = 1.345 + zdist2 if al == 'a' then call auflhoch() end when nn=='ab2' then do yw = 1.345 + zdist2 box#id = ppm_CreateBox(notex-0.22, yw+zz+zdist2+0.21, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 'f') end when nn=='g#2' then do yw = 1.445 + zdist2 box#id = ppm_CreateBox(notex-0.22, yw+zz+zdist2+0.32, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 's') end when nn=='g2' then do yw = 1.445 + zdist2 if al == 'a' then call auflhoch() end when nn=='gb2' then do yw = 1.445 + zdist2 box#id = ppm_CreateBox(notex-0.22, yw+zz+zdist2+0.21, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 'f') end when nn=='f#2' then do yw = 1.545 + zdist2 box#id = ppm_CreateBox(notex-0.22, yw+zz+zdist2+0.32, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 's') end when nn=='f2' then do yw = 1.545 + zdist2 if al == 'a' then call auflhoch() end when nn=='e#2' then do yw = 1.645 + zdist2 box#id = ppm_CreateBox(notex-0.22, yw+zz+zdist2+0.32, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 's') end when nn=='e2' then do yw = 1.645 + zdist2 if al == 'a' then call auflhoch() end when nn=='eb2' then do yw = 1.645 + zdist2 box#id = ppm_CreateBox(notex-0.22, yw+zz+zdist2+0.21, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 'f') end when nn=='d#2' then do yw = 1.745 + zdist2 box#id = ppm_CreateBox(notex-0.22, yw+zz+zdist2+0.32, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 's') end when nn=='d2' then do yw = 1.745 + zdist2 if al == 'a' then call auflhoch() end when nn=='db2' then do yw = 1.745 + zdist2 box#id = ppm_CreateBox(notex-0.22, yw+zz+zdist2+0.21, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 'f') end when nn=='c#2' then do yw = 1.845 + zdist2 box#id = ppm_CreateBox(notex-0.22, yw+zz+zdist2+0.32, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 's') end when nn=='c2' then do yw = 1.845 + zdist2 if al == 'a' then call auflhoch() end when nn=='h1' then do yw = 1.945 + zdist2 if al == 'a' then call auflhoch() end when nn=='b1' then do yw = 1.945 + zdist2 box#id = ppm_CreateBox(notex-0.22, yw+zz+zdist2+0.21, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 'f') end when nn=='a#1' then do yw = 2.045 + zdist2 box#id = ppm_CreateBox(notex-0.22, yw+zz+zdist2+0.32, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 's') end when nn=='a1' then do yw = 2.045 + zdist2 if al == 'a' then call auflhoch() end when nn=='ab1' then do yw = 2.045 + zdist2 box#id = ppm_CreateBox(notex-0.22, yw+zz+zdist2+0.21, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 'f') end when nn=='g#1' then do yw = 2.145 + zdist2 box#id = ppm_CreateBox(notex-0.22, yw+zz+zdist2+0.32, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 's') end when nn=='g1' then do yw = 2.145 + zdist2 if al == 'a' then call auflhoch() end when nn=='gb1' then do yw = 2.145 + zdist2 box#id = ppm_CreateBox(notex-0.22, yw+zz+zdist2+0.21, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 'f') end when nn=='f#1' then do yw = 2.245 + zdist2 box#id = ppm_CreateBox(notex-0.22, yw+zz+zdist2+0.32, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 's') end when nn=='f1' then do yw = 2.245 + zdist2 if al == 'a' then call auflhoch() end when nn=='e#1' then do yw = 2.345 + zdist2 box#id = ppm_CreateBox(notex-0.22, yw+zz+zdist2+0.32, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 's') call ppm_DrawLine(notex, zz+zdist2+3, (notex+0.4), zz+zdist2+3) end when nn=='e1' then do yw = 2.345 + zdist2 if al == 'a' then call auflhoch() call ppm_DrawLine(notex, zz+zdist2+3, (notex+0.4), zz+zdist2+3) end when nn=='eb1' then do yw = 2.345 + zdist2 box#id = ppm_CreateBox(notex-0.22, yw+zz+zdist2+0.21, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 'f') call ppm_DrawLine(notex, zz+zdist2+3, (notex+0.4), zz+zdist2+3) end when nn=='d#1' then do yw = 2.445 + zdist2 box#id = ppm_CreateBox(notex-0.22, yw+zz+zdist2+0.32, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 's') call ppm_DrawLine(notex, zz+zdist2+3, (notex+0.4), zz+zdist2+3) end when nn=='d1' then do yw = 2.445 + zdist2 if al == 'a' then call auflhoch() call ppm_DrawLine(notex, zz+zdist2+3, (notex+0.4), zz+zdist2+3) end when nn=='db1' then do yw = 2.445 + zdist2 box#id = ppm_CreateBox(notex-0.22, yw+zz+zdist2+0.21, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 'f') call ppm_DrawLine(notex, zz+zdist2+3, (notex+0.4), zz+zdist2+3) end when nn=='c#1' then do yw = 2.545 + zdist2 box#id = ppm_CreateBox(notex-0.22, yw+zz+zdist2+0.32, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 's') call ppm_DrawLine(notex, zz+zdist2+3, (notex+0.4), zz+zdist2+3) call ppm_DrawLine(notex, zz+zdist2+3.2, (notex+0.4), zz+zdist2+3.2) end when nn=='c1' then do yw = 2.545 + zdist2 if al == 'a' then call auflhoch() call ppm_DrawLine(notex, zz+zdist2+3, (notex+0.4), zz+zdist2+3) call ppm_DrawLine(notex, zz+zdist2+3.2, (notex+0.4), zz+zdist2+3.2) end /* y-Raster der Noten - Notenhälse nach unten */ when nn=='G#3' then do yw = 1.22 + zdist2 box#id = ppm_CreateBox(notex-0.24, yw+zz-0.15, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 's') call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8) call ppm_DrawLine(notex, zz+zdist2+1.6, (notex+0.4), zz+zdist2+1.6) call ppm_DrawLine(notex, zz+zdist2+1.4, (notex+0.4), zz+zdist2+1.4) end when nn=='G3' then do yw = 1.22 + zdist2 if al == 'a' then call aufltief() call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8) call ppm_DrawLine(notex, zz+zdist2+1.6, (notex+0.4), zz+zdist2+1.6) call ppm_DrawLine(notex, zz+zdist2+1.4, (notex+0.4), zz+zdist2+1.4) end when nn=='Gb3' then do yw = 1.22 + zdist2 box#id = ppm_CreateBox(notex-0.24, yw+zz-0.27, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 'f') call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8) call ppm_DrawLine(notex, zz+zdist2+1.6, (notex+0.4), zz+zdist2+1.6) call ppm_DrawLine(notex, zz+zdist2+1.4, (notex+0.4), zz+zdist2+1.4) end when nn=='F#3' then do yw = 1.32 + zdist2 box#id = ppm_CreateBox(notex-0.24, yw+zz-0.15, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 's') call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8) call ppm_DrawLine(notex, zz+zdist2+1.6, (notex+0.4), zz+zdist2+1.6) end when nn=='F3' then do yw = 1.32 + zdist2 if al == 'a' then call aufltief() call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8) call ppm_DrawLine(notex, zz+zdist2+1.6, (notex+0.4), zz+zdist2+1.6) end when nn=='E#3' then do yw = 1.42 + zdist2 box#id = ppm_CreateBox(notex-0.24, yw+zz-0.15, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 's') call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8) call ppm_DrawLine(notex, zz+zdist2+1.6, (notex+0.4), zz+zdist2+1.6) end when nn=='E3' then do yw = 1.42 + zdist2 if al == 'a' then call aufltief() call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8) call ppm_DrawLine(notex, zz+zdist2+1.6, (notex+0.4), zz+zdist2+1.6) end when nn=='Eb3' then do yw = 1.42 + zdist2 box#id = ppm_CreateBox(notex-0.24, yw+zz-0.27, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 'f') call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8) call ppm_DrawLine(notex, zz+zdist2+1.6, (notex+0.4), zz+zdist2+1.6) end when nn=='D#3' then do yw = 1.52 + zdist2 box#id = ppm_CreateBox(notex-0.24, yw+zz-0.15, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 's') call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8) end when nn=='D3' then do yw = 1.52 + zdist2 if al == 'a' then call aufltief() call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8) end when nn=='Db3' then do yw = 1.52 + zdist2 box#id = ppm_CreateBox(notex-0.24, yw+zz-0.27, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 'f') call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8) end when nn=='C#3' then do yw = 1.62 + zdist2 box#id = ppm_CreateBox(notex-0.24, yw+zz-0.15, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 's') call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8) end when nn=='C3' then do yw = 1.62 + zdist2 if al == 'a' then call aufltief() call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8) end when nn=='H2' then do yw = 1.72 + zdist2 if al == 'a' then call aufltief() end when nn=='B2' then do yw = 1.72 + zdist2 box#id = ppm_CreateBox(notex-0.24, yw+zz-0.27, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 'f') end when nn=='A#2' then do yw = 1.82 + zdist2 box#id = ppm_CreateBox(notex-0.24, yw+zz-0.15, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 's') end when nn=='A2' then do yw = 1.82 + zdist2 if al == 'a' then call aufltief() end when nn=='Ab2' then do yw = 1.82 + zdist2 box#id = ppm_CreateBox(notex-0.24, yw+zz-0.27, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 'f') end when nn=='G#2' then do yw = 1.92 + zdist2 box#id = ppm_CreateBox(notex-0.24, yw+zz-0.15, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 's') end when nn=='G2' then do yw = 1.92 + zdist2 if al == 'a' then call aufltief() end when nn=='Gb2' then do yw = 1.92 + zdist2 box#id = ppm_CreateBox(notex-0.24, yw+zz-0.27, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 'f') end when nn=='F#2' then do yw = 2.02 + zdist2 box#id = ppm_CreateBox(notex-0.24, yw+zz-0.15, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 's') end when nn=='F2' then do yw = 2.02 + zdist2 if al == 'a' then call aufltief() end when nn=='E#2' then do yw = 2.12 + zdist2 box#id = ppm_CreateBox(notex-0.24, yw+zz-0.15, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 's') end when nn=='E2' then do yw = 2.12 + zdist2 if al == 'a' then call aufltief() end when nn=='Eb2' then do yw = 2.12 + zdist2 box#id = ppm_CreateBox(notex-0.24, yw+zz-0.27, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 'f') end when nn=='D#2' then do yw = 2.22 + zdist2 box#id = ppm_CreateBox(notex-0.24, yw+zz-0.15, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 's') end when nn=='D2' then do yw = 2.22 + zdist2 if al == 'a' then call aufltief() end when nn=='Db2' then do yw = 2.22 + zdist2 box#id = ppm_CreateBox(notex-0.24, yw+zz-0.27, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 'f') end when nn=='C#2' then do yw = 2.32 + zdist2 box#id = ppm_CreateBox(notex-0.24, yw+zz-0.15, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 's') end when nn=='C2' then do yw = 2.32 + zdist2 if al == 'a' then call aufltief() end when nn=='H1' then yw = 2.42 + zdist2 when nn=='B1' then do yw = 2.42 + zdist2 box#id = ppm_CreateBox(notex-0.24, yw+zz-0.27, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 'f') end when nn=='A#1' then do yw = 2.52 + zdist2 box#id = ppm_CreateBox(notex-0.24, yw+zz-0.15, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 's') end when nn=='A1' then do yw = 2.52 + zdist2 if al == 'a' then call aufltief() end when nn=='Ab1' then do yw = 2.52 + zdist2 box#id = ppm_CreateBox(notex-0.24, yw+zz-0.27, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 'f') end when nn=='G#1' then do yw = 2.62 + zdist2 box#id = ppm_CreateBox(notex-0.24, yw+zz-0.15, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 's') end when nn=='G1' then do yw = 2.62 + zdist2 if al == 'a' then call aufltief() end when nn=='Gb1' then do yw = 2.62 + zdist2 box#id = ppm_CreateBox(notex-0.24, yw+zz-0.27, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 'f') end when nn=='F#1' then do yw = 2.72 + zdist2 box#id = ppm_CreateBox(notex-0.24, yw+zz-0.15, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 's') end when nn=='F1' then do yw = 2.72 + zdist2 if al == 'a' then call aufltief() end when nn=='E#1' then do yw = 2.82 + zdist2 box#id = ppm_CreateBox(notex-0.24, yw+zz-0.15, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 's') call ppm_DrawLine(notex, zz+zdist2+3, (notex+0.4), zz+zdist2+3) end when nn=='E1' then do yw = 2.82 + zdist2 if al == 'a' then call aufltief() call ppm_DrawLine(notex, zz+zdist2+3, (notex+0.4), zz+zdist2+3) end when nn=='Eb1' then do yw = 2.82 + zdist2 box#id = ppm_CreateBox(notex-0.24, yw+zz-0.27, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 'f') call ppm_DrawLine(notex, zz+zdist2+3, (notex+0.4), zz+zdist2+3) end when nn=='D#1' then do yw = 2.92 + zdist2 box#id = ppm_CreateBox(notex-0.24, yw+zz-0.15, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 's') call ppm_DrawLine(notex, zz+zdist2+3, (notex+0.4), zz+zdist2+3) end when nn=='D1' then do yw = 2.92 + zdist2 if al == 'a' then call aufltief() call ppm_DrawLine(notex, zz+zdist2+3, (notex+0.4), zz+zdist2+3) end when nn=='Db1' then do yw = 2.92 + zdist2 box#id = ppm_CreateBox(notex-0.24, yw+zz-0.27, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 'f') call ppm_DrawLine(notex, zz+zdist2+3, (notex+0.4), zz+zdist2+3) end when nn=='C#1' then do yw = 3.02 + zdist2 box#id = ppm_CreateBox(notex-0.24, yw+zz-0.15, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 's') call ppm_DrawLine(notex, zz+zdist2+3, (notex+0.4), zz+zdist2+3) call ppm_DrawLine(notex, zz+zdist2+3.2, (notex+0.4), zz+zdist2+3.2) end when nn=='C1' then do yw = 3.02 + zdist2 if al == 'a' then call aufltief() call ppm_DrawLine(notex, zz+zdist2+3, (notex+0.4), zz+zdist2+3) call ppm_DrawLine(notex, zz+zdist2+3.2, (notex+0.4), zz+zdist2+3.2) end otherwise notenwert() end /* größe einer Notenbox */ notewidht = 0.64 noteheight = 0.97 boxid = ppm_CreateBox(notex, yw+zz, notewidht, noteheight, 0) call ppm_SetSize(notepkt) call ppm_TextIntoBox(boxid, nw) bakx = notex notex = (notex + xw) if notex >=18.7 then do notex = 2.5 zz = zz + zdist end px = notex - 4 py = zz-1 if px < 0 then px = 0 call ppm_SetPagePosition(px, py+1.5) end end end exit auflhoch: do Pbox = ppm_CreateBox(notex-0.34, yw+zz+0.07, 0.6, 1.2, 0) boxnm = ppm_DocNextBox(Pbox) call ppm_DeleteContents(boxnm) call ppm_ImportGraphic(boxnm, 'Genies:noten_pausen/Auflsng', Zeichen) return end aufltief: do Pbox = ppm_CreateBox(notex-0.34, yw+zz-0.4, 0.6, 1.2, 0) boxnm = ppm_DocNextBox(Pbox) call ppm_DeleteContents(boxnm) call ppm_ImportGraphic(boxnm, 'Genies:noten_pausen/Auflsng', Zeichen) return end break_d: break_e: break_c: halt: call exit_msg("User aborted Genie!") exit_msg: procedure do parse arg message if message ~= '' then call ppm_Inform(1,message,) call ppm_ClearStatus() call ppm_AutoUpdate(1) exit end