Documentation component by D.Glodt (c)2003 Appendix A: QVuMeter

QVuMeter Component

QVuMeter is a vu meter component.


QVuMeter Properties
Field Type R/W Défault





LightColor LONG R/W 0
Vu meter light color.
DarkColor LONG R/W 0
Vu meter dark color.
Max INTEGER R/W 100
Maximum value for vu meter
Min INTEGER R/W 0
Minimum value for vu meter
Thickness SHORT R/W 2
line thickness from vu meter in pixels
Interval SHORT R/W 1
Interval between line from vu meter in pixels
Value LONG R/W 0
Value from vu meter
Parent QFORM,QPANEL,QTABCONTROL W
Left INTEGER R/W 0
Top INTEGER R/W 0
Width INTEGER R/W
Height INTEGER R/W

QVuMeter Methods
Method Type Description Params





QVuMeter Events
Event Type Occurs when... Params





QVuMeter Example
$typecheck on
$optimize on
$include "Rapidq.inc"
$include "QFuncLib.inc"
$include "Object\QSkin.inc"
$include "Object\QSkinBtn.inc"
$include "Object\QTextBtn.inc"
$include "Object\QFlashLabel.inc"
$include "Object\QVuMeter.inc"
$include "Object\QVideo.inc"

$resource img as "skin3.bmp"
$resource play1 as "play1.bmp"
$resource play2 as "play2.bmp"
$resource stop1 as "stop1.bmp"
$resource stop2 as "stop2.bmp"
$resource pause1 as "pause1.bmp"
$resource pause2 as "pause2.bmp"
$resource back1 as "back1.bmp"
$resource back2 as "back2.bmp"
$resource fwd1 as "foreward1.bmp"
$resource fwd2 as "foreward2.bmp"
$resource power1 as "power1.bmp"
$resource power2 as "power2.bmp"

declare sub quit
declare sub volume
declare sub SetVolume
declare sub open
declare sub play
declare sub stop
declare sub foreward
declare sub backward
declare sub pause
Declare Sub ShowTime(Position as long,timePos aslong)

const color1=&h660000
const color2=&hff9900
const color3=&h88FF66
const RazClock="00:00"

Dim OpenDialog asQOpenDialog
OpenDialog.Filter="Fichier vidéo(tout type)|*.avi;*.mpg;*.mpeg;*.mov|Fichier avi|*.avi|Fichier MPEG|*.mpg;*.mpeg|Fichier MOV|*.mov|"
OpenDialog.Caption= "Selectionner une vidéo"

CREATE Form ASQSkin
  Center
  skin.bmpHandle=img
  skin.top=-1
  skin.left=-1
  caption="Player"
  OffsWidth=-5
  create display asqpanel
    top=20
    left=16
    width=311
    height=72
    bevelinner=0
    bevelouter=0
    color=&h994400
    create bar asqpanel
      top=50
      left=0
      width=display.width
      height=2
      bevelinner=0
      bevelouter=0
      color=color1
    end create
    create FlashPlay asQFlashlabel
      DarkColor=color1
      LightColor=color3
      left=5
      top=2
      caption="Play"
    end create
    create FlashStop asQFlashlabel
      DarkColor=color1
      LightColor=color3
      left=5
      top=16
      caption="Stop"
      state=true
    end create
    create FlashPause asQFlashlabel
      DarkColor=color1
      LightColor=color3
      left=5
      top=30
      caption="Pause"
    end create
    create FlashTime asQFlashlabel
      DarkColor=color1
      LightColor=color2
      left=150
      top=6
      font.size=24
      caption=RazClock
      State=true
    end create
    create vu asQVuMeter
      top=1
      left=290
      width=10
      height=45
      DarkColor=color1
      LightColor=color2
      value=50
    end create
    create btOpen asQTextBtn
      UpColor=color1
      DownColor=color2
      left=5
      top=55
      font.bold=true
      caption="Open"
      OnClick=open
    end create
    create btVol asQTextBtn
      UpColor=color1
      DownColor=color2
      left=265
      top=55
      font.bold=true
      caption="Volume"
      OnClick=Volume
    end create
  end create
  create btPlay asQskinBtn
    btUp.bmphandle=play1
    btDown.bmphandle=play2
    top=110
    left=12
    mode=1
    OnClick=play
  end create
  create btStop asQskinBtn
    btUp.bmphandle=stop1
    btDown.bmphandle=stop2
    top=110
    left=44
    OnClick=stop
  end create
  create btPause asQskinBtn
    btUp.bmphandle=pause1
    btDown.bmphandle=pause2
    top=110
    left=76
    mode=1
    OnClick=pause
  end create
  create btBack asQskinBtn
    btUp.bmphandle=back1
    btDown.bmphandle=back2
    top=110
    left=108
    OnClick=backward
  end create
  create btFwd asQskinBtn
    btUp.bmphandle=fwd1
    btDown.bmphandle=fwd2
    top=110
    left=140
    OnClick=foreward
  end create
  create btPower asQskinBtn
    btUp.bmphandle=power1
    btDown.bmphandle=power2
    top=110
    left=300
    OnClick=quit
  end create
END CREATE

CREATE Form2 ASQFORM
  Caption="Volume"
  Width=60
  Height=190
  Center
  borderStyle=bsToolWindow
  CREATE TbVol ASQTRACKBAR
    cursor=crHandPoint
    Orientation=tbVertical
    Frequency=5
    TickMarks=tmBoth
    TickStyle=tsAuto
    Left=5
    Top=5
    Max=0
    Min=-100
    Width=45
    Height=150
    position=-50
    OnChange=SetVolume
  END CREATE
END CREATE

CREATE video ASQVideo
  Parent=0
  volume=50
  OnChange=ShowTime
  timer.interval=200
  BorderStyle=bsSizeable
END CREATE

form.shapeform(img,&hffffff)
form.setdeskbar
Form.ShowModal

Sub quit
  video.close
  form2.close
  application.terminate
End Sub

Sub volume
  form2.show
End Sub

Sub SetVolume
  vu.value=Abs(TbVol.position)
  video.volume=Abs(TbVol.position)
End Sub

Sub open
  If OpenDialog.Execute Then
    video.close
    if video.open(OpenDialog.FileName)then
      btPlay.down=false
      FlashPlay.state=false
      FlashStop.state=true
      btPause.Down=false
      FlashPause.flash=false
      FlashTime.caption=RazClock
      video.caption=GetFileName(OpenDialog.FileName)
    else
      showmessage video.error
    end if
  end if
End Sub

Sub play
  if video.FileOpen=false then
    btPlay.Down=false
  else
    FlashPause.flash=false
    FlashStop.state=false
    FlashPlay.state=true
    btPause.Down=false
    video.play
  end if
End Sub

Sub stop
  video.stop
  btPlay.down=false
  FlashPlay.state=false
  FlashStop.state=true
  btPause.Down=false
  FlashPause.flash=false
  FlashTime.caption=RazClock
End Sub

Function GetMinutes(seconds aslong)asstring
  dim min asinteger
  dim sec asinteger
  dim sMin asstring
  dim sSec asstring

  min=seconds/60
  sec=seconds mod 60
  if min<10 then
    sMin="0"+str$(min)
  else
    sMin=str$(min)
  end if
  if sec<10 then
    sSec="0"+str$(sec)
  else
    sSec=str$(sec)
  end if
  result=sMin+":"+sSec
End Function

Sub ShowTime(Position aslong,timePos aslong)
  FlashTime.caption=GetMinutes(timePos)
  If Video.State=VD_STOP then
    btPlay.down=false
    FlashPlay.state=false
    FlashStop.state=true
  end if
End Sub

Sub pause
  if video.state=VD_PLAY then
    video.pause
    btPlay.down=false
    FlashPlay.state=false
    FlashPause.flash=true
  else
  if video.FileOpen=false then btPause.Down=false
  end if
End Sub

Sub foreward
  if (video.currentFrame+1)<video.lenght then
    video.currentFrame=video.currentFrame+1
    FlashTime.caption=str$(video.currentFrame)
  end if
End Sub

Sub backward
  if video.currentFrame>0 then
    video.currentFrame=video.currentFrame-1
    FlashTime.caption=str$(video.currentFrame)
  end if
End Sub
 
 
 
 

Hosted by uCoz