|
||||
|
vbAccelerator - Contents of code file: frmRipDialog.frmThis file is part of the download VB5 CD Ripper, which is described in the article CD Ripping in VB Part 1. VERSION 5.00 Object = "{6B7E6392-850A-101B-AFC0-4210102A8DA7}#1.3#0"; "COMCTL32.OCX" Begin VB.Form frmRipDialog BorderStyle = 3 'Fixed Dialog Caption = "CD Rip in Progress" ClientHeight = 2460 ClientLeft = 5820 ClientTop = 4410 ClientWidth = 5100 BeginProperty Font Name = "Tahoma" Size = 8.25 Charset = 0 Weight = 400 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty LinkTopic = "Form1" MaxButton = 0 'False MinButton = 0 'False ScaleHeight = 2460 ScaleWidth = 5100 ShowInTaskbar = 0 'False StartUpPosition = 1 'CenterOwner Begin ComctlLib.ProgressBar prgTrack Height = 375 Left = 120 TabIndex = 1 Top = 1500 Width = 4875 _ExtentX = 8599 _ExtentY = 661 _Version = 327682 Appearance = 1 End Begin VB.CommandButton cmdCancel Cancel = -1 'True Caption = "Cancel" Height = 435 Left = 1920 TabIndex = 0 Top = 1920 Width = 1275 End Begin ComctlLib.ProgressBar prgSelected Height = 375 Left = 120 TabIndex = 3 Top = 1080 Width = 4875 _ExtentX = 8599 _ExtentY = 661 _Version = 327682 Appearance = 1 End Begin VB.Label lblInfo Alignment = 2 'Center Height = 855 Left = 180 TabIndex = 2 Top = 120 Width = 4815 End End Attribute VB_Name = "frmRipDialog" Attribute VB_GlobalNameSpace = False Attribute VB_Creatable = False Attribute VB_PredeclaredId = True Attribute VB_Exposed = False Option Explicit Private m_cToc As cToc Private m_selTracks() As Long Private m_selCount As Long Private m_sDir As String Private m_bRipping As Boolean Private m_bCancel As Boolean Public Sub RipSelected() Dim i As Long m_bRipping = True For i = 1 To m_selCount If (m_bRipping) Then Rip m_selTracks(i) prgSelected.value = i End If Next i m_bRipping = False Unload Me End Sub Private Sub Rip(ByVal lTrack As Long) Dim sFile As String Dim cWriter As cWAVWriter Dim cTrack As cTocEntry prgTrack.value = 0 sFile = m_sDir & "Track" & Format(lTrack, "00") & ".wav" Set cWriter = New cWAVWriter If (cWriter.OpenFile(sFile)) Then Set cTrack = m_cToc.Entry(lTrack) lblInfo.Caption = "Ripping track " & cTrack.TrackNumber & _ " (" & prgSelected.value + 1 & " of " & prgSelected.Max & ") to " & _ sFile & "..." Dim cTrackRip As New cCDTrackRipper cTrackRip.CreateForTrack cTrack If (cTrackRip.OpenRipper()) Then Do While cTrackRip.Read cWriter.WriteWavData cTrackRip.ReadBufferPtr, cTrackRip.ReadBufferSize prgTrack.value = cTrackRip.PercentComplete DoEvents If (m_bCancel) Then Exit Do End If Loop cTrackRip.CloseRipper cWriter.CloseFile If (m_bCancel) Then lblInfo.Caption = "Cancelled" On Error Resume Next Kill sFile m_bRipping = False Else lblInfo.Caption = "Completed track " & cTrack.TrackNumber End If End If End If End Sub Public Property Let OutputDir(ByVal sDir As String) m_sDir = sDir If (right(sDir, 1) <> "\") Then m_sDir = m_sDir & "\" End If End Property Public Property Let RipTOC(cT As cToc) Set m_cToc = cT End Property Public Property Let RipTrack(ByVal lIndex As Long, ByVal value As Boolean) Dim i As Long For i = 1 To m_selCount If (m_selTracks(i) = lIndex) Then Exit Property End If Next i m_selCount = m_selCount + 1 ReDim Preserve m_selTracks(1 To m_selCount) As Long m_selTracks(m_selCount) = lIndex End Property Private Sub cmdCancel_Click() ' If (m_bRipping) Then m_bCancel = True Else Unload Me End If ' End Sub Private Sub Form_Load() ' prgSelected.value = 0 prgSelected.Max = m_selCount prgTrack.value = 0 prgTrack.Max = 100 lblInfo.Caption = "Preparing to rip " & m_selCount & "tracks..." Me.Show Me.Refresh ' End Sub Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) If (m_bRipping) Then cmdCancel_Click Cancel = True End If End Sub
|
|||
|