home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / mtc / mtc.frm (.txt) < prev    next >
Encoding:
Visual Basic Form  |  1995-05-07  |  19.2 KB  |  596 lines

  1. VERSION 2.00
  2. Begin Form MTCForm 
  3.    BackColor       =   &H00C0C0C0&
  4.    BorderStyle     =   3  'Fixed Double
  5.    Caption         =   "SMPTE : 25 Fr/s"
  6.    ClientHeight    =   2550
  7.    ClientLeft      =   3030
  8.    ClientTop       =   2775
  9.    ClientWidth     =   2985
  10.    ControlBox      =   0   'False
  11.    Height          =   3240
  12.    Icon            =   MTC.FRX:0000
  13.    KeyPreview      =   -1  'True
  14.    Left            =   2970
  15.    LinkTopic       =   "Form1"
  16.    MaxButton       =   0   'False
  17.    MinButton       =   0   'False
  18.    ScaleHeight     =   2550
  19.    ScaleWidth      =   2985
  20.    Top             =   2145
  21.    Width           =   3105
  22.    Begin Timer Timer1 
  23.       Interval        =   500
  24.       Left            =   870
  25.       Top             =   2610
  26.    End
  27.    Begin PictureBox Z 
  28.       BackColor       =   &H00C0C0C0&
  29.       ForeColor       =   &H00FF0000&
  30.       Height          =   2235
  31.       Index           =   1
  32.       Left            =   180
  33.       ScaleHeight     =   2205
  34.       ScaleWidth      =   2625
  35.       TabIndex        =   14
  36.       Top             =   180
  37.       Width           =   2655
  38.       Begin PictureBox Z 
  39.          BackColor       =   &H00C0C0C0&
  40.          ForeColor       =   &H00FF0000&
  41.          Height          =   195
  42.          Index           =   2
  43.          Left            =   2160
  44.          ScaleHeight     =   165
  45.          ScaleWidth      =   345
  46.          TabIndex        =   21
  47.          Top             =   60
  48.          Width           =   375
  49.       End
  50.       Begin PictureBox Z 
  51.          BackColor       =   &H00C0C0C0&
  52.          ForeColor       =   &H00FF0000&
  53.          Height          =   195
  54.          Index           =   0
  55.          Left            =   150
  56.          ScaleHeight     =   165
  57.          ScaleWidth      =   285
  58.          TabIndex        =   20
  59.          Top             =   90
  60.          Width           =   315
  61.       End
  62.       Begin PictureBox OutShow 
  63.          BackColor       =   &H00C0C0C0&
  64.          ForeColor       =   &H00FF0000&
  65.          Height          =   255
  66.          Left            =   2220
  67.          ScaleHeight     =   225
  68.          ScaleWidth      =   225
  69.          TabIndex        =   19
  70.          Top             =   270
  71.          Width           =   255
  72.       End
  73.       Begin PictureBox InShow 
  74.          BackColor       =   &H00C0C0C0&
  75.          ForeColor       =   &H00FF0000&
  76.          Height          =   255
  77.          Left            =   180
  78.          ScaleHeight     =   225
  79.          ScaleWidth      =   225
  80.          TabIndex        =   18
  81.          Top             =   270
  82.          Width           =   255
  83.       End
  84.       Begin PictureBox Z 
  85.          BackColor       =   &H00C0C0C0&
  86.          Height          =   525
  87.          Index           =   5
  88.          Left            =   570
  89.          ScaleHeight     =   495
  90.          ScaleWidth      =   1470
  91.          TabIndex        =   0
  92.          Top             =   240
  93.          Width           =   1500
  94.          Begin PictureBox Z 
  95.             BackColor       =   &H00C0C0C0&
  96.             Height          =   330
  97.             Index           =   4
  98.             Left            =   90
  99.             ScaleHeight     =   300
  100.             ScaleWidth      =   1305
  101.             TabIndex        =   1
  102.             Top             =   90
  103.             Width           =   1335
  104.             Begin Label ZZ 
  105.                Alignment       =   2  'Center
  106.                BackColor       =   &H00000000&
  107.                Caption         =   ":"
  108.                FontBold        =   -1  'True
  109.                FontItalic      =   0   'False
  110.                FontName        =   "MS Sans Serif"
  111.                FontSize        =   9.75
  112.                FontStrikethru  =   0   'False
  113.                FontUnderline   =   0   'False
  114.                ForeColor       =   &H0000FFFF&
  115.                Height          =   240
  116.                Index           =   2
  117.                Left            =   945
  118.                TabIndex        =   2
  119.                Top             =   30
  120.                Width           =   105
  121.             End
  122.             Begin Label ZZ 
  123.                Alignment       =   2  'Center
  124.                BackColor       =   &H00000000&
  125.                Caption         =   ":"
  126.                FontBold        =   -1  'True
  127.                FontItalic      =   0   'False
  128.                FontName        =   "MS Sans Serif"
  129.                FontSize        =   9.75
  130.                FontStrikethru  =   0   'False
  131.                FontUnderline   =   0   'False
  132.                ForeColor       =   &H0000FFFF&
  133.                Height          =   240
  134.                Index           =   1
  135.                Left            =   610
  136.                TabIndex        =   3
  137.                Top             =   30
  138.                Width           =   105
  139.             End
  140.             Begin Label ZZ 
  141.                Alignment       =   2  'Center
  142.                BackColor       =   &H00000000&
  143.                Caption         =   ":"
  144.                FontBold        =   -1  'True
  145.                FontItalic      =   0   'False
  146.                FontName        =   "MS Sans Serif"
  147.                FontSize        =   9.75
  148.                FontStrikethru  =   0   'False
  149.                FontUnderline   =   0   'False
  150.                ForeColor       =   &H0000FFFF&
  151.                Height          =   240
  152.                Index           =   0
  153.                Left            =   300
  154.                TabIndex        =   4
  155.                Top             =   30
  156.                Width           =   90
  157.             End
  158.             Begin Label txtFrames 
  159.                Alignment       =   1  'Right Justify
  160.                BackColor       =   &H00000000&
  161.                Caption         =   "00"
  162.                FontBold        =   -1  'True
  163.                FontItalic      =   0   'False
  164.                FontName        =   "MS Sans Serif"
  165.                FontSize        =   9.75
  166.                FontStrikethru  =   0   'False
  167.                FontUnderline   =   0   'False
  168.                ForeColor       =   &H0000FFFF&
  169.                Height          =   240
  170.                Left            =   1020
  171.                TabIndex        =   5
  172.                Top             =   30
  173.                Width           =   270
  174.             End
  175.             Begin Label txtSeconds 
  176.                Alignment       =   2  'Center
  177.                BackColor       =   &H00000000&
  178.                Caption         =   "00"
  179.                FontBold        =   -1  'True
  180.                FontItalic      =   0   'False
  181.                FontName        =   "MS Sans Serif"
  182.                FontSize        =   9.75
  183.                FontStrikethru  =   0   'False
  184.                FontUnderline   =   0   'False
  185.                ForeColor       =   &H0000FFFF&
  186.                Height          =   240
  187.                Left            =   720
  188.                TabIndex        =   6
  189.                Top             =   30
  190.                Width           =   225
  191.             End
  192.             Begin Label txtMinutes 
  193.                Alignment       =   2  'Center
  194.                BackColor       =   &H00000000&
  195.                Caption         =   "00"
  196.                FontBold        =   -1  'True
  197.                FontItalic      =   0   'False
  198.                FontName        =   "MS Sans Serif"
  199.                FontSize        =   9.75
  200.                FontStrikethru  =   0   'False
  201.                FontUnderline   =   0   'False
  202.                ForeColor       =   &H0000FFFF&
  203.                Height          =   240
  204.                Left            =   390
  205.                TabIndex        =   7
  206.                Top             =   30
  207.                Width           =   225
  208.             End
  209.             Begin Label txtHours 
  210.                Alignment       =   1  'Right Justify
  211.                BackColor       =   &H00000000&
  212.                Caption         =   "00"
  213.                FontBold        =   -1  'True
  214.                FontItalic      =   0   'False
  215.                FontName        =   "MS Sans Serif"
  216.                FontSize        =   9.75
  217.                FontStrikethru  =   0   'False
  218.                FontUnderline   =   0   'False
  219.                ForeColor       =   &H0000FFFF&
  220.                Height          =   240
  221.                Left            =   52
  222.                TabIndex        =   8
  223.                Top             =   30
  224.                Width           =   255
  225.             End
  226.          End
  227.       End
  228.       Begin PictureBox BotonsBox 
  229.          BackColor       =   &H00C0C0C0&
  230.          ForeColor       =   &H00FF0000&
  231.          Height          =   675
  232.          Left            =   210
  233.          ScaleHeight     =   645
  234.          ScaleWidth      =   2205
  235.          TabIndex        =   9
  236.          Top             =   1410
  237.          Width           =   2235
  238.          Begin PictureBox cmdRewind 
  239.             Height          =   495
  240.             Left            =   90
  241.             Picture         =   MTC.FRX:0302
  242.             ScaleHeight     =   465
  243.             ScaleWidth      =   465
  244.             TabIndex        =   10
  245.             Top             =   90
  246.             Width           =   495
  247.          End
  248.          Begin PictureBox cmdForward 
  249.             Height          =   495
  250.             Left            =   1620
  251.             Picture         =   MTC.FRX:0604
  252.             ScaleHeight     =   465
  253.             ScaleWidth      =   465
  254.             TabIndex        =   11
  255.             Top             =   90
  256.             Width           =   495
  257.          End
  258.          Begin PictureBox cmdPlay 
  259.             Height          =   495
  260.             Left            =   600
  261.             Picture         =   MTC.FRX:0906
  262.             ScaleHeight     =   465
  263.             ScaleWidth      =   465
  264.             TabIndex        =   12
  265.             Top             =   90
  266.             Width           =   495
  267.          End
  268.          Begin PictureBox cmdStop 
  269.             Height          =   495
  270.             Left            =   1110
  271.             Picture         =   MTC.FRX:0C08
  272.             ScaleHeight     =   465
  273.             ScaleWidth      =   465
  274.             TabIndex        =   13
  275.             Top             =   90
  276.             Width           =   495
  277.          End
  278.       End
  279.       Begin PictureBox Z 
  280.          BackColor       =   &H00C0C0C0&
  281.          ForeColor       =   &H00FF0000&
  282.          Height          =   405
  283.          Index           =   10
  284.          Left            =   210
  285.          ScaleHeight     =   375
  286.          ScaleWidth      =   2205
  287.          TabIndex        =   15
  288.          Top             =   870
  289.          Width           =   2235
  290.          Begin PictureBox optWrite 
  291.             ForeColor       =   &H00FF0000&
  292.             Height          =   210
  293.             Left            =   180
  294.             ScaleHeight     =   180
  295.             ScaleWidth      =   675
  296.             TabIndex        =   17
  297.             Top             =   100
  298.             Width           =   705
  299.          End
  300.          Begin PictureBox optRead 
  301.             ForeColor       =   &H00FF0000&
  302.             Height          =   195
  303.             Left            =   1170
  304.             ScaleHeight     =   165
  305.             ScaleWidth      =   705
  306.             TabIndex        =   16
  307.             TabStop         =   0   'False
  308.             Top             =   100
  309.             Width           =   735
  310.          End
  311.       End
  312.    End
  313.    Begin PictureBox MidiHook 
  314.       Height          =   480
  315.       Left            =   390
  316.       ScaleHeight     =   450
  317.       ScaleWidth      =   1170
  318.       TabIndex        =   22
  319.       Top             =   2610
  320.       Width           =   1200
  321.    End
  322.    Begin Menu mnuSetup 
  323.       Caption         =   "&Setup"
  324.       Begin Menu SetupMidi 
  325.          Caption         =   "&Midi Devices..."
  326.       End
  327.       Begin Menu SetupFrameMode 
  328.          Caption         =   "&Frame Mode..."
  329.       End
  330.    End
  331.    Begin Menu mnuOptions 
  332.       Caption         =   "&Options"
  333.       Begin Menu OptionsMidiThru 
  334.          Caption         =   "&Midi Thru"
  335.       End
  336.       Begin Menu OptionsOnlyMTC 
  337.          Caption         =   "&Only MTC"
  338.          Checked         =   -1  'True
  339.       End
  340.    End
  341.    Begin Menu mnuExit 
  342.       Caption         =   "&Exit"
  343.       Begin Menu ExitYes 
  344.          Caption         =   "&Yes"
  345.       End
  346.       Begin Menu ExitNo 
  347.          Caption         =   "&No"
  348.       End
  349.    End
  350. Option Explicit
  351. Sub cmdForward_MouseDown (Button As Integer, Shift As Integer, X As Single, Y As Single)
  352.     Dim p As Integer
  353.     flgDown = True
  354.     p = True
  355.     Do While flgDown = True
  356.         Select Case Shift
  357.             Case 0:
  358.                 fff = fff + 1
  359.                 disp_fff = disp_fff + 1
  360.             Case ALT_MASK:
  361.                 sss = sss + 1
  362.                 disp_sss = disp_sss + 1
  363.             Case CTRL_MASK:
  364.                 mmm = mmm + 1
  365.                 disp_mmm = disp_mmm + 1
  366.             Case SHIFT_MASK:
  367.                 hhh = hhh + 1
  368.                 disp_hhh = disp_hhh + 1
  369.         End Select
  370.         Display_Adjust
  371.         SMPTE_Adjust
  372.         DoEvents
  373.         If p = True Then  'Primer click
  374.             Wait (300)   'el que sigui (s'ha de graduar)
  375.             p = False
  376.         Else                   'aguanta
  377.             Wait (30)     'tamb
  378.  s'ha de graduar
  379.         End If
  380.         DoEvents            'per llegir MouseUp que fa flgDown=False
  381.     Loop
  382. End Sub
  383. Sub cmdForward_MouseUp (Button As Integer, Shift As Integer, X As Single, Y As Single)
  384.     flgDown = False
  385. End Sub
  386. Sub cmdPlay_Click ()
  387.     Dim st As String
  388.     Dim CurrentTime As Long, OldTime As Long
  389.     If disp_hhh >= 24 Or disp_mmm >= 60 Or disp_sss >= 60 Or disp_fff >= Frame_Mode Then
  390.         Dlg_Alert "SMPTE incorrect!"
  391.         Exit Sub
  392.     End If
  393.     MTC_Write
  394. End Sub
  395. Sub cmdRewind_MouseDown (Button As Integer, Shift As Integer, X As Single, Y As Single)
  396.     Dim p As Integer
  397.     flgDown = True
  398.     p = True
  399.     Do While flgDown = True
  400.         Select Case Shift
  401.             Case 0:
  402.                 fff = fff - 1
  403.                 disp_fff = disp_fff - 1
  404.             Case ALT_MASK:
  405.                 sss = sss - 1
  406.                 disp_sss = disp_sss - 1
  407.             Case CTRL_MASK:
  408.                 mmm = mmm - 1
  409.                 disp_mmm = disp_mmm - 1
  410.             Case SHIFT_MASK:
  411.                 hhh = hhh - 1
  412.                 disp_hhh = disp_hhh - 1
  413.         End Select
  414.         Display_Adjust
  415.         SMPTE_Adjust
  416.         DoEvents
  417.         If p = True Then  'Primer click
  418.             Wait (300)   'el que sigui (s'ha de graduar)
  419.             p = False
  420.         Else                   'aguanta
  421.             Wait (30)     'tamb
  422.  s'ha de graduar
  423.         End If
  424.         DoEvents            'per llegir MouseUp que fa flgDown=False
  425.     Loop
  426. End Sub
  427. Sub cmdRewind_MouseUp (Button As Integer, Shift As Integer, X As Single, Y As Single)
  428.     flgDown = False
  429. End Sub
  430. Sub cmdStop_Click ()
  431.     flgStop = True
  432. End Sub
  433. Sub ExitYes_Click ()
  434.     MidiOut_Close
  435.     MidiIn_Close
  436.     If NumErrors <> 0 Then
  437.         Dlg_Alert CStr(NumErrors) & " MIDI Messages Lost!"
  438.     End If
  439.     End
  440. End Sub
  441. Sub Form_Activate ()
  442.     Dim msg As Long
  443.     Do
  444.         msg = MidiIn_Read()    'Empty InBuffer
  445.         DoEvents
  446.     Loop
  447. End Sub
  448. Sub Form_KeyDown (KeyCode As Integer, Shift As Integer)
  449.     Dim h As String, m As String, s As String, f As String
  450.     Dim i As Integer
  451.     If KeyCode = KEY_ESCAPE Then
  452.         txtHours = "00"
  453.         txtMinutes = "00"
  454.         txtSeconds = "00"
  455.         txtFrames = "00"
  456.     ElseIf IsNumber(KeyCode) = True Then
  457.         h = txtHours.Caption
  458.         m = txtMinutes.Caption
  459.         s = txtSeconds.Caption
  460.         f = txtFrames.Caption
  461.         Mid$(h, 1, 1) = Mid$(h, 2, 1)'00 00 00 00
  462.         Mid$(h, 2, 1) = Mid$(m, 1, 1)
  463.         Mid$(m, 1, 1) = Mid$(m, 2, 1)
  464.         Mid$(m, 2, 1) = Mid$(s, 1, 1)
  465.         Mid$(s, 1, 1) = Mid$(s, 2, 1)
  466.         Mid$(s, 2, 1) = Mid$(f, 1, 1)
  467.         Mid$(f, 1, 1) = Mid$(f, 2, 1)
  468.         Mid$(f, 2, 1) = CStr(KeyToNumber(KeyCode))
  469.         
  470.         txtHours.Caption = h
  471.         disp_hhh = Val(h)
  472.         txtMinutes.Caption = m
  473.         disp_mmm = Val(m)
  474.         txtSeconds.Caption = s
  475.         disp_sss = Val(s)
  476.         txtFrames.Caption = f
  477.         disp_fff = Val(f)
  478.     End If
  479.     KeyCode = 0
  480. End Sub
  481. Sub Form_Load ()
  482.     Dim nDevices    As Integer
  483.     Dim i           As Integer
  484.     Dim InCaps      As MidiInCaps
  485.     Dim OutCaps     As MidiOutCaps
  486.     Move (Screen.Width - Width) / 2, (Screen.Height - Height) / 2
  487.     nDevices = midiInGetNumDevs()
  488.     If nDevices = 0 Then
  489.         Dlg_Alert "No Midi In Device!"
  490.     Else
  491.         For i = 0 To nDevices - 1
  492.             ret = midiInGetDevCaps(i, InCaps, Len(InCaps))
  493.             If ret <> 0 Then
  494.                 Alerta_MidiError (ret)
  495.                 Exit For
  496.             End If
  497.             MidiForm.InList.List(i) = InCaps.szPname
  498.         Next i
  499.     End If
  500.     nDevices = midiOutGetNumDevs()
  501.     If nDevices = 0 Then
  502.         Dlg_Alert "No Midi Out Device!"
  503.     Else
  504.         MidiForm.OutList.List(0) = "MS MIDI Mapper"   'Midi Mapper=possible MIDI OUT
  505.         For i = 0 To nDevices - 1
  506.             ret = midiOutGetDevCaps(i, OutCaps, Len(OutCaps))
  507.             If ret <> 0 Then
  508.                 Alerta_MidiError (ret)
  509.                 Exit For
  510.             End If
  511.             MidiForm.OutList.List(i + 1) = OutCaps.szPname
  512.         Next i
  513.     End If
  514.     Reset_BufferIn
  515.     hMidiIn = NO_HANDLE
  516.     hMidiOut = NO_HANDLE
  517.     TC_Type = 1
  518.     Frame_Mode = 25
  519.     Ms_per_QF = 10
  520.     QF_Counter = 0
  521.     MTC_Time = 0
  522.     NumErrors = 0
  523.     flgChangeIt = True
  524.     hhh = 0
  525.     mmm = 0
  526.     sss = 0
  527.     fff = 0
  528.     disp_hhh = 0
  529.     disp_mmm = 0
  530.     disp_sss = 0
  531.     disp_fff = 0
  532.     OutShow.Caption = ""
  533.     InShow.Caption = ""
  534.     MidiForm.Show 1
  535. End Sub
  536. Sub MidiHook_Message (msg As Integer, wParam As Integer, lParam As Long, action As Integer, result As Long)
  537.     If OptionsOnlyMTC.Checked = True Then
  538.         If (lParam And &HFF) <> &HF1 Then Exit Sub   'Accept only MTC messages
  539.     End If
  540.     If OptionsMidiThru.Checked = True Then
  541.         If hMidiOut <> NO_HANDLE Then
  542.             ret = midiOutShortMsg(hMidiOut, lParam)
  543.             OutShow.Caption = "u"
  544.         End If
  545.     End If
  546.     If BuffCounter = BUFFSIZE Then
  547.         NumErrors = NumErrors + 1&
  548.         Exit Sub
  549.     End If
  550.     While flgChangeIt = False
  551.         DoEvents
  552.     Wend
  553.     flgChangeIt = False
  554.     InBuffer(WriteIndex) = lParam
  555.     WriteIndex = WriteIndex + 1
  556.     If WriteIndex = BUFFSIZE Then WriteIndex = 0
  557.     BuffCounter = BuffCounter + 1
  558.     flgChangeIt = True
  559.     InShow.Caption = "u"
  560. End Sub
  561. Sub OptionsMidiThru_Click ()
  562.     OptionsMidiThru.Checked = Not OptionsMidiThru.Checked
  563. End Sub
  564. Sub OptionsOnlyMTC_Click ()
  565.     OptionsOnlyMTC.Checked = Not OptionsOnlyMTC.Checked
  566. End Sub
  567. Sub optRead_Click (Value As Integer)
  568.     If Value = True Then
  569.         BotonsBox.Visible = False
  570.         MTC_Read
  571.     Else
  572.         BotonsBox.Visible = True
  573.         flgReadStop = True
  574.     End If
  575. End Sub
  576. Sub optWrite_Click (Value As Integer)
  577.     If Value = True Then
  578.         BotonsBox.Visible = True
  579.         flgReadStop = True
  580.         Display_Adjust
  581.     Else
  582.         BotonsBox.Visible = False
  583.         flgReadStop = False
  584.     End If
  585. End Sub
  586. Sub SetupFrameMode_Click ()
  587.     FrameForm.Show 1
  588. End Sub
  589. Sub SetupMidi_Click ()
  590.     MidiForm.Show 1
  591. End Sub
  592. Sub Timer1_Timer ()
  593.     OutShow.Caption = ""
  594.     InShow.Caption = ""
  595. End Sub
  596.