/* suprogram for "Notes.pprx" */ signal on halt signal on break_c signal on break_e signal on break_d call ppm_SetStyle(N) call ppm_SetMagMode(180) call ppm_UpdateScreen() noteneingabe: /* smallest notedistance */ sysart = "notesystem:2" systemart = ppm_Getform("Please repeat your choice of the notesystems... (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("Pleace give in the smallest note distance ...(nothing=Break!)", 3, xgrdform) if xgrd == '' then exit_msg("Break") 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 noteneingabe() end /* pointmessure of the notes */ notepkt = 26 call ppm_SetJustification(0) zz = 0 /* linecounter (german:Zeilenzähler) */ notex = 3 page = ppm_CurrentPage() pfad: do choose=ppm_Inform(2,"Please choose the notefile or break ...", "Break","File") if choose == 0 then exit_msg("Break!") eingabe = ppm_GetFileName("Pleace choose the notescriptfile ...", "Notes:") res = OPEN(notenfile, eingabe, 'R') if res == 0 then do call ppm_inform(1,"There was an error, or the file doesn't exists!!!","OK") pfad() end call ppm_ShowStatus("OK, I'm working ...") auslesen(notenfile) end /* x-distance of the notes */ auslesen: do parse arg file noten = READCH(file, 4000) i=1 do forever nw = word(noten, i) nn = word(noten, i+1) al = word(noten, i+2) if nw == 'P' then nw = 'p' if nw == 'D' then nw = 'd' if nw == 'C' then nw = 'c' if nw == 'L' then nw = 'l' if nn == 'L' then nn = 'l' N if nw == 'J' then nw = 'j' if nw == 'END' then nw = 'end' select when al == (X2C(4e0a)) then al = 'n' when al == (X2C(6e0a)) then al = 'n' when al == (X2C(300a)) then al = '0' otherwise exit_msg("There was an error!") end select when nn=='GB2' then nn = 'Gb2' when nn=='AB2' then nn = 'Ab2' when nn=='BB2' then nn = 'Bb2' when nn=='DB3' then nn = 'Db3' when nn=='EB3' then nn = 'Eb3' when nn=='GB3' then nn = 'Gb3' when nn=='AB3' then nn = 'Ab3' when nn=='BB3' then nn = 'Bb3' when nn=='DB4' then nn = 'Db4' when nn=='EB4' then nn = 'Eb4' when nn=='GB4' then nn = 'Gb4' when nn=='AB4' then nn = 'Ab4' when nn=='BB4' then nn = 'Bb4' when nn=='DB5' then nn = 'Db5' when nn=='EB5' then nn = 'Eb5' otherwise NOP end call auswahl() i=i+3 end end auswahl: do select when nw == 'j' then do zz = 0 /* linecounter */ notex = 3 return end when nw == 'end' then do call ppm_ClearStatus() exit_msg("Ready!") end 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=='e' then do xw = xg/8 nw='e' yv = 0 end when nw=='E' then do xw = xg/8 nw='E' yv = 0.47 end when nw=='q' then do xw = xg/4 nw='q' yv = 0 end when nw=='Q' 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=='w' then do xw = xg nw='w' yv = 0 end when nw=='W' then do xw = xg nw='W' yv = 0.47 end /* point after a note */ when nw == 'pt' 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 == 'l' then do xw = 0.2 notex = notex+xw end when nn == '0' then do end otherwise do call ppm_ClearStatus() exit_msg("There was an error") end end if notex >=18.7 then do notex = 2.5 zz = zz + zdist end return end when nw == 'PT' 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 == 'l' then do xw = 0.2 notex = notex+xw end when nn == '0' then do end otherwise do call ppm_ClearStatus() exit_msg("There was an error") end end if notex >=18.7 then do notex = 2.5 zz = zz + zdist end return end /* Barline */ when nw == 'l' then do call ppm_SetLineWeight(0.25) call ppm_DrawLine(notex, 2+zz, notex, 2.8+zz) notex = notex+0.2 return end /* Pausen */ when nw == 'p' then do pausenwert: x = notex select when nn== '0' then do end when nn== '1' then do y = 2.28+zz 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.32+zz 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 Pbox = ppm_CreateBox(x, y, 0.59, 0.86, 0) boxnm = ppm_DocNextBox(Pbox) call ppm_DeleteContents(boxnm) call ppm_ImportGraphic(boxnm, 'Genies:note_pause/quarterpause', pause) xw = xg/4 notex = notex+xw end when nn== '8' then do y = 2.21+zz Pbox = ppm_CreateBox(x, y, 0.27, 0.42, 0) boxnm = ppm_DocNextBox(Pbox) call ppm_DeleteContents(boxnm) call ppm_ImportGraphic(boxnm, 'Genies:note_pause/eighthpause', pause) xw = xg/8 notex = notex+xw end when nn== '16' then do y = 2.21+zz Pbox = ppm_CreateBox(x, y, 0.27, 0.42, 0) boxnm = ppm_DocNextBox(Pbox) call ppm_DeleteContents(boxnm) call ppm_ImportGraphic(boxnm, 'Genies:note_pause/sixteenthpause', pause) xw = xg/16 notex = notex+xw end otherwise do call ppm_ClearStatus() exit_msg("There was an error") end end if notex >=18.7 then do notex = 2.5 zz = zz + zdist end return end when nw == 'c' then do 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 == 'l' then do xw = 0.2 notex = notex+xw end when nn == '0' then do end otherwise do call ppm_ClearStatus() exit_msg("There was an error") end end if notex >=18.7 then do notex = 2.5 zz = zz + zdist end return end otherwise do call ppm_ClearStatus() exit_msg("There was an error!") end end /* y-Raster der Noten - Notenhälse nach oben (y-Position der Box) */ call ppm_SetLineWeight(0.25) select when nn=='f#5' then do yw = 0.645 box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 's') call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8) call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6) call ppm_DrawLine(notex, zz+1.4, (notex+0.4), zz+1.4) end when nn=='f5' then do yw = 0.645 if al == 'n' then call auflhoch() call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8) call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6) call ppm_DrawLine(notex, zz+1.4, (notex+0.4), zz+1.4) end when nn=='e5' then do yw = 0.745 if al == 'n' then call auflhoch() call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8) call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6) call ppm_DrawLine(notex, zz+1.4, (notex+0.4), zz+1.4) end when nn=='eb5' then do yw = 0.745 box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 'f') call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8) call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6) call ppm_DrawLine(notex, zz+1.4, (notex+0.4), zz+1.4) end when nn=='d#5' then do yw = 0.845 box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 's') call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8) call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6) end when nn=='d5' then do yw = 0.845 if al == 'n' then call auflhoch() call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8) call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6) end when nn=='db5' then do yw = 0.845 box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 'f') call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8) call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6) end when nn=='c#5' then do yw = 0.945 box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 's') call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8) call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6) end when nn=='c5' then do yw = 0.945 if al == 'n' 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=='b4' then do yw = 1.045 if al == 'n' then call auflhoch() call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8) end when nn=='bb4' then do yw = 1.045 call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8) end when nn=='a#4' then do yw = 1.145 box#id = ppm_CreateBox(notex-0.23, yw+zz+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=='a4' then do yw = 1.145 if al == 'n' then call auflhoch() call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8) end when nn=='ab4' then do yw = 1.145 box#id = ppm_CreateBox(notex-0.23, yw+zz+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=='g#4' then do yw = 1.245 box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 's') end when nn=='g4' then do yw = 1.245 if al == 'n' then call auflhoch() end when nn=='gb4' then do yw = 1.245 box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 'f') end when nn=='f#4' then do yw = 1.345 box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 's') end when nn=='f4' then do yw = 1.345 if al == 'n' then call auflhoch() end when nn=='e#4' then do yw = 1.445 box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 's') end when nn=='e4' then do yw = 1.445 if al == 'n' then call auflhoch() end when nn=='eb4' then do yw = 1.445 box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 'f') end when nn=='d#4' then do yw = 1.545 box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 's') end when nn=='d4' then do yw = 1.545 if al == 'n' then call auflhoch() end when nn=='db4' then do yw = 1.545 box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 'f') end when nn=='c#4' then do yw = 1.645 box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 's') end when nn=='c4' then do yw = 1.645 if al == 'n' then call auflhoch() end when nn=='b3' then do yw = 1.745 if al == 'n' then call auflhoch() end when nn=='bb3' then do yw = 1.745 box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 'f') end when nn=='a#3' then do yw = 1.845 box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 's') end when nn=='a3' then do yw = 1.845 if al == 'n' then call auflhoch() end when nn=='ab3' then do yw = 1.845 box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 'f') end when nn=='g#3' then do yw = 1.945 box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 's') end when nn=='g3' then do yw = 1.945 if al == 'n' then call auflhoch() end when nn=='gb3' then do yw = 1.945 box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 'f') end when nn=='f#3' then do yw = 2.045 box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 's') end when nn=='f3' then do yw = 2.045 if al == 'n' then call auflhoch() end when nn=='e#3' then do yw = 2.145 box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 's') end when nn=='e3' then do yw = 2.145 if al == 'n' then call auflhoch() end when nn=='eb3' then do yw = 2.145 box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 'f') end when nn=='d#3' then do yw = 2.245 box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 's') end when nn=='d3' then do yw = 2.245 if al == 'n' then call auflhoch() end when nn=='db3' then do yw = 2.245 box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 'f') end when nn=='c#3' then do yw = 2.345 box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 's') call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3) end when nn=='c3' then do yw = 2.345 if al == 'n' then call auflhoch() call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3) end when nn=='b2' then do yw = 2.445 if al == 'n' then call auflhoch() call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3) end when nn=='bb2' then do yw = 2.445 box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 'f') call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3) end when nn=='a#2' then do yw = 2.545 box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 's') call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3) call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2) end when nn=='a2' then do yw = 2.545 if al == 'n' then call auflhoch() call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3) call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2) end when nn=='ab2' then do yw = 2.545 box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 'f') call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3) call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2) end when nn=='g#2' then do yw = 2.645 box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 's') call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3) call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2) end when nn=='g2' then do yw = 2.645 if al == 'n' then call auflhoch() call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3) call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2) end when nn=='gb2' then do yw = 2.645 box#id = ppm_CreateBox(notex-0.23, yw+zz+0.21, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 'f') call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3) call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2) end when nn=='f#2' then do yw = 2.745 box#id = ppm_CreateBox(notex-0.23, yw+zz+0.32, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 's') call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3) call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2) call ppm_DrawLine(notex, zz+3.4, (notex+0.4), zz+3.4) end when nn=='f2' then do yw = 2.745 if al == 'n' then call auflhoch() call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3) call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2) call ppm_DrawLine(notex, zz+3.4, (notex+0.4), zz+3.4) end when nn=='e2' then do yw = 2.845 if al == 'n' then call auflhoch() call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3) call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2) call ppm_DrawLine(notex, zz+3.4, (notex+0.4), zz+3.4) end /* y-Raster der Noten - Notenhälse nach unten */ when nn=='F#5' then do yw = 1.12 box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 's') call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8) call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6) call ppm_DrawLine(notex, zz+1.4, (notex+0.4), zz+1.4) end when nn=='F5' then do yw = 1.12 if al == 'n' then call aufltief() call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8) call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6) call ppm_DrawLine(notex, zz+1.4, (notex+0.4), zz+1.4) end when nn=='E5' then do yw = 1.22 if al == 'n' then call aufltief() call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8) call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6) call ppm_DrawLine(notex, zz+1.4, (notex+0.4), zz+1.4) end when nn=='Eb5' then do yw = 1.22 box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 'f') call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8) call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6) call ppm_DrawLine(notex, zz+1.4, (notex+0.4), zz+1.4) end when nn=='D#5' then do yw = 1.32 box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 's') call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8) call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6) end when nn=='D5' then do yw = 1.32 if al == 'n' then call aufltief() call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8) call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6) end when nn=='Db5' then do yw = 1.32 box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 'f') call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8) call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6) end when nn=='C#5' then do yw = 1.42 call ppm_DrawLine(notex, zz+1.8, (notex+0.4), zz+1.8) call ppm_DrawLine(notex, zz+1.6, (notex+0.4), zz+1.6) end when nn=='C5' then do yw = 1.42 if al == 'n' 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=='B4' then do yw = 1.52 if al == 'n' then call aufltief() call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8) end when nn=='Bb4' then do yw = 1.52 box#id = ppm_CreateBox(notex-0.23, 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=='A#4' then do yw = 1.62 box#id = ppm_CreateBox(notex-0.23, 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=='A4' then do yw = 1.62 if al == 'n' then call aufltief() call ppm_DrawLine(notex, zz+zdist2+1.8, (notex+0.4), zz+zdist2+1.8) end when nn=='Ab4' then do yw = 1.62 box#id = ppm_CreateBox(notex-0.23, 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=='G#4' then do yw = 1.72 box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 's') end when nn=='G4' then do yw = 1.72 if al == 'n' then call aufltief() end when nn=='Gb4' then do yw = 1.72 box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 'f') end when nn=='F#4' then do yw = 1.82 box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 's') end when nn=='F4' then do yw = 1.82 if al == 'n' then call aufltief() end when nn=='E#4' then do yw = 1.92 box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 's') end when nn=='E4' then do yw = 1.92 if al == 'n' then call aufltief() end when nn=='Eb4' then do yw = 1.92 box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 'f') end when nn=='D#4' then do yw = 2.02 box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 's') end when nn=='D4' then do yw = 2.02 if al == 'n' then call aufltief() end when nn=='Db4' then do yw = 2.02 box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 'f') end when nn=='C#4' then do yw = 2.12 box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 's') end when nn=='C4' then do yw = 2.12 if al == 'n' then call aufltief() end when nn=='B3' then do yw = 2.22 if al == 'n' then call aufltief() end when nn=='Bb3' then do yw = 2.22 box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 'f') end when nn=='A#3' then do yw = 2.32 box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 's') end when nn=='A3' then do yw = 2.32 if al == 'n' then call aufltief() end when nn=='Ab3' then do yw = 2.32 box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 'f') end when nn=='G#3' then do yw = 2.42 box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 's') end when nn=='G3' then do yw = 2.42 if al == 'n' then call aufltief() end when nn=='Gb3' then do yw = 2.42 box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 'f') end when nn=='F#3' then do yw = 2.52 box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 's') end when nn=='F3' then do yw = 2.52 if al == 'n' then call aufltief() end when nn=='E#3' then do yw = 2.62 box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 's') end when nn=='E3' then do yw = 2.62 if al == 'n' then call aufltief() end when nn=='Eb3' then do yw = 2.62 box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 'f') end when nn=='D#3' then do yw = 2.72 box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 's') end when nn=='D3' then do yw = 2.72 if al == 'n' then call aufltief() end when nn=='Db3' then do yw = 2.72 box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 'f') end when nn=='C#3' then do yw = 2.82 box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 's') call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3) end when nn=='C3' then do yw = 2.82 if al == 'n' then call aufltief() call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3) end when nn=='B2' then do yw = 2.92 if al == 'n' then call aufltief() call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3) end when nn=='Bb2' then do yw = 2.92 box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 'f') call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3) end when nn=='A#2' then do yw = 3.02 box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 's') call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3) call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2) end when nn=='A2' then do yw = 3.02 if al == 'n' then call aufltief() call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3) call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2) end when nn=='Ab2' then do yw = 3.02 box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 'f') call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3) call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2) end when nn=='G#2' then do yw = 3.12 box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 's') call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3) call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2) end when nn=='G2' then do yw = 3.12 if al == 'n' then call aufltief() call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3) call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2) end when nn=='Gb2' then do yw = 3.12 box#id = ppm_CreateBox(notex-0.23, yw+zz-0.27, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 'f') call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3) call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2) end when nn=='F#2' then do yw = 3.22 box#id = ppm_CreateBox(notex-0.23, yw+zz-0.15, 0.35, 0.75, 0) call ppm_SetSize(20) call ppm_TextIntoBox(box#id, 's') call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3) call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2) call ppm_DrawLine(notex, zz+3.4, (notex+0.4), zz+3.4) end when nn=='F2' then do yw = 3.22 if al == 'n' then call aufltief() call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3) call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2) call ppm_DrawLine(notex, zz+3.4, (notex+0.4), zz+3.4) end when nn=='E2' then do yw = 3.32 if al == 'n' then call aufltief() call ppm_DrawLine(notex, zz+3, (notex+0.4), zz+3) call ppm_DrawLine(notex, zz+3.2, (notex+0.4), zz+3.2) call ppm_DrawLine(notex, zz+3.4, (notex+0.4), zz+3.4) end otherwise do call ppm_ClearStatus() exit_msg("There was an error!") end end /* dimension of a notebox */ 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 return 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:note_pause/naturalsng', 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:note_pause/naturalsng', 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