home *** CD-ROM | disk | FTP | other *** search
/ Planet Source Code Jumbo …e CD Visual Basic 1 to 7 / 5_2007-2008.ISO / data / Zips / Music_Synt2042801162007.psc / Forms / frmEnvelope.frm next >
Text File  |  2007-01-17  |  3KB  |  120 lines

  1. VERSION 5.00
  2. Begin VB.Form frmEnvelope 
  3.    Caption         =   "Music Synthesis [Envelope Editor]"
  4.    ClientHeight    =   4950
  5.    ClientLeft      =   60
  6.    ClientTop       =   345
  7.    ClientWidth     =   8910
  8.    LinkTopic       =   "Form1"
  9.    ScaleHeight     =   4950
  10.    ScaleWidth      =   8910
  11.    StartUpPosition =   1  'CenterOwner
  12.    Begin Synthesis.SeqEditor EnvelopeEdit 
  13.       Height          =   3855
  14.       Left            =   2280
  15.       Top             =   360
  16.       Width           =   6375
  17.       _ExtentX        =   11245
  18.       _ExtentY        =   6800
  19.    End
  20.    Begin VB.CommandButton btnSave 
  21.       Caption         =   "Save"
  22.       Height          =   375
  23.       Left            =   3240
  24.       TabIndex        =   1
  25.       Top             =   4440
  26.       Width           =   975
  27.    End
  28.    Begin VB.TextBox Text1 
  29.       Height          =   375
  30.       Left            =   4200
  31.       TabIndex        =   3
  32.       Top             =   4440
  33.       Width           =   4695
  34.    End
  35.    Begin VB.CommandButton btnLoad 
  36.       Caption         =   "Load"
  37.       Height          =   375
  38.       Left            =   2280
  39.       TabIndex        =   2
  40.       Top             =   4440
  41.       Width           =   975
  42.    End
  43.    Begin VB.FileListBox File1 
  44.       Height          =   4770
  45.       Left            =   0
  46.       Pattern         =   "*.env"
  47.       TabIndex        =   0
  48.       Top             =   120
  49.       Width           =   2175
  50.    End
  51. End
  52. Attribute VB_Name = "frmEnvelope"
  53. Attribute VB_GlobalNameSpace = False
  54. Attribute VB_Creatable = False
  55. Attribute VB_PredeclaredId = True
  56. Attribute VB_Exposed = False
  57. Const LastPoint = 100
  58. Dim Envelope(1 To 100)           As Single       ' We use 100 point envelope
  59. Dim EnvFile As Integer
  60.  
  61. Private Sub EnvelopeEdit_MouseMove(Button As Integer, Column As Integer, Row As Integer, CellDifference As Single)
  62.     If Button = vbLeftButton Then
  63.     EnvelopeEdit.DrawNote Column, Row, 0.25
  64.     Envelope(Column) = Row
  65.     End If
  66. End Sub
  67.  
  68. Private Sub Form_Load()
  69.  
  70.     EnvelopeEdit.Columns = 100
  71.     EnvelopeEdit.Rows = 100
  72.     
  73. End Sub
  74.  
  75. Sub LoadEnvelope(FileName)
  76.  
  77.     EnvFile = FreeFile
  78.     Open FileName For Input As EnvFile
  79.     For i = 1 To LastPoint
  80.     Input #EnvFile, Envelope(i)
  81.     Envelope(i) = 100 - Envelope(i) * 100
  82.     Next
  83.     Close
  84.  
  85. End Sub
  86.  
  87. Sub SaveEnvelope(FileName)
  88.  
  89.     EnvFile = FreeFile
  90.     FileName = App.Path & "\Envelopes\Experiment.env"
  91.     Open FileName For Output As EnvFile
  92.     For i = 1 To LastPoint
  93.     Print #EnvFile, 1 - Envelope(i) / 100
  94.     Next
  95.     Close
  96.     
  97. End Sub
  98.  
  99. Private Sub btnSave_Click()
  100.  
  101.     SaveEnvelope App.Path & "\Envelopes\Experiment.env"
  102.  
  103. End Sub
  104.  
  105. Private Sub btnLoad_Click()
  106.  
  107.     LoadEnvelope App.Path & "\Envelopes\Experiment.env"
  108.     RefreshEditor
  109.  
  110. End Sub
  111.  
  112. Function RefreshEditor()
  113.  
  114.     For i = 1 To LastPoint
  115.     EnvelopeEdit.DrawNote CInt(i), CInt(Envelope(i)), 0.25
  116.     Next
  117.  
  118. End Function
  119.  
  120.