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

Login with username, password and session length
 
   Home   Help Search Login Register  
Pages: 1 2 [3] 4 5  All
  Reply  |  Print  
Author Topic: Direct bass : Vb.net  (Read 8251 times)
sak2005
Posts: 82


« Reply #40 on: 16 Aug '12 - 20:05 »
Reply with quoteQuote

Could you upload the project files again please?... can't seem to download it from the links you've given ...

OK I'll send new links download given.

Download: nBASS Visualizer SourceCode Click here
« Last Edit: 18 Aug '12 - 06:06 by sak2005 » Logged
sak2005
Posts: 82


« Reply #41 on: 18 Aug '12 - 16:35 »
Reply with quoteQuote

Tip: BASS_TimeSpanCalculator SourceCode

Public Function BASS_TimeSpanCalculator(ByVal Seconds As Double) As String
        Dim tSpan As System.TimeSpan
        tSpan = TimeSpan.FromSeconds(Seconds)
        Return Strings.Right(tSpan.ToString, 5)
    End Function
==================================================================
Tip: BASS_PercentPosition SourceCode

Public Function BASS_PercentPosition(ByVal posByte As Integer, ByVal lenByte As Integer) As Integer
        Return Math.Round((posByte / lenByte) * 100)
    End Function
=================================================================
Example:
Public Class Form1
    Declare Function nBASS_Init Lib "bass.dll" Alias "BASS_Init" _
    (ByVal device As Integer, _
     ByVal freq As Integer, _
     ByVal flags As Integer, _
     ByVal win As Integer) As Integer
    Declare Sub nBASS_StreamFree Lib "bass.dll" Alias "BASS_StreamFree" _
    (ByVal handle As Integer)
    Declare Function nBASS_StreamCreateFile Lib "bass.dll" Alias "BASS_StreamCreateFile" _
    (ByVal mem As Integer, _
     ByVal f As String, _
     ByVal offset As Integer, _
     ByVal Length As Integer, _
     ByVal flags As Integer) As Integer
    Declare Function nBASS_StreamPlay Lib "bass.dll" Alias "BASS_StreamPlay" _
    (ByVal handle As Integer, _
     ByVal flush As Integer, _
     ByVal flags As Integer) As Integer
    Declare Function nBASS_ChannelGetPosition Lib "bass.dll" Alias "BASS_ChannelGetPosition" _
    (ByVal handle As Integer) As Long
    Declare Function nBASS_StreamGetLength Lib "bass.dll" Alias "BASS_StreamGetLength" _
    (ByVal handle As Integer) As Long
    Declare Function nBASS_ChannelBytes2Seconds Lib "bass.dll" Alias "BASS_ChannelBytes2Seconds" _
    (ByVal handle As Integer, _
     ByVal pos As Long) As Single
    Declare Function nBASS_Start Lib "bass.dll" Alias "BASS_Start" () As Integer
    Declare Function nBASS_ChannelIsActive Lib "bass.dll" Alias "BASS_ChannelIsActive" _
    (ByVal handle As Integer) As Integer
    Public Const BASS_ACTIVE_STOPPED As Short = 0
    Public Const BASS_ACTIVE_PLAYING As Short = 1
    Dim strm As Integer
    Public Sub New()
        InitializeComponent()
        nBASS_Init(-1, 44100, 0, Me.Handle.ToInt32)
        Me.CenterToScreen()
    End Sub
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim fileName As String
        OpenFileDialog1.FileName = ""
        OpenFileDialog1.Filter = "Media file(*.mp3;*.wav|*.mp3;*.wav)"
        If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
            fileName = My.Computer.FileSystem.GetName(OpenFileDialog1.FileName)
            Label5.Text = fileName
            nBASS_StreamFree(strm)
            nBASS_Start()
            strm = nBASS_StreamCreateFile(0, fileName, 0, 0, 0)
            nBASS_StreamPlay(strm, 0, 0)
            Timer1.Enabled = True
        End If
    End Sub
    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        Dim posByte As Integer
        Dim lenByte As Integer
        Dim nSecond1 As Integer
        Dim nSecond2 As Integer
        lenByte = nBASS_StreamGetLength(strm)
        posByte = nBASS_ChannelGetPosition(strm)
        nSecond1 = nBASS_ChannelBytes2Seconds(strm, lenByte)
        nSecond2 = nBASS_ChannelBytes2Seconds(strm, posByte)
        Label1.Text = nBASS_TimeSpanCalculator(nSecond1)
        Label2.Text = nBASS_TimeSpanCalculator(nSecond2)
        Label4.Text = nBASS_PercentPosition(posByte, lenByte) & "%"
        Select Case nBASS_ChannelIsActive(strm)
            Case BASS_ACTIVE_PLAYING
                Label3.Text = "Playing.."
            Case BASS_ACTIVE_STOPPED
                Label2.Text = "00:00"
                Label3.Text = "Song End"
                Label4.Text = "0%"
                Timer1.Enabled = False
        End Select
    End Sub
    Public Function nBASS_TimeSpanCalculator(ByVal Seconds As Double) As String
        Dim tSpan As System.TimeSpan
        tSpan = TimeSpan.FromSeconds(Seconds)
        Return Strings.Right(tSpan.ToString, 5)
    End Function
    Public Function nBASS_PercentPosition(ByVal posByte As Integer, ByVal lenByte As Integer) As Integer
        Return Math.Round((posByte / lenByte) * 100)
    End Function
End Class
« Last Edit: 19 Aug '12 - 01:12 by sak2005 » Logged
sak2005
Posts: 82


« Reply #42 on: 17 Sep '12 - 11:57 »
Reply with quoteQuote

GetCode: FlashDrive SongList Player

Paste songs.mp3 to the FlashDrive.

DoubleClick songName in the listbox to playing.

Public Class Form1
    Private listBox1 As New ListBox
    Public Sub New()
        InitializeComponent()
        Me.Size = New Size(300, 220)
        Me.MaximizeBox = False
        Me.AutoSizeMode = Windows.Forms.AutoSizeMode.GrowAndShrink
        Me.CenterToScreen()
        listBox1.Bounds = New Rectangle(12, 12, 268, 160)
        Me.Controls.Add(listBox1)
        FoundDriveLetter()
        AddHandler listBox1.DoubleClick, AddressOf listBox1_DoubleClick
    End Sub
    Public Sub FilesListBox(ByVal Source As String)
        Try
            For Each foundFiles As String In FileIO.FileSystem.GetFiles(Source, FileIO.SearchOption.SearchTopLevelOnly Or FileIO.SearchOption.SearchAllSubDirectories, "*.mp3")
                listBox1.Items.Add(foundFiles)
            Next
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub
    Public Sub FoundDriveLetter()
        Dim nDrive As String = Nothing
        Dim d As Object = Nothing
        Dim btn As String = Nothing
        Dim fso As Object = CreateObject("Scripting.FileSystemObject")
        Dim dc As Object = fso.Drives
        Try
            For Each d In dc
                If d.IsReady Then
                    If d.DriveType = 1 Then
                        nDrive &= d.DriveLetter
                    End If
                End If
            Next
            Select Case nDrive
                Case "D"
                    Me.Text = "DriveListBox (D:)"
                    FilesListBox("D:\")
                Case "E"
                    Me.Text = "DriveListBox (E:)"
                    FilesListBox("E:\")
                Case "F"
                    Me.Text = "DriveListBox (F:)"
                    FilesListBox("F:\")
                Case "G"
                    Me.Text = "DriveListBox (G:)"
                    FilesListBox("G:\")
                Case "H"
                    Me.Text = "DriveListBox (H:)"
                    FilesListBox("H:\")
                Case "I"
                    Me.Text = "DriveListBox (I:)"
                    FilesListBox("I:\")
                Case Else
                    MsgBox("No,FlashDrive")
            End Select
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub
    Public Sub listBox1_DoubleClick(ByVal sender As Object, ByVal e As EventArgs)
        Try
            Process.Start(listBox1.SelectedItem)
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub
End Class
« Last Edit: 26 Sep '12 - 17:29 by sak2005 » Logged
sak2005
Posts: 82


« Reply #43 on: 8 Oct '12 - 07:26 »
Reply with quoteQuote

Try! LED meter. Modify to Sound VU meter (LED white top)

Public Class Form1
    Private iL As Integer = 0
    Private iR As Integer = 0
    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        iL += 1
        Select Case iL
            Case 0
                TableLayoutPanel1.BackColor = Color.Black
                TableLayoutPanel2.BackColor = Color.Black
            Case 1
                TableLayoutPanel1.BackColor = Color.Green
                TableLayoutPanel2.BackColor = Color.White
            Case 2
                TableLayoutPanel1.BackColor = Color.Green
                TableLayoutPanel2.BackColor = Color.Green
                TableLayoutPanel3.BackColor = Color.White
            Case 3
                TableLayoutPanel1.BackColor = Color.Green
                TableLayoutPanel2.BackColor = Color.Green
                TableLayoutPanel3.BackColor = Color.Green
                TableLayoutPanel4.BackColor = Color.White
            Case 4
                TableLayoutPanel1.BackColor = Color.Green
                TableLayoutPanel2.BackColor = Color.Green
                TableLayoutPanel3.BackColor = Color.Green
                TableLayoutPanel4.BackColor = Color.Green
                TableLayoutPanel5.BackColor = Color.White
            Case 5
                TableLayoutPanel1.BackColor = Color.Green
                TableLayoutPanel2.BackColor = Color.Green
                TableLayoutPanel3.BackColor = Color.Green
                TableLayoutPanel4.BackColor = Color.Green
                TableLayoutPanel5.BackColor = Color.Green
                TableLayoutPanel6.BackColor = Color.White
            Case 6
                TableLayoutPanel1.BackColor = Color.Green
                TableLayoutPanel2.BackColor = Color.Green
                TableLayoutPanel3.BackColor = Color.Green
                TableLayoutPanel4.BackColor = Color.Green
                TableLayoutPanel5.BackColor = Color.Green
                TableLayoutPanel6.BackColor = Color.Green
                TableLayoutPanel7.BackColor = Color.White
            Case 7
                TableLayoutPanel1.BackColor = Color.Green
                TableLayoutPanel2.BackColor = Color.Green
                TableLayoutPanel3.BackColor = Color.Green
                TableLayoutPanel4.BackColor = Color.Green
                TableLayoutPanel5.BackColor = Color.Green
                TableLayoutPanel6.BackColor = Color.Green
                TableLayoutPanel7.BackColor = Color.Green
                TableLayoutPanel8.BackColor = Color.White
            Case 8
                TableLayoutPanel1.BackColor = Color.Green
                TableLayoutPanel2.BackColor = Color.Green
                TableLayoutPanel3.BackColor = Color.Green
                TableLayoutPanel4.BackColor = Color.Green
                TableLayoutPanel5.BackColor = Color.Green
                TableLayoutPanel6.BackColor = Color.Green
                TableLayoutPanel7.BackColor = Color.Green
                TableLayoutPanel8.BackColor = Color.Green
                TableLayoutPanel9.BackColor = Color.White
            Case 9
                TableLayoutPanel1.BackColor = Color.Green
                TableLayoutPanel2.BackColor = Color.Green
                TableLayoutPanel3.BackColor = Color.Green
                TableLayoutPanel4.BackColor = Color.Green
                TableLayoutPanel5.BackColor = Color.Green
                TableLayoutPanel6.BackColor = Color.Green
                TableLayoutPanel7.BackColor = Color.Green
                TableLayoutPanel8.BackColor = Color.Green
                TableLayoutPanel9.BackColor = Color.Green
                TableLayoutPanel10.BackColor = Color.White
                ColorResetL()
                iL = 0
        End Select
    End Sub
    Public Sub ColorResetL()
        TableLayoutPanel1.BackColor = Color.Green
        TableLayoutPanel2.BackColor = Color.Black
        TableLayoutPanel3.BackColor = Color.Black
        TableLayoutPanel4.BackColor = Color.Black
        TableLayoutPanel5.BackColor = Color.Black
        TableLayoutPanel6.BackColor = Color.Black
        TableLayoutPanel7.BackColor = Color.Black
        TableLayoutPanel8.BackColor = Color.Black
        TableLayoutPanel9.BackColor = Color.Black
        TableLayoutPanel10.BackColor = Color.Black
    End Sub
    Public Sub ColorResetR()
        TableLayoutPanel11.BackColor = Color.Green
        TableLayoutPanel12.BackColor = Color.Black
        TableLayoutPanel13.BackColor = Color.Black
        TableLayoutPanel14.BackColor = Color.Black
        TableLayoutPanel15.BackColor = Color.Black
        TableLayoutPanel16.BackColor = Color.Black
        TableLayoutPanel17.BackColor = Color.Black
        TableLayoutPanel18.BackColor = Color.Black
        TableLayoutPanel19.BackColor = Color.Black
        TableLayoutPanel20.BackColor = Color.Black
    End Sub
    Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick
        iR += 1
        Select Case iR
            Case 0
                TableLayoutPanel11.BackColor = Color.Black
                TableLayoutPanel12.BackColor = Color.Black
            Case 1
                TableLayoutPanel11.BackColor = Color.Green
                TableLayoutPanel12.BackColor = Color.White
            Case 2
                TableLayoutPanel11.BackColor = Color.Green
                TableLayoutPanel12.BackColor = Color.Green
                TableLayoutPanel13.BackColor = Color.White
            Case 3
                TableLayoutPanel11.BackColor = Color.Green
                TableLayoutPanel12.BackColor = Color.Green
                TableLayoutPanel13.BackColor = Color.Green
                TableLayoutPanel14.BackColor = Color.White
            Case 4
                TableLayoutPanel11.BackColor = Color.Green
                TableLayoutPanel12.BackColor = Color.Green
                TableLayoutPanel13.BackColor = Color.Green
                TableLayoutPanel14.BackColor = Color.Green
                TableLayoutPanel15.BackColor = Color.White
            Case 5
                TableLayoutPanel11.BackColor = Color.Green
                TableLayoutPanel12.BackColor = Color.Green
                TableLayoutPanel13.BackColor = Color.Green
                TableLayoutPanel14.BackColor = Color.Green
                TableLayoutPanel15.BackColor = Color.Green
                TableLayoutPanel16.BackColor = Color.White
            Case 6
                TableLayoutPanel11.BackColor = Color.Green
                TableLayoutPanel12.BackColor = Color.Green
                TableLayoutPanel13.BackColor = Color.Green
                TableLayoutPanel14.BackColor = Color.Green
                TableLayoutPanel15.BackColor = Color.Green
                TableLayoutPanel16.BackColor = Color.Green
                TableLayoutPanel17.BackColor = Color.White
            Case 7
                TableLayoutPanel11.BackColor = Color.Green
                TableLayoutPanel12.BackColor = Color.Green
                TableLayoutPanel13.BackColor = Color.Green
                TableLayoutPanel14.BackColor = Color.Green
                TableLayoutPanel15.BackColor = Color.Green
                TableLayoutPanel16.BackColor = Color.Green
                TableLayoutPanel17.BackColor = Color.Green
                TableLayoutPanel18.BackColor = Color.White
            Case 8
                TableLayoutPanel11.BackColor = Color.Green
                TableLayoutPanel12.BackColor = Color.Green
                TableLayoutPanel13.BackColor = Color.Green
                TableLayoutPanel14.BackColor = Color.Green
                TableLayoutPanel15.BackColor = Color.Green
                TableLayoutPanel16.BackColor = Color.Green
                TableLayoutPanel17.BackColor = Color.Green
                TableLayoutPanel18.BackColor = Color.Green
                TableLayoutPanel19.BackColor = Color.White
            Case 9
                TableLayoutPanel11.BackColor = Color.Green
                TableLayoutPanel12.BackColor = Color.Green
                TableLayoutPanel13.BackColor = Color.Green
                TableLayoutPanel14.BackColor = Color.Green
                TableLayoutPanel15.BackColor = Color.Green
                TableLayoutPanel16.BackColor = Color.Green
                TableLayoutPanel17.BackColor = Color.Green
                TableLayoutPanel18.BackColor = Color.Green
                TableLayoutPanel19.BackColor = Color.Green
                TableLayoutPanel20.BackColor = Color.White
                ColorResetR()
                iR = 0
        End Select
    End Sub
    Public Sub New()
        InitializeComponent()
        Me.CenterToScreen()
        Me.MinimizeBox = False
        Me.MaximizeBox = False
        Me.AutoSizeMode = Windows.Forms.AutoSizeMode.GrowAndShrink
        Timer3.Enabled = True
    End Sub
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Select Case Button1.Text
            Case "Start"
                Timer1.Enabled = True
                Timer2.Enabled = True
                Button1.Text = "Pause"
            Case Else
                Timer1.Enabled = False
                Timer2.Enabled = False
                Button1.Text = "Start"
        End Select
    End Sub

    Private Sub Timer3_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer3.Tick
        If RadioButton1.Checked = True Then
            Timer1.Interval = 390
            Timer2.Interval = 390
        ElseIf RadioButton2.Checked = True Then
            Timer1.Interval = 90
            Timer2.Interval = 90
        Else
            Timer1.Interval = 30
            Timer2.Interval = 30
        End If
    End Sub
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Timer1.Enabled = False
        Timer2.Enabled = False
        ColorResetL()
        TableLayoutPanel1.BackColor = Color.Black
        ColorResetR()
        TableLayoutPanel11.BackColor = Color.Black
        If Button1.Text = "Pause" Then Button1.Text = "Start"
        iL = 0
        iR = 0
    End Sub
End Class


=================================================
Download: Sound UV meter Sample Click here

« Last Edit: 8 Oct '12 - 14:09 by sak2005 » Logged
sak2005
Posts: 82


« Reply #44 on: 29 Oct '12 - 05:31 »
Reply with quoteQuote

Reference BASS Functions Sample Code Grin

1.Reference BASS.net.dll

2.Add BASS.dll in to the debug folder

Copied all code and paste in to the form editor. Try run now!

You're not must setting properties Form Object.

Imports Un4seen.Bass
Imports Un4seen.Bass.BASSActive
Public Class Form1
    Private tSpan As TimeSpan
    Private lSpan As TimeSpan
    Private Lbl1 As New Label
    Private Lbl2 As New Label
    Private Lbl3 As New Label
    Private Lbl4 As New Label
    Private Btn1 As New Button
    Private Btn2 As New Button
    Private Btn3 As New Button
    Private Btn4 As New Button
    Private ChkBox1 As New CheckBox
    Private ChkBox2 As New CheckBox
    Private prog1 As New ProgressBar
    Private StatusBar1 As New StatusBar
    Private time1 As New Timer
    Private time2 As New Timer
    Private strm As Integer = 0
    Public Sub New()
        MyBase.New()
        InitializeComponent()
        Me.CenterToScreen()
        Me.Text = "BASSUN4SEEN"
        Me.Size = New Size(229, 157)
        Me.MaximizeBox = False
        Me.AutoSizeMode = Windows.Forms.AutoSizeMode.GrowAndShrink
        Me.ShowIcon = False
        CtlProperties()
        Me.Controls.AddRange(New Control() {Lbl1, Lbl2, Btn1, Btn2, Btn3, Btn4, ChkBox1, ChkBox2, StatusBar1})
        StatusBar1.Controls.AddRange(New Control() {Lbl3, Lbl4, prog1})
        BassNet.Registration("xxx@gmail.com", "2xxxxxxxxx")
        Bass.BASS_Init(-1, 44100, BASSInit.BASS_DEVICE_DEFAULT, IntPtr.Zero)
        AddHandler Btn1.Click, AddressOf Btn1_Click
        AddHandler Btn2.Click, AddressOf Btn2_Click
        AddHandler Btn3.Click, AddressOf Btn3_Click
        AddHandler Btn4.Click, AddressOf Btn4_Click
        AddHandler time1.Tick, AddressOf time1_Tick
        AddHandler time2.Tick, AddressOf time2_Tick
        prog1.Maximum = 100
        time1.Enabled = True
    End Sub
    Private Sub Btn1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
        LoadSong(Lbl2, ChkBox1)
    End Sub
    Private Sub Btn2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
        PlaySong(Lbl1, time2)
    End Sub
    Private Sub Btn3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
        PauseSong(Lbl1, Btn3)
    End Sub
    Private Sub Btn4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
        ResumeButton()
        StopSong(Lbl1, time2)
    End Sub
    Public Sub time1_Tick(ByVal sender As Object, ByVal e As EventArgs)
        BassActive(Lbl1, ChkBox2, prog1, Lbl4)
    End Sub
    Public Sub time2_Tick(ByVal sender As Object, ByVal e As EventArgs)
        BassPosition(prog1)
        BassTimeCalc(Lbl3, Lbl4)
        If prog1.Value >= prog1.Maximum Then
            If ChkBox2.CheckState = CheckState.Checked Then
                Btn2.PerformClick()
            End If
        End If
    End Sub
    Public Sub LoadSong(ByVal LblSongObj As Label, ByVal loadPlayObj As CheckBox)
        Dim file As String
        Dim openFdlg As New OpenFileDialog
        openFdlg.FileName = String.Empty
        openFdlg.Filter = "Song file(*.mp3)|*.mp3"
        If openFdlg.ShowDialog = Windows.Forms.DialogResult.OK Then
            Bass.BASS_StreamFree(strm)
            file = openFdlg.FileName
            strm = Bass.BASS_StreamCreateFile(file, 0, 0, BASSFlag.BASS_DEFAULT)
            LblSongObj.Text = My.Computer.FileSystem.GetName(file)
            ResumeButton()
            If loadPlayObj.CheckState = CheckState.Checked Then Btn2.PerformClick()
        End If
    End Sub
    Public Sub PlaySong(ByVal txtActiveLbl As Label, ByVal timePosObj As Timer)
        If txtActiveLbl.Text = "Paused" Then Return
        Bass.BASS_ChannelPlay(strm, True)
        timePosObj.Enabled = True
    End Sub
    Public Sub PauseSong(ByVal txtActiveLbl As Label, ByVal btnPauseObj As Button)
        If txtActiveLbl.Text = "Stopped" Then Return
        If strm = 0 Then Return
        Select Case btnPauseObj.Text
            Case "Pause"
                Bass.BASS_ChannelPause(strm)
                btnPauseObj.Text = "Resume"
            Case Else
                Bass.BASS_ChannelPlay(strm, False)
                btnPauseObj.Text = "Pause"
        End Select
    End Sub
    Public Sub StopSong(ByVal txtActiveLbl As Label, ByVal timePosObj As Timer)
        If txtActiveLbl.Text = "Stopped" Then Return
        Bass.BASS_ChannelStop(strm)
        timePosObj.Enabled = False
    End Sub
    Public Sub BassActive(ByVal LblActiveObj As Label, ByVal chkBoxObj As CheckBox, ByVal progPosObj As ProgressBar, ByVal leftTimeObj As Label)
        Select Case Bass.BASS_ChannelIsActive(strm)
            Case BASS_ACTIVE_PAUSED
                LblActiveObj.Text = "Paused"
            Case BASS_ACTIVE_PLAYING
                LblActiveObj.Text = "Playing.." & prog1.Value.ToString & "%"
            Case BASS_ACTIVE_STALLED
                LblActiveObj.Text = "Stalled"
            Case BASS_ACTIVE_STOPPED
                LblActiveObj.Text = "Stopped"
                time2.Enabled = False
                progPosObj.Value = prog1.Minimum
                leftTimeObj.Text = "00:00"
        End Select
    End Sub
    Public Sub ResumeButton()
        If Btn3.Text = "Resume" Then Btn3.Text = "Pause"
    End Sub
    Public Sub BassPosition(ByVal PbarObj As ProgressBar)
        PbarObj.Value = Math.Round((Bass.BASS_ChannelGetPosition(strm, BASSMode.BASS_POS_BYTES) / Bass.BASS_ChannelGetLength(strm, BASSMode.BASS_POS_BYTES)) * 100)
    End Sub
    Public Sub BassTimeCalc(ByVal lenTextObj As Label, ByVal posTextObj As Label)
        Dim tTime, lTime As Double
        tTime = Bass.BASS_ChannelBytes2Seconds(strm, Bass.BASS_ChannelGetLength(strm, BASSMode.BASS_POS_BYTES))
        tSpan = TimeSpan.FromSeconds(Math.Round(tTime))
        lenTextObj.Text = Strings.Right(tSpan.ToString, 5)
        lTime = Bass.BASS_ChannelBytes2Seconds(strm, Bass.BASS_ChannelGetPosition(strm, BASSMode.BASS_POS_BYTES))
        lSpan = TimeSpan.FromSeconds(Math.Round(lTime))
        posTextObj.Text = Strings.Right(lSpan.ToString, 5)
    End Sub
    Public Sub CtlProperties()
        Lbl3 = New Label
        Lbl1.Text = "Active"
        Lbl1.SetBounds(78, 23, 37, 13)
        Lbl1.AutoSize = True
        Lbl2.Text = "*     *     *     *     *     *     *     *     *     *     *"
        Lbl2.SetBounds(7, 4, 208, 13)
        Lbl2.AutoSize = True
        Lbl3.Text = "00:00"
        Lbl3.SetBounds(4, 5, 34, 13)
        Lbl3.AutoSize = True
        Lbl4.Text = "00:00"
        Lbl4.SetBounds(182, 5, 34, 13)
        Lbl4.AutoSize = True
        ChkBox1.Text = "PlayOnLoad"
        ChkBox1.SetBounds(35, 46, 84, 17)
        ChkBox2.Text = "RePlay"
        ChkBox2.SetBounds(125, 46, 60, 17)
        Btn1.Text = "Load"
        Btn1.SetBounds(5, 69, 46, 23)
        Btn1.Cursor = Cursors.Hand
        Btn2.Text = "Play"
        Btn2.SetBounds(57, 69, 46, 23)
        Btn2.Cursor = Cursors.Hand
        Btn3.Text = "Pause"
        Btn3.SetBounds(109, 69, 55, 23)
        Btn3.Cursor = Cursors.Hand
        Btn4.Text = "Stop"
        Btn4.SetBounds(170, 69, 46, 23)
        Btn4.Cursor = Cursors.Hand
        prog1.SetBounds(44, 7, 132, 10)
        StatusBar1.SetBounds(0, 102, 221, 22)
    End Sub
End Class

« Last Edit: 29 Oct '12 - 07:24 by sak2005 » Logged
sak2005
Posts: 82


« Reply #45 on: 29 Oct '12 - 14:56 »
Reply with quoteQuote

ฺBASS EQualizer and Bass booster Easy code (Please wait!) Grin

Get ColorSlider.net.dll (eq1 - eq10) for reference Bass solution Click here

Sample:ClassCode1:: Set Array for EQ 10 bands
Imports Un4seen.Bass 'reference bass.net
Public Class BassEqPlayer
    Inherits Object
    Private stream As Integer
    Private fxEQ As Integer()
    Public Sub New()
        MyBase.New()
        Dim arr As Integer()
        Try
            arr = New Integer(10 - 1) {} 'set band array.
            fxEQ = arr
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
        Try                    'set frequency and bass registration.
            BassNet.Registration("xxxx@gmail.com", "2Xxxxxxxxxxxxxx")
            Bass.BASS_Init(1, 41000, BASSInit.BASS_DEVICE_DEFAULT, System.IntPtr.Zero)
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
             Return
        End Sub
End Class
==================================================
Sample:ClassCode2:: Writting Code bass EQ functions
Public Sub SetEQ10()
        Dim paramEQ As New BASS_DX8_PARAMEQ
        Try
            fxEQ(0) = Bass.BASS_ChannelSetFX(stream, BASSFXType.BASS_FX_DX8_PARAMEQ, 0)
            fxEQ(1) = Bass.BASS_ChannelSetFX(stream, BASSFXType.BASS_FX_DX8_PARAMEQ, 0)
            fxEQ(2) = Bass.BASS_ChannelSetFX(stream, BASSFXType.BASS_FX_DX8_PARAMEQ, 0)
            fxEQ(3) = Bass.BASS_ChannelSetFX(stream, BASSFXType.BASS_FX_DX8_PARAMEQ, 0)
            fxEQ(4) = Bass.BASS_ChannelSetFX(stream, BASSFXType.BASS_FX_DX8_PARAMEQ, 0)
            fxEQ(5) = Bass.BASS_ChannelSetFX(stream, BASSFXType.BASS_FX_DX8_PARAMEQ, 0)
            fxEQ(6) = Bass.BASS_ChannelSetFX(stream, BASSFXType.BASS_FX_DX8_PARAMEQ, 0)
            fxEQ(7) = Bass.BASS_ChannelSetFX(stream, BASSFXType.BASS_FX_DX8_PARAMEQ, 0)
            fxEQ(8) = Bass.BASS_ChannelSetFX(stream, BASSFXType.BASS_FX_DX8_PARAMEQ, 0)
            fxEQ(9) = Bass.BASS_ChannelSetFX(stream, BASSFXType.BASS_FX_DX8_PARAMEQ, 0)
            paramEQ.fBandwidth = 18.0!
            paramEQ.fGain = 0.0!
            paramEQ.fCenter = 80.0!
            Bass.BASS_FXSetParameters(fxEQ(0), paramEQ)
            paramEQ.fCenter = 120.0!
            Bass.BASS_FXSetParameters(fxEQ(1), paramEQ)
            paramEQ.fCenter = 250.0!
            Bass.BASS_FXSetParameters(fxEQ(2), paramEQ)
            paramEQ.fCenter = 500.0!
            Bass.BASS_FXSetParameters(fxEQ(3), paramEQ)
            paramEQ.fCenter = 1000.0!
            Bass.BASS_FXSetParameters(fxEQ(4), paramEQ)
            paramEQ.fCenter = 1800.0!
            Bass.BASS_FXSetParameters(fxEQ(5), paramEQ)
            paramEQ.fCenter = 3500.0!
            Bass.BASS_FXSetParameters(fxEQ(6), paramEQ)
            paramEQ.fCenter = 7000.0!
            Bass.BASS_FXSetParameters(fxEQ(7), paramEQ)
            paramEQ.fCenter = 10000.0!
            Bass.BASS_FXSetParameters(fxEQ(8), paramEQ)
            paramEQ.fCenter = 14000.0!
            Bass.BASS_FXSetParameters(fxEQ(9), paramEQ)
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
        Return
    End Sub
    Public Sub UpdateEQ(ByVal band As Integer, ByVal gain As Single)
        Dim paramEQ As New BASS_DX8_PARAMEQ
        Try
            paramEQ.fGain = gain
            Bass.BASS_FXSetParameters(fxEQ(band), paramEQ)
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
        Return
    End Sub

=========================================
Bass Boost Code (Loundness) Function
Public Sub BassBoost(ByVal BoostButton As Button, ByVal TextButtonOn As String, ByVal TextButtonOff As String, ByVal valueEQ As Integer)
        Select Case BoostButton.Text
            Case TextButtonOn
                UpdateEQ(0, CSng(-10 * -1))
                BoostButton.Text = "OFF"
            Case TextButtonOff
                UpdateEQ(0, CSng(valueEQ * -1))
                BoostButton.Text = "ON"
        End Select
        Return
    End Sub
------------------------------------------------------
Example: Loundness Button
Private Sub Btn5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
        BassBoost(Btn5, "ON", "OFF", eq1.Value)
    End Sub
« Last Edit: 30 Oct '12 - 18:12 by sak2005 » Logged
sak2005
Posts: 82


« Reply #46 on: 30 Oct '12 - 16:48 »
Reply with quoteQuote

Sample:ClassCode3:: Writting Code bass Player Functions

LoadSong Function: 3 Options
1. LblTextSongObj is Song name to display.
2. LoadOnPlayObj is CheckBox for open song and playing.
3. PlayButton is set event click play button when set state PlayOnLoad.
Public Sub LoadSong(ByVal LblTextSongObj As Label, ByVal LoadOnPlayObj As CheckBox, ByVal PlayButton As Button)
        Dim file As String
        Dim openFdlg As New OpenFileDialog
        openFdlg.FileName = String.Empty
        openFdlg.Filter = "Song file(*.mp3)|*.mp3"
        If openFdlg.ShowDialog = Windows.Forms.DialogResult.OK Then
            Bass.BASS_StreamFree(stream)
            file = openFdlg.FileName
            stream = Bass.BASS_StreamCreateFile(file, 0, 0, BASSFlag.BASS_DEFAULT)
            LblTextSongObj.Text = My.Computer.FileSystem.GetName(file)
            ResumeButton()
            If LoadOnPlayObj.CheckState = CheckState.Checked Then PlayButton.PerformClick()
        End If
    End Sub
Logged
sak2005
Posts: 82


« Reply #47 on: 30 Oct '12 - 17:15 »
Reply with quoteQuote

Sample:ClassCode4:: Writting Code bass Player Functions

PlaySong , PauseSong and StopSong  Functions

Play Function: 2 Options
1. TextActiveLbl is Text Label for BassChannelIsActive to display
2. timePosObj is set start Timer for song Position when start playing.
Public Sub PlaySong(ByVal TextActiveLbl As Label, ByVal timePosObj As Timer)
        If TextActiveLbl.Text = "Paused" Then Return
        Bass.BASS_ChannelPlay(stream, True)
        SetEQ10() 'start eq 10 bands.
        UpdateEQ(0, CSng(eq1.Value * -1))
        UpdateEQ(1, CSng(eq2.Value * -1))
        UpdateEQ(2, CSng(eq3.Value * -1))
        UpdateEQ(3, CSng(eq4.Value * -1))
        UpdateEQ(4, CSng(eq5.Value * -1)) 'reset eq value. 
        UpdateEQ(5, CSng(eq6.Value * -1))
        UpdateEQ(6, CSng(eq7.Value * -1))
        UpdateEQ(7, CSng(eq8.Value * -1))
        UpdateEQ(8, CSng(eq9.Value * -1))
        UpdateEQ(9, CSng(eq10.Value * -1))
        timePosObj.Enabled = True
    End Sub

=================================================
Pause Function: 2 Options
1. txtActiveLbl is same as
2. btnPauseObj is chage text button between paused and resume.
Public Sub PauseSong(ByVal txtActiveLbl As Label, ByVal btnPauseObj As Button)
        If txtActiveLbl.Text = "Stopped" Then Return
        If stream = 0 Then Return
        Select Case btnPauseObj.Text
            Case "Pause"
                Bass.BASS_ChannelPause(stream)
                btnPauseObj.Text = "Resume"
            Case Else
                Bass.BASS_ChannelPlay(stream, False)
                btnPauseObj.Text = "Pause"
        End Select
    End Sub
===============================================
Stop Function: 2 Options
Public Sub StopSong(ByVal txtActiveLbl As Label, ByVal timePosObj As Timer)
        If txtActiveLbl.Text = "Stopped" Then Return
        Bass.BASS_ChannelStop(stream)
        timePosObj.Enabled = False
    End Sub
Logged
sak2005
Posts: 82


« Reply #48 on: 30 Oct '12 - 17:28 »
Reply with quoteQuote

Sample:ClassCode5:: Writting Code bass Player Functions

BassChannelIsActive: 4 Options
1.  LblActiveObj is same as
2.  chkBoxObj is state checked for RePlay.
3.  chkBoxObj is reset progressbar position song to playing when song ended.
4. leftTimeObj  is reset duration text Label to display.

You must create new Timer2 for tick Active every time.

Public Sub BassActive(ByVal LblActiveObj As Label, ByVal chkBoxObj As CheckBox, ByVal chkBoxObj As ProgressBar, ByVal leftTimeObj As Label)
        Select Case Bass.BASS_ChannelIsActive(stream)
            Case BASS_ACTIVE_PAUSED
                LblActiveObj.Text = "Paused"
            Case BASS_ACTIVE_PLAYING
                LblActiveObj.Text = "Playing.." & prog1.Value.ToString & "%"
            Case BASS_ACTIVE_STALLED
                LblActiveObj.Text = "Stalled"
            Case BASS_ACTIVE_STOPPED
                LblActiveObj.Text = "Stopped"
                time2.Enabled = False
                progPosObj.Value = prog1.Minimum
                leftTimeObj.Text = "00:00"
        End Select
    End Sub
« Last Edit: 30 Oct '12 - 17:30 by sak2005 » Logged
sak2005
Posts: 82


« Reply #49 on: 30 Oct '12 - 17:39 »
Reply with quoteQuote

Sample:ClassCode5:: Writting Code bass Player Functions

TimeCalc Duration (Lenth and Position): 2 Options
1. Fix text time Format for total time of song to display.
2. Text time Format for left time of song to display.

Public Sub BassTimeCalc(ByVal lenTextObj As Label, ByVal posTextObj As Label)
        Dim tTime, lTime As Double
        tTime = Bass.BASS_ChannelBytes2Seconds(stream, Bass.BASS_ChannelGetLength(stream, BASSMode.BASS_POS_BYTES))
        tSpan = TimeSpan.FromSeconds(Math.Round(tTime))
        lenTextObj.Text = Strings.Right(tSpan.ToString, 5)
        lTime = Bass.BASS_ChannelBytes2Seconds(stream, Bass.BASS_ChannelGetPosition(stream, BASSMode.BASS_POS_BYTES))
        lSpan = TimeSpan.FromSeconds(Math.Round(lTime))
        posTextObj.Text = Strings.Right(lSpan.ToString, 5)
    End Sub
Logged
sak2005
Posts: 82


« Reply #50 on: 30 Oct '12 - 17:54 »
Reply with quoteQuote

Sample:ClassCode6:: Writting Code bass Player Functions

Set event scroll eq volume 10 bands (eq1 - eq10)

You must set Properties TrackBar eq  value volume (Min - Max) very bands

TrackBar properties:
1. Maximum = 10
2. Minimum = -10
3. Value = 0

Private Sub eq1_Scroll(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ScrollEventArgs) Handles eq1.Scroll
        Try
            UpdateEQ(0, CSng(eq1.Value * -1))
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub
    Private Sub eq2_Scroll(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ScrollEventArgs) Handles eq2.Scroll
        Try
            UpdateEQ(1, CSng(eq2.Value * -1))
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub
    Private Sub eq3_Scroll(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ScrollEventArgs) Handles eq3.Scroll
        Try
            UpdateEQ(2, CSng(eq3.Value * -1))
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub
    Private Sub eq4_Scroll(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ScrollEventArgs) Handles eq4.Scroll
        Try
            UpdateEQ(3, CSng(eq4.Value * -1))
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub
    Private Sub eq5_Scroll(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ScrollEventArgs) Handles eq5.Scroll
        Try
            UpdateEQ(4, CSng(eq5.Value * -1))
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub
    Private Sub eq6_Scroll(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ScrollEventArgs) Handles eq6.Scroll
        Try
            UpdateEQ(5, CSng(eq6.Value * -1))
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub
    Private Sub eq7_Scroll(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ScrollEventArgs) Handles eq7.Scroll
        Try
            UpdateEQ(6, CSng(eq7.Value * -1))
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub
    Private Sub eq8_Scroll(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ScrollEventArgs) Handles eq8.Scroll
        Try
            UpdateEQ(7, CSng(eq8.Value * -1))
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub
    Private Sub eq9_Scroll(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ScrollEventArgs) Handles eq9.Scroll
        Try
            UpdateEQ(8, CSng(eq9.Value * -1))
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub
    Private Sub eq10_Scroll(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ScrollEventArgs) Handles eq10.Scroll
        Try
            UpdateEQ(9, CSng(eq10.Value * -1))
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub
« Last Edit: 30 Oct '12 - 17:58 by sak2005 » Logged
sak2005
Posts: 82


« Reply #51 on: 30 Oct '12 - 18:22 »
Reply with quoteQuote

Get Graphic Visualizer on the PictureBox (with out FFT)
For nBass1.8 only

 nBassVisualizer Function: 2 Options
1. picBoxObj is a PictureBox component to create.
2. TimeSongEnd is Timer component Sync with BassChannelIsActive when song Stopped set state timeEnable = false (Timer.Stop)
Set time Interval = 35

Public Function nBassVisualizer(ByVal picBoxObj As PictureBox, ByVal TimeSongEnd As Timer) As Double
        Dim grapReset As Graphics = PictureBox1.CreateGraphics
        Dim bit As Bitmap = New Bitmap(picBoxObj.Width, picBoxObj.Height)
        Dim graph As Graphics = Graphics.FromImage(bit)
        Dim AquaPen As New Pen(Color.Aqua, 4)
        Dim buff(1024) As Single
        Dim X, Y As Integer
        Try
            BASS_ChannelGetData(stream, buff(0), &H80000011)
            For X = 0 To picBoxObj.Width Step 5
                Y = Sqrt(buff(X + 100)) * 1 * 5 * 1 * picBoxObj.Height - 1
                If Y > picBoxObj.Height Then Y = picBoxObj.Height
                graph.DrawLine(AquaPen, X, PictureBox1.Height, X, picBoxObj.Height - Y)
            Next
            picBoxObj.Image = bit
            If BASS_ChannelIsActive(stream) = BASS_ACTIVE_STOPPED Then
                grapReset.Clear(Color.Black)
                TimeSongEnd.Enabled = False
            End If
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
        Return X And Y
    End Function
    Public Function Sqrt(ByVal num As Double) As Double
        Try
            Sqrt = num ^ 0.4
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
        Return Sqrt
    End Function
------------------------------------------------------------
Example:
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        Try
            nBassVisualizer(PictureBox1, Timer1)
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub
                 
« Last Edit: 31 Oct '12 - 10:00 by sak2005 » Logged
Rouse
Posts: 3


« Reply #52 on: 30 Oct '12 - 18:24 »
Reply with quoteQuote

sak2005 is it possable to get a timeline example made up?

|----|----|----|----|----|..............
0:00                    0:20............ and so on

based on the track length of an mp3?
Logged
sak2005
Posts: 82


« Reply #53 on: 31 Oct '12 - 08:32 »
Reply with quoteQuote

sak2005 is it possable to get a timeline example made up?

|----|----|----|----|----|..............
0:00                    0:20............ and so on

based on the track length of an mp3?

Okay..I'm modifying.
Logged
sak2005
Posts: 82


« Reply #54 on: 31 Oct '12 - 15:02 »
Reply with quoteQuote

Selected bands array code to use. For BassEQ

Private fxEQ As Integer() = New Integer(10 - 1) {}

Private fxEQ As Integer() = New Integer() {0, 0, 0, 0, 0, 0, 0, 0, 0, 0}

Private fxEQ As Integer()
Public Sub New()
   For i As Integer = 1 To 10
      fxEQ = New Integer(i) {}
   Next i
End Sub

Private fxEQ As Integer()
Public Sub New()
   Dim i As Integer = 1   
   Do Until i > 10
      i += 1
      fxEQ = New Integer(i) {}
   Loop
End Sub

Private fxEQ As Integer()
Public Sub New()
   Dim i As Integer = 1
   Do While i < 10
      i += 1
      fxEQ = New Integer(i) {}
   Loop
End Sub
« Last Edit: 31 Oct '12 - 17:06 by sak2005 » Logged
sak2005
Posts: 82


« Reply #55 on: 3 Nov '12 - 05:11 »
Reply with quoteQuote

Get BassUn4Seen EQualizer & Visualizer easy code project Click here

Tip: You must writting code variable operater of the visualizer out of function (Global variable) Peak hold color not work (์No delay) If writting variable is in the function.

Setting properties Timer and Peak hold time delay:Default
Interval = 40
PeakDelay = 20

The Loundness get gain form a eq1 (Maximum gain = 10)

Example:
Private spectrum As New Un4seen.Bass.Misc.Visuals
Private Sub VisTimer_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles VisTimer.Tick
        PictureBox1.Image = spectrum.CreateSpectrumLinePeak(strm, PictureBox1.Width, PictureBox1.Height, Color.Aqua, Color.DeepSkyBlue, Color.White, Color.Black, 4, 2, 1, 22.5, False, False, True)
End Sub

« Last Edit: 3 Nov '12 - 05:50 by sak2005 » Logged
sak2005
Posts: 82


« Reply #56 on: 4 Nov '12 - 07:41 »
Reply with quoteQuote

Get code: SongStateNoneStop (1 Option)

Changed itemsList When Song end.

1.CheckBox for state item change noneStop or Not noneStop.

Public Sub SongStateNoneStop(ByVal chkBox1 As CheckBox)
        Select Case chkBox1.CheckState
            Case CheckState.Checked
                If Math.Round((Un4seen.Bass.Bass.BASS_ChannelGetPosition(strm) / Un4seen.Bass.Bass.BASS_ChannelGetLength(strm)) * 100) = 100 Then
                    Try
                        ListBox1.SelectedIndex += 1
                        PlayButton.PerformClick()
                    Catch ex As Exception
                        ListBox1.SelectedIndex = 0
                        PlayButton.PerformClick()
                    End Try
                End If
        End Select
    End Sub

Example:
Private Sub NoneStopTimer_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NoneStopTimer.Tick
        SongStateNoneStop(CheckBox1)
    End Sub
Logged
sak2005
Posts: 82


« Reply #57 on: 4 Nov '12 - 08:18 »
Reply with quoteQuote

Get code: Selected to Items in the List to remove item.(1 Option)

Set select state item in the list with leftClick

Use ContextMenuStrip component for rightClick confirm to delete item.

1. SongsList. Use ListBox component.

Public Sub New()
        MyBase.New()
        InitializeComponent()
        ListBox1.ContextMenuStrip = ContextMenuStrip1
    End Sub
    Public Sub ItemsListClearSelect(ByVal ItemsList As ListBox)
        If ItemsList.SelectedItem = Nothing Then Return
        ItemsList.Items.RemoveAt(ListBox1.SelectedIndex)
    End Sub


Example:
Private Sub ToolStripMenuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripMenuItem1.Click
        ItemsListClearSelect(ListBox1)
    End Sub
    Private Sub ContextMenuStrip1_Opening(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles ContextMenuStrip1.Opening
        ToolStripMenuItem1.Text = "Clear"
    End Sub
Logged
sak2005
Posts: 82


« Reply #58 on: 4 Nov '12 - 09:13 »
Reply with quoteQuote

Get code: ContextMenuStrip Event Handle (RightClick Menu)

   Private conText1 As ContextMenuStrip
    Private toolStrip1 As ToolStripMenuItem
    Public Sub New()
        MyBase.New()
        InitializeComponent()
        conText1 = New ContextMenuStrip()
        toolStrip1 = New ToolStripMenuItem("Clear")
        conText1.Items.Add(toolStrip1)
        ListBox1.ContextMenuStrip = conText1
        AddHandler toolStrip1.Click, AddressOf toolStrip1_Click
    End Sub
    Private Sub toolStrip1_Click(ByVal sender As Object, ByVal e As EventArgs)
        ItemsListClearSelect(ListBox1)
    End Sub
    Public Sub ItemsListClearSelect(ByVal ItemsList As ListBox)
        If ItemsList.SelectedItem = Nothing Then Return
        ItemsList.Items.RemoveAt(ListBox1.SelectedIndex)
    End Sub
« Last Edit: 4 Nov '12 - 09:31 by sak2005 » Logged
sak2005
Posts: 82


« Reply #59 on: 4 Nov '12 - 09:36 »
Reply with quoteQuote

Get code: AddSongsItemsList Function (ConText Menu)

You not must create object components.

Paste all code on the form edit. Try run now.

   Public Class Form1
    Private itemsList As New ListBox
    Private time As New Timer
    Private openFileDLG As New OpenFileDialog
    Private conText1 As New ContextMenuStrip
    Private toolStrip1 As New ToolStripMenuItem("Load")
    Private toolStrip2 As New ToolStripMenuItem("Play")
    Private toolStrip3 As New ToolStripMenuItem("Stop")
    Private tip As New ToolTip
    Private stream As Integer
    Public Sub New()
        MyBase.New()
        InitializeComponent()
        BASS_Init_Register()
        ControlProperties()
        tip.AutomaticDelay = 10
        tip.AutoPopDelay = 5000
        tip.ShowAlways = True
        conText1.Items.AddRange(New ToolStripItem() {toolStrip1, toolStrip2, toolStrip3})
        itemsList.ContextMenuStrip = conText1
        Me.Controls.Add(itemsList)
        Me.Text = "SongsItemsList Sample (RightClick)"
        Me.Size = New Size(300, 200)
        Me.MinimizeBox = False
        Me.MaximizeBox = False
        Me.AutoSizeMode = Windows.Forms.AutoSizeMode.GrowAndShrink
        Me.CenterToScreen()
        AddHandler itemsList.DoubleClick, AddressOf itemsList_DoubleClick
        AddHandler itemsList.MouseHover, AddressOf itemsList_MouseHover
        AddHandler toolStrip1.Click, AddressOf toolStrip1_Click
        AddHandler toolStrip2.Click, AddressOf toolStrip2_Click
        AddHandler toolStrip3.Click, AddressOf toolStrip3_Click
        AddHandler time.Tick, AddressOf time_Tick
    End Sub
    Public Sub ControlProperties()
        With openFileDLG
            .FileName = Nothing
            .Filter = "Song file(*.mp3)|*.mp3"
        End With
        itemsList.SetBounds(10, 10, 270, 150)
        itemsList.HorizontalScrollbar = True
        End Sub
    Public Sub BASS_AddSongsItemsList()
        If openFileDLG.ShowDialog = Windows.Forms.DialogResult.OK Then
            Un4seen.Bass.Bass.BASS_StreamFree(stream)
            Dim file As String = openFileDLG.FileName
            itemsList.Items.Add(file)
            itemsList.SelectedIndex += 1
            If itemsList.SelectedItem <> Nothing Then
                Dim itemsFile As String = itemsList.SelectedItem.ToString
                stream = Un4seen.Bass.Bass.BASS_StreamCreateFile(itemsFile, 0, 0, Un4seen.Bass.BASSFlag.BASS_DEFAULT)
            End If
        End If
    End Sub
    Public Sub BASS_Init_Register()
        Dim device As Integer = -1
        Dim freq As Integer = 44100
        Dim flags As Un4seen.Bass.BASSInit = Un4seen.Bass.BASSInit.BASS_DEVICE_DEFAULT
        Dim win As System.IntPtr = IntPtr.Zero
        Dim email As String = "xxx@gmail.com"
        Dim registrationKey As String = "2Xxxxxxxxxxxxxx"
        Un4seen.Bass.BassNet.Registration(email, registrationKey)
        Un4seen.Bass.Bass.BASS_Init(device, freq, flags, win)
    End Sub
    Public Sub itemsList_DoubleClick(ByVal sender As Object, ByVal e As EventArgs)
        If stream <> 0 Then
            Un4seen.Bass.Bass.BASS_StreamFree(stream)
            Un4seen.Bass.Bass.BASS_ChannelPlay(stream, True)
            If itemsList.SelectedItem <> Nothing Then
                Dim itemsFile As String = itemsList.SelectedItem.ToString
                stream = Un4seen.Bass.Bass.BASS_StreamCreateFile(itemsFile, 0, 0, Un4seen.Bass.BASSFlag.BASS_DEFAULT)
                If stream <> Nothing Then
                    Un4seen.Bass.Bass.BASS_ChannelPlay(stream, True)
                    time.Enabled = True
            End If
            End If
        End If
    End Sub
    Public Sub toolStrip1_Click(ByVal sender As Object, ByVal e As EventArgs)
        BASS_AddSongsItemsList()
    End Sub
    Public Sub toolStrip2_Click(ByVal sender As Object, ByVal e As EventArgs)
        BASS_SelectIndexItemsCount(stream, itemsList)
        If stream <> Nothing Then
            Un4seen.Bass.Bass.BASS_ChannelPlay(stream, True)
            time.Enabled = True
        End If
    End Sub
    Public Sub toolStrip3_Click(ByVal sender As Object, ByVal e As EventArgs)
        Un4seen.Bass.Bass.BASS_ChannelStop(stream)
    End Sub
    Public Sub itemsList_MouseHover(ByVal sender As Object, ByVal e As EventArgs)
        tip.SetToolTip(itemsList, "DoubleClick items to Playing")
    End Sub
    Public Sub BASS_SelectIndexItemsCount(ByVal handle As Integer, ByVal itemsList As ListBox)
        Un4seen.Bass.Bass.BASS_StreamFree(handle)
        Dim index As Integer = Nothing
        Dim itemsFile As String = Nothing
        For x As Integer = 0 To itemsList.Items.Count - 1
            If itemsList.GetSelected(x) = True Then
                index &= x
                Exit For
            End If
        Next
        Try
            itemsList.SelectedIndex = index
            itemsFile = itemsList.SelectedItem.ToString
            stream = Un4seen.Bass.Bass.BASS_StreamCreateFile(itemsFile, 0, 0, Un4seen.Bass.BASSFlag.BASS_DEFAULT)
        Catch ex As Exception
            MsgBox("pleased load file to the list", 0, "")
        End Try
    End Sub
    Public Sub BASS_percentMousePosition(ByVal tip As ToolTip, ByVal time As Timer)
        Dim pos As Integer = Un4seen.Bass.Bass.BASS_ChannelGetPosition(stream, Un4seen.Bass.BASSMode.BASS_POS_BYTES)
        Dim len As Integer = Un4seen.Bass.Bass.BASS_ChannelGetLength(stream, Un4seen.Bass.BASSMode.BASS_POS_BYTES)
        Dim percent As Integer = Math.Round((pos / len) * 100)
        tip.SetToolTip(itemsList, "Playing.." & percent & "/100")
    End Sub
    Public Sub time_Tick(ByVal sender As Object, ByVal e As EventArgs)
        BASS_percentMousePosition(tip, time)
        If Un4seen.Bass.Bass.BASS_ChannelIsActive(stream) = Un4seen.Bass.BASSActive.BASS_ACTIVE_STOPPED Then
            tip.SetToolTip(itemsList, "Song End")
            time.Enabled = False
        End If
    End Sub
End Class
« Last Edit: 4 Nov '12 - 18:37 by sak2005 » Logged
Pages: 1 2 [3] 4 5  All
  Reply  |  Print  
 
Jump to:  

Powered by SMF 1.1.18 | SMF © 2013, Simple Machines