Documentation component by D.Glodt (c)2000-2002 | Appendix A: QMIDI |
|
Field | Type | R/W | Default |
|
|
|
|
Timer | QTIMER | RW | |
Control the fréquency of event OnChange. | |||
Lenght | LONG | R | |
Lenght of midi sequence. | |||
State | INTEGER | R | VD_CLOSE |
State of sequencer,can be MD_PLAY,MD_STOP,MD_PAUSE. | |||
FileOpen | BOOLEAN | R | False |
True if a midi file is open. | |||
CurrentFrame | LONG | RW | |
Position of midi sequence. | |||
Error | STRING | R | |
Text error if the OPEN méthod return FALSE | |||
Volume | INTEGER | RW | 0 |
Method | Type | Description | Params |
|
|
|
|
Close | SUB | Close the midi file | 0 |
Open | FUNCTION(FileName as string) | Open the midi file and return True if no error | 1 |
Play | SUB | Play the midi sequence | 0 |
Stop | SUB | Stop the midi sequence | 0 |
Pause | SUB | Set the player in mode pause | 0 |
Event | Type | Occurs when... | Params |
|
|
|
|
OnChange | (position as long) | Sequence position in mode play | 1 |
'************************************************************************** '* application:player midi * '* auteur:D.Glodt * '* date:7-4-2001 * '************************************************************************** $TYPECHECK ON $Include "Rapidq.inc" $include "Object\QMidi.inc" $RESOURCE PLAYBMP as "play.bmp" $RESOURCE STOPBMP as "Stop.bmp" $RESOURCE PAUSEBMP as "Pause.bmp" $RESOURCE MIDIICO as "midi.ico" Declare Sub Play Declare Sub Stop Declare Sub Pause Declare Sub Open Declare Sub Close Declare Sub Quitter Declare Sub TrackBarChange Declare Sub PostimerOnTimer(Position as long) Dim OpenDialog as QOpenDialog OpenDialog.Filter="Fichier midi|*.mid" OpenDialog.Caption= "Selectionner une séquence" Dim midi as QMidi midi.OnChange=PostimerOnTimer midi.timer.interval=200 CREATE Form AS QFORM Caption="Midi" Width=288 Height=110 Center BorderStyle=bsSingle icoHandle=MIDIICO OnClose=Quitter CREATE MENU AS QMAINMENU CREATE FileMenu AS QMENUITEM Caption="&Fichier" CREATE Item1 AS QMENUITEM Caption="&Ouvrir" OnClick=Open END CREATE CREATE Item2 AS QMENUITEM Caption="&Fermer" OnClick=Close END CREATE CREATE Item3 AS QMENUITEM Caption="-" END CREATE CREATE Item4 AS QMENUITEM Caption="&Quitter" OnClick=Quitter END CREATE END CREATE END CREATE CREATE Panel1 AS QPANEL Left=0 Top=0 Width=281 Height=60 BevelOuter=bvNone CREATE BtPlay AS QCOOLBTN BMPHandle=PLAYBMP Left=8 Top=6 Width=28 Height=28 Flat=true Hint="Play" ShowHint=true GroupIndex=1 OnClick=Play END CREATE CREATE BtStop AS QCOOLBTN BMPHandle=STOPBMP Left=46 Top=6 Width=28 Height=28 Down=true Flat=true Hint="Stop" ShowHint=true GroupIndex=1 OnClick=Stop END CREATE CREATE BtPause AS QCOOLBTN BMPHandle=PAUSEBMP Left=84 Top=6 Width=28 Height=28 Flat=true GroupIndex=1 Hint="Pause" ShowHint=true OnClick=Pause END CREATE CREATE TrackBar1 AS QTRACKBAR TickMarks=tmBoth TickStyle=tsNone Left=2 Top=36 LineSize=0 Width=272 Height=21 OnChange=TrackBarChange END CREATE END CREATE END CREATE Form.ShowModal Sub Open If OpenDialog.Execute Then midi.close if midi.open(OpenDialog.FileName) then TrackBar1.Max=midi.lenght TrackBar1.Position=0 end if end if End Sub Sub Close midi.close End Sub Sub Play midi.play End Sub Sub Stop midi.stop TrackBar1.Position=0 End Sub Sub Pause midi.pause End Sub Sub TrackBarChange midi.currentFrame=TrackBar1.Position End Sub Sub PostimerOnTimer(Position as long) TrackBar1.Position=Position If midi.state=MD_STOP then midi.stop TrackBar1.Position=0 BtStop.Down=True end if End Sub Sub Quitter midi.close form.close End Sub