home *** CD-ROM | disk | FTP | other *** search
/ Programming Tool Box / SIMS_2.iso / tool / sound / vb_mid / vb_seq.frm < prev    next >
Text File  |  1995-02-05  |  51KB  |  1,640 lines

  1. VERSION 2.00
  2. Begin Form frmVBSeq 
  3.    BackColor       =   &H00C0C0C0&
  4.    BorderStyle     =   3  'Fixed Double
  5.    Caption         =   "VB Sequencer"
  6.    ClientHeight    =   5160
  7.    ClientLeft      =   3735
  8.    ClientTop       =   2235
  9.    ClientWidth     =   3930
  10.    Height          =   5850
  11.    Icon            =   VB_SEQ.FRX:0000
  12.    KeyPreview      =   -1  'True
  13.    Left            =   3675
  14.    LinkTopic       =   "Form1"
  15.    MaxButton       =   0   'False
  16.    MinButton       =   0   'False
  17.    ScaleHeight     =   5160
  18.    ScaleWidth      =   3930
  19.    Top             =   1605
  20.    Width           =   4050
  21.    Begin CommonDialog dlgFileDialog 
  22.       Left            =   3270
  23.       Top             =   5490
  24.    End
  25.    Begin Timer tmrActualize 
  26.       Interval        =   111
  27.       Left            =   1740
  28.       Top             =   6120
  29.    End
  30.    Begin SSPanel Z 
  31.       BevelInner      =   1  'Inset
  32.       BevelOuter      =   0  'None
  33.       BevelWidth      =   2
  34.       BorderWidth     =   1
  35.       ForeColor       =   &H00FF0000&
  36.       Height          =   1455
  37.       Index           =   3
  38.       Left            =   90
  39.       TabIndex        =   33
  40.       Top             =   1350
  41.       Width           =   3765
  42.       Begin SSPanel Z 
  43.          BevelOuter      =   0  'None
  44.          Caption         =   "Program"
  45.          Font3D          =   3  'Inset w/light shading
  46.          ForeColor       =   &H00000000&
  47.          Height          =   195
  48.          Index           =   14
  49.          Left            =   2340
  50.          TabIndex        =   50
  51.          Top             =   720
  52.          Width           =   855
  53.       End
  54.       Begin SSCommand cmdProgDecr 
  55.          Font3D          =   3  'Inset w/light shading
  56.          ForeColor       =   &H00FF0000&
  57.          Height          =   405
  58.          Left            =   3030
  59.          Outline         =   0   'False
  60.          Picture         =   VB_SEQ.FRX:0302
  61.          TabIndex        =   49
  62.          Top             =   930
  63.          Width           =   345
  64.       End
  65.       Begin SSCommand cmdProgIncr 
  66.          Font3D          =   3  'Inset w/light shading
  67.          ForeColor       =   &H00FF0000&
  68.          Height          =   405
  69.          Left            =   2160
  70.          Outline         =   0   'False
  71.          Picture         =   VB_SEQ.FRX:0604
  72.          TabIndex        =   48
  73.          Top             =   930
  74.          Width           =   345
  75.       End
  76.       Begin SSCommand cmdChanIncr 
  77.          Font3D          =   3  'Inset w/light shading
  78.          ForeColor       =   &H00FF0000&
  79.          Height          =   405
  80.          Left            =   390
  81.          Outline         =   0   'False
  82.          Picture         =   VB_SEQ.FRX:0906
  83.          TabIndex        =   45
  84.          Top             =   930
  85.          Width           =   345
  86.       End
  87.       Begin SSCommand cmdChanDecr 
  88.          Font3D          =   3  'Inset w/light shading
  89.          ForeColor       =   &H00FF0000&
  90.          Height          =   405
  91.          Left            =   1260
  92.          Outline         =   0   'False
  93.          Picture         =   VB_SEQ.FRX:0C08
  94.          TabIndex        =   44
  95.          Top             =   930
  96.          Width           =   345
  97.       End
  98.       Begin SSPanel Z 
  99.          BevelOuter      =   0  'None
  100.          Caption         =   "Channel"
  101.          Font3D          =   3  'Inset w/light shading
  102.          ForeColor       =   &H00000000&
  103.          Height          =   195
  104.          Index           =   1
  105.          Left            =   630
  106.          TabIndex        =   43
  107.          Top             =   720
  108.          Width           =   765
  109.       End
  110.       Begin SSPanel pnlFileName 
  111.          BevelOuter      =   0  'None
  112.          BevelWidth      =   3
  113.          BorderWidth     =   0
  114.          Caption         =   "FILE : ?"
  115.          Font3D          =   2  'Raised w/heavy shading
  116.          FontBold        =   -1  'True
  117.          FontItalic      =   0   'False
  118.          FontName        =   "MS Sans Serif"
  119.          FontSize        =   9.75
  120.          FontStrikethru  =   0   'False
  121.          FontUnderline   =   0   'False
  122.          ForeColor       =   &H00000080&
  123.          Height          =   240
  124.          Left            =   270
  125.          TabIndex        =   38
  126.          Top             =   60
  127.          Width           =   3195
  128.       End
  129.       Begin SSPanel lblRecMesNum 
  130.          Alignment       =   1  'Left Justify - MIDDLE
  131.          BevelOuter      =   0  'None
  132.          BorderWidth     =   1
  133.          Caption         =   "0"
  134.          Font3D          =   3  'Inset w/light shading
  135.          ForeColor       =   &H00FF0000&
  136.          Height          =   195
  137.          Left            =   2430
  138.          TabIndex        =   36
  139.          Top             =   390
  140.          Width           =   825
  141.       End
  142.       Begin SSPanel lblRecMesText 
  143.          Alignment       =   4  'Right Justify - MIDDLE
  144.          BevelOuter      =   0  'None
  145.          BorderWidth     =   1
  146.          Caption         =   "MIDI Messages ="
  147.          Font3D          =   3  'Inset w/light shading
  148.          ForeColor       =   &H00FF0000&
  149.          Height          =   195
  150.          Left            =   810
  151.          TabIndex        =   37
  152.          Top             =   390
  153.          Width           =   1545
  154.       End
  155.       Begin Label lblProgram 
  156.          Alignment       =   2  'Center
  157.          BorderStyle     =   1  'Fixed Single
  158.          Caption         =   "0"
  159.          FontBold        =   -1  'True
  160.          FontItalic      =   0   'False
  161.          FontName        =   "MS Sans Serif"
  162.          FontSize        =   9.75
  163.          FontStrikethru  =   0   'False
  164.          FontUnderline   =   0   'False
  165.          Height          =   285
  166.          Left            =   2520
  167.          TabIndex        =   47
  168.          Top             =   990
  169.          Width           =   495
  170.       End
  171.       Begin Label lblChannel 
  172.          Alignment       =   2  'Center
  173.          BorderStyle     =   1  'Fixed Single
  174.          Caption         =   "1"
  175.          FontBold        =   -1  'True
  176.          FontItalic      =   0   'False
  177.          FontName        =   "MS Sans Serif"
  178.          FontSize        =   9.75
  179.          FontStrikethru  =   0   'False
  180.          FontUnderline   =   0   'False
  181.          Height          =   285
  182.          Left            =   750
  183.          TabIndex        =   46
  184.          Top             =   990
  185.          Width           =   495
  186.       End
  187.    End
  188.    Begin SSCommand cmdStopUp 
  189.       BevelWidth      =   0
  190.       Font3D          =   3  'Inset w/light shading
  191.       ForeColor       =   &H00000000&
  192.       Height          =   510
  193.       Left            =   120
  194.       Outline         =   0   'False
  195.       Picture         =   VB_SEQ.FRX:0F0A
  196.       TabIndex        =   20
  197.       TabStop         =   0   'False
  198.       Top             =   5460
  199.       Visible         =   0   'False
  200.       Width           =   510
  201.    End
  202.    Begin SSCommand cmdPlayUp 
  203.       BevelWidth      =   0
  204.       Font3D          =   3  'Inset w/light shading
  205.       ForeColor       =   &H00000000&
  206.       Height          =   510
  207.       Left            =   630
  208.       Outline         =   0   'False
  209.       Picture         =   VB_SEQ.FRX:120C
  210.       TabIndex        =   19
  211.       TabStop         =   0   'False
  212.       Top             =   5460
  213.       Visible         =   0   'False
  214.       Width           =   510
  215.    End
  216.    Begin SSCommand cmdRecUp 
  217.       BevelWidth      =   0
  218.       Font3D          =   3  'Inset w/light shading
  219.       ForeColor       =   &H00000000&
  220.       Height          =   510
  221.       Left            =   1140
  222.       Outline         =   0   'False
  223.       Picture         =   VB_SEQ.FRX:150E
  224.       TabIndex        =   18
  225.       TabStop         =   0   'False
  226.       Top             =   5460
  227.       Visible         =   0   'False
  228.       Width           =   510
  229.    End
  230.    Begin SSCommand cmdStopDn 
  231.       BevelWidth      =   0
  232.       Font3D          =   3  'Inset w/light shading
  233.       ForeColor       =   &H00000000&
  234.       Height          =   510
  235.       Left            =   1650
  236.       Outline         =   0   'False
  237.       Picture         =   VB_SEQ.FRX:1810
  238.       TabIndex        =   17
  239.       TabStop         =   0   'False
  240.       Top             =   5460
  241.       Visible         =   0   'False
  242.       Width           =   510
  243.    End
  244.    Begin SSCommand cmdPlayDn 
  245.       BevelWidth      =   0
  246.       Font3D          =   3  'Inset w/light shading
  247.       ForeColor       =   &H00000000&
  248.       Height          =   510
  249.       Left            =   2160
  250.       Outline         =   0   'False
  251.       Picture         =   VB_SEQ.FRX:1B12
  252.       TabIndex        =   16
  253.       TabStop         =   0   'False
  254.       Top             =   5460
  255.       Visible         =   0   'False
  256.       Width           =   510
  257.    End
  258.    Begin SSCommand cmdRecDn 
  259.       BevelWidth      =   0
  260.       Font3D          =   3  'Inset w/light shading
  261.       ForeColor       =   &H00000000&
  262.       Height          =   510
  263.       Left            =   2670
  264.       Outline         =   0   'False
  265.       Picture         =   VB_SEQ.FRX:1E14
  266.       TabIndex        =   15
  267.       TabStop         =   0   'False
  268.       Top             =   5460
  269.       Visible         =   0   'False
  270.       Width           =   495
  271.    End
  272.    Begin SSPanel Z 
  273.       Alignment       =   6  'Center - TOP
  274.       BevelInner      =   1  'Inset
  275.       BevelOuter      =   0  'None
  276.       BevelWidth      =   2
  277.       BorderWidth     =   1
  278.       Caption         =   "MIDI DEVICES"
  279.       Font3D          =   2  'Raised w/heavy shading
  280.       FontBold        =   -1  'True
  281.       FontItalic      =   0   'False
  282.       FontName        =   "Arial"
  283.       FontSize        =   9.75
  284.       FontStrikethru  =   0   'False
  285.       FontUnderline   =   0   'False
  286.       ForeColor       =   &H00000080&
  287.       Height          =   1185
  288.       Index           =   6
  289.       Left            =   90
  290.       TabIndex        =   10
  291.       Top             =   90
  292.       Width           =   3765
  293.       Begin PictureBox picDataOut 
  294.          AutoRedraw      =   -1  'True
  295.          BackColor       =   &H00000080&
  296.          BorderStyle     =   0  'None
  297.          ClipControls    =   0   'False
  298.          Height          =   190
  299.          Left            =   510
  300.          Picture         =   VB_SEQ.FRX:2116
  301.          ScaleHeight     =   195
  302.          ScaleWidth      =   195
  303.          TabIndex        =   40
  304.          Top             =   840
  305.          Width           =   190
  306.       End
  307.       Begin PictureBox picDataIn 
  308.          AutoRedraw      =   -1  'True
  309.          BackColor       =   &H00000080&
  310.          BorderStyle     =   0  'None
  311.          ClipControls    =   0   'False
  312.          Height          =   190
  313.          Left            =   510
  314.          Picture         =   VB_SEQ.FRX:2418
  315.          ScaleHeight     =   195
  316.          ScaleWidth      =   195
  317.          TabIndex        =   39
  318.          Top             =   450
  319.          Width           =   190
  320.       End
  321.       Begin SSPanel Z 
  322.          BevelOuter      =   0  'None
  323.          BorderWidth     =   1
  324.          Caption         =   "OUT"
  325.          Font3D          =   3  'Inset w/light shading
  326.          FontBold        =   -1  'True
  327.          FontItalic      =   0   'False
  328.          FontName        =   "Arial"
  329.          FontSize        =   6.75
  330.          FontStrikethru  =   0   'False
  331.          FontUnderline   =   0   'False
  332.          ForeColor       =   &H00FF0000&
  333.          Height          =   180
  334.          Index           =   2
  335.          Left            =   90
  336.          TabIndex        =   14
  337.          Top             =   840
  338.          Width           =   375
  339.       End
  340.       Begin SSPanel Z 
  341.          BevelOuter      =   0  'None
  342.          BorderWidth     =   1
  343.          Caption         =   "IN"
  344.          Font3D          =   3  'Inset w/light shading
  345.          FontBold        =   -1  'True
  346.          FontItalic      =   0   'False
  347.          FontName        =   "Arial"
  348.          FontSize        =   6.75
  349.          FontStrikethru  =   0   'False
  350.          FontUnderline   =   0   'False
  351.          ForeColor       =   &H00FF0000&
  352.          Height          =   180
  353.          Index           =   0
  354.          Left            =   180
  355.          TabIndex        =   13
  356.          Top             =   450
  357.          Width           =   225
  358.       End
  359.       Begin SSPanel Z 
  360.          AutoSize        =   3  'AutoSize Child To Panel
  361.          BevelInner      =   1  'Inset
  362.          BevelOuter      =   0  'None
  363.          BevelWidth      =   2
  364.          BorderWidth     =   0
  365.          ForeColor       =   &H00FF0000&
  366.          Height          =   360
  367.          Index           =   8
  368.          Left            =   780
  369.          TabIndex        =   12
  370.          Top             =   750
  371.          Width           =   2900
  372.          Begin ComboBox cboMidiOut 
  373.             Height          =   300
  374.             Left            =   30
  375.             Style           =   2  'Dropdown List
  376.             TabIndex        =   28
  377.             Top             =   30
  378.             Width           =   2835
  379.          End
  380.       End
  381.       Begin SSPanel Z 
  382.          AutoSize        =   3  'AutoSize Child To Panel
  383.          BevelInner      =   1  'Inset
  384.          BevelOuter      =   0  'None
  385.          BevelWidth      =   2
  386.          BorderWidth     =   0
  387.          ForeColor       =   &H00FF0000&
  388.          Height          =   360
  389.          Index           =   7
  390.          Left            =   780
  391.          TabIndex        =   11
  392.          Top             =   360
  393.          Width           =   2900
  394.          Begin ComboBox cboMidiIn 
  395.             Height          =   300
  396.             Left            =   30
  397.             Style           =   2  'Dropdown List
  398.             TabIndex        =   27
  399.             Top             =   30
  400.             Width           =   2835
  401.          End
  402.       End
  403.    End
  404.    Begin SSPanel pnlMTC 
  405.       Alignment       =   6  'Center - TOP
  406.       BevelInner      =   1  'Inset
  407.       BevelOuter      =   0  'None
  408.       BevelWidth      =   2
  409.       BorderWidth     =   1
  410.       Caption         =   "MTC : 25 f/s"
  411.       Font3D          =   2  'Raised w/heavy shading
  412.       FontBold        =   -1  'True
  413.       FontItalic      =   0   'False
  414.       FontName        =   "Arial"
  415.       FontSize        =   9.75
  416.       FontStrikethru  =   0   'False
  417.       FontUnderline   =   0   'False
  418.       ForeColor       =   &H00000080&
  419.       Height          =   2175
  420.       Left            =   90
  421.       TabIndex        =   0
  422.       Top             =   2880
  423.       Width           =   3765
  424.       Begin SSPanel pnlDebug 
  425.          BevelInner      =   1  'Inset
  426.          BevelOuter      =   0  'None
  427.          BevelWidth      =   3
  428.          BorderWidth     =   0
  429.          Caption         =   "D"
  430.          Font3D          =   3  'Inset w/light shading
  431.          ForeColor       =   &H00FF0000&
  432.          Height          =   250
  433.          Left            =   3360
  434.          TabIndex        =   51
  435.          Top             =   1770
  436.          Visible         =   0   'False
  437.          Width           =   250
  438.       End
  439.       Begin PictureBox picMtcOut 
  440.          AutoRedraw      =   -1  'True
  441.          BackColor       =   &H00000080&
  442.          BorderStyle     =   0  'None
  443.          ClipControls    =   0   'False
  444.          Height          =   190
  445.          Left            =   2910
  446.          Picture         =   VB_SEQ.FRX:271A
  447.          ScaleHeight     =   195
  448.          ScaleWidth      =   195
  449.          TabIndex        =   42
  450.          Top             =   500
  451.          Width           =   190
  452.       End
  453.       Begin PictureBox picMtcIn 
  454.          AutoRedraw      =   -1  'True
  455.          BackColor       =   &H00000080&
  456.          BorderStyle     =   0  'None
  457.          ClipControls    =   0   'False
  458.          Height          =   190
  459.          Left            =   630
  460.          Picture         =   VB_SEQ.FRX:2A1C
  461.          ScaleHeight     =   195
  462.          ScaleWidth      =   195
  463.          TabIndex        =   41
  464.          Top             =   500
  465.          Width           =   190
  466.       End
  467.       Begin SSPanel Z 
  468.          BevelOuter      =   0  'None
  469.          BorderWidth     =   1
  470.          Caption         =   "OUT"
  471.          Font3D          =   3  'Inset w/light shading
  472.          FontBold        =   -1  'True
  473.          FontItalic      =   0   'False
  474.          FontName        =   "Arial"
  475.          FontSize        =   6.75
  476.          FontStrikethru  =   0   'False
  477.          FontUnderline   =   0   'False
  478.          ForeColor       =   &H00FF0000&
  479.          Height          =   180
  480.          Index           =   13
  481.          Left            =   2820
  482.          TabIndex        =   35
  483.          Top             =   315
  484.          Width           =   375
  485.       End
  486.       Begin SSPanel Z 
  487.          BevelOuter      =   0  'None
  488.          BorderWidth     =   1
  489.          Caption         =   "IN"
  490.          Font3D          =   3  'Inset w/light shading
  491.          FontBold        =   -1  'True
  492.          FontItalic      =   0   'False
  493.          FontName        =   "Arial"
  494.          FontSize        =   6.75
  495.          FontStrikethru  =   0   'False
  496.          FontUnderline   =   0   'False
  497.          ForeColor       =   &H00FF0000&
  498.          Height          =   195
  499.          Index           =   12
  500.          Left            =   610
  501.          TabIndex        =   34
  502.          Top             =   315
  503.          Width           =   225
  504.       End
  505.       Begin SSPanel Z 
  506.          BevelInner      =   2  'Raised
  507.          BevelOuter      =   0  'None
  508.          BorderWidth     =   0
  509.          ForeColor       =   &H00FF0000&
  510.          Height          =   435
  511.          Index           =   10
  512.          Left            =   1020
  513.          TabIndex        =   31
  514.          Top             =   1590
  515.          Width           =   1680
  516.          Begin SSPanel Z 
  517.             AutoSize        =   3  'AutoSize Child To Panel
  518.             BevelInner      =   1  'Inset
  519.             BevelOuter      =   0  'None
  520.             BevelWidth      =   2
  521.             BorderWidth     =   0
  522.             ForeColor       =   &H00FF0000&
  523.             Height          =   315
  524.             Index           =   11
  525.             Left            =   760
  526.             TabIndex        =   29
  527.             Top             =   60
  528.             Width           =   855
  529.             Begin Label lblSync 
  530.                Alignment       =   2  'Center
  531.                BackColor       =   &H00FFFFFF&
  532.                BorderStyle     =   1  'Fixed Single
  533.                Caption         =   "Internal"
  534.                ForeColor       =   &H00800000&
  535.                Height          =   255
  536.                Left            =   30
  537.                TabIndex        =   30
  538.                Top             =   30
  539.                Width           =   795
  540.             End
  541.          End
  542.          Begin SSCommand cmdSync 
  543.             Caption         =   "&Sync"
  544.             Font3D          =   3  'Inset w/light shading
  545.             ForeColor       =   &H00800000&
  546.             Height          =   315
  547.             Left            =   60
  548.             TabIndex        =   32
  549.             Top             =   60
  550.             Width           =   645
  551.          End
  552.       End
  553.       Begin SSPanel Z 
  554.          Alignment       =   0  'Left Justify - TOP
  555.          AutoSize        =   3  'AutoSize Child To Panel
  556.          BevelInner      =   2  'Raised
  557.          BorderWidth     =   1
  558.          Font3D          =   3  'Inset w/light shading
  559.          ForeColor       =   &H00FF0000&
  560.          Height          =   640
  561.          Index           =   9
  562.          Left            =   240
  563.          TabIndex        =   21
  564.          Top             =   870
  565.          Width           =   3230
  566.          Begin SSCommand cmdRewind 
  567.             Font3D          =   3  'Inset w/light shading
  568.             ForeColor       =   &H00000000&
  569.             Height          =   510
  570.             Left            =   1590
  571.             Picture         =   VB_SEQ.FRX:2D1E
  572.             TabIndex        =   26
  573.             TabStop         =   0   'False
  574.             Top             =   60
  575.             Width           =   800
  576.          End
  577.          Begin SSCommand cmdForward 
  578.             Font3D          =   3  'Inset w/light shading
  579.             ForeColor       =   &H00000000&
  580.             Height          =   510
  581.             Left            =   2370
  582.             Picture         =   VB_SEQ.FRX:3308
  583.             TabIndex        =   25
  584.             TabStop         =   0   'False
  585.             Top             =   60
  586.             Width           =   800
  587.          End
  588.          Begin SSCommand cmdStop 
  589.             BevelWidth      =   0
  590.             Font3D          =   3  'Inset w/light shading
  591.             ForeColor       =   &H00000000&
  592.             Height          =   510
  593.             Left            =   60
  594.             Picture         =   VB_SEQ.FRX:3922
  595.             TabIndex        =   24
  596.             TabStop         =   0   'False
  597.             Top             =   60
  598.             Width           =   510
  599.          End
  600.          Begin SSCommand cmdPlay 
  601.             BevelWidth      =   0
  602.             Font3D          =   3  'Inset w/light shading
  603.             ForeColor       =   &H00000000&
  604.             Height          =   510
  605.             Left            =   570
  606.             Picture         =   VB_SEQ.FRX:3C24
  607.             TabIndex        =   23
  608.             TabStop         =   0   'False
  609.             Top             =   60
  610.             Width           =   510
  611.          End
  612.          Begin SSCommand cmdRec 
  613.             BevelWidth      =   0
  614.             Font3D          =   3  'Inset w/light shading
  615.             ForeColor       =   &H00000000&
  616.             Height          =   510
  617.             Left            =   1080
  618.             Picture         =   VB_SEQ.FRX:3F26
  619.             TabIndex        =   22
  620.             TabStop         =   0   'False
  621.             Top             =   60
  622.             Width           =   510
  623.          End
  624.       End
  625.       Begin SSPanel Z 
  626.          BevelInner      =   2  'Raised
  627.          BevelOuter      =   0  'None
  628.          BevelWidth      =   2
  629.          BorderWidth     =   0
  630.          Height          =   450
  631.          Index           =   5
  632.          Left            =   1110
  633.          TabIndex        =   1
  634.          Top             =   360
  635.          Width           =   1485
  636.          Begin SSPanel Z 
  637.             BevelInner      =   1  'Inset
  638.             BevelOuter      =   0  'None
  639.             BevelWidth      =   3
  640.             BorderWidth     =   0
  641.             Height          =   330
  642.             Index           =   4
  643.             Left            =   60
  644.             TabIndex        =   2
  645.             Top             =   60
  646.             Width           =   1365
  647.             Begin Label lblHours 
  648.                Alignment       =   2  'Center
  649.                BackColor       =   &H00000000&
  650.                Caption         =   "00"
  651.                FontBold        =   -1  'True
  652.                FontItalic      =   0   'False
  653.                FontName        =   "MS Sans Serif"
  654.                FontSize        =   9.75
  655.                FontStrikethru  =   0   'False
  656.                FontUnderline   =   0   'False
  657.                ForeColor       =   &H0000FFFF&
  658.                Height          =   240
  659.                Left            =   30
  660.                TabIndex        =   9
  661.                Top             =   30
  662.                Width           =   300
  663.             End
  664.             Begin Label lblMinutes 
  665.                Alignment       =   2  'Center
  666.                BackColor       =   &H00000000&
  667.                Caption         =   "00"
  668.                FontBold        =   -1  'True
  669.                FontItalic      =   0   'False
  670.                FontName        =   "MS Sans Serif"
  671.                FontSize        =   9.75
  672.                FontStrikethru  =   0   'False
  673.                FontUnderline   =   0   'False
  674.                ForeColor       =   &H0000FFFF&
  675.                Height          =   240
  676.                Left            =   410
  677.                TabIndex        =   8
  678.                Top             =   30
  679.                Width           =   225
  680.             End
  681.             Begin Label lblSeconds 
  682.                Alignment       =   2  'Center
  683.                BackColor       =   &H00000000&
  684.                Caption         =   "00"
  685.                FontBold        =   -1  'True
  686.                FontItalic      =   0   'False
  687.                FontName        =   "MS Sans Serif"
  688.                FontSize        =   9.75
  689.                FontStrikethru  =   0   'False
  690.                FontUnderline   =   0   'False
  691.                ForeColor       =   &H0000FFFF&
  692.                Height          =   240
  693.                Left            =   740
  694.                TabIndex        =   7
  695.                Top             =   30
  696.                Width           =   225
  697.             End
  698.             Begin Label lblFrames 
  699.                Alignment       =   2  'Center
  700.                BackColor       =   &H00000000&
  701.                Caption         =   "00"
  702.                FontBold        =   -1  'True
  703.                FontItalic      =   0   'False
  704.                FontName        =   "MS Sans Serif"
  705.                FontSize        =   9.75
  706.                FontStrikethru  =   0   'False
  707.                FontUnderline   =   0   'False
  708.                ForeColor       =   &H0000FFFF&
  709.                Height          =   240
  710.                Left            =   1040
  711.                TabIndex        =   6
  712.                Top             =   30
  713.                Width           =   270
  714.             End
  715.             Begin Label lblSep 
  716.                Alignment       =   2  'Center
  717.                BackColor       =   &H00000000&
  718.                Caption         =   ":"
  719.                FontBold        =   -1  'True
  720.                FontItalic      =   0   'False
  721.                FontName        =   "MS Sans Serif"
  722.                FontSize        =   9.75
  723.                FontStrikethru  =   0   'False
  724.                FontUnderline   =   0   'False
  725.                ForeColor       =   &H0000FFFF&
  726.                Height          =   240
  727.                Index           =   0
  728.                Left            =   320
  729.                TabIndex        =   5
  730.                Top             =   30
  731.                Width           =   90
  732.             End
  733.             Begin Label lblSep 
  734.                Alignment       =   2  'Center
  735.                BackColor       =   &H00000000&
  736.                Caption         =   ":"
  737.                FontBold        =   -1  'True
  738.                FontItalic      =   0   'False
  739.                FontName        =   "MS Sans Serif"
  740.                FontSize        =   9.75
  741.                FontStrikethru  =   0   'False
  742.                FontUnderline   =   0   'False
  743.                ForeColor       =   &H0000FFFF&
  744.                Height          =   240
  745.                Index           =   1
  746.                Left            =   630
  747.                TabIndex        =   4
  748.                Top             =   30
  749.                Width           =   105
  750.             End
  751.             Begin Label lblSep 
  752.                Alignment       =   2  'Center
  753.                BackColor       =   &H00000000&
  754.                Caption         =   ":"
  755.                FontBold        =   -1  'True
  756.                FontItalic      =   0   'False
  757.                FontName        =   "MS Sans Serif"
  758.                FontSize        =   9.75
  759.                FontStrikethru  =   0   'False
  760.                FontUnderline   =   0   'False
  761.                ForeColor       =   &H0000FFFF&
  762.                Height          =   240
  763.                Index           =   2
  764.                Left            =   960
  765.                TabIndex        =   3
  766.                Top             =   30
  767.                Width           =   105
  768.             End
  769.          End
  770.       End
  771.    End
  772.    Begin Menu mnuFile 
  773.       Caption         =   "&File"
  774.       Begin Menu mnuFileAbout 
  775.          Caption         =   "&About..."
  776.       End
  777.       Begin Menu mnuFileSep1 
  778.          Caption         =   "-"
  779.       End
  780.       Begin Menu mnuFileNew 
  781.          Caption         =   "&New"
  782.       End
  783.       Begin Menu mnuFileOpen 
  784.          Caption         =   "&Open..."
  785.       End
  786.       Begin Menu mnuFileSave 
  787.          Caption         =   "&Save..."
  788.       End
  789.       Begin Menu mnuFileSep2 
  790.          Caption         =   "-"
  791.       End
  792.       Begin Menu mnuFileExit 
  793.          Caption         =   "&Exit"
  794.       End
  795.    End
  796.    Begin Menu mnuOptions 
  797.       Caption         =   "&Options"
  798.       Begin Menu mnuOptionsMidiThru 
  799.          Caption         =   "&Midi Data Thru (Always)"
  800.          Checked         =   -1  'True
  801.       End
  802.       Begin Menu mnuOptionsMtcThru 
  803.          Caption         =   "M&TC Thru         (Always)"
  804.          Checked         =   -1  'True
  805.       End
  806.       Begin Menu mnuOptionsMtcOut 
  807.          Caption         =   "MT&C Out   (Internal Sync)"
  808.          Checked         =   -1  'True
  809.       End
  810.       Begin Menu mnuOptionsSep1 
  811.          Caption         =   "-"
  812.       End
  813.       Begin Menu mnuOptionsFrameMode 
  814.          Caption         =   "&Frame Mode"
  815.          Begin Menu mnuOptionsFrameModeSet 
  816.             Caption         =   "24"
  817.             Index           =   0
  818.          End
  819.          Begin Menu mnuOptionsFrameModeSet 
  820.             Caption         =   "25"
  821.             Checked         =   -1  'True
  822.             Index           =   1
  823.          End
  824.          Begin Menu mnuOptionsFrameModeSet 
  825.             Caption         =   "30Drop"
  826.             Index           =   2
  827.          End
  828.          Begin Menu mnuOptionsFrameModeSet 
  829.             Caption         =   "30NoDrop"
  830.             Index           =   3
  831.          End
  832.       End
  833.    End
  834.    Begin Menu mnuVisual 
  835.       Caption         =   "&Visualize"
  836.       Begin Menu mnuVisualClock 
  837.          Caption         =   "&Clock"
  838.          Checked         =   -1  'True
  839.       End
  840.       Begin Menu mnuVisualData 
  841.          Caption         =   "&Data Flow"
  842.          Checked         =   -1  'True
  843.       End
  844.       Begin Menu mnuVisualMTC 
  845.          Caption         =   "&MTC Flow"
  846.          Checked         =   -1  'True
  847.       End
  848.       Begin Menu mnuVisualSep1 
  849.          Caption         =   "-"
  850.       End
  851.       Begin Menu mnuVisualAll 
  852.          Caption         =   "&All"
  853.       End
  854.       Begin Menu mnuVisualNone 
  855.          Caption         =   "&None"
  856.       End
  857.    End
  858. End
  859. Option Explicit
  860.  
  861. Sub cboMidiIn_Click ()
  862.     If cboMidiIn.ListIndex = 0 Then
  863.         Call MidiIn_Close
  864.     Else
  865.         Call MidiIn_Open(cboMidiIn.ListIndex - 1)
  866.     End If
  867.  
  868.     cmdSync.SetFocus
  869. End Sub
  870.  
  871. Sub cboMidiOut_Click ()
  872.     If cboMidiOut.ListIndex = 0 Then
  873.         Call MidiOut_Close
  874.     Else
  875.         'First Device is MIDI Mapper (-1)
  876.         Call MidiOut_Open(cboMidiOut.ListIndex - 2)
  877.     End If
  878.  
  879.     cmdSync.SetFocus
  880. End Sub
  881.  
  882. Sub cmdChanDecr_MouseDown (Button As Integer, Shift As Integer, X As Single, Y As Single)
  883.     If bStop = False Then
  884.         nSeqChannel = nSeqChannel - 1
  885.         If nSeqChannel < 0 Then nSeqChannel = 0
  886.         lblChannel = CStr(nSeqChannel + 1)
  887.     Else
  888.         nSeqChannel = Label_Decrement(lblChannel, 1, 1) - 1
  889.     End If
  890.     vntRet = MidiOut_ProgramChange(nSeqChannel, aSeqProgram(nSeqChannel))
  891.     lblProgram = CStr(aSeqProgram(nSeqChannel))
  892.     cmdSync.SetFocus
  893. End Sub
  894.  
  895. Sub cmdChanDecr_MouseUp (Button As Integer, Shift As Integer, X As Single, Y As Single)
  896.     bMouseDown = False
  897. End Sub
  898.  
  899. Sub cmdChanIncr_MouseDown (Button As Integer, Shift As Integer, X As Single, Y As Single)
  900.     If bStop = False Then
  901.         nSeqChannel = nSeqChannel + 1
  902.         If nSeqChannel > 15 Then nSeqChannel = 15
  903.         lblChannel = CStr(nSeqChannel + 1)
  904.     Else
  905.         'Show 1...16   (really 0...15)
  906.         nSeqChannel = Label_Increment(lblChannel, 16, 1) - 1
  907.     End If
  908.     vntRet = MidiOut_ProgramChange(nSeqChannel, aSeqProgram(nSeqChannel))
  909.     lblProgram = CStr(aSeqProgram(nSeqChannel))
  910.     cmdSync.SetFocus
  911. End Sub
  912.  
  913. Sub cmdChanIncr_MouseUp (Button As Integer, Shift As Integer, X As Single, Y As Single)
  914.     bMouseDown = False
  915. End Sub
  916.  
  917. Sub cmdForward_MouseDown (Button As Integer, Shift As Integer, X As Single, Y As Single)
  918.     Dim bFirst As Integer
  919.  
  920.     If bStop = False Then
  921.         cmdSync.SetFocus
  922.         Exit Sub
  923.     End If
  924.  
  925.     bFirst = True
  926.     bMouseDown = True
  927.     Do While bMouseDown = True
  928.         Select Case Shift
  929.             Case 0:
  930.                 nDisplayFrames = nDisplayFrames + 1
  931.             Case ALT_MASK:
  932.                 nDisplaySeconds = nDisplaySeconds + 1
  933.             Case CTRL_MASK:
  934.                 nDisplayMinutes = nDisplayMinutes + 1
  935.             Case SHIFT_MASK:
  936.                 nDisplayHours = nDisplayHours + 1
  937.         End Select
  938.  
  939.         Call Mtc_Adjust(nDisplayHours, nDisplayMinutes, nDisplaySeconds, nDisplayFrames)
  940.         Display_Show
  941.  
  942.         If bFirst = True Then     'First Loop cycle
  943.             bFirst = False
  944.             Wait_DoEvents (200)
  945.         Else                      'Key Repeat
  946.             Wait_DoEvents (10)
  947.         End If
  948.     Loop
  949.  
  950.     cmdSync.SetFocus
  951.  
  952. End Sub
  953.  
  954. Sub cmdForward_MouseUp (Button As Integer, Shift As Integer, X As Single, Y As Single)
  955.     bMouseDown = False
  956. End Sub
  957.  
  958. Sub cmdPlay_MouseDown (Button As Integer, Shift As Integer, X As Single, Y As Single)
  959.     cmdSync.SetFocus
  960.  
  961.     Call Start_Play
  962. End Sub
  963.  
  964. Sub cmdProgDecr_MouseDown (Button As Integer, Shift As Integer, X As Single, Y As Single)
  965.     If bStop = False Then
  966.         aSeqProgram(nSeqChannel) = aSeqProgram(nSeqChannel) - 1
  967.         If aSeqProgram(nSeqChannel) < 0 Then aSeqProgram(nSeqChannel) = 0
  968.         vntRet = MidiOut_ProgramChange(nSeqChannel, aSeqProgram(nSeqChannel))
  969.         lblProgram = CStr(aSeqProgram(nSeqChannel))
  970.     Else
  971.         aSeqProgram(nSeqChannel) = Label_Decrement(lblProgram, 0, 1)
  972.         vntRet = MidiOut_ProgramChange(nSeqChannel, aSeqProgram(nSeqChannel))
  973.     End If
  974.     cmdSync.SetFocus
  975. End Sub
  976.  
  977. Sub cmdProgDecr_MouseUp (Button As Integer, Shift As Integer, X As Single, Y As Single)
  978.     bMouseDown = False
  979. End Sub
  980.  
  981. Sub cmdProgIncr_MouseDown (Button As Integer, Shift As Integer, X As Single, Y As Single)
  982.     If bStop = False Then
  983.         aSeqProgram(nSeqChannel) = aSeqProgram(nSeqChannel) + 1
  984.         If aSeqProgram(nSeqChannel) > 127 Then aSeqProgram(nSeqChannel) = 127
  985.         vntRet = MidiOut_ProgramChange(nSeqChannel, aSeqProgram(nSeqChannel))
  986.         lblProgram = CStr(aSeqProgram(nSeqChannel))
  987.     Else
  988.         aSeqProgram(nSeqChannel) = Label_Increment(lblProgram, 127, 1)
  989.         vntRet = MidiOut_ProgramChange(nSeqChannel, aSeqProgram(nSeqChannel))
  990.     End If
  991.     cmdSync.SetFocus
  992. End Sub
  993.  
  994. Sub cmdProgIncr_MouseUp (Button As Integer, Shift As Integer, X As Single, Y As Single)
  995.     bMouseDown = False
  996. End Sub
  997.  
  998. Sub cmdRec_MouseDown (Button As Integer, Shift As Integer, X As Single, Y As Single)
  999.     cmdSync.SetFocus
  1000.  
  1001.     Call Start_Rec
  1002. End Sub
  1003.  
  1004. Sub cmdRewind_MouseDown (Button As Integer, Shift As Integer, X As Single, Y As Single)
  1005.     Dim bFirst As Integer
  1006.  
  1007.     If bStop = False Then
  1008.         cmdSync.SetFocus
  1009.         Exit Sub
  1010.     End If
  1011.  
  1012.     bFirst = True
  1013.     bMouseDown = True
  1014.     Do While bMouseDown = True
  1015.         Select Case Shift
  1016.             Case 0:
  1017.                 nDisplayFrames = nDisplayFrames - 1
  1018.             Case ALT_MASK:
  1019.                 nDisplaySeconds = nDisplaySeconds - 1
  1020.             Case CTRL_MASK:
  1021.                 nDisplayMinutes = nDisplayMinutes - 1
  1022.             Case SHIFT_MASK:
  1023.                 nDisplayHours = nDisplayHours - 1
  1024.         End Select
  1025.  
  1026.         Call Mtc_Adjust(nDisplayHours, nDisplayMinutes, nDisplaySeconds, nDisplayFrames)
  1027.         Display_Show
  1028.  
  1029.         If bFirst = True Then     'First Loop cycle
  1030.             bFirst = False
  1031.             Wait_DoEvents (200)
  1032.         Else                      'Key Repeat
  1033.             Wait_DoEvents (20)
  1034.         End If
  1035.     Loop
  1036.  
  1037.     cmdSync.SetFocus
  1038. End Sub
  1039.  
  1040. Sub cmdRewind_MouseUp (Button As Integer, Shift As Integer, X As Single, Y As Single)
  1041.     bMouseDown = False
  1042. End Sub
  1043.  
  1044. Sub cmdStop_MouseDown (Button As Integer, Shift As Integer, X As Single, Y As Single)
  1045.     cmdSync.SetFocus
  1046.  
  1047.     bStop = True
  1048. End Sub
  1049.  
  1050. Sub cmdSync_Click ()
  1051.     If bStop = False Then Exit Sub
  1052.     
  1053.     If lblSync.Caption = "Internal" Then
  1054.         lblSync.Caption = "External"
  1055.         nSyncMode = SYNC_EXTERNAL
  1056.         lblSync.BackColor = DARKBLUE
  1057.         lblSync.ForeColor = WHITE
  1058.     Else
  1059.         lblSync.Caption = "Internal"
  1060.         nSyncMode = SYNC_INTERNAL
  1061.         lblSync.BackColor = WHITE
  1062.         lblSync.ForeColor = DARKBLUE
  1063.     End If
  1064. End Sub
  1065.  
  1066. Sub Form_KeyDown (KeyCode As Integer, Shift As Integer)
  1067.     Dim sh As String, sm As String, ss As String, sf As String
  1068.  
  1069.     If KeyCode = KEY_RETURN Then
  1070.         Start_Play
  1071.     ElseIf KeyCode = KEY_MULTIPLY Then
  1072.         Start_Rec
  1073.     ElseIf KeyCode = KEY_SPACE Then
  1074.         bStop = True
  1075.  
  1076.     ElseIf bStop = True And KeyCode = KEY_ESCAPE Then   '->00:00:00:00
  1077.         nDisplayHours = 0
  1078.         nDisplayMinutes = 0
  1079.         nDisplaySeconds = 0
  1080.         nDisplayFrames = 0
  1081.         Call Display_Show
  1082.  
  1083.     ElseIf bStop = True And KeytoNum(KeyCode) <> -1 Then    'It's a Number Key
  1084.         sh = lblHours
  1085.         sm = lblMinutes
  1086.         ss = lblSeconds
  1087.         sf = lblFrames
  1088.  
  1089.         'Shift Clock Display one digit to the left
  1090.         Mid$(sh, 1, 1) = Mid$(sh, 2, 1)  'hh:mm:ss:ff -> hm:ms:sf:fx
  1091.         Mid$(sh, 2, 1) = Mid$(sm, 1, 1)
  1092.         
  1093.         Mid$(sm, 1, 1) = Mid$(sm, 2, 1)
  1094.         Mid$(sm, 2, 1) = Mid$(ss, 1, 1)
  1095.  
  1096.         Mid$(ss, 1, 1) = Mid$(ss, 2, 1)
  1097.         Mid$(ss, 2, 1) = Mid$(sf, 1, 1)
  1098.         
  1099.         Mid$(sf, 1, 1) = Mid$(sf, 2, 1)
  1100.         Mid$(sf, 2, 1) = CStr(KeytoNum(KeyCode)) 'New digit at the right end
  1101.  
  1102.         nDisplayHours = Val(sh)
  1103.         nDisplayMinutes = Val(sm)
  1104.         nDisplaySeconds = Val(ss)
  1105.         nDisplayFrames = Val(sf)
  1106.         Call Display_Show
  1107.  
  1108.     ElseIf KeyCode = KEY_F12 Then
  1109.         'change debug mode
  1110.         If bDebug = False Then
  1111.             pnlDebug.Visible = True
  1112.             bDebug = True
  1113.         Else
  1114.             pnlDebug.Visible = False
  1115.             bDebug = False
  1116.         End If
  1117.     
  1118.     End If
  1119.     KeyCode = 0
  1120.  
  1121. End Sub
  1122.  
  1123. Sub Form_Load ()
  1124.     Dim i As Integer
  1125.  
  1126.     'Center and Show form
  1127.     Move (Screen.Width - Width) / 2, (Screen.Height - Height) / 2
  1128.     Me.Show
  1129.  
  1130.     'Load MidiHook form without showing it
  1131.     Load frmMidiHook
  1132.  
  1133.     'Set Midi handles to closed state
  1134.     hMidiIn = NO_HANDLE
  1135.     hMidiOut = NO_HANDLE
  1136.  
  1137.     'Fill Devices Lists with existing Midi Devices
  1138.     Call Midi_Populate_Lists(Me.cboMidiIn, Me.cboMidiOut)
  1139.  
  1140.     'Recall your standard MIDI configuration
  1141.     Call MyIni_Read
  1142.  
  1143.     'Reset Play flags
  1144.     bStop = True
  1145.     bPlay = False
  1146.     bRec = False
  1147.  
  1148.     'Reset Rec buffer
  1149.     nRecCounter = 0
  1150.     Erase aRecBuffer
  1151.  
  1152.     'Reset name of recorded file
  1153.     sFileName = "?"
  1154.  
  1155.     'Reset debugging flag
  1156.     bDebug = False
  1157. End Sub
  1158.  
  1159. Sub Form_Unload (Cancel As Integer)
  1160.     Call MyIni_Write
  1161.     Call MidiIn_Close
  1162.     Call MidiOut_Close
  1163.     Call Midi_Panic
  1164.     End
  1165. End Sub
  1166.  
  1167. Sub lblSync_Click ()
  1168.     If bStop = False Then Exit Sub
  1169.  
  1170.     If lblSync.Caption = "Internal" Then
  1171.         lblSync.Caption = "External"
  1172.         nSyncMode = SYNC_EXTERNAL
  1173.         lblSync.BackColor = DARKBLUE
  1174.         lblSync.ForeColor = WHITE
  1175.     Else
  1176.         lblSync.Caption = "Internal"
  1177.         nSyncMode = SYNC_INTERNAL
  1178.         lblSync.BackColor = WHITE
  1179.         lblSync.ForeColor = DARKBLUE
  1180.     End If
  1181. End Sub
  1182.  
  1183. Sub mnuFileAbout_Click ()
  1184.     frmAbout.Show 1
  1185. End Sub
  1186.  
  1187. Sub mnuFileExit_Click ()
  1188.     Call MyIni_Write
  1189.     Call MidiIn_Close
  1190.     Call MidiOut_Close
  1191.     Call Midi_Panic
  1192.     End
  1193. End Sub
  1194.  
  1195. Sub mnuFileNew_Click ()
  1196.     'If buffer not empty confirm loss of data
  1197.     If nRecCounter > 0 Then
  1198.         If Dlg_YesNo("Erase recorded MIDI messages?") = False Then Exit Sub
  1199.     End If
  1200.  
  1201.     'Prepare Rec buffer array
  1202.     nRecCounter = 0
  1203.     Erase aRecBuffer
  1204.  
  1205.     'Display new recorded messages counter
  1206.     frmVBSeq.lblRecMesNum = "0"
  1207.  
  1208. End Sub
  1209.  
  1210. Sub mnuFileOpen_Click ()
  1211.     File_Open
  1212. End Sub
  1213.  
  1214. Sub mnuFileSave_Click ()
  1215.     File_Save
  1216. End Sub
  1217.  
  1218. Sub mnuOptionsFrameModeSet_Click (Index As Integer)
  1219.     Dim i As Integer
  1220.  
  1221.     For i = 0 To 3
  1222.         mnuOptionsFrameModeSet(i).Checked = False
  1223.     Next i
  1224.  
  1225.     mnuOptionsFrameModeSet(Index).Checked = True
  1226.     pnlMTC.Caption = "MTC : " & Mtc_SetMode(Index)
  1227. End Sub
  1228.  
  1229. Sub mnuOptionsMidiThru_Click ()
  1230.     If mnuOptionsMidiThru.Checked = True Then
  1231.         mnuOptionsMidiThru.Checked = False
  1232.         bMidiThru = False
  1233.     Else
  1234.         mnuOptionsMidiThru.Checked = True
  1235.         bMidiThru = True
  1236.     End If
  1237. End Sub
  1238.  
  1239. Sub mnuOptionsMtcOut_Click ()
  1240.     If mnuOptionsMtcOut.Checked = True Then
  1241.         mnuOptionsMtcOut.Checked = False
  1242.         bMtcOut = False
  1243.     Else
  1244.         mnuOptionsMtcOut.Checked = True
  1245.         bMtcOut = True
  1246.     End If
  1247.  
  1248. End Sub
  1249.  
  1250. Sub mnuOptionsMtcThru_Click ()
  1251.     If mnuOptionsMtcThru.Checked = True Then
  1252.         mnuOptionsMtcThru.Checked = False
  1253.         bMtcThru = False
  1254.     Else
  1255.         mnuOptionsMtcThru.Checked = True
  1256.         bMtcThru = True
  1257.     End If
  1258. End Sub
  1259.  
  1260. Sub mnuVisualAll_Click ()
  1261.     mnuVisualClock.Checked = True
  1262.     mnuVisualData.Checked = True
  1263.     mnuVisualMtc.Checked = True
  1264.     bVisualClock = True
  1265.     bVisualData = True
  1266.     bVisualMtc = True
  1267. End Sub
  1268.  
  1269. Sub mnuVisualClock_Click ()
  1270.     If mnuVisualClock.Checked = True Then
  1271.         mnuVisualClock.Checked = False
  1272.         bVisualClock = False
  1273.     Else
  1274.         mnuVisualClock.Checked = True
  1275.         bVisualClock = True
  1276.     End If
  1277.  
  1278. End Sub
  1279.  
  1280. Sub mnuVisualData_Click ()
  1281.     If mnuVisualData.Checked = True Then
  1282.         mnuVisualData.Checked = False
  1283.         bVisualData = False
  1284.     Else
  1285.         mnuVisualData.Checked = True
  1286.         bVisualData = True
  1287.     End If
  1288.  
  1289. End Sub
  1290.  
  1291. Sub mnuVisualMTC_Click ()
  1292.     If mnuVisualMtc.Checked = True Then
  1293.         mnuVisualMtc.Checked = False
  1294.         bVisualMtc = False
  1295.     Else
  1296.         mnuVisualMtc.Checked = True
  1297.         bVisualMtc = True
  1298.     End If
  1299.  
  1300. End Sub
  1301.  
  1302. Sub mnuVisualNone_Click ()
  1303.     mnuVisualClock.Checked = False
  1304.     mnuVisualData.Checked = False
  1305.     mnuVisualMtc.Checked = False
  1306.     bVisualClock = False
  1307.     bVisualData = False
  1308.     bVisualMtc = False
  1309. End Sub
  1310.  
  1311. Sub MyIni_Read ()
  1312.     Dim sIniName    As String
  1313.     Dim sSection    As String
  1314.     Dim sParamName  As String
  1315.     Dim sRet        As String
  1316.     Dim i           As Integer
  1317.  
  1318.     sIniName = "VB_SEQ.INI"
  1319.  
  1320.     sSection = "DEVICES"
  1321.     sParamName = "In"
  1322.     sRet = Ini_Read(sIniName, sSection, sParamName)
  1323.  
  1324.     If sRet = "" Or cboMidiIn.ListCount <= Val(sRet) Then
  1325.         'Open last Midi In Device
  1326.         cboMidiIn.ListIndex = cboMidiIn.ListCount - 1
  1327.     Else
  1328.         cboMidiIn.ListIndex = Val(sRet)
  1329.     End If
  1330.  
  1331.     sParamName = "Out"
  1332.     sRet = Ini_Read(sIniName, sSection, sParamName)
  1333.     
  1334.     If sRet = "" Or cboMidiOut.ListCount <= Val(sRet) Then
  1335.         'Open last Midi In Device
  1336.         cboMidiOut.ListIndex = cboMidiOut.ListCount - 1
  1337.     Else
  1338.         cboMidiOut.ListIndex = Val(sRet)
  1339.     End If
  1340.  
  1341.     sSection = "MTC"
  1342.     sParamName = "Mode"
  1343.     sRet = Ini_Read(sIniName, sSection, sParamName)
  1344.         
  1345.     If sRet = "" Then
  1346.         mnuOptionsFrameModeSet_Click (1)   '25 f/s
  1347.     Else
  1348.         mnuOptionsFrameModeSet_Click (Val(sRet))
  1349.     End If
  1350.     
  1351.     sParamName = "Sync"
  1352.     sRet = Ini_Read(sIniName, sSection, sParamName)
  1353.         
  1354.     If sRet = "" Or sRet = "Internal" Then
  1355.         lblSync.Caption = "Internal"
  1356.         nSyncMode = SYNC_INTERNAL
  1357.         lblSync.BackColor = WHITE
  1358.         lblSync.ForeColor = DARKBLUE
  1359.     Else
  1360.         lblSync.Caption = "External"
  1361.         nSyncMode = SYNC_EXTERNAL
  1362.         lblSync.BackColor = DARKBLUE
  1363.         lblSync.ForeColor = WHITE
  1364.     End If
  1365.     
  1366.     sSection = "OPTIONS"
  1367.     sParamName = "MidiThru"
  1368.     sRet = Ini_Read(sIniName, sSection, sParamName)
  1369.  
  1370.     If sRet = "" Or sRet = "Yes" Then
  1371.         mnuOptionsMidiThru.Checked = True
  1372.         bMidiThru = True
  1373.     Else
  1374.         mnuOptionsMidiThru.Checked = False
  1375.         bMidiThru = False
  1376.     End If
  1377.  
  1378.     sParamName = "MtcThru"
  1379.     sRet = Ini_Read(sIniName, sSection, sParamName)
  1380.  
  1381.     If sRet = "" Or sRet = "Yes" Then
  1382.         mnuOptionsMtcThru.Checked = True
  1383.         bMtcThru = True
  1384.     Else
  1385.         mnuOptionsMtcThru.Checked = False
  1386.         bMtcThru = False
  1387.     End If
  1388.  
  1389.     sParamName = "MtcOut"
  1390.     sRet = Ini_Read(sIniName, sSection, sParamName)
  1391.  
  1392.     If sRet = "" Or sRet = "Yes" Then
  1393.         mnuOptionsMtcOut.Checked = True
  1394.         bMtcOut = True
  1395.     Else
  1396.         mnuOptionsMtcOut.Checked = False
  1397.         bMtcOut = False
  1398.     End If
  1399.  
  1400.     sSection = "VISUALIZE"
  1401.     sParamName = "Clock"
  1402.     sRet = Ini_Read(sIniName, sSection, sParamName)
  1403.  
  1404.     If sRet = "" Or sRet = "Yes" Then
  1405.         mnuVisualClock.Checked = True
  1406.         bVisualClock = True
  1407.     Else
  1408.         mnuVisualClock.Checked = False
  1409.         bVisualClock = False
  1410.     End If
  1411.  
  1412.     sParamName = "MidiData"
  1413.     sRet = Ini_Read(sIniName, sSection, sParamName)
  1414.  
  1415.     If sRet = "" Or sRet = "Yes" Then
  1416.         mnuVisualData.Checked = True
  1417.         bVisualData = True
  1418.     Else
  1419.         mnuVisualData.Checked = False
  1420.         bVisualData = False
  1421.     End If
  1422.  
  1423.     sParamName = "MTC"
  1424.     sRet = Ini_Read(sIniName, sSection, sParamName)
  1425.  
  1426.     If sRet = "" Or sRet = "Yes" Then
  1427.         mnuVisualMtc.Checked = True
  1428.         bVisualMtc = True
  1429.     Else
  1430.         mnuVisualMtc.Checked = False
  1431.         bVisualMtc = False
  1432.     End If
  1433.  
  1434.     sSection = "SEQUENCER"
  1435.     sParamName = "Channel"
  1436.     sRet = Ini_Read(sIniName, sSection, sParamName)
  1437.  
  1438.     nSeqChannel = Val(sRet)
  1439.     lblChannel = CStr(nSeqChannel + 1)
  1440.  
  1441.     sParamName = "Program"
  1442.     For i = 0 To 15
  1443.         sParamName = sParamName & CStr(i)
  1444.         sRet = Ini_Read(sIniName, sSection, sParamName)
  1445.         aSeqProgram(i) = Val(sRet)
  1446.     Next i
  1447.     lblProgram = CStr(aSeqProgram(nSeqChannel))
  1448. End Sub
  1449.  
  1450. Sub MyIni_Write ()
  1451.     Dim sIniName    As String
  1452.     Dim sSection    As String
  1453.     Dim sParamName  As String
  1454.     Dim sParamValue As String
  1455.     Dim i           As Integer
  1456.  
  1457.     sIniName = "VB_SEQ.INI"
  1458.     sSection = "DEVICES"
  1459.  
  1460.     sParamName = "In"
  1461.     sParamValue = CStr(frmVBSeq.cboMidiIn.ListIndex)
  1462.     Call Ini_Write(sIniName, sSection, sParamName, sParamValue)
  1463.  
  1464.     sParamName = "Out"
  1465.     sParamValue = CStr(frmVBSeq.cboMidiOut.ListIndex)
  1466.     Call Ini_Write(sIniName, sSection, sParamName, sParamValue)
  1467.  
  1468.     sSection = "MTC"
  1469.     sParamName = "Mode"
  1470.     sParamValue = CStr(nMtcMode)
  1471.     Call Ini_Write(sIniName, sSection, sParamName, sParamValue)
  1472.  
  1473.     sParamName = "Sync"
  1474.     If nSyncMode = SYNC_INTERNAL Then
  1475.         sParamValue = "Internal"
  1476.     Else
  1477.         sParamValue = "External"
  1478.     End If
  1479.     Call Ini_Write(sIniName, sSection, sParamName, sParamValue)
  1480.  
  1481.     sSection = "OPTIONS"
  1482.     sParamName = "MidiThru"
  1483.     If bMidiThru = True Then
  1484.         sParamValue = "Yes"
  1485.     Else
  1486.         sParamValue = "No"
  1487.     End If
  1488.     Call Ini_Write(sIniName, sSection, sParamName, sParamValue)
  1489.  
  1490.     sParamName = "MtcThru"
  1491.     If bMtcThru = True Then
  1492.         sParamValue = "Yes"
  1493.     Else
  1494.         sParamValue = "No"
  1495.     End If
  1496.     Call Ini_Write(sIniName, sSection, sParamName, sParamValue)
  1497.  
  1498.     sParamName = "MtcOut"
  1499.     If bMtcOut = True Then
  1500.         sParamValue = "Yes"
  1501.     Else
  1502.         sParamValue = "No"
  1503.     End If
  1504.     Call Ini_Write(sIniName, sSection, sParamName, sParamValue)
  1505.  
  1506.     sSection = "VISUALIZE"
  1507.     sParamName = "Clock"
  1508.     If bVisualClock = True Then
  1509.         sParamValue = "Yes"
  1510.     Else
  1511.         sParamValue = "No"
  1512.     End If
  1513.     Call Ini_Write(sIniName, sSection, sParamName, sParamValue)
  1514.  
  1515.     sParamName = "MidiData"
  1516.     If bVisualData = True Then
  1517.         sParamValue = "Yes"
  1518.     Else
  1519.         sParamValue = "No"
  1520.     End If
  1521.     Call Ini_Write(sIniName, sSection, sParamName, sParamValue)
  1522.  
  1523.     sParamName = "MTC"
  1524.     If bVisualMtc = True Then
  1525.         sParamValue = "Yes"
  1526.     Else
  1527.         sParamValue = "No"
  1528.     End If
  1529.     Call Ini_Write(sIniName, sSection, sParamName, sParamValue)
  1530.  
  1531.     sSection = "SEQUENCER"
  1532.     sParamName = "Channel"
  1533.     sParamValue = CStr(nSeqChannel)
  1534.     Call Ini_Write(sIniName, sSection, sParamName, sParamValue)
  1535.  
  1536.     sParamName = "Program"
  1537.     For i = 0 To 15
  1538.         sParamName = sParamName & CStr(i)
  1539.         sParamValue = CStr(aSeqProgram(i))
  1540.         Call Ini_Write(sIniName, sSection, sParamName, sParamValue)
  1541.     Next i
  1542. End Sub
  1543.  
  1544. Sub Start_Play ()
  1545.         mnuFile.Enabled = False
  1546.         mnuOptions.Enabled = False
  1547.         mnuVisual.Enabled = False
  1548.  
  1549.         cboMidiIn.Enabled = False
  1550.         cboMidiOut.Enabled = False
  1551.     
  1552.         If nSyncMode = SYNC_INTERNAL Then
  1553.             Call Play_Internal
  1554.         Else
  1555.             Call Play_External
  1556.         End If
  1557.     
  1558.         cboMidiIn.Enabled = True
  1559.         cboMidiOut.Enabled = True
  1560.     
  1561.         mnuFile.Enabled = True
  1562.         mnuOptions.Enabled = True
  1563.         mnuVisual.Enabled = True
  1564. End Sub
  1565.  
  1566. Sub Start_Rec ()
  1567.     'If already playing or recording -> do nothing
  1568.     If bStop = False Then Exit Sub
  1569.  
  1570.     'If buffer not empty confirm loss of data
  1571.     If nRecCounter > 0 Then
  1572.         If Dlg_YesNo("Erase recorded MIDI messages?") = False Then Exit Sub
  1573.     End If
  1574.  
  1575.     sFileName = "?"
  1576.  
  1577.     mnuFile.Enabled = False
  1578.     mnuOptions.Enabled = False
  1579.     mnuVisual.Enabled = False
  1580.  
  1581.     cboMidiIn.Enabled = False
  1582.     cboMidiOut.Enabled = False
  1583.  
  1584.     If nSyncMode = SYNC_INTERNAL Then
  1585.         Call Rec_Internal
  1586.     Else
  1587.         Call Rec_External
  1588.     End If
  1589.  
  1590.     cboMidiIn.Enabled = True
  1591.     cboMidiOut.Enabled = True
  1592.  
  1593.     mnuFile.Enabled = True
  1594.     mnuOptions.Enabled = True
  1595.     mnuVisual.Enabled = True
  1596. End Sub
  1597.  
  1598. Sub tmrActualize_Timer ()
  1599.     Dim sFname As String
  1600.     Dim lTime As Long
  1601.     
  1602.     'Current system time
  1603.     lTime = timeGetTime()
  1604.  
  1605.     'Check if leds must be switched off
  1606.     '(250 ms. elapsed since switch on time)
  1607.  
  1608.     If picMtcIn.BackColor = LED_ON Then
  1609.         If lTime - lMtcInTime >= 250 Then
  1610.             picMtcIn.BackColor = LED_OFF
  1611.         End If
  1612.     End If
  1613.  
  1614.     If picMtcOut.BackColor = LED_ON Then
  1615.         If lTime - lMtcOutTime >= 250 Then
  1616.             picMtcOut.BackColor = LED_OFF
  1617.         End If
  1618.     End If
  1619.  
  1620.     If picDataIn.BackColor = LED_ON Then
  1621.         If lTime - lDataInTime >= 250 Then
  1622.             picDataIn.BackColor = LED_OFF
  1623.         End If
  1624.     End If
  1625.  
  1626.     If picDataOut.BackColor = LED_ON Then
  1627.         If lTime - lDataOutTime >= 250 Then
  1628.             picDataOut.BackColor = LED_OFF
  1629.         End If
  1630.     End If
  1631.  
  1632.     'Update FileName
  1633.     sFname = "FILE : " & sFileName
  1634.     If pnlFileName.Caption <> sFname Then
  1635.         pnlFileName.Caption = sFname
  1636.     End If
  1637.  
  1638. End Sub
  1639.  
  1640.