Advertisement
Namida_Kitsune

Professor Piano

Oct 17th, 2022
2,924
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Autohotkey 2.47 KB | Source Code | 0 0
  1. Delay=250
  2. Gui, Add, Text, , Setting Delay (Press PageUp Add Delay 50 and Press PageDown Sub Delay 50)
  3. Gui, Add, Edit, w480
  4. Gui, Add, UpDown, vSettingDelay Range-1-1000000,%Delay%
  5. Gui, Add, Text, , TIP: Delay 1000 equals 1 second.
  6. Gui, Add, Text, , Sheet music
  7. Gui, Add, Edit, w480 h280 vSheetMusic, %SheetMusicDefault%
  8. Gui, Add, Button, Default w80 gImportSheetMusic section, Import...
  9. Gui, Add, StatusBar, , Stopping... Press F6 Start
  10. Gui Show, w500 h450, Professor Piano - By Namida Kitsune
  11. Toggle:=0
  12. F6::
  13. {
  14.     if(Toggle == 0)
  15.     {
  16.         Toggle:=1
  17.         SoundBeep
  18.         SB_SetText("Running... Press Ctrl+F6 Stop")
  19.         Gui, Submit, Nohide
  20.         SheetMusic := StrReplace(SheetMusic, "`n")
  21.         SheetMusic := StrReplace(SheetMusic, "`r")
  22.         SheetMusic := StrReplace(SheetMusic, "/")
  23.         SheetMusic := StrReplace(SheetMusic, "|")
  24.         SheetMusic := StrReplace(SheetMusic,  "!", "{!}")
  25.         SheetMusic := StrReplace(SheetMusic,  "^", "{^}")
  26.     }
  27.  
  28.     if(Toggle == 1){
  29.         Array := StrSplit(SheetMusic, "]")
  30.         LastSheetMusic := Array.pop()
  31.         ArrayLastSheetMusic := StrSplit(LastSheetMusic, "")
  32.         LastSheetMusic := ""
  33.         for index, element in ArrayLastSheetMusic
  34.         {
  35.             LastSheetMusic = %LastSheetMusic% %element%
  36.         }
  37.         stats := 0
  38.         text := ""
  39.         for index, element in Array
  40.         {
  41.             Loop, Parse, element, % "["
  42.             {
  43.                 tempSheetMusic := A_LoopField
  44.                 if(stats == 0){
  45.                     stats := 1
  46.                     ArrayTempSheetMusic := StrSplit(tempSheetMusic, "")
  47.                     for indexArrayTempSheetMusic, elementArrayTempSheetMusic in ArrayTempSheetMusic
  48.                     {
  49.                         text = %text% %elementArrayTempSheetMusic%
  50.                     }
  51.                 }else{
  52.                     stats := 0
  53.                     text = %text% %tempSheetMusic%
  54.                 }
  55.             }
  56.         }
  57.         text = %text% %LastSheetMusic%
  58.         ArrayTwo := StrSplit(text, " ")
  59.         for index, element in ArrayTwo
  60.         {
  61.             if(Toggle == 1)
  62.             {
  63.                 Sleep %SettingDelay%
  64.                 SendInput % element
  65.             }
  66.         }
  67.         Toggle:=0
  68.         SoundBeep
  69.         SB_SetText("Stopping... Press F6 Start")
  70.     }
  71.     return
  72. }
  73. ^F6::
  74. {
  75.     Toggle:=0
  76.     SoundBeep
  77.     SB_SetText("Stopping... Press F6 Start")
  78.     return
  79. }
  80.  
  81. PgUp::
  82. {
  83.     Delay:=Delay+50
  84.     SoundBeep
  85.     GuiControl, , SettingDelay,%Delay%
  86.     Gui, Submit, Nohide
  87.     return
  88. }
  89. PgDn::
  90. {
  91.     Delay:=Delay-50
  92.     SoundBeep
  93.     GuiControl, , SettingDelay,%Delay%
  94.     Gui, Submit, Nohide
  95.     return
  96. }
  97.  
  98. ImportSheetMusic:
  99.     FileSelectFile, SelectedFileSheetMusic, 3, , Open, Text Documents (*.txt)
  100.     FileRead, FileSheetMusic, %SelectedFileSheetMusic%
  101.     GuiControl, , SheetMusic,%FileSheetMusic%
  102. return
  103. GuiEscape:
  104. GuiClose:
  105.     ExitApp
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement