|
sak2005
Posts: 82
|
 |
« Reply #40 on: 16 Aug '12 - 20:05 » |
Quote
|
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 » |
Quote
|
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 » |
Quote
|
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 » |
Quote
|
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 » |
Quote
|
Reference BASS Functions Sample Code  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 » |
Quote
|
ฺBASS EQualizer and Bass booster Easy code (Please wait!)  Get ColorSlider.net.dll (eq1 - eq10) for reference Bass solution Click hereSample: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 » |
Quote
|
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 » |
Quote
|
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 » |
Quote
|
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 » |
Quote
|
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 » |
Quote
|
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 » |
Quote
|
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 » |
Quote
|
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 » |
Quote
|
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 » |
Quote
|
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 » |
Quote
|
Get BassUn4Seen EQualizer & Visualizer easy code project Click hereTip: 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 » |
Quote
|
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 » |
Quote
|
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 » |
Quote
|
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 » |
Quote
|
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
|
|
|
|
|