Predvajalnik datotek MIDI


to midifile
   windowcreate "root "okno [Predvajalnik datotek MIDI] 0 0 220 60 []
   groupboxcreate "okno "g1 5 3 208 20
   staticcreate "okno "s1 [Datoteka:] 10 11 30 10
   staticcreate "okno "s2 [] 45 11 160 10
   buttoncreate "okno "b1 [Izberi datoteko] 15 30 60 12 [izberi]
   buttoncreate "okno "b2 [Začni] 80 30 60 12 [startstop]
   buttoncreate "okno "b3 [Končaj] 145 30 60 12 [končaj]
   make "datoteka []
   make "igram "false
end

to izberi
   local "temp
   make "temp dialogfileopen "c:\\*.mid
   if not emptyp :temp [
      make "datoteka :temp
      staticupdate "s2 first :datoteka
   ]
end

to startstop
   ifelse :igram [
      midistop
      buttonupdate "b2 [Začni]
   ][
      if emptyp :datoteka [messagebox "Napaka [Najprej izberi datoteko!] stop]
      buttonupdate "b2 [Ustavi]
      zaigrajMIDI first :datoteka
   ]
end

to zaigrajMIDI :datoteka
   show mci (sentence [open] (word "sequencer! :datoteka) [alias music])
   make "igram "true
   midiplay
end

to midiplay
   if :igram [
      (mci [seek music to start])
      (mci [play music notify] [midiplay])
  ]
end

to midistop
   make "igram "false
   mci [stop music wait]
   mci [close music wait]
end

to končaj
   if :igram [midistop]
   windowdelete "okno
end