⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frmlivefx.frm

📁 bass player system api c++
💻 FRM
字号:
VERSION 5.00
Object = "{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0"; "mscomctl.ocx"
Begin VB.Form frmLiveFX 
   BorderStyle     =   3  'Fixed Dialog
   Caption         =   "BASS full-duplex recording test with effects"
   ClientHeight    =   795
   ClientLeft      =   45
   ClientTop       =   435
   ClientWidth     =   4965
   LinkTopic       =   "Form1"
   MaxButton       =   0   'False
   MinButton       =   0   'False
   ScaleHeight     =   795
   ScaleWidth      =   4965
   StartUpPosition =   2  'CenterScreen
   Begin VB.Timer tmrLiveFX 
      Enabled         =   0   'False
      Interval        =   250
      Left            =   3600
      Top             =   360
   End
   Begin VB.CheckBox chkFlanger 
      Caption         =   "Flanger"
      Height          =   195
      Left            =   3960
      TabIndex        =   7
      Top             =   480
      Width           =   975
   End
   Begin VB.CheckBox chkReverb 
      Caption         =   "Reverb"
      Height          =   195
      Left            =   3960
      TabIndex        =   6
      Top             =   120
      Width           =   975
   End
   Begin VB.CheckBox chkGargle 
      Caption         =   "Gargle"
      Height          =   195
      Left            =   2880
      TabIndex        =   5
      Top             =   480
      Width           =   975
   End
   Begin VB.CheckBox chkChorus 
      Caption         =   "Chorus"
      Height          =   195
      Left            =   2880
      TabIndex        =   4
      Top             =   120
      Width           =   975
   End
   Begin VB.ComboBox cmbSelChange 
      Height          =   315
      Left            =   120
      Style           =   2  'Dropdown List
      TabIndex        =   0
      Top             =   120
      Width           =   1455
   End
   Begin MSComctlLib.Slider sLevel 
      Height          =   315
      Left            =   0
      TabIndex        =   1
      Top             =   480
      Width           =   1695
      _ExtentX        =   2990
      _ExtentY        =   556
      _Version        =   393216
      Max             =   100
      TickStyle       =   3
   End
   Begin VB.Label lblLatency 
      Alignment       =   2  'Center
      BorderStyle     =   1  'Fixed Single
      Height          =   315
      Left            =   1800
      TabIndex        =   3
      Top             =   320
      Width           =   885
   End
   Begin VB.Label lblLtc 
      Alignment       =   2  'Center
      AutoSize        =   -1  'True
      Caption         =   "latency"
      Height          =   195
      Left            =   1800
      TabIndex        =   2
      Top             =   40
      Width           =   885
   End
End
Attribute VB_Name = "frmLiveFX"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
'///////////////////////////////////////////////////////////////////////////////
' frmLiveFX.frm - Copyright (c) 2002-2007 (: JOBnik! :) [Arthur Aminov, ISRAEL]
'                                                       [http://www.jobnik.org]
'                                                       [  jobnik@jobnik.org  ]
'
' Other source: modLiveFX.bas
'
' BASS full-duplex recording test with effects
' Originally translated from - livefx.c - Example of Ian Luck
'///////////////////////////////////////////////////////////////////////////////

Option Explicit

Private Sub Form_Load()
    ' change and set the current path, to prevent from VB not finding BASS.DLL
    ChDrive App.Path
    ChDir App.Path
    
    ' check the correct BASS was loaded
    If (HiWord(BASS_GetVersion) <> BASSVERSION) Then
        Call MsgBox("An incorrect version of BASS.DLL was loaded", vbCritical)
        End
    End If

    Call MsgBox("Do not set the input to 'WAVE' / 'What you hear' (etc...) with" & vbCrLf & _
                "the level set high, as that is likely to result in nasty feedback.", vbExclamation, "Feedback warning")
                
    If (Not Initialize) Then Unload Me
    tmrLiveFX.Enabled = True
End Sub

Private Sub Form_Unload(Cancel As Integer)
    tmrLiveFX.Enabled = False
    ' release it all
    Call BASS_RecordFree
    Call BASS_Free
    End
End Sub

Private Sub chkChorus_Click()
    If (fx(0)) Then
        Call BASS_ChannelRemoveFX(chan, fx(0))
        fx(0) = 0
    Else
        fx(0) = BASS_ChannelSetFX(chan, BASS_FX_DX8_CHORUS, 0)
    End If
End Sub

Private Sub chkGargle_Click()
    If (fx(1)) Then
        Call BASS_ChannelRemoveFX(chan, fx(1))
        fx(1) = 0
    Else
        fx(1) = BASS_ChannelSetFX(chan, BASS_FX_DX8_GARGLE, 0)
    End If
End Sub

Private Sub chkReverb_Click()
    If (fx(2)) Then
        Call BASS_ChannelRemoveFX(chan, fx(2))
        fx(2) = 0
    Else
        fx(2) = BASS_ChannelSetFX(chan, BASS_FX_DX8_REVERB, 0)
    End If
End Sub

Private Sub chkFlanger_Click()
    If (fx(3)) Then
        Call BASS_ChannelRemoveFX(chan, fx(3))
        fx(3) = 0
    Else
        fx(3) = BASS_ChannelSetFX(chan, BASS_FX_DX8_FLANGER, 0)
    End If
End Sub

' input selection changed
Private Sub cmbSelChange_Click()
    Dim i As Integer
    Dim level As Single
    
    input_ = cmbSelChange.ListIndex ' get the selection
    
    For i = 0 To cmbSelChange.ListCount - 1
        Call BASS_RecordSetInput(i, BASS_INPUT_OFF, -1)    ' 1st disable all inputs, then...
    Next i
    
    Call BASS_RecordSetInput(input_, BASS_INPUT_ON, -1) ' enable the selected input
    Call BASS_RecordGetInput(input_, level)  ' get the level
    sLevel.value = level * 100
End Sub

' set input source level
Private Sub sLevel_Scroll()
    Dim level As Single
    level = sLevel.value / 100
    If (BASS_RecordSetInput(input_, 0, level) = 0) Then ' failed to set input level
        Call BASS_RecordSetInput(-1, 0, level) ' try master level instead
    End If
End Sub

Private Sub tmrLiveFX_Timer()
    ' display current latency (input+output buffer level)
    latency = (latency * 3 + BASS_ChannelGetData(chan, 0, BASS_DATA_AVAILABLE) _
        + BASS_ChannelGetData(rchan, 0, BASS_DATA_AVAILABLE)) / 4
    lblLatency.Caption = CInt(latency * 1000 / 176400)
End Sub

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -