26 May '13 - 08:26 *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
 
  Home Help Search Login Register  
  Show Posts
Pages: [1] 2 3 ... 5
1  Developments / BASS / Re: Direct bass : Vb.net on: 12 Jan '13 - 02:42
GetCode: MciSound Module

Module MCImod
    Private Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Integer, ByVal hwndCallback As Integer) As Integer
    Private Declare Function mciGetErrorString Lib "winmm.dll" Alias "mciGetErrorStringA" (ByVal dwError As Integer, ByVal lpstrBuffer As String, ByVal uLength As Integer) As Integer
    Private rlBuff As Integer = 128
    Private returnData As String = Space(rlBuff)
    Public Function CloseFile() As Integer
        Return mciSendString("close song", 0, 0, 0)
    End Function
    Public Function LoadFile(ByVal fileName As String) As String
        Dim ret As String = fileName
        mciSendString("open " & Chr(34) & fileName & Chr(34) & " type mpegvideo alias song", 0, 0, 0)
        Return ret
    End Function
    Public Function PlayFile() As Integer
        Return mciSendString("play song", 0, 0, 0)
    End Function
    Public Function PauseFile() As Integer
        Return mciSendString("pause song", 0, 0, 0)
    End Function
    Public Function ResumeFile() As Integer
        Return mciSendString("resume song", 0, 0, 0)
    End Function
    Public Function StopFile() As Integer
        If MciPlayState() = "Playing.." Then
            Return mciSendString("stop song", 0, 0, 0)
        End If
    End Function
    Public Function MciGetTickStyleFrequencyPosition()  'Set Scale trackBar.
        Return (MciGetLength() / 100) * 10
    End Function
    Public Function MciScrollPosition(ByVal inttrackPos As TrackBar) As Integer
        If MciPlayState() = "Playing.." Then
            Return mciSendString("play song from " & (inttrackPos.Value), 0, 0, 0)
        Else
            Return mciSendString("seek song to " & (inttrackPos.Value), 0, 0, 0)
        End If
    End Function
    Public Function MciPercentPosition()
        Dim pos As Integer = MciGetPosition()
        Dim len As Integer = MciGetLength()
        Return Math.Round((pos / len) * 100)
    End Function
    Public Function MciTimePositionString() As String
        Dim tSpan As TimeSpan
        Dim ret As String
        tSpan = TimeSpan.FromSeconds(MciByteToSecound(MciGetPosition))
        ret = tSpan.ToString
        Return ret
    End Function
    Public Function MciTimeDurationString() As String
        Dim tSpan As TimeSpan
        Dim ret As String
        tSpan = TimeSpan.FromSeconds(MciByteToSecound(MciGetLength))
        ret = tSpan.ToString
        Return ret
    End Function
    Public Function MciTimeFormat(ByVal intSound As Integer, ByVal strStyle As String) As String
        Return Format(intSound, strStyle)
    End Function
    Public Function MciVolume(ByVal nVol As TrackBar) As Integer
        Dim vol As Double = (nVol.Value * 10)
        Return mciSendString("setaudio song volume to " & (vol), 0, 0, 0)
    End Function
    Public Function MciGetLength() As Integer
        mciSendString("status song length", returnData, 128, 0)
        Return Val(returnData)
    End Function
    Public Function MciGetPosition() As Integer
        mciSendString("status song position", returnData, 128, 0)
        Return Val(returnData)
    End Function
    Public Function MciByteToSecound(ByVal posByte As Integer) As Integer
        Return Math.Round((posByte / 66000) * 60)
    End Function
    Public Function MciSecoundToByte(ByVal posByte As Integer) As Integer
        Return Math.Round((posByte * 66000) / 60)
    End Function
    Public Function MciGetMaxPosition() As Integer
        Return MciGetLength()
    End Function
    Public Function MciPlayState() As String
        Dim ActiveState As String = Nothing
        mciSendString("status song mode", returnData, rlBuff, 0)
        Dim ret As String = returnData.Substring(0, 7)
        Select Case ret
            Case "playing"
                ActiveState = "Playing.."
            Case Else
                ActiveState = "Stopped"
        End Select
        Return ActiveState
    End Function
End Module

Example: MciSound Player

