' uses the mci-library to play a midi file (.mid)
' the mci-libary winmm.lib is in PellesC\lib\win
' needs BCX basic, download the free package from:
' http://www.rjpcomputing.com/programming/bcx/devsuite.html
$LIBRARY <winmm.lib>
' this generates WinMain() and sets the Classname
GUI "MIDI3"
CONST ID_Button1 = 101
DIM Form1 AS HWND
DIM Butt1 AS CONTROL
DIM MciCommand$
' required to create the form and it's components
SUB FORMLOAD
Form1 = BCX_FORM("Play a Midi ...",30,20,140,40 )
Butt1 = BCX_BUTTON("Play",Form1,ID_Button1,10,10,30,12)
DECLARE FUNCTION MCI_Execute LIB "winmm.dll" ALIAS "mciExecute" (A$)
Show(Form1)
END SUB
' code between BEGIN EVENTS/END EVENTS takes care of the event messages
BEGIN EVENTS
SELECT CASE CBMSG
CASE WM_CREATE
EXIT FUNCTION
CASE WM_COMMAND
IF CBCTL = ID_Button1 THEN
'
' this plays TheRose.mid or change to whatever you have ...
'
MciCommand$ = "play TheRose.mid"
MCI_Execute (MciCommand$)
EXIT FUNCTION
END IF
' clean up and exit properly
CASE WM_CLOSE
mciSendString ("close all",0,0,0)
DestroyWindow (Form1)
EXIT FUNCTION
END SELECT
END EVENTS