Public Class MciSound
    Private fileDlg As New OpenFileDialog
    Private time As New Timer
    Private file As String
    Public Sub New()
        Me.CenterToScreen()
        InitializeComponent()
        TrackBar1.AutoSize = False
        TrackBar2.Maximum = 100
        TrackBar2.Value = TrackBar2.Maximum
        TrackBar2.TickFrequency = (TrackBar2.Value / 10)
        fileDlg.FileName = Nothing
        fileDlg.Filter = "Song File(*.mp3;*.wav)|*.mp3;*.wav"
        AddHandler time.Tick, AddressOf time_Tick
    End Sub
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        If fileDlg.ShowDialog = Windows.Forms.DialogResult.Cancel Then Return
    End Sub
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        If fileDlg.FileName = Nothing Then Return
        If Strings.InStr(Button3.Text, "Resume") Then Button3.Text = "Pause"
        CloseFile()
        file = fileDlg.FileName
        LoadFile(file)
        Label5.Text = My.Computer.FileSystem.GetName(file)
        TrackBar1.Maximum = MciGetMaxPosition()
        TrackBar1.TickFrequency = MciGetTickStyleFrequencyPosition()
        PlayFile()
        time.Enabled = True
    End Sub
    Public Sub time_Tick(ByVal sender As Object, ByVal e As EventArgs)
        Label1.Text = MciPlayState()
        Label2.Text = String.Concat(MciPercentPosition(), "%")
        Label3.Text = MciTimeDurationString()
        Label4.Text = MciTimePositionString()
        Try
            TrackBar1.Value = MciGetPosition()
        Catch ex As Exception
        End Try
        If MciPercentPosition() >= 100 Then
            Label1.Text = "Song Ended"
            ControlReset()
        Else
            If MciPlayState() = "Stopped" Then
                ControlReset()
            End If
        End If
    End Sub
    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        If Strings.InStr(Label1.Text, "Stopped") Or Strings.InStr(Label1.Text, "Song Ended") Then Return
        If file = Nothing Then Return
        Select Case Button3.Text
            Case "Pause"
                PauseFile()
                time.Enabled = False
                Button3.Text = "Resume"
                If Strings.InStr(Button3.Text, "Resume") Then
                    Label1.Text = "Paused"
                End If
            Case Else
                ResumeFile()
                Button3.Text = "Pause"
                time.Enabled = True
        End Select
    End Sub
    Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
        If file = Nothing Then Return
        If Strings.InStr(Label1.Text, "Song Ended") Then Return
        StopFile()
        If MciPlayState() = "Playing.." Or Strings.InStr(Label1.Text, "Paused") Then
            If Strings.InStr(Label1.Text, "Paused") Then
                Label1.Text = "Stopped"
                If Strings.InStr(Button3.Text, "Resume") Then Button3.Text = "Paused"
            End If
        Else
            TrackBar1.Value = TrackBar1.Minimum
            Label1.Text = "Stopped"
             ControlReset()
        End If
    End Sub
    Private Sub TrackBar1_Scroll(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TrackBar1.Scroll
        MciScrollPosition(TrackBar1)
    End Sub
    Private Sub TrackBar2_Scroll(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TrackBar2.Scroll
        MciVolume(TrackBar2)
    End Sub
    Public Sub ControlReset()
        time.Enabled = False
        TrackBar1.Value = TrackBar1.Minimum
        Label2.Text = TrackBar1.Value.ToString
        Label4.Text = MciTimeFormat(0, "00:00:00")
        Return
    End Sub
End Class


ReplyReply Reply with quoteQuote
2  Developments / BASS / Re: Direct bass : Vb.net on: 29 Dec '12 - 19:41
Get code: SoundDirListBox Grin Easy for select open songs player.

Add DriveListBox Control Component.
Add DirListBox Control Component.
Add FileListBox Control Component.
Add Windows Media Player Control Component.

Writting code now.

Full code Example:
Public Class Form1
    Private AxWindowsMediaPlayer1 As New AxWMPLib.AxWindowsMediaPlayer
    Private Label1 As New System.Windows.Forms.Label
    Public Sub New()
        MyBase.New()
        InitializeComponent()
        Label1.Text = "Path:"
        Label1.SetBounds(12, 17, 39, 13)
        Label1.AutoSize = True
        Me.Text = "Files List Media Player"
        Me.Size = New Size(300, 250)
        Me.MaximizeBox = False
        Me.AutoSizeMode = Windows.Forms.AutoSizeMode.GrowAndShrink
        Me.CenterToScreen()
        AxWindowsMediaPlayer1.SetBounds(0, 172, 300, 45)
        Me.Controls.AddRange(New Control() {Label1, AxWindowsMediaPlayer1})
    End Sub
    Private Sub DriveListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DriveListBox1.SelectedIndexChanged
        Try
            Dim Index As Integer = DriveListBox1.SelectedIndex.ToString
            DirListBox1.SetSelected(Index, False)
            DirListBox1.Path = DriveListBox1.Drive.ToString
        Catch ex As Exception
        End Try
    End Sub
    Private Sub DirListBox1_MouseDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles DirListBox1.MouseDoubleClick
        Try
            Dim Index As Integer = DirListBox1.SelectedIndex.ToString
            DirListBox1.SetSelected(Index, True)
        Catch ex As Exception
        End Try
    End Sub
    Private Sub DirListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DirListBox1.SelectedIndexChanged
        Try
            FileListBox1.Path = DirListBox1.Path
            Label1.Text = String.Concat("Path: ", DirListBox1.Path.ToString)
        Catch ex As Exception
        End Try
    End Sub
    Private Sub FileListBox1_MouseDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles FileListBox1.MouseDoubleClick
        Try
            If Strings.InStr(Make3Path(DirListBox1.Path.ToString, FileListBox1.SelectedItem.ToString, ""), ".mp3") Then
                AxWindowsMediaPlayer1.URL = Make3Path(DirListBox1.Path.ToString, FileListBox1.SelectedItem.ToString, "")
            Else
                Process.Start(Make3Path(DirListBox1.Path.ToString, FileListBox1.SelectedItem.ToString, ""))
            End If
        Catch ex As Exception
        End Try
    End Sub
    Private Sub FileListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles FileListBox1.SelectedIndexChanged
        Try
            Label1.Text = Make3Path("Path: " & DirListBox1.Path.ToString, FileListBox1.SelectedItem.ToString, "")
        Catch ex As Exception
        End Try
    End Sub
    Public Shared Function Make3Path(ByVal PathName1 As String, ByVal PathName2 As String, ByVal PathName3 As String) As String
        Dim fullPath As String = Nothing
        Try
            If PathName2 = String.Empty Then
                fullPath = PathName1
            ElseIf PathName3 = String.Empty Then
                fullPath = String.Concat(PathName1, "\", PathName2)
            Else
                fullPath = String.Concat(PathName1, "\", PathName2, "\", PathName3)
            End If
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
        Return fullPath
    End Function
End Class
ReplyReply Reply with quoteQuote
3  Developments / BASS / Re: Direct bass : Vb.net on: 29 Dec '12 - 19:18
Get code: MciTimeFormat Grin Can selected 3 styles is.. 00 or 00:00 or 00:00:00


Public Shared Function MciTimeFormat(ByVal posByte As Integer, ByVal formatStyle As String) As String
   Return Format(MciByteToSecound(posByte), formatStyle)
End Function

Example:
lblDuration.Text = MciTimeFormat(MciGetLength, "00:00")
lblPosition.Text = MciTimeFormat(MciGetPosition, "00:00")
ReplyReply Reply with quoteQuote
4  Developments / BASS / Re: Direct bass : Vb.net on: 29 Dec '12 - 16:38
Get code: MciSecoundToByte Grin SameAs ChannelSecoundToByte

Public Shared Function MciSecoundToByte(ByVal posByte As Integer) As Integer  'SameAsChannelByteToSecound
   Return CInt(System.Math.Round(System.Math.Round(((CDbl(posByte)) * 66000) / 60)))
End Function

SampleTest:
Public Class Form1
    Private Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Integer, ByVal hwndCallback As Integer) As Integer
    Private fildlg As New System.Windows.Forms.OpenFileDialog
    Private btnPOL As New System.Windows.Forms.Button
    Private lblBtS As New System.Windows.Forms.Label
    Private lblStB As New System.Windows.Forms.Label
    Private Shared returnData As String
    Private Shared buff As Integer
    Public Sub New()
        Me.CenterToScreen()
        InitializeComponent()
        btnPOL.Text = "PlayOnLoad"
        btnPOL.Location = New Point(100, 100)
        lblBtS.Text = "ByteToSecound = "
        lblStB.Text = "SecoundToByte = "
        lblBtS.Location = New Point(50, 150)
        lblStB.Location = New Point(50, 180)
        lblBtS.AutoSize = True
        lblStB.AutoSize = True
        Me.Controls.AddRange(New Control() {btnPOL, lblBtS, lblStB})
        fildlg.FileName = Nothing
        fildlg.Filter = "Song file(*.mp3)|*.mp3"
        returnData = Space(128)
        buff = 128
        AddHandler btnPOL.Click, AddressOf btnPOL_Click
    End Sub
    Private Sub btnPOL_Click(ByVal sender As Object, ByVal e As EventArgs)
        If fildlg.ShowDialog = Windows.Forms.DialogResult.OK Then
            CloseFile()
            LoadFile(fildlg.FileName)
            lblBtS.Text = String.Concat("ByteToSecound = ", MciByteToSecound(MciGetLength), " Secounds")
            lblStB.Text = String.Concat("SecoundToByte = ", MciSecoundToByte(MciGetLength), " Bytes")
            PlayFile()
        End If
    End Sub
    '=========================MciSound Functions=================================================
    Public Shared Function CloseFile() As Integer
        Return mciSendString("close song", 0, 0, 0)
    End Function
    Public Shared Function LoadFile(ByVal fileName As String) As Integer
        Return mciSendString("open " & Chr(34) & fileName & Chr(34) & " type mpegvideo alias song", 0, 0, 0)
    End Function
    Public Shared Function PlayFile() As Integer
        Return mciSendString("play song", 0, 0, 0)
    End Function
    Public Shared Function MciByteToSecound(ByVal posByte As Integer) As Integer
        Return CInt(System.Math.Round(System.Math.Round(((CDbl(posByte)) / 66000) * 60)))
    End Function
    Public Shared Function MciSecoundToByte(ByVal posByte As Integer) As Integer
        Return CInt(System.Math.Round(System.Math.Round(((CDbl(posByte)) * 66000) / 60)))
    End Function
    Public Shared Property MciGetLength()
        Get
            mciSendString("status song length", returnData, buff, 0)
            Return Val(returnData)
        End Get
        Set(ByVal value)
            Dim retData As Integer = Val(returnData)
            retData = value
        End Set
    End Property
End Class
ReplyReply Reply with quoteQuote
5  Developments / BASS / Re: Direct bass : Vb.net on: 29 Dec '12 - 16:04
Get code: MciFixTimeSpan Grin For selected using in time duration or time position.
Public Shared Function MciFixTimeSpan(ByVal posByte As Integer) As String
   Dim tSpan As System.TimeSpan
   tSpan = TimeSpan.FromSeconds(MciByteToSecound(posByte))
   Return tSpan.ToString
End Function

Example:
Lblduration.Text = MciFixTimeSpan(MciGetLength)
Lblposition.Text = MciFixTimeSpan(MciGetPosition)
ReplyReply Reply with quoteQuote
6  Developments / BASS / Re: Direct bass : Vb.net on: 29 Dec '12 - 05:45
Get file MciSound.net.dll. Create by vb.net2008 =http://www.uploadseeds.com/download.php?uid=05MY1F6F

Using: Reference file dll to project solution and Import script functions

Example:
Imports MciSound.net.MciSound
ReplyReply Reply with quoteQuote
7  Developments / BASS / Re: Direct bass : Vb.net on: 19 Dec '12 - 10:51
Get code: mciSendString Sound handle Functions (same as bass handle) Grin

Download: MciSound Sample Project Click here

MciSoundClass:
Public Class MciSoundClass
    Private Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Integer, ByVal hwndCallback As Integer) As Integer
    Private Declare Function mciGetErrorString Lib "winmm.dll" Alias "mciGetErrorStringA" (ByVal dwError As Integer, ByVal lpstrBuffer As String, ByVal uLength As Integer) As Integer
    Private Shared returnData As String = Space(128)
    Private Shared rlBuff As Integer = 128
    Public Shared Function CloseFile() As Integer  'SameAs StreamFree.
        Return mciSendString("close song", 0, 0, 0)
    End Function
    Public Shared Function LoadFile(ByVal fileName As String) As Integer  'SameAs StreamCreateFile.
        Return mciSendString("open " & Chr(34) & fileName & Chr(34) & " type mpegvideo alias song", 0, 0, 0)
    End Function
    Public Shared Function PlayFile() As Integer  'SameAs ChannelPlay.
        Return mciSendString("play song", 0, 0, 0)
    End Function
    Public Shared Function PauseFile() As Integer  'SameAs ChannelPause.
        Return mciSendString("pause song", 0, 0, 0)
    End Function
    Public Shared Function ResumeFile() As Integer  'SameAs ChannelResume.
        Return mciSendString("resume song", 0, 0, 0)
    End Function
    Public Shared Function StopFile() As Integer  'SameAs ChannelStop.
        If MciPlayState = "Playing" Then
            Return mciSendString("stop song", 0, 0, 0)
        End If
    End Function
    Public Shared Function MciGetTickStyleFrequencyPosition()  'Set Scale trackBar.
        Return (MciGetLength() / 100) * 10
    End Function
    Public Shared Function MciScrollPosition(ByVal inttrackPos As TrackBar) As Integer
        If MciPlayState = "Playing" Then
            mciSendString("play song from " & inttrackPos.Value, 0, 0, 0)
        Else
            mciSendString("seek song to " & inttrackPos.Value, 0, 0, 0)
        End If
    End Function
    Public Shared Function MciPercentPosition()
        Dim pos As Integer = MciGetPosition()
        Dim len As Integer = MciGetLength()
        Return Math.Round((pos / len) * 100)
    End Function
    Public Shared Function MciByteToSecound(ByVal posByte As Integer) As Integer   'SameAs ChannelByteToSecound.
        Return Math.Round((posByte / 66000) * 60)
    End Function
    Public Shared Function MciTimePositionString() As String  'SameAs FixTimeSpan.
        Dim tSpan As TimeSpan
        tSpan = TimeSpan.FromSeconds(MciByteToSecound(MciGetPosition))
        Return tSpan.ToString
    End Function
    Public Shared Function MciTimeDurationString() As String  'SameAs FixTimeSpan.
        Dim tSpan As TimeSpan
        tSpan = TimeSpan.FromSeconds(MciByteToSecound(MciGetLength))
        Return tSpan.ToString
    End Function
    Public Shared Function MciVolume(ByVal nVol As TrackBar) As Integer  'SameAs BassVolume.
        Dim vol As Integer = (nVol.Value * 10)
        mciSendString("setaudio song volume to " & vol, 0, 0, 0)
    End Function
    Public Shared Property MciGetLength()  'SameAs ChannelGetLength.
        Get
            mciSendString("status song length", returnData, 128, 0)
            Return Val(returnData)
        End Get
        Set(ByVal value)
            Dim retData As Integer = Val(returnData)
            retData = value
        End Set
    End Property
    Public Shared Property MciGetPosition()  'SameAs ChannelGetPosition.
        Get
            mciSendString("status song position", returnData, 128, 0)
            Return Val(returnData)
        End Get
        Set(ByVal value)
            Dim retData As Integer = Val(returnData)
            retData = value
        End Set
    End Property
    Public Shared ReadOnly Property MciPlayState() As String  'SameAs ChannelIsActive.
        Get
            Dim ActiveState As String
            mciSendString("status song mode", returnData, rlBuff, 0)
            Select Case returnData.Substring(0, 7)
                Case "playing"
                    ActiveState = "Playing"
                Case Else
                    ActiveState = "Stopped"
            End Select
            Return ActiveState
        End Get
    End Property
End Class

Example:
Imports MciSoundSample.MciSoundClass
Public Class Form1
    Private start As Boolean  'Checked State PauseButton.
    Public Sub New()
        Me.CenterToScreen()
        InitializeComponent()
        Me.Text = "mciSendString Functions Sample"
        start = False
        OpenFileDialog1.FileName = Nothing
        OpenFileDialog1.Filter = "Song file (*.mid, *.mp3, *.wav, *wma)|*.mid;*.mp3;*.wav;*.wma"
        btnPause.Text = "Pause"
        trackVol.TickFrequency = 10
        trackVol.Maximum = 100
        trackVol.Value = 100
    End Sub
    Private Sub btnOpen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Timer1.Stop()
        If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
            LoadFile(OpenFileDialog1.FileName)
            LblFilename.Text = My.Computer.FileSystem.GetName(OpenFileDialog1.FileName)
        End If
    End Sub
    Private Sub btnPlay_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        If Strings.InStr(btnPause.Text, "Resume") Then btnPause.Text = "Pause"
        If OpenFileDialog1.FileName = Nothing Then Return
        CloseFile()
        LoadFile(OpenFileDialog1.FileName)
        Lblduration.Text = MciTimeDurationString()
        trackPos.Maximum = MciGetLength()
        trackPos.TickFrequency = MciGetTickStyleFrequencyPosition()
        PlayFile()
        Timer1.Enabled = True
        start = True
    End Sub
    Private Sub btnPause_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPause.Click
        If start = False Then Return
        Select Case btnPause.Text
            Case "Pause"
                btnPause.Text = "Resume"
                PauseFile()
            Case Else
                btnPause.Text = "Pause"
                ResumeFile()
        End Select
    End Sub
    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        LblTextState.Text = MciPlayState()
        trackPos.Value = MciGetPosition()
        Lblpercentage.Text = String.Concat(MciPercentPosition(), "%")
        Lblposition.Text = MciTimePositionString()
        If MciTimePositionString() = MciTimeDurationString() Then
            trackPos.Value = trackPos.Minimum
            Lblpercentage.Text = String.Concat(trackPos.Minimum, "%")
            Lblposition.Text = "00:00:00"
            start = False
            Timer1.Stop()
        End If
    End Sub
    Private Sub btnStop_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
        If Strings.InStr(btnPause.Text, "Resume") Then btnPause.Text = "Pause"
        StopFile()
        start = False
    End Sub
    Private Sub trackPos_Scroll(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles trackPos.Scroll
        MciScrollPosition(trackPos)
    End Sub
    Private Sub trackVol_Scroll(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles trackVol.Scroll
        MciVolume(trackVol)
    End Sub
End Class
ReplyReply Reply with quoteQuote
8  Developments / BASS / Re: Direct bass : Vb.net on: 19 Dec '12 - 10:27
Get code Status Function (ฺBassUn4Seen)

Public Shared Function Status(ByVal handle As Integer) As String
        Dim Stt As String = Nothing
        Select Case Un4seen.Bass.Bass.BASS_ChannelIsActive(handle)
            Case Un4seen.Bass.BASSActive.BASS_ACTIVE_PLAYING
                Stt = "Playing.."
            Case Un4seen.Bass.BASSActive.BASS_ACTIVE_PAUSED
                Stt = "Paused"
            Case Un4seen.Bass.BASSActive.BASS_ACTIVE_STOPPED
                Stt = "Stopped"
            Case Else
                Stt = "Stalled"
        End Select
        Return Stt
    End Function

Example:
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
   Label1.Text = String.Concat("ActiveState: ", Status(strm))
End Sub
ReplyReply Reply with quoteQuote
9  Developments / BASS / Re: Direct bass : Vb.net on: 17 Dec '12 - 14:38
Tip: Fix error! current progress value Level meter

Used song level/33525 For balance signal level meter and *100

Setting properties:
min progress value = 0
max progress value = 100
Timer interval default = 40
peak is filter by highWord and lowWord of BASS_ChannelGetLevel()

Private Function LevelCurrentProgress(ByVal peak As Double)
        Dim v_peak As Double
        Dim limitValue As Integer = 100
        Try
            v_peak = ((peak / 33525) * 100)
        Catch ex As Exception
            peak = limitValue
        End Try
        Return v_peak
    End Function

Example:
ProgressBar1.Value = CInt(LevelCurrentProgress(peakL))
ProgressBar2.Value = CInt(LevelCurrentProgress(peakR))
ReplyReply Reply with quoteQuote
10  Developments / BASS / Re: Direct bass : Vb.net on: 17 Dec '12 - 10:22
The following error or errors occurred while posting this message:
The message exceeds the maximum allowed length (12000 characters).

VuMeter Class: Download
http://www.tempfiles.net/download/201212/276692/VU_MeterLibrary.html


 
ReplyReply Reply with quoteQuote
11  Developments / BASS / Re: Direct bass : Vb.net on: 16 Dec '12 - 13:43
Get code: Creatting  LED Level Meter Grin

3 class for creatting usercontrol component compile to a VuMeter.net.dll

ReplyReply Reply with quoteQuote
12  Developments / BASS / Re: Direct bass : Vb.net on: 16 Dec '12 - 08:50
Get file: ProgressBarGradient.dll Click here

Example:
Public Class Form1
    Declare Function BASS_Init Lib "bass.dll" (ByVal A_0 As Integer, ByVal A_1 As Integer, ByVal A_2 As BASSInit, ByVal A_3 As System.IntPtr, ByVal A_4 As System.IntPtr) As Boolean
    Declare Function BASS_StreamCreateFileUnicode Lib "bass.dll" Alias "BASS_StreamCreateFile" (ByVal A_0 As Boolean, <Runtime.InteropServices.MarshalAs(System.Runtime.InteropServices.UnmanagedType.LPWStr)> ByVal A_1 As String, ByVal A_2 As Long, ByVal A_3 As Long, ByVal A_4 As BASSFlag) As Integer
    Declare Function BASS_StreamFree Lib "bass.dll" (ByVal A_0 As Integer) As Boolean
    Declare Function BASS_ChannelPlay Lib "bass.dll" (ByVal A_0 As Integer, ByVal handle As Boolean) As Boolean
    Declare Function BASS_ChannelStop Lib "bass.dll" (ByVal handle As Integer) As Boolean
    Declare Function BASS_ChannelGetLevel Lib "bass.dll" (ByVal handle As Integer) As Integer
    Private openFile As New OpenFileDialog
    Private btnBrowse, btnPlay, btnStop As New Button
    Private timer1 As New Timer
    Private file As String
    Public strm As Integer
    Public Sub New()
        MyBase.New()
        InitializeComponent()
        Me.CenterToScreen()
        Me.Size = New Size(292, 250)
        Me.Text = "BassUn4SeenProgressBarGradient"
        Me.MaximizeBox = False
        Me.AutoSizeMode = Windows.Forms.AutoSizeMode.GrowAndShrink
        openFile.FileName = Nothing
        openFile.Filter = "Song file(*.mp3;*.wav|*.mp3;*.wav)"
        btnBrowse.Text = "Load"
        btnPlay.Text = "Play"
        btnStop.Text = "Stop"
        btnBrowse.Location = New Point(10, 185)
        btnPlay.Location = New Point(105, 185)
        btnStop.Location = New Point(200, 185)
        btnBrowse.ForeColor = Color.White
        btnPlay.ForeColor = Color.White
        btnStop.ForeColor = Color.White
        btnBrowse.Cursor = Cursors.Hand
        btnPlay.Cursor = Cursors.Hand
        btnStop.Cursor = Cursors.Hand
        ProgressBarGradient1.BorderStyle = BorderStyle.FixedSingle
        ProgressBarGradient2.BorderStyle = BorderStyle.FixedSingle
        ProgressBarGradient3.BorderStyle = BorderStyle.FixedSingle
        ProgressBarGradient4.BorderStyle = BorderStyle.FixedSingle
        ProgressBarGradient1.MidColorPosition = 0.6
        ProgressBarGradient2.MidColorPosition = 0.6
        ProgressBarGradient3.MidColorPosition = 0.6
        ProgressBarGradient4.MidColorPosition = 0.6
        ProgressBarGradient1.Orientation = Orientation.Vertical
        ProgressBarGradient2.Orientation = Orientation.Vertical
        ProgressBarGradient3.Orientation = Orientation.Horizontal
        ProgressBarGradient4.Orientation = Orientation.Horizontal 
        timer1.Interval = 40
        Me.Controls.AddRange(New Control() {btnBrowse, btnPlay, btnStop})
        AddHandler btnBrowse.Click, AddressOf btnBrowse_Click
        AddHandler btnPlay.Click, AddressOf btnPlay_Click
        AddHandler btnStop.Click, AddressOf btnStop_Click
        AddHandler timer1.Tick, AddressOf timer1_Tick
    End Sub
    Public Function HighWord32(ByVal dWord As Integer) As Integer
        Return (dWord >> 16) And 65535
    End Function
    Public Function LowWord32(ByVal dWord As Integer) As Integer
        Return dWord And 65535
    End Function
    <Flags()> _
    Public Enum BASSFlag
        BASS_DEFAULT = 0
        BASS_UNICODE = -2147483648
    End Enum
    <Flags()> _
    Public Enum BASSInit
        BASS_DEVICE_DEFAULT = 0
    End Enum
    <Flags()> _
    Public Enum BASSMode
        BASS_POS_BYTES = 0
    End Enum
    Private Sub btnBrowse_Click(ByVal sender As Object, ByVal e As EventArgs)
        If openFile.ShowDialog = Windows.Forms.DialogResult.OK Then
            BASS_StreamFree(strm)
            file = openFile.FileName
            strm = BASS_StreamCreateFileUnicode(False, file, 0, 0, BASSFlag.BASS_UNICODE Or BASSFlag.BASS_DEFAULT)
            ProgressBarGradient1.Value = ProgressBarGradient1.MinimumValue
            ProgressBarGradient2.Value = ProgressBarGradient2.MinimumValue
            ProgressBarGradient3.Value = ProgressBarGradient3.MinimumValue
            ProgressBarGradient4.Value = ProgressBarGradient4.MinimumValue
        End If
    End Sub
    Private Sub btnPlay_Click(ByVal sender As Object, ByVal e As EventArgs)
        BASS_ChannelPlay(strm, True)
        timer1.Enabled = True
    End Sub
    Private Sub timer1_Tick(ByVal sender As Object, ByVal e As EventArgs)
        Dim Lev As Integer = BASS_ChannelGetLevel(strm)
        Dim peakL As Integer = HighWord32(Lev)
        Dim peakR As Integer = LowWord32(Lev)
        Try
            ProgressBarGradient1.Value = LevelCurrentProgress(peakL)
            ProgressBarGradient2.Value = LevelCurrentProgress(peakR)
            ProgressBarGradient3.Value = LevelCurrentProgress(peakL)
            ProgressBarGradient4.Value = LevelCurrentProgress(peakR)
            Catch ex As Exception
        End Try
    End Sub
    Private Sub btnStop_Click(ByVal sender As Object, ByVal e As EventArgs)
        BASS_ChannelStop(strm)
        ProgressBarGradient1.Value = ProgressBarGradient1.MinimumValue
        ProgressBarGradient2.Value = ProgressBarGradient2.MinimumValue
        ProgressBarGradient3.Value = ProgressBarGradient3.MinimumValue
        ProgressBarGradient4.Value = ProgressBarGradient4.MinimumValue
        timer1.Enabled = False
    End Sub
    Private Function LevelCurrentProgress(ByVal peak As Integer) As Double
        Dim v_peak As Double
        Try
            v_peak = (peak / 33525) * 100
        Catch ex As Exception
        End Try
        Return v_peak
    End Function
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Try
            BASS_Init(-1, 44100, 0, Me.Handle.ToInt32, System.IntPtr.Zero)
        Catch ex As Exception
            MsgBox(ex.Message & vbCrLf & "You must add file bass.dll in to the debug folder.", 48, "Error!")
            Me.Dispose()
        End Try
    End Sub
End Class
ReplyReply Reply with quoteQuote
13  Developments / BASS / Re: Direct bass : Vb.net on: 14 Dec '12 - 15:05
Example: BassUn4Seen Spectrum Sound Player
Public Class Form1
    Declare Function BASS_Init Lib "bass.dll" (ByVal A_0 As Integer, ByVal A_1 As Integer, ByVal A_2 As BASSInit, ByVal A_3 As System.IntPtr, ByVal A_4 As System.IntPtr) As Boolean
    Declare Function BASS_StreamCreateFileUnicode Lib "bass.dll" Alias "BASS_StreamCreateFile" (ByVal A_0 As Boolean, <Runtime.InteropServices.MarshalAs(System.Runtime.InteropServices.UnmanagedType.LPWStr)> ByVal A_1 As String, ByVal A_2 As Long, ByVal A_3 As Long, ByVal A_4 As BASSFlag) As Integer
    Declare Function BASS_StreamFree Lib "bass.dll" (ByVal A_0 As Integer) As Boolean
    Declare Function BASS_ChannelPlay Lib "bass.dll" (ByVal A_0 As Integer, ByVal handle As Boolean) As Boolean
    Declare Function BASS_ChannelPause Lib "bass.dll" (ByVal A_0 As Integer) As Boolean
    Declare Function BASS_ChannelStop Lib "bass.dll" (ByVal handle As Integer) As Boolean
    Declare Function BASS_Start Lib "bass.dll" () As Boolean
    Declare Function BASS_Stop Lib "bass.dll" () As Boolean
    Declare Function BASS_ChannelGetLevel Lib "bass.dll" (ByVal handle As Integer) As Integer
    Declare Function BASS_ChannelGetData Lib "bass.dll" (ByVal handle As Integer, ByVal buffer As Single(), ByVal length As Integer) As Integer
    Declare Function BASS_ChannelSeconds2Bytes Lib "bass.dll" (ByVal handle As Integer, ByVal pos As Double) As Long
    Declare Function BASS_ChannelBytes2Seconds Lib "bass.dll" (ByVal handle As Integer, ByVal pos As Long) As Double
    Declare Function BASS_ChannelGetLength Lib "bass.dll" (ByVal handle As Integer, ByVal mode As BASSMode) As Long
    Declare Function BASS_ChannelGetPosition Lib "bass.dll" (ByVal handle As Integer, ByVal mode As BASSMode) As Long
    Declare Function BASS_ChannelSetPosition Lib "bass.dll" (ByVal A_0 As Integer, ByVal handle As Long, ByVal pos As BASSMode) As Boolean
    Declare Function BASS_GetVolume Lib "bass.dll" () As Single
    Declare Function BASS_SetVolume Lib "bass.dll" (ByVal A_0 As Single) As Boolean
    Private openFile As OpenFileDialog
    Private btnBrowse, btnPlay, btnStop As Button
    Private spectrum As New Visuals
    Private visBox As PictureBox
    Private timer1 As New Timer
    Private file As String
    Public strm As Integer
    Public Sub New()
        MyBase.New()
        InitializeComponent()
        Me.CenterToScreen()
        Me.Size = New Size(300, 240)
        Me.Text = "BassSoundPlayer"
        Me.MaximizeBox = False
        Me.AutoSizeMode = Windows.Forms.AutoSizeMode.GrowAndShrink
        openFile = New OpenFileDialog
        openFile.FileName = Nothing
        openFile.Filter = "Song file(*.mp3;*.wav|*.mp3;*.wav)"
        btnBrowse = New Button
        btnPlay = New Button
        btnStop = New Button
        visBox = New PictureBox
        btnBrowse.Text = "Load"
        btnPlay.Text = "Play"
        btnStop.Text = "Stop"
        btnBrowse.Location = New Point(10, 170)
        btnPlay.Location = New Point(105, 170)
        btnStop.Location = New Point(200, 170)
        btnBrowse.Cursor = Cursors.Hand
        btnPlay.Cursor = Cursors.Hand
        btnStop.Cursor = Cursors.Hand
        visBox.SetBounds(10, 10, 270, 140)
        visBox.BackColor = Color.Black
        Me.Controls.AddRange(New Control() {visBox, btnBrowse, btnPlay, btnStop})
        AddHandler btnBrowse.Click, AddressOf btnBrowse_Click
        AddHandler btnPlay.Click, AddressOf btnPlay_Click
        AddHandler btnStop.Click, AddressOf btnStop_Click
        AddHandler timer1.Tick, AddressOf timer1_Tick
        timer1.Interval = 40
    End Sub
    Public Function BASS_Init(ByVal device As Integer, ByVal freq As Integer, ByVal flags As BASSInit, ByVal win As System.IntPtr) As Boolean
        Return BASS_Init(device, freq, flags, win, System.IntPtr.Zero)
    End Function
    Public Function BASS_StreamCreateFile(ByVal [File] As String, ByVal offset As Long, ByVal length As Long, ByVal flags As BASSFlag) As Integer
        flags = flags Or BASSFlag.BASS_UNICODE
        Return BASS_StreamCreateFileUnicode(False, [File], offset, length, flags)
    End Function
    Public Function BASS_ChannelGetLength(ByVal handle As Integer) As Long
        Return BASS_ChannelGetLength(handle, BASSMode.BASS_POS_BYTES)
    End Function
    Public Function BASS_ChannelGetPosition(ByVal handle As Integer) As Long
        Return BASS_ChannelGetPosition(handle, BASSMode.BASS_POS_BYTES)
    End Function
    Public Function BASS_ChannelSetPosition(ByVal handle As Integer, ByVal pos As Long) As Boolean
        Return BASS_ChannelSetPosition(handle, pos, BASSMode.BASS_POS_BYTES)
    End Function
    Public Function FixTimespan(ByVal seconds As Double) As String
        Dim v_timeSpan As System.TimeSpan
        v_timeSpan = System.TimeSpan.FromSeconds(seconds)
        Return v_timeSpan.ToString
    End Function
    Public Function HighWord32(ByVal dWord As Integer) As Integer
        Return (dWord >> 16) And 65535
    End Function
    Public Function LowWord32(ByVal dWord As Integer) As Integer
        Return dWord And 65535
    End Function
    <Flags()> _
    Public Enum BASSFlag
        BASS_DEFAULT = 0
        BASS_SAMPLE_FLOAT = 256
        BASS_STREAM_PRESCAN = 131072
        BASS_STREAM_AUTOFREE = 262144
        BASS_STREAM_STATUS = 8388608
        BASS_UNICODE = -2147483648
        BASS_MUSIC_LOOP = 4
        BASS_MUSIC_AUTOFREE = 262144
        BASS_MUSIC_PRESCAN = 131072
        BASS_MUSIC_POSRESET = 32768
    End Enum
    <Flags()> _
    Public Enum BASSInit
        BASS_DEVICE_DEFAULT = 0
        BASS_DEVICE_CPSPEAKERS = 1024
        BASS_DEVICE_SPEAKERS = 2048
        BASS_DEVICE_NOSPEAKER = 4096
        BASS_DEVICE_FREQ = 16384
    End Enum
    <Flags()> _
    Public Enum BASSMode
        BASS_POS_BYTES = 0
        BASS_POS_MUSIC_ORDERS = 1
        BASS_MUSIC_POSRESET = 32768
        BASS_MUSIC_POSRESETEX = 4194304
    End Enum
    Private Sub btnBrowse_Click(ByVal sender As Object, ByVal e As EventArgs)
        If openFile.ShowDialog = Windows.Forms.DialogResult.OK Then
            BASS_StreamFree(strm)
            file = openFile.FileName
            strm = BASS_StreamCreateFile(file, 0, 0, 0)
        End If
    End Sub
    Private Sub btnPlay_Click(ByVal sender As Object, ByVal e As EventArgs)
        BASS_ChannelPlay(strm, True)
        timer1.Enabled = True
    End Sub
    Private Sub btnStop_Click(ByVal sender As Object, ByVal e As EventArgs)
        BASS_ChannelStop(strm)
        timer1.Enabled = False
        visBox.Image = Visuals.SpecturmLineFree()
    End Sub
    Private Sub timer1_Tick(ByVal sender As Object, ByVal e As EventArgs)
        visBox.Image = Visuals.CreateSpectrumLinePeak(strm, visBox.Width, visBox.Height, Color.Green, Color.Red, Color.White, Color.Black, 4, 2, 1, 20, False, False, True)
    End Sub
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Try
            BASS_Init(-1, 44100, 0, Me.Handle.ToInt32)
        Catch ex As Exception
            MsgBox(ex.Message & vbCrLf & "You must add file bass.dll in to the debug folder.", 48, "Error!")
            Me.Dispose()
        End Try
    End Sub
End Class
ReplyReply Reply with quoteQuote
14  Developments / BASS / Re: Direct bass : Vb.net on: 14 Dec '12 - 10:31
Get code: Creatting Spectrum Visualizer.

Visuals Class:
Public Class Visuals
    Inherits Object
    Private Declare Function BASS_ChannelGetData Lib "bass.dll" (ByVal handle As Integer, ByVal buffer As Single(), ByVal length As Integer) As Integer
    Private Shared a As Single()
    Private Shared b As Single()
    Private Shared c As Boolean
    Private Shared d As Integer
    Private Shared e As Integer
    Private Shared f As Integer
    Private Shared g As Integer
    Private Shared h As BASSData
    Private Shared i As Integer
    Private Shared j As Double
    Private Shared k As Boolean
    Public Sub New()
        MyBase.New()
        Visuals.a = New Single(2047) {}
        Visuals.b = New Single(2047) {}
        Visuals.c = Nothing
        Visuals.d = 9
        Visuals.e = 4
        Visuals.f = 4096
        Visuals.g = 2047
        Visuals.h = BASSData.BASS_DATA_FFT4096
        Visuals.i = 2047
        Visuals.j = 1
    End Sub
    Public Shared Function CreateSpectrumLinePeak(ByVal channel As Integer, ByVal width As Integer, ByVal height As Integer, ByVal color1 As System.Drawing.Color, ByVal color2 As System.Drawing.Color, ByVal color3 As System.Drawing.Color, ByVal background As System.Drawing.Color, ByVal linewidth As Integer, ByVal peakwidth As Integer, ByVal distance As Integer, ByVal peakdelay As Integer, ByVal linear As Boolean, ByVal fullSpectrum As Boolean, ByVal highQuality As Boolean) As System.Drawing.Bitmap
        Dim v_bitmap As System.Drawing.Bitmap
        Dim v_graphics As System.Drawing.Graphics
        Dim v_pen As System.Drawing.Pen
        Dim v_pen1 As System.Drawing.Pen
        Dim v_brush As System.Drawing.Brush
        If (((((channel <> 0) AndAlso (width > 1)) AndAlso (height > 1)) AndAlso (linewidth >= 1)) AndAlso (distance >= 0)) AndAlso (peakdelay >= 0) Then
            v_bitmap = Nothing
            v_graphics = Nothing
            v_pen = Nothing
            v_pen1 = Nothing
            Try
                Try
                    If l(channel, MaxFFT) > 0 Then
                        v_brush = New Drawing2D.LinearGradientBrush(New System.Drawing.Rectangle(0, 0, linewidth, height), color2, color1, Drawing2D.LinearGradientMode.Vertical)
                        Try
                            v_pen = New System.Drawing.Pen(v_brush, CSng(linewidth))
                            v_pen1 = New System.Drawing.Pen(color3, CSng(peakwidth))
                            v_bitmap = New System.Drawing.Bitmap(width, height)
                            v_graphics = System.Drawing.Graphics.FromImage(v_bitmap)
                            If highQuality Then
                                v_graphics.SmoothingMode = Drawing2D.SmoothingMode.AntiAlias
                                v_graphics.CompositingQuality = Drawing2D.CompositingQuality.AssumeLinear
                                v_graphics.PixelOffsetMode = Not Drawing2D.PixelOffsetMode.Invalid
                                v_graphics.TextRenderingHint = Drawing.Text.TextRenderingHint.ClearTypeGridFit
                            Else
                                v_graphics.SmoothingMode = Drawing2D.SmoothingMode.HighSpeed
                                v_graphics.CompositingQuality = Drawing2D.CompositingQuality.HighSpeed
                                v_graphics.PixelOffsetMode = Drawing2D.PixelOffsetMode.None
                                v_graphics.TextRenderingHint = Drawing.Text.TextRenderingHint.SingleBitPerPixelGridFit
                            End If
                            l(v_graphics, width, height, v_pen, v_pen1, linewidth, distance, peakdelay, background, _
                              linear, fullSpectrum)
                        Finally
                            If Not v_brush Is Nothing Then
                                v_brush.Dispose()
                            End If
                        End Try
                    End If
                Catch
                    v_bitmap = Nothing
                End Try
            Finally
                If Not v_pen Is Nothing Then
                    v_pen.Dispose()
                End If
                If Not v_pen1 Is Nothing Then
                    v_pen1.Dispose()
                End If
                If Not v_graphics Is Nothing Then
                    v_graphics.Dispose()
                End If
            End Try
            Return v_bitmap
        Else
            Return Nothing
        End If
        Return v_bitmap
    End Function
    Private Shared Function l(ByVal A_0 As Integer, ByVal A_1 As Integer) As Integer
        If Not Visuals.c Then
            Return BASS_ChannelGetData(A_0, Visuals.a, A_1)
        End If
    End Function
    Private Shared Sub l(ByVal A_0 As System.Drawing.Graphics, ByVal A_1 As Integer, ByVal A_2 As Integer, ByVal A_3 As System.Drawing.Pen, ByVal A_4 As System.Drawing.Pen, ByVal A_5 As Integer, ByVal A_6 As Integer, ByVal A_7 As Integer, ByVal A_8 As System.Drawing.Color, ByVal A_9 As Boolean, ByVal A_10 As Boolean)
        Dim v_sng As Single
        Dim v_sng1 As Single
        Dim v_sng2 As Single
        Dim v_sng4 As Single
        Dim v_i As Integer
        A_0.Clear(A_8)
        Visuals.k = A_9
        v_sng = 0.0!
        v_sng1 = 0.0!
        v_sng2 = 0.0!
        v_sng4 = 0.0!
        Visuals.j = (CDbl(MaxFrequencySpectrum)) / (CDbl(A_1))
        v_i = MaxFrequencySpectrum + 1
        Visuals.j = 1
        v_i = A_1 + 1
        If (Not A_10) AndAlso (v_i > (MaxFFTSampleIndex + 1)) Then
            v_i = MaxFFTSampleIndex + 1
        End If
        For v_i1 As Integer = 1 To v_i - 1
            If A_9 Then
                v_sng2 = (Visuals.a(v_i1) * (CSng(ScaleFactorLinear))) * (CSng(A_2))
                If v_sng4 <= v_sng2 Then
                    v_sng4 = v_sng2
                End If
                v_sng4 = 0.0!
            Else
                v_sng2 = (((CSng(System.Math.Sqrt(CDbl(Visuals.a(v_i1))))) * (CSng(ScaleFactorSqr))) * (CSng(A_2))) - 4.0!
                If v_sng4 <= v_sng2 Then
                    v_sng4 = v_sng2
                End If
                If (v_sng4 <= 0.0!) AndAlso (v_sng4 <= 0.0!) Then
                    v_sng4 = 0.0!
                End If
            End If
            If v_sng4 > (CSng(A_2)) Then
                v_sng4 = CSng(A_2)
            End If
            v_sng = (CSng(System.Math.Round((CDbl(v_i1)) / Visuals.j))) - 1.0!
            If (((CInt(v_sng)) Mod (A_6 + A_5)) = 0) AndAlso (v_sng > v_sng1) Then
                v_sng4 = (v_sng4 + v_sng4) / 2.0!
                If Visuals.b(CInt(v_sng)) <= v_sng4 Then
                    Visuals.b(CInt(v_sng)) = v_sng4
                Else
                    Visuals.b(CInt(v_sng)) = (v_sng4 + ((CSng(A_7)) * Visuals.b(CInt(v_sng)))) / (CSng(A_7 + 1))
                End If
                A_0.DrawLine(A_3, (v_sng1 + (CSng(A_5 / 2))) + 1.0!, (CSng(A_2)) - 1.0!, (v_sng1 + (CSng(A_5 / 2))) + 1.0!, ((CSng(A_2)) - 1.0!) - v_sng4)
                A_0.DrawLine(A_4, v_sng1 + 1.0!, ((CSng(A_2)) - (A_4.Width / 2.0!)) - Visuals.b(CInt(v_sng)), ((v_sng1 + (CSng(A_5))) + (CSng(IIf(A_4.Width > 1.0!, 0, -1)))) + 1.0!, ((CSng(A_2)) - (A_4.Width / 2.0!)) - Visuals.b(CInt(v_sng)))
                v_sng1 = v_sng
                v_sng4 = 0.0!
            End If
        Next v_i1
    End Sub
    Private Shared Property ScaleFactorLinear() As Integer
        Get
            Return Visuals.d
        End Get
        Set(ByVal Value As Integer)
            Visuals.d = Value
        End Set
    End Property
    Private Shared Property ScaleFactorSqr() As Integer
        Get
            Return Visuals.e
        End Get
        Set(ByVal Value As Integer)
            Visuals.e = Value
        End Set
    End Property
    Private Shared ReadOnly Property MaxFFTSampleIndex() As Integer
        Get
            Return Visuals.g
        End Get
    End Property
    Private Shared Property MaxFFT() As BASSData
        Get
            Return Visuals.h
        End Get
        Set(ByVal Value As BASSData)
            Select Case Value
                Case BASSData.BASS_DATA_FFT512
                    Visuals.f = 1024
                    Visuals.h = Value
                    Visuals.g = 255
                Case BASSData.BASS_DATA_FFT1024
                    Visuals.f = 1024
                    Visuals.h = Value
                    Visuals.g = 511
                Case BASSData.BASS_DATA_FFT2048
                    Visuals.f = 2048
                    Visuals.h = Value
                    Visuals.g = 1023
                Case BASSData.BASS_DATA_FFT4096
                    Visuals.f = 4096
                    Visuals.h = Value
                    Visuals.g = 2047
                Case BASSData.BASS_DATA_FFT8192
                    Visuals.f = 8192
                    Visuals.h = Value
                    Visuals.g = 4095
                Case Else
                    Visuals.f = 4096
                    Visuals.h = BASSData.BASS_DATA_FFT4096
                    Visuals.g = 2047
                    If Visuals.i > Visuals.g Then
                        Visuals.i = Visuals.g
                    End If
                    Return
            End Select
        End Set
    End Property
    Private Shared Property MaxFrequencySpectrum() As Integer
        Get
            Return Visuals.i
        End Get
        Set(ByVal Value As Integer)
            If Value > MaxFFTSampleIndex Then
                Visuals.i = MaxFFTSampleIndex
            End If
            If Value >= 1 Then
                Visuals.i = Value
                Return
            End If
            Visuals.i = 1
        End Set
    End Property
    <Flags()> _
    Private Enum BASSData
        BASS_DATA_FFT8192 = -2147483643
        BASS_DATA_FFT4096 = -2147483644
        BASS_DATA_FFT2048 = -2147483645
        BASS_DATA_FFT1024 = -2147483646
        BASS_DATA_FFT512 = -2147483647
        BASS_DATA_FFT256 = -2147483648
    End Enum
    Public Shared Function SpecturmLineFree() As System.Drawing.Bitmap
        Return CreateSpectrumLinePeak(0, 0, 0, Color.Black, Color.Black, Color.Black, Color.Black, 0, 0, 0, 0, False, False, False)
    End Function
End Class

ReplyReply Reply with quoteQuote
15  Developments / BASS / Re: Direct bass : Vb.net on: 9 Dec '12 - 16:55
Get code nBass v1.8 : BassGetDeviceDescription Grin

Example:
Public Class Form1
    Private Declare Function BassGetDeviceDescription Lib "bass.dll" Alias "BASS_GetDeviceDescription" (ByVal devnum As Integer) As System.IntPtr
    Private cbBox As ComboBox
    
    Public Sub New()
        MyBase.New()
        Me.CenterToScreen()
        InitializeComponent()
        Me.Text = "nBass Device Info Sample"
        cbBox = New ComboBox
        cbBox.Text = "DeviceDiscription"
        cbBox.SetBounds(50, 100, 200, 15)
        Me.Controls.Add(cbBox)
    End Sub

    Private Sub BASS_GetDeviceNames(ByVal cbBox As ComboBox)
        Dim devnum As Integer
        For devnum = 0 To 1
            cbBox.Items.Add(BASS_GetDeviceDescription(devnum))
        Next devnum
        cbBox.Text = "DeviceDescription"
        Return
    End Sub

    Private Function BASS_GetDeviceDescription(ByVal devnum As Integer) As String
        Dim v_intPtr As System.IntPtr = BassGetDeviceDescription(devnum)
        Dim v_strDev As String = Nothing
        If Not (v_intPtr = System.IntPtr.Zero) Then
            v_strDev = System.Runtime.InteropServices.Marshal.PtrToStringAnsi(v_intPtr)
        End If
        Return v_strDev
    End Function

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Try
            BASS_GetDeviceNames(cbBox)
        Catch ex As Exception
            MsgBox(ex.Message & vbCrLf & "You must add bass.dll into the debug folder.", 48, "Error!")
            Me.Dispose()
        End Try
    End Sub
End Class
ReplyReply Reply with quoteQuote
16  Developments / BASS / Re: Direct bass : Vb.net on: 8 Dec '12 - 09:38
:Example:

nBass Class:
Public Class nBass
    Private Declare Function BassInit Lib "bass.dll" Alias "BASS_Init" (ByVal device As Integer, ByVal freq As Integer, ByVal flags As InitFlags, ByVal win As System.IntPtr) As Integer
    Private Declare Function BassStart Lib "bass.dll" Alias "BASS_Start" () As Integer
    Private Declare Function BassStreamFree Lib "bass.dll" Alias "BASS_StreamFree" (ByVal handle As Integer) As Integer
    Private Declare Function BassStreamCreateFile Lib "bass.dll" Alias "BASS_StreamCreateFile" (ByVal mem As Integer, ByVal [file] As String, ByVal offset As Integer, ByVal Length As Integer, ByVal flags As StreamFlags) As Integer
    Private Declare Function BassStreamPlay Lib "bass.dll" Alias "BASS_StreamPlay" (ByVal handle As Integer, ByVal flush As Integer, ByVal flags As StreamPlayFlags) As Integer
    Private Declare Function BassChannelStop Lib "bass.dll" Alias "BASS_ChannelStop" (ByVal handle As Integer) As Integer
    Private Declare Function BassChannelPause Lib "bass.dll" Alias "BASS_ChannelPause" (ByVal handle As Integer) As Integer
    Private Declare Function BassChannelResume Lib "bass.dll" Alias "BASS_ChannelResume" (ByVal handle As Integer) As Integer
    Private Declare Function BassChannelIsActive Lib "bass.dll" Alias "BASS_ChannelIsActive" (ByVal handle As Integer) As ActiveState
    Private Declare Function BassStreamGetLength Lib "bass.dll" Alias "BASS_StreamGetLength" (ByVal handle As Integer) As Long
    Private Declare Function BassChannelGetPosition Lib "bass.dll" Alias "BASS_ChannelGetPosition" (ByVal handle As Integer) As Long
    Private Declare Function BassChannelBytes2Seconds Lib "bass.dll" Alias "BASS_ChannelBytes2Seconds" (ByVal handle As Integer, ByVal pos As Long) As Single
    Private Declare Function BassChannelSeconds2Bytes Lib "bass.dll" Alias "BASS_ChannelSeconds2Bytes" (ByVal handle As Integer, ByVal pos As Single) As Long
    Private Declare Function BassChannelSetPosition Lib "bass.dll" Alias "BASS_ChannelSetPosition" (ByVal handle As Integer, ByVal pos As Long) As Integer

    Private Shared Function BASS_Init(ByVal device As Integer, ByVal freq As Integer, ByVal flags As InitFlags, ByVal win As System.IntPtr) As Integer
        Return BassInit(device, freq, flags, win)
    End Function

    Private Shared Function BASS_Start() As Integer
        Return BassStart()
    End Function

    Private Shared Function BASS_StreamGetLength(ByVal handle As Integer) As Long
        Return BassStreamGetLength(handle)
    End Function

    Private Shared Function BASS_ChannelGetPosition(ByVal handle As Integer) As Long
        Return BassChannelGetPosition(handle)
    End Function

    Private Shared Function BASS_ChannelBytes2Seconds(ByVal handle As Integer, ByVal pos As Long) As Single
        Return BassChannelBytes2Seconds(handle, pos)
    End Function

    Private Shared Function BASS_ChannelSeconds2Bytes(ByVal handle As Integer, ByVal pos As Single) As Long
        Return BassChannelSeconds2Bytes(handle, pos)
    End Function

    Private Shared Function BASS_ChannelSetPosition(ByVal handle As Integer, ByVal pos As Long) As Integer
        Return BassChannelSetPosition(handle, pos)
    End Function

    Public Shared Function BASS_InitStart() As Integer
        BassInit(-1, 44100, InitFlags.BASS_DEVICE_DEFAULT, System.IntPtr.Zero)
        Return BassStart()
    End Function

    Public Shared Function BASS_StreamFree(ByVal handle As Integer) As Integer
        Return BassStreamFree(handle)
    End Function
    Public Shared Function BASS_StreamCreateFile(ByVal mem As Integer, ByVal [file] As String, ByVal offset As Integer, ByVal Length As Integer, ByVal flags As StreamFlags) As Integer
        Return BassStreamCreateFile(mem, [file], offset, Length, flags)
    End Function

    Public Shared Function BASS_StreamPlay(ByVal handle As Integer, ByVal flush As Integer, ByVal flags As Integer) As Integer
        Return BassStreamPlay(handle, flush, flags)
    End Function
    Public Shared Function BASS_ChannelStop(ByVal handle As Integer) As Integer
        BassChannelStop(handle)
    End Function

    Public Shared Function BASS_ChannelPause(ByVal handle As Integer) As Integer
        Return BassChannelPause(handle)
    End Function

    Public Shared Function BASS_ChannelResume(ByVal handle As Integer) As Integer
        BassChannelResume(handle)
    End Function

    Public Shared Function BASS_ChannelIsActive(ByVal handle As Integer) As ActiveState
        Return BassChannelIsActive(handle)
    End Function

    Public Shared Function BASS_MinPosition(ByVal handle As Integer) As Integer
        nBass.BASS_ChannelSetPosition(handle, 0)
        Return nBass.BASS_ChannelGetPosition(handle)
    End Function

    Public Shared Function BASS_MaxPosition(ByVal TrackBarName As TrackBar, ByVal handle As Integer) As Long
        TrackBarName.Maximum = nBass.BASS_ChannelBytes2Seconds(handle, nBass.BASS_StreamGetLength(handle))
        TrackBarName.TickFrequency = 30
    End Function

    Public Shared Function BASS_ScrollPosition(ByVal handle As Integer, ByVal TrackBarName As TrackBar) As Long
        nBass.BASS_ChannelSetPosition(handle, nBass.BASS_ChannelSeconds2Bytes(handle, TrackBarName.Value))
    End Function

    Public Shared Function BASS_CurrentPosition(ByVal handle As Integer) As Long
        Return nBass.BASS_ChannelBytes2Seconds(handle, nBass.BASS_ChannelGetPosition(handle))
    End Function

    Public Shared Function BASS_TotalTimeDuration(ByVal handle As Integer, ByVal Lbl As Label) As Integer
        Dim span As TimeSpan
        span = TimeSpan.FromSeconds(nBass.BASS_ChannelBytes2Seconds(handle, nBass.BASS_StreamGetLength(handle)))
        Lbl.Text = Strings.Left(span.ToString, 8)
    End Function

    Public Shared Function BASS_CurrentTimeDuration(ByVal handle As Integer) As String
        Dim span As System.TimeSpan
        span = TimeSpan.FromSeconds(nBass.BASS_ChannelBytes2Seconds(handle, nBass.BASS_ChannelGetPosition(handle)))
        If nBass.BASS_ChannelIsActive(handle) = ActiveState.Stopped Then
            span = TimeSpan.FromSeconds(0)
            Return span.ToString()
        Else
            Return Strings.Left(span.ToString, 8)
        End If
    End Function

    Public Shared Function BASS_PercentPosition(ByVal handle) As Integer
        Return (nBass.BASS_ChannelGetPosition(handle) / nBass.BASS_StreamGetLength(handle)) * 100
    End Function

    <Flags()> _
    Public Enum InitFlags
        BASS_DEVICE_DEFAULT = 0
        BASS_DEVICE_8BITS = 1
        BASS_DEVICE_MONO = 2
        BASS_DEVICE_LATENCY = 256
        BASS_DEVICE_CPSPEAKERS = 1024
        BASS_DEVICE_SPEAKERS = 2048
        BASS_DEVICE_NOSPEAKER = 4096
    End Enum

    <Flags()> _
    Public Enum StreamFlags
        [Default] = 0
        EightBits = 1
        Mono = 2
        ThreeDee = 4
        FX = 128
        Meta = 4194304
        SetPosition = 131072
        AutoFree = 262144
        DecodeOnly = 2097152
        FloatingPointChannels = 256
        FrontSpeakers = 16777216
        RearSpeakers = 33554432
        CentreSpeakers = 318767104
        LeftSpeakerModifier = 268435456
        RightSpeakerModifier = 536870912
    End Enum

    Public Enum StreamPlayFlags
        [Default] = 0
        [Loop] = 4
    End Enum

    Public Enum ActiveState
        Stopped = 0
        Playing = 1
        Stalled = 2
        Paused = 3
    End Enum
End Class

nBass Form:
Public Class Form1
    Private file As String
    Private strm As Integer

    Public Sub New()
        MyBase.New()
        Me.CenterToScreen()
        InitializeComponent()
        nBass.BASS_InitStart()
        ControlProperties()
        Label2.Text = "00:00:00"
        Label3.Text = "00:00:00"
        Label4.Text = "0%"
    End Sub

    Private Sub btnLoad_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLoad.Click
        BtnPauseResumeSwitch()
        Dim openfile As New OpenFileDialog
        openfile.FileName = Nothing
        openfile.Filter = "Song file(*.mp3;*.wav)|*.mp3;*.wav"
        If openfile.ShowDialog = Windows.Forms.DialogResult.OK Then
            file = openfile.FileName
            nBass.Bass_StreamFree(strm)
            strm = nBass.BASS_StreamCreateFile(0, file, 0, 0, nBass.StreamFlags.Default)
            nBass.BASS_TotalTimeDuration(strm, Label2)
            nBass.BASS_MaxPosition(TrackBar1, strm)
            Timer1.Enabled = True
        End If
    End Sub

    Private Sub btnPlay_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPlay.Click
        BtnPauseResumeSwitch()
        If strm Then
            nBass.BASS_StreamPlay(strm, 1, nBass.StreamPlayFlags.Default)
            Timer2.Enabled = True
        End If
    End Sub

    Private Sub btnPause_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPause.Click
        If Not nBass.BASS_ChannelIsActive(strm) = nBass.ActiveState.Stopped Then
            Select Case btnPause.Text
                Case "Pause"
                    nBass.BASS_ChannelPause(strm)
                    btnPause.Text = "Resume"
                Case Else
                    nBass.BASS_ChannelResume(strm)
                    btnPause.Text = "Pause"
            End Select
        End If
    End Sub

    Private Sub btnStop_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnStop.Click
        BtnPauseResumeSwitch()
        nBass.BASS_ChannelStop(strm)
    End Sub
    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        StartActiveState()
    End Sub

    Private Sub BtnPauseResumeSwitch()
        If Strings.InStr(btnPause.Text, "Resume") Then
            btnPause.Text = "Pause"
        End If
    End Sub

    Private Sub StartActiveState()
        Select Case nBass.BASS_ChannelIsActive(strm)
            Case nBass.ActiveState.Stopped
                Label1.Text = "Stopped"
            Case nBass.ActiveState.Playing
                Label1.Text = "Playing.."
            Case nBass.ActiveState.Paused
                Label1.Text = "Paused"
            Case Else
                Label1.Text = "Stalled"
        End Select
    End Sub

    Private Sub EndActiveState()
        If nBass.BASS_ChannelIsActive(strm) = nBass.ActiveState.Stopped Then
            TrackBar1.Value = TrackBar1.Minimum
            Label4.Text = "0%"
            Timer2.Enabled = False
        End If
    End Sub

    Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick
        Try
            TrackBar1.Value = nBass.BASS_CurrentPosition(strm)
        Catch ex As Exception
        End Try
        Label3.Text = nBass.BASS_CurrentTimeDuration(strm)
        Label4.Text = String.Concat(nBass.BASS_PercentPosition(strm), "%")
        EndActiveState()
    End Sub

    Private Sub TrackBar1_Scroll(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TrackBar1.Scroll
        nBass.BASS_ScrollPosition(strm, TrackBar1)
    End Sub

    Private Sub ControlProperties()
        btnLoad.Cursor = Cursors.Hand
        btnPlay.Cursor = Cursors.Hand
        btnPause.Cursor = Cursors.Hand
        btnStop.Cursor = Cursors.Hand
    End Sub
End Class
ReplyReply Reply with quoteQuote
17  Developments / BASS / Re: Direct bass : Vb.net on: 6 Dec '12 - 13:38
Get code other nbass Functions Grin

Start position: Balance song position with trackbar value.
Public Shared Function MaxPosition(ByVal trackPos As TrackBar, ByVal handle As Integer) As Long
        trackPos.Maximum = nBass.ChannelBytes2Seconds(handle, nBass.StreamGetLength(handle))
    End Function
-------------------------------------------------------------
End position: trackbar value = 0 If song end.
Public Shared Function MinPosition(ByVal handle As Integer, ByVal trackPos As TrackBar) As Integer
        If nBass.ChannelIsActive(handle) = ActiveState.Stopped Then
            trackPos.Value = nBass.ChannelSetPosition(handle, trackPos.Minimum)
        End If
-------------------------------------------------------------
Set position: Trackbar value current progress song position.
Public Shared Function ProgressPosition(ByVal trackPos As TrackBar, ByVal handle As Integer) As Long
        trackPos.Value = nBass.ChannelBytes2Seconds(handle, nBass.ChannelGetPosition(handle))
    End Function
--------------------------------------------------------------
Position scroll: Trackbar scrolling with mouse. Change song position.
Public Shared Function ScrollPosition(ByVal handle As Integer, ByVal trackPos As TrackBar) As Long
        nBass.ChannelSetPosition(handle, nBass.ChannelSeconds2Bytes(handle, trackPos.Value))
    End Function
ReplyReply Reply with quoteQuote
18  Developments / BASS / Re: Direct bass : Vb.net on: 4 Dec '12 - 18:06
Sample code nBass 1.8
Creatting nBass Player Functions

nBass Class:
Public Class nBass
    Private Declare Function BASS_Init Lib "bass.dll" (ByVal device As Integer, ByVal freq As Integer, ByVal flags As Integer, ByVal win As System.IntPtr) As Integer
    Private Declare Function BASS_Start Lib "bass.dll" () As Integer
    Private Declare Function BASS_GetVersion Lib "bass.dll" () As Integer
    Private Declare Function BASS_GetDeviceDescription Lib "bass.dll" (ByVal devnum As Integer) As Integer
    Private Declare Function BASS_StreamCreateFile Lib "bass.dll" (ByVal mem As Integer, ByVal fileName As String, ByVal offset As Integer, ByVal Length As Integer, ByVal flags As Integer) As Integer
    Private Declare Function BASS_StreamFree Lib "bass.dll" (ByVal handle As Integer) As Integer
    Private Declare Function BASS_StreamPlay Lib "bass.dll" (ByVal handle As Integer, ByVal flush As Boolean, ByVal flags As Integer) As Integer
    Private Declare Function BASS_ChannelStop Lib "bass.dll" (ByVal handle As Integer) As Integer
    Public Declare Function BASS_ChannelIsActive Lib "bass.dll" (ByVal handle As Integer) As Integer 'connect form used 'Public'

    Shared Sub New()
        InitStart()
    End Sub

    Public Shared Function InitStart() As Integer
        BASS_Init(-1, 44100, 0, System.IntPtr.Zero)
        BASS_Start()
    End Function

    Public Shared Function BASS_LoadStreamFile(ByVal handle As Integer, ByVal fileName As String) As String
        BASS_StreamFree(handle)
        Return BASS_StreamCreateFile(0, fileName, 0, 0, 0)  'return type 'String'
    End Function

    Public Shared Function BASS_StreamPlay(ByVal handle As Integer, ByVal flush As Boolean) As Integer
        BASS_StreamPlay(handle, flush, 0)
    End Function

    Public Shared Function BASS_StreamStop(ByVal handle As Integer) As Integer
        BASS_ChannelStop(handle)
    End Function

    Public Shared Function BASS_GetStringVersion() As String
        BASS_GetStringVersion = Trim(Str(GetLoWord(BASS_GetVersion))) & "." & Trim(Str(GetHiWord(BASS_GetVersion)))
    End Function

    Private Shared Function GetHiWord(ByRef lparam As Integer) As Integer
        GetHiWord = lparam \ &H10000 And &HFFFF
    End Function

    Private Shared Function GetLoWord(ByRef lparam As Integer) As Integer
        GetLoWord = lparam And &HFFFF
    End Function

    Public Enum IsActive As Integer  'state flag BASS_ChannelIsActive.
        Play = 1
        [Stop] = 0
    End Enum
End Class

Example:
Public Class Form1
    Private openDLG As OpenFileDialog
    Private timer1 As Timer
    Private Shared strm As Integer 'conect nBass class used 'Shared'

    Public Sub New()
        MyBase.New()
        InitializeComponent()
        Me.TopMost = True
        BassDllChecked()
        btnLoad.Text = "Load"
        btnPlay.Text = "Play"
        btnStop.Text = "Stop"
        Label1.Text = "Active: -  -  -  -"
        openDLG = New OpenFileDialog
        timer1 = New Timer
        openDLG.FileName = Nothing
        openDLG.Filter = "Song file(*.mp3;*.wav)|*.mp3;*.wav"
        AddHandler timer1.Tick, AddressOf timer1_Tick
    End Sub

    Private Sub btnLoad_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLoad.Click
        If openDLG.ShowDialog = Windows.Forms.DialogResult.OK Then
            strm = nBass.BASS_LoadStreamFile(strm, openDLG.FileName)
            timer1.Enabled = True
        End If
    End Sub

    Private Shared Sub btnPlay_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPlay.Click
        nBass.BASS_StreamPlay(strm, True)
    End Sub

    Private Sub btnStop_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnStop.Click
        nBass.BASS_StreamStop(strm)
    End Sub

    Private Sub timer1_Tick(ByVal sender As Object, ByVal e As EventArgs)
        Select Case nBass.BASS_ChannelIsActive(strm)
            Case nBass.IsActive.Play
                Label1.Text = "Active: Playing.."
            Case Else
                Label1.Text = "Active: Stopped"
        End Select
    End Sub

    Private Sub BassDllChecked()
        If Not My.Computer.FileSystem.FileExists(String.Concat(My.Computer.FileSystem.CurrentDirectory, "\", "bass.dll")) Then
            MsgBox("Not found bass.dll file in the debug folder.")
            Me.Close()
        ElseIf Not nBass.BASS_GetStringVersion() = "1.8" Then
            MsgBox("It's not bass.dll version 1.8")
            Me.Close()
        Else
            MsgBox(String.Concat("bass.dll version ", nBass.BASS_GetStringVersion()), 64, "")
        End If
    End Sub
End Class
ReplyReply Reply with quoteQuote
19  Developments / BASS / Re: Direct bass : Vb.net on: 25 Nov '12 - 08:52
Grid LED Spectrum Visualizer Grin

Download: PeakMeterCtrl.dll Click here

Using DLL: When download complete.
               DragAndDrop add dll file to the Toolbox Components.
               DragAndDrop add dll file to the form application.

Example: Try to run with Loop set data LED Spectrum Visualizer.
             Not must Create Object components.
             Copie all code and paste to the form application.

Public Class Form1
    Private Button1 As New Button
    Private CheckBox1 As New CheckBox
    Private CheckBox2 As New CheckBox
    Private CheckBox3 As New CheckBox
    Private Label1 As New Label
    Private Label2 As New Label
    Private Label3 As New Label
    Private Label4 As New Label
    Private Label5 As New Label
    Private Label6 As New Label
    Private Timer1 As New Timer
    Public Sub New()
        MyBase.New()
        InitializeComponent()
        FormProperties()
        ControlProperties()
        Timer1.Enabled = True
        AddHandler Button1.Click, AddressOf Button1_Click
        AddHandler CheckBox1.CheckedChanged, AddressOf CheckBox1_CheckedChanged
        AddHandler CheckBox2.CheckedChanged, AddressOf CheckBox2_CheckedChanged
        AddHandler CheckBox3.CheckedChanged, AddressOf CheckBox3_CheckedChanged
        AddHandler Label1.Click, AddressOf Label1_Click
        AddHandler Label2.Click, AddressOf Label2_Click
        AddHandler Label3.Click, AddressOf Label3_Click
        AddHandler Label4.Click, AddressOf Label4_Click
        AddHandler Label5.Click, AddressOf Label5_Click
        AddHandler Label6.Click, AddressOf Label6_Click
        AddHandler Timer1.Tick, AddressOf Timer1_Tick
    End Sub

    Private Sub Timer1_Tick(ByVal sender As Object, ByVal e As EventArgs)
        Dim rand As New System.Random
        Dim arr As Integer() = New Integer(15 - 1) {}
        Dim iCount As Integer = 0
        Do While iCount < arr.Length
            arr(iCount) = rand.[Next](0, 100)
            iCount += 1
            Timer1.Interval = rand.[Next](450, 550)
        Loop
        Me.PeakMeterCtrl1.SetData(arr, 0, arr.Length)
    End Sub
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
        Select Case Button1.Text
            Case "Start"
                Timer1.Enabled = True
                Button1.Text = "Stop"
            Case Else
                Timer1.Enabled = False
                Button1.Text = "Start"
        End Select
    End Sub
    Private Sub CheckBox1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
        Select Case CheckBox1.CheckState
            Case CheckState.Checked
                PeakMeterCtrl1.FalloffEffect = True
            Case Else
                PeakMeterCtrl1.FalloffEffect = False
        End Select
        If (PeakMeterCtrl1.BackColor = System.Drawing.SystemColors.Control) Then PeakMeterCtrl1.FalloffColor = Color.Black
    End Sub
    Private Sub CheckBox2_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
        Select Case CheckBox2.CheckState
            Case CheckState.Checked
                PeakMeterCtrl1.ShowGrid = True
                PeakMeterCtrl1.BackColor = System.Drawing.SystemColors.Control
                CheckBox3.Enabled = True
            Case Else
                PeakMeterCtrl1.ShowGrid = False
                CheckBox3.Enabled = False
        End Select
        If CheckBox1.CheckState = CheckState.Checked Then
            PeakMeterCtrl1.FalloffColor = Color.Black
        End If
    End Sub
    Private Sub CheckBox3_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
        Select Case CheckBox3.CheckState
            Case CheckState.Checked
                PeakMeterCtrl1.ColoredGrid = True
            Case Else
                PeakMeterCtrl1.ColoredGrid = False
        End Select
    End Sub
    Private Sub Label1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
        If ColorDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
            PeakMeterCtrl1.BackColor = ColorDialog1.Color
        End If
        Select Case PeakMeterCtrl1.BackColor
            Case Color.Black
                PeakMeterCtrl1.FalloffColor = Color.White
            Case Color.White
                PeakMeterCtrl1.FalloffColor = Color.Black
            Case Else
                PeakMeterCtrl1.FalloffColor = Color.Red
        End Select
        If (PeakMeterCtrl1.BackColor = Color.Red) Then
            PeakMeterCtrl1.FalloffColor = Color.White
        End If
    End Sub
    Private Sub Label2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
        If ColorDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
            PeakMeterCtrl1.FalloffColor = ColorDialog1.Color
        End If
    End Sub
    Private Sub Label3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
        If Not (PeakMeterCtrl1.BackColor = Color.Black) Then PeakMeterCtrl1.BackColor = Color.Black
        PeakMeterCtrl1.ColorNormal = Color.Green
        PeakMeterCtrl1.ColorMedium = Color.Yellow
        PeakMeterCtrl1.ColorHigh = Color.Red
        If CheckBox1.CheckState = CheckState.Checked Then
            PeakMeterCtrl1.FalloffEffect = True
            PeakMeterCtrl1.FalloffColor = Color.White
            PeakMeterCtrl1.Start(50)
        End If
        CheckBox1.Checked = False
        CheckBox2.Checked = False
        CheckBox3.Checked = False
        CheckBox3.Enabled = False
    End Sub
    Private Sub Label4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
        If ColorDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
            PeakMeterCtrl1.ColorNormal = ColorDialog1.Color
        End If
    End Sub
    Private Sub Label5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
        If ColorDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
            PeakMeterCtrl1.ColorMedium = ColorDialog1.Color
        End If
    End Sub
    Private Sub Label6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
        If ColorDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
            PeakMeterCtrl1.ColorHigh = ColorDialog1.Color
        End If
    End Sub
    Private Sub FormProperties()
        Me.CenterToScreen()
        Me.Text = "Grid LED Spectrum"
        Me.MaximizeBox = False
        Me.AutoSizeMode = Windows.Forms.AutoSizeMode.GrowAndShrink
        Me.Controls.AddRange(New Control() {Button1, CheckBox1, CheckBox2, CheckBox3, Label1, Label2, Label3, Label4, Label5, Label6})
    End Sub
    Private Sub ControlProperties()
        Button1.Text = "Stop"
        Button1.Location = New Point(111, 231)
        Button1.Cursor = Cursors.Hand
        CheckBox1.Text = "Show FallOff Effect"
        CheckBox1.Location = New Point(12, 144)
        CheckBox1.AutoSize = True
        CheckBox1.Checked = False
        CheckBox2.Text = "Show Grid"
        CheckBox2.Location = New Point(130, 144)
        CheckBox2.AutoSize = True
        CheckBox2.Checked = False
        CheckBox3.Text = "Colored Grid"
        CheckBox3.Location = New Point(205, 144)
        CheckBox3.AutoSize = True
        CheckBox3.Checked = False
        CheckBox3.Enabled = False
        Label1.AutoSize = True
        Label1.Text = "Background Color"
        Label1.Cursor = Cursors.Hand
        Label1.Location = New Point(111, 173)
        Label1.BorderStyle = BorderStyle.FixedSingle
        Label2.AutoSize = True
        Label2.Text = "FallOff Color"
        Label2.Cursor = Cursors.Hand
        Label2.Location = New Point(12, 173)
        Label2.BorderStyle = BorderStyle.FixedSingle
        Label3.AutoSize = True
        Label3.Text = "Default"
        Label3.Cursor = Cursors.Hand
        Label3.Location = New Point(240, 173)
        Label3.BorderStyle = BorderStyle.FixedSingle
        Label4.AutoSize = True
        Label4.Text = "Normal Color"
        Label4.Cursor = Cursors.Hand
        Label4.Location = New Point(12, 202)
        Label4.BorderStyle = BorderStyle.FixedSingle
        Label5.AutoSize = True
        Label5.Text = "Medium Color"
        Label5.Cursor = Cursors.Hand
        Label5.Location = New Point(115, 202)
        Label5.BorderStyle = BorderStyle.FixedSingle
        Label6.AutoSize = True
        Label6.Text = "High Color"
        Label6.Cursor = Cursors.Hand
        Label6.Location = New Point(224, 202)
        Label6.BorderStyle = BorderStyle.FixedSingle
        PeakMeterCtrl1.ShowGrid = False
        PeakMeterCtrl1.FalloffEffect = False
        PeakMeterCtrl1.ColoredGrid = False
        PeakMeterCtrl1.BackColor = Color.Black
        PeakMeterCtrl1.FalloffColor = Color.White
        PeakMeterCtrl1.Start(50)
    End Sub
End Class

ReplyReply Reply with quoteQuote
20  Developments / BASS / Re: Direct bass : Vb.net on: 14 Nov '12 - 07:48
nBass1.8 Level Meter

RightClick to load and playing.

Public Class Form1
    Inherits Form
    Private fdlg As New OpenFileDialog
    Private Sub ExitToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ExitToolStripMenuItem.Click
        Me.Close()
    End Sub
    Private strm As Integer
    Public Sub New()
        MyBase.New()
        InitializeComponent()
        nBass.InitStart()
        Timer1.Interval = 35
    End Sub
    Private Sub StopToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles StopToolStripMenuItem.Click
        nBass.LevelZero(VuMeter1, VuMeter2, VuMeter3, VuMeter4, Timer1)
        nBass.StreamStop(strm)
    End Sub
    Private Sub LoadToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LoadToolStripMenuItem.Click
        If fdlg.ShowDialog = Windows.Forms.DialogResult.OK Then
            nBass.LevelZero(VuMeter1, VuMeter2, VuMeter3, VuMeter4, Timer1)
            nBass.StreamFree(strm)
            strm = nBass.StreamCreateFile(0, fdlg.FileName, 0, 0, 0)
        End If
    End Sub
    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        nBass.StereoLevelMeter(strm, VuMeter1, VuMeter2)
        nBass.StereoLevelMeter(strm, VuMeter3, VuMeter4)
        If nBass.IsActive(strm) = nBass.ActiveState.Stopped Then
            nBass.LevelZero(VuMeter1, VuMeter2, VuMeter3, VuMeter4, Timer1)
        End If
    End Sub
    Private Sub PlayToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PlayToolStripMenuItem.Click
        nBass.StreamPlay(strm, True, 0)
        Timer1.Enabled = True
    End Sub
    Private Sub PauseToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PauseToolStripMenuItem.Click
        If nBass.IsActive(strm) = nBass.ActiveState.Playing Then
            nBass.StreamPause(strm)
            PauseToolStripMenuItem.Text = "Resume"
            nBass.LevelZero(VuMeter1, VuMeter2, VuMeter3, VuMeter4, Timer1)
        Else
            nBass.StreamResume(strm)
            PauseToolStripMenuItem.Text = "Pause"
            Timer1.Enabled = True
        End If
    End Sub
End Class
'--------------------------------------------------------------
Class nBass
    Inherits Object
    <System.Runtime.InteropServices.DllImport("basswma.dll", EntryPoint:="BASS_WMA_StreamCreateFile")> _
    Public Shared Function _LoadWMAStream _
    (ByVal mem As Integer, _
     ByVal filename As System.IntPtr, _
     ByVal offset As Integer, _
     ByVal length As Integer, _
     ByVal flags As Integer) As System.IntPtr
    End Function
    <System.Runtime.InteropServices.DllImport("bass.dll")> _
    Private Shared Function BASS_StreamCreateFile _
    (ByVal mem As Integer, _
     ByVal [file] As String, _
     ByVal offset As Integer, _
     ByVal Length As Integer, _
     ByVal flags As nBassFlag) As Integer
    End Function
    Public Shared Function StreamCreateFile _
    (ByVal mem As Integer, _
     ByVal [file] As String, _
     ByVal offset As Integer, _
     ByVal Length As Integer, _
     ByVal flags As nBassFlag) As Integer
        Return BASS_StreamCreateFile(mem, [file], offset, Length, nBassFlag.nBASS_DEFAULT)
    End Function
    <System.Runtime.InteropServices.DllImport("bass.dll")> _
    Private Shared Function BASS_StreamPlay _
    (ByVal handle As Integer, _
     ByVal flush As Boolean, _
     ByVal flags As nBassFlag) As Integer
    End Function
    Public Shared Function StreamPlay _
    (ByVal handle As System.IntPtr, _
     ByVal flush As Integer, _
     ByVal flags As nBassFlag)
        Return BASS_StreamPlay(handle, flush, nBassFlag.nBASS_DEFAULT)
    End Function
    <System.Runtime.InteropServices.DllImport("bass.dll")> _
    Private Shared Function BASS_ChannelPause(ByVal handle As Integer) As Integer
    End Function
    Public Shared Function StreamPause(ByVal handle As Integer) As Integer
        Return BASS_ChannelPause(handle)
    End Function
    <System.Runtime.InteropServices.DllImport("bass.dll")> _
    Private Shared Function BASS_ChannelResume(ByVal handle As Integer) As Integer
    End Function
    Public Shared Function StreamResume(ByVal handle As Integer) As Integer
        BASS_ChannelResume(handle)
    End Function
    <System.Runtime.InteropServices.DllImport("bass.dll")> _
    Private Shared Function BASS_ChannelStop(ByVal handle As Integer) As Integer
    End Function
    Public Shared Function StreamStop(ByVal handle As Integer) As Integer
        BASS_ChannelStop(handle)
    End Function
    <System.Runtime.InteropServices.DllImport("bass.dll")> _
    Private Shared Function BASS_StreamFree(ByVal handle As Integer) As Integer
    End Function
    Public Shared Function StreamFree(ByVal handle As Integer)
        Return BASS_StreamFree(handle)
    End Function
    Public Shared Function InitStart() As Integer
        BASS_Init(-1, 44100, nBassInit.nBASS_DEVICE_DEFAULT, System.IntPtr.Zero)
        BASS_Start()
    End Function
    <System.Runtime.InteropServices.DllImport("bass.dll", EntryPoint:="BASS_GetVersion")> _
    Public Shared Function _GetVersion() As Integer
    End Function
    <System.Runtime.InteropServices.DllImport("bass.dll", EntryPoint:="BASS_GetDeviceDescription")> _
    Public Shared Function _GetDeviceDescription(ByVal devnum As Integer) As System.IntPtr
    End Function
    <System.Runtime.InteropServices.DllImport("bass.dll")> _
    Private Shared Function BASS_Init _
    (ByVal device As Integer, _
     ByVal freq As Integer, _
     ByVal flags As nBassInit, _
     ByVal win As System.IntPtr) As Integer
    End Function
    Private Shared Function Init _
    (ByVal device As Integer, _
     ByVal freq As Integer, _
     ByVal flags As nBassInit, _
     ByVal win As System.IntPtr) As Integer
        Return BASS_Init(device, freq, flags, win)
    End Function
    <System.Runtime.InteropServices.DllImport("bass.dll", EntryPoint:="BASS_Stop")> _
   Public Shared Function _Stop() As Integer
    End Function
    <System.Runtime.InteropServices.DllImport("bass.dll", EntryPoint:="BASS_Pause")> _
    Public Shared Function _Pause() As Integer
    End Function
    <System.Runtime.InteropServices.DllImport("bass.dll", EntryPoint:="BASS_Free")> _
    Public Shared Sub _Free()
    End Sub
    <System.Runtime.InteropServices.DllImport("bass.dll", EntryPoint:="BASS_GetCPU")> _
    Public Shared Function _GetCPU() As Single
    End Function
    <System.Runtime.InteropServices.DllImport("bass.dll")> _
    Private Shared Function BASS_Start() As Integer
    End Function
    Private Shared Function Start()
        Return BASS_Start()
    End Function
    <System.Runtime.InteropServices.DllImport("bass.dll")> _
    Private Shared Function BASS_ChannelGetLevel(ByVal handle As Integer) As Integer
    End Function
    <System.Runtime.InteropServices.DllImport("bass.dll")> _
    Private Shared Function BASS_ChannelIsActive(ByVal handle As Integer) As Integer
    End Function
    Public Shared Function IsActive(ByVal handle As Integer) As ActiveState
        Return BASS_ChannelIsActive(handle)
    End Function
    Private Shared Function HiWord(ByVal Number As Integer) As Integer
        Return (Number >> 16) And 65535
    End Function
    Private Shared Function LoWord(ByVal Number As Integer) As Integer
        Return Number And 65535
    End Function
    Public Shared Function StereoLevelMeter _
    (ByVal handle As Integer, _
     ByVal levL As VU_MeterLibrary.VuMeter, _
     ByVal levR As VU_MeterLibrary.VuMeter) As Integer
        Dim lev As Integer = BASS_ChannelGetLevel(handle)
        levL.Level = LoWord(lev) * 465
        levR.Level = HiWord(lev) * 465
    End Function
    Public Shared Function LevelZero _
    (ByVal vu1L As VU_MeterLibrary.VuMeter, _
     ByVal vu2R As VU_MeterLibrary.VuMeter, _
     ByVal led3L As VU_MeterLibrary.VuMeter, _
     ByVal led4R As VU_MeterLibrary.VuMeter, _
     ByVal timeStop As Timer) As Integer
        vu1L.Level = 0
        vu2R.Level = 0
        led3L.Level = 0
        led4R.Level = 0
        timeStop.Enabled = False
    End Function
    <Flags()> _
    Public Enum nBassInit
#Region "nBassInit Fields"
        nBASS_DEVICE_DEFAULT = 0
        nBASS_DEVICE_8BITS = 1
        nBASS_DEVICE_MONO = 2
        nBASS_DEVICE_3D = 4
        nBASS_DEVICE_LATENCY = 256
        nBASS_DEVICE_CPSPEAKERS = 1024
        nBASS_DEVICE_SPEAKERS = 2048
        nBASS_DEVICE_NOSPEAKER = 4096
        nBASS_DEVIDE_DMIX = 8192
#End Region
    End Enum
    <Flags()> _
   Public Enum nBassFlag
#Region "nBassFlag Fields"
        nBASS_DEFAULT = 0
        nBASS_SAMPLE_FLOAT = 256
        nBASS_STREAM_PRESCAN = 131072
        nBASS_STREAM_AUTOFREE = 262144
        nBASS_STREAM_STATUS = 8388608
        nBASS_UNICODE = -2147483648
#End Region
    End Enum
    Public Enum ActiveState
#Region "ActiveState Fields"
        Stopped = 0
        Playing = 1
        Stalled = 2
        Paused = 3
#End Region
    End Enum
    <Flags()> _
   Public Enum nBassMode
#Region "nBassMode Fields"
        nBASS_POS_BYTES = 0
        nBASS_POS_MUSIC_ORDERS = 1
        nBASS_POS_MIDI_TICK = 2
        nBASS_MUSIC_POSRESET = 32768
        nBASS_MUSIC_POSRESETEX = 4194304
        nBASS_MIXER_NORAMPIN = 8388608
        nBASS_POS_DECODE = 268435456
        nBASS_POS_DECODETO = 536870912
        nBASS_MIDI_DECAYSEEK = 16384
#End Region
    End Enum
End Class

ReplyReply Reply with quoteQuote
Pages: [1] 2 3 ... 5
Powered by SMF 1.1.18 | SMF © 2013, Simple Machines