Projects

Find all our projects in development below.
All source code is GNU General Public License (GPL)

RemoteAmp

Browsing Server/MainForm.frm (26.95 KB)

VERSION 5.00
Object = "{248DD890-BB45-11CF-9ABC-0080C7E7B78D}#1.0#0"; "MSWINSCK.OCX"
Begin VB.Form MainForm 
   BorderStyle     =   1  'Fixed Single
   Caption         =   "RemoteAmp Server Control Panel"
   ClientHeight    =   5055
   ClientLeft      =   45
   ClientTop       =   330
   ClientWidth     =   4455
   BeginProperty Font 
      Name            =   "Tahoma"
      Size            =   8.25
      Charset         =   0
      Weight          =   400
      Underline       =   0   'False
      Italic          =   0   'False
      Strikethrough   =   0   'False
   EndProperty
   Icon            =   "MainForm.frx":0000
   MaxButton       =   0   'False
   ScaleHeight     =   5055
   ScaleWidth      =   4455
   StartUpPosition =   2  'CenterScreen
   Begin VB.Timer UpdateTimer 
      Interval        =   3000
      Left            =   0
      Top             =   4320
   End
   Begin VB.CommandButton Command4 
      Caption         =   "&Shutdown Server"
      Height          =   375
      Left            =   2880
      TabIndex        =   9
      Top             =   4560
      Width           =   1455
   End
   Begin VB.CommandButton Command3 
      Cancel          =   -1  'True
      Caption         =   "&Minimize to Tray"
      Height          =   375
      Left            =   1320
      TabIndex        =   8
      Top             =   4560
      Width           =   1455
   End
   Begin VB.Frame Frame2 
      Caption         =   "RemoteAmp Server Settings"
      Height          =   3135
      Left            =   120
      TabIndex        =   15
      Top             =   1200
      Width           =   4215
      Begin VB.CommandButton Command2 
         Caption         =   "&View Users..."
         Enabled         =   0   'False
         Height          =   375
         Left            =   2760
         TabIndex        =   7
         Top             =   2280
         Width           =   1215
      End
      Begin VB.CommandButton Command1 
         Caption         =   "&Enable"
         Default         =   -1  'True
         Height          =   375
         Left            =   2760
         TabIndex        =   6
         Top             =   1800
         Width           =   1215
      End
      Begin VB.TextBox Text3 
         Alignment       =   2  'Center
         Height          =   315
         Left            =   3000
         MaxLength       =   5
         TabIndex        =   5
         Text            =   "20777"
         ToolTipText     =   "Default: 20777"
         Top             =   1080
         Width           =   975
      End
      Begin VB.TextBox Text2 
         Alignment       =   2  'Center
         Height          =   315
         Left            =   3000
         MaxLength       =   2
         TabIndex        =   3
         Text            =   "4"
         ToolTipText     =   "Default: 4"
         Top             =   720
         Width           =   975
      End
      Begin VB.TextBox Text1 
         Height          =   315
         IMEMode         =   3  'DISABLE
         Left            =   1680
         MaxLength       =   50
         PasswordChar    =   "*"
         TabIndex        =   1
         Top             =   360
         Width           =   2295
      End
      Begin VB.Label Label11 
         Alignment       =   1  'Right Justify
         Caption         =   "127.0.0.1 (localhost)"
         Height          =   255
         Left            =   1800
         TabIndex        =   19
         Top             =   2760
         Width           =   2175
      End
      Begin VB.Label Label10 
         Caption         =   "Server IP Address:"
         Height          =   255
         Left            =   240
         TabIndex        =   18
         Top             =   2760
         Width           =   1455
      End
      Begin VB.Label Label9 
         Caption         =   "0/4 users connected."
         Height          =   255
         Left            =   240
         TabIndex        =   17
         Top             =   2400
         Width           =   2415
      End
      Begin VB.Label Label8 
         Caption         =   "RemoteAmp is currently disabled."
         Height          =   255
         Left            =   240
         TabIndex        =   16
         Top             =   1920
         Width           =   2415
      End
      Begin VB.Line Line2 
         BorderColor     =   &H00FFFFFF&
         X1              =   3960
         X2              =   240
         Y1              =   1575
         Y2              =   1575
      End
      Begin VB.Line Line1 
         BorderColor     =   &H00808080&
         X1              =   3960
         X2              =   240
         Y1              =   1560
         Y2              =   1560
      End
      Begin VB.Label Label7 
         Caption         =   "Se&rver Port:"
         Height          =   255
         Left            =   240
         TabIndex        =   4
         Top             =   1140
         Width           =   1215
      End
      Begin VB.Label Label6 
         Caption         =   "Max &Users:"
         Height          =   255
         Left            =   240
         TabIndex        =   2
         Top             =   780
         Width           =   855
      End
      Begin VB.Label Label5 
         Caption         =   "&Password:"
         Height          =   255
         Left            =   240
         TabIndex        =   0
         Top             =   420
         Width           =   855
      End
   End
   Begin VB.Frame Frame1 
      Caption         =   "Winamp Information - Winamp Not Running"
      Height          =   975
      Left            =   120
      TabIndex        =   10
      Top             =   120
      Width           =   4215
      Begin VB.Label Label4 
         Alignment       =   1  'Right Justify
         Height          =   255
         Left            =   2040
         TabIndex        =   14
         Top             =   600
         Width           =   1935
      End
      Begin VB.Label Label3 
         Alignment       =   1  'Right Justify
         Height          =   255
         Left            =   2280
         TabIndex        =   13
         Top             =   360
         Width           =   1695
      End
      Begin VB.Label Label2 
         Caption         =   "Status:"
         Height          =   255
         Left            =   240
         TabIndex        =   12
         Top             =   600
         Width           =   615
      End
      Begin VB.Label Label1 
         Caption         =   "Version:"
         Height          =   255
         Left            =   240
         TabIndex        =   11
         Top             =   360
         Width           =   615
      End
   End
   Begin MSWinsockLib.Winsock WinsockArray 
      Index           =   0
      Left            =   480
      Top             =   0
      _ExtentX        =   741
      _ExtentY        =   741
      _Version        =   393216
   End
   Begin MSWinsockLib.Winsock WinsockConnHandler 
      Left            =   0
      Top             =   0
      _ExtentX        =   741
      _ExtentY        =   741
      _Version        =   393216
   End
   Begin VB.Image TrayIcon2 
      Height          =   240
      Left            =   720
      Picture         =   "MainForm.frx":1272
      Top             =   4800
      Visible         =   0   'False
      Width           =   240
   End
   Begin VB.Image TrayIcon1 
      Height          =   240
      Left            =   720
      Picture         =   "MainForm.frx":13BC
      Top             =   4440
      Visible         =   0   'False
      Width           =   240
   End
   Begin VB.Image DisabledImage 
      Height          =   480
      Left            =   120
      Picture         =   "MainForm.frx":1506
      ToolTipText     =   "RemoteAmp Server is disabled"
      Top             =   4515
      Width           =   480
   End
   Begin VB.Image IconImage 
      Height          =   375
      Left            =   120
      ToolTipText     =   "RemoteAmp Server is enabled"
      Top             =   4520
      Width           =   495
   End
   Begin VB.Menu SystrayMenu 
      Caption         =   "SystrayMenu"
      Visible         =   0   'False
      Begin VB.Menu OpenMenu 
         Caption         =   "&Show"
      End
      Begin VB.Menu Blank1 
         Caption         =   "-"
      End
      Begin VB.Menu EnableMenu 
         Caption         =   "&Enable Server"
      End
      Begin VB.Menu ViewUsersMenu 
         Caption         =   "&View Users..."
      End
      Begin VB.Menu Blank2 
         Caption         =   "-"
      End
      Begin VB.Menu SettingsMenu 
         Caption         =   "Settings"
         Begin VB.Menu RunOnStartupMenu 
            Caption         =   "&Run Server On Startup"
         End
      End
      Begin VB.Menu Blank3 
         Caption         =   "-"
      End
      Begin VB.Menu CloseMenu 
         Caption         =   "S&hutdown Server"
      End
   End
End
Attribute VB_Name = "MainForm"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False

Option Explicit

Private Const WM_MOUSEMOVE = &H200
Private Const WM_LBUTTONDOWN = &H201
Private Const WM_LBUTTONUP = &H202
Private Const WM_LBUTTONDBLCLK = &H203
Private Const WM_RBUTTONDOWN = &H204
Private Const WM_RBUTTONUP = &H205
Private Const WM_RBUTTONDBLCLK = &H206
Private Const WM_MBUTTONDOWN = &H207
Private Const WM_MBUTTONUP = &H208
Private Const WM_MBUTTONDBLCLK = &H209
Private SysTray As New SystrayIcon

Private cWinamp As New cWinamp

Dim bNoAlert As Boolean

Private Const AppRegRoot = "Software\RemoteAmp\Server\"

Function CmdExists(ByVal Cmd As String) As Boolean
Dim N As Integer
Dim N1 As Integer
Dim C As String
    N = 0
    N1 = 1
    C = LCase(Command)
    Cmd = LCase(Cmd)
    If InStr(C, Cmd) = 0 Then N1 = 0
    Do Until N1 = 0
        If Mid(C, N + 1, Len(Cmd)) = Cmd Then
            If (N + Len(Cmd) + 1) <= Len(C) Then
                If Mid(C, (N + Len(Cmd) + 1), 1) <> " " Then GoTo Cnt
            End If
            CmdExists = True
            Exit Function
        End If
Cnt:
        N = InStr(N + 1, C, " ")
        N1 = N
    Loop
    CmdExists = False
End Function
Function ParseStr(ParseChar As String, ParseNum As Integer, ParseString As String) As String
Dim i As Integer
Dim i2 As Integer
Dim Num As Integer
    Num = 0
    Do
        i2 = i
        Num = Num + 1
        i = InStr(i2 + Len(ParseChar), ParseString, ParseChar)
        If i = 0 Then
            i = Len(ParseString) + Len(ParseChar)
            Exit Do
        End If
    Loop While Num < ParseNum
    If Num = ParseNum Then
        ParseStr = Mid(ParseString, i2 + Len(ParseChar), i - i2 - Len(ParseChar))
        Exit Function
    End If
    ParseStr = ""
End Function

Sub SendData(Index As Integer, strdata As String)
On Error Resume Next
    WinsockArray(Index).SendData strdata
    If Err.Number > 0 Then
        WinsockArray(Index).Close
        Unload WinsockArray(Index)
        Label9.Caption = WinsockArray.UBound & "/" & Val(Text2.Text) & " users connected."
    End If
End Sub

Private Sub CloseMenu_Click()
    Unload Me
End Sub

Private Sub Command1_Click()
On Error GoTo ErrorHandler
Dim i As Integer
    WinsockConnHandler.Close
    If Command1.Caption = "&Enable" Then
        If Val(Text3.Text) <= 0 Then
            Visible = True
            MsgBox "Enter a number greater than zero.", vbExclamation
            Text3.SetFocus
            Text3.SelStart = 0
            Text3.SelLength = Len(Text3.Text)
            Exit Sub
        End If
        WinsockConnHandler.LocalPort = Val(Text3.Text)
        WinsockConnHandler.Listen
        Text1.Enabled = False
        Text2.Enabled = False
        Text3.Enabled = False
        Command2.Enabled = True
        DisabledImage.Visible = False
        Label8.Caption = "RemoteAmp is currently enabled."
        Command1.Caption = "&Disable"
        SysTray.IconHandle = TrayIcon1.Picture
        If Not bNoAlert Then MsgBox "The RemoteAmp Server has started.", vbInformation
    ElseIf Command1.Caption = "&Disable" Then
        For i = WinsockArray.UBound To WinsockArray.LBound + 1 Step -1
            WinsockArray(i).Close
            Unload WinsockArray(i)
        Next i
        Text1.Enabled = True
        Text2.Enabled = True
        Text3.Enabled = True
        Command2.Enabled = False
        DisabledImage.Visible = True
        Label8.Caption = "RemoteAmp is currently disabled."
        Command1.Caption = "&Enable"
        SysTray.IconHandle = TrayIcon2.Picture
        If Not bNoAlert Then MsgBox "The RemoteAmp Server has been shut down.", vbInformation
    End If
    Exit Sub
ErrorHandler:
    MsgBox "Error: " + Err.Description, vbExclamation
End Sub

Private Sub Command2_Click()
    UsersForm.Show 1
End Sub


Private Sub Command3_Click()
    WindowState = 1
End Sub

Private Sub Command4_Click()
    Unload Me
End Sub

Private Sub EnableMenu_Click()
    bNoAlert = True
    Command1_Click
    bNoAlert = False
End Sub

Private Sub Form_Load()
Dim RegData As String
Dim bRegErr As Boolean
    If cWinamp.hWnd Then
        Frame1.Caption = "Winamp Information - Winamp Is Running"
        Label3.Caption = cWinamp.GetWinampVersion
        Label4.Caption = IIf(cWinamp.GetWinampPlaybackStatus = 0, "Not Playing", IIf(cWinamp.GetWinampPlaybackStatus = 1, "Playing", "Paused"))
    Else
        Frame1.Caption = "Winamp Information - Winamp Not Running"
    End If
    RegData = GetRegString(HKEY_LOCAL_MACHINE, AppRegRoot, "Password")
    If RegData <> "" Then Text1.Text = RegData
    RegData = GetRegString(HKEY_LOCAL_MACHINE, AppRegRoot, "MaxUsers", bRegErr)
    If Val(RegData) >= 0 And Not bRegErr Then Text2.Text = Val(RegData)
    RegData = GetRegString(HKEY_LOCAL_MACHINE, AppRegRoot, "Port")
    If Val(RegData) > 0 Then Text3.Text = Val(RegData)
    RegData = GetRegString(HKEY_LOCAL_MACHINE, AppRegRoot, "RunOnStartup")
    If RegData = "True" Or RegData = "False" Then RunOnStartupMenu.Checked = RegData
    CenterFrameCaption Frame1
    Label11.ToolTipText = WinsockConnHandler.LocalIP & " (" & WinsockConnHandler.LocalHostName & ")"
    Label11.Caption = CEllipse(hDC, Label11.Width, Label11.ToolTipText, DT_WORD_ELLIPSIS)
    IconImage.Picture = Icon
    SysTray.PopUpMessage = "RemoteAmp Server - Disabled"
    SysTray.Initialize hWnd, TrayIcon2.Picture, SysTray.PopUpMessage
    SysTray.ShowIcon
    If CmdExists("-enabled") Then
        bNoAlert = True
        Command1_Click
        Visible = False
        WindowState = 1
    End If
    bNoAlert = False
End Sub

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim msgCallBackMessage As Long
    msgCallBackMessage = X / Screen.TwipsPerPixelX
    Select Case msgCallBackMessage
        Case WM_MOUSEMOVE
            SysTray.PopUpMessage = "RemoteAmp Server - " + IIf(DisabledImage.Visible, "Disabled", "Enabled - " + Label9.Caption)
            SysTray.TipText = SysTray.PopUpMessage
        Case WM_LBUTTONDBLCLK
            Visible = True
            Show
        Case WM_RBUTTONDOWN
            If Visible = False Then OpenMenu.Caption = "&Show"
            If Visible = True Then OpenMenu.Caption = "&Hide"
            If DisabledImage.Visible Then
                EnableMenu.Caption = "&Enable Server"
            Else
                EnableMenu.Caption = "&Disable Server"
            End If
            ViewUsersMenu.Enabled = Not DisabledImage.Visible
            PopupMenu SystrayMenu, , , , OpenMenu
    End Select
End Sub


Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
    If UnloadMode = 0 Then
        If MsgBox("Are you sure you want to shut down the server?", vbYesNo + vbQuestion) = vbNo Then Cancel = True
    ElseIf UnloadMode = 1 Then
        If WinsockArray.UBound > 0 Then
            If MsgBox("You currently have " & WinsockArray.UBound & " users connected.  Are you sure you want to shut the server down?", vbYesNo + vbQuestion) = vbNo Then Cancel = True
        End If
    End If
    If UnloadMode < 2 And Cancel = False Then
        SaveRegString HKEY_LOCAL_MACHINE, AppRegRoot, "Password", Text1.Text
        If Text1.Text = "" Then SaveRegString HKEY_LOCAL_MACHINE, AppRegRoot, "Password", ""
        SaveRegString HKEY_LOCAL_MACHINE, AppRegRoot, "MaxUsers", Text2.Text
        SaveRegString HKEY_LOCAL_MACHINE, AppRegRoot, "Port", Text3.Text
        SaveRegString HKEY_LOCAL_MACHINE, AppRegRoot, "RunOnStartup", CStr(RunOnStartupMenu.Checked)
        If RunOnStartupMenu.Checked Then
            SaveRegString HKEY_LOCAL_MACHINE, "Software\Microsoft\Windows\CurrentVersion\Run\", "RemoteAmp Server", LCase(App.Path + IIf(Right(App.Path, 1) <> "\", "\", "")) + App.EXEName + ".exe -enabled"
        Else
            DeleteValue HKEY_LOCAL_MACHINE, "Software\Microsoft\Windows\CurrentVersion\Run\", "RemoteAmp Server"
        End If
    End If
End Sub


Private Sub Form_Resize()
    If WindowState = 1 Then
        Visible = False
        WindowState = 0
    End If
End Sub

Private Sub Form_Unload(Cancel As Integer)
    SysTray.HideIcon
    End
End Sub


Private Sub OpenMenu_Click()
    Visible = Not Visible
End Sub

Private Sub RunOnStartupMenu_Click()
    RunOnStartupMenu.Checked = Not RunOnStartupMenu.Checked
End Sub

Private Sub Text2_Change()
    If Val(Text2.Text) <= 0 Then
        Text2.Text = "0"
        Text2.SelStart = 0
        Text2.SelLength = Len(Text2.Text)
    End If
    Label9.Caption = "0/" & Val(Text2.Text) & " users connected."
End Sub

Private Sub Text2_KeyPress(KeyAscii As Integer)
    If KeyAscii >= 48 And KeyAscii <= 57 Or KeyAscii = 8 Then Exit Sub
    KeyAscii = 0
End Sub

Private Sub Text2_LostFocus()
    Text2.Text = Val(Text2.Text)
End Sub


Private Sub Text3_Change()
    If Val(Text3.Text) <= 0 Then
        Text3.Text = "0"
        Text3.SelStart = 0
        Text3.SelLength = Len(Text3.Text)
    End If
End Sub

Private Sub Text3_KeyPress(KeyAscii As Integer)
    If KeyAscii >= 48 And KeyAscii <= 57 Or KeyAscii = 8 Then Exit Sub
    KeyAscii = 0
End Sub

Private Sub Text3_LostFocus()
    Text3.Text = Val(Text3.Text)
End Sub


Private Sub UpdateTimer_Timer()
Dim i As Integer
    If cWinamp.ReInitialize Then
        Frame1.Caption = "Winamp Information - Winamp Is Running"
        Label3.Caption = cWinamp.GetWinampVersion
        Label4.Caption = IIf(cWinamp.GetWinampPlaybackStatus = 0, "Not Playing", IIf(cWinamp.GetWinampPlaybackStatus = 1, "Playing", "Paused"))
        For i = WinsockArray.UBound To WinsockArray.LBound + 1 Step -1
            If Val(WinsockArray(i).Tag) = 1 Then SendData i, "winamp_update_info" & vbNullChar & cWinamp.GetWinampPlaybackStatus & _
            vbNullChar & cWinamp.GetWinampSongName & vbNullChar & cWinamp.TrackReturnLength & _
            vbNullChar & cWinamp.TrackReturnCurrent & vbNullChar & cWinamp.TrackReturnLengthInSeconds & vbNullChar & _
            Int((cWinamp.TrackReturnCurrentInSeconds / cWinamp.TrackReturnLengthInSeconds) * 100) & _
            vbNullChar & cWinamp.TrackBitRate & vbNullChar & cWinamp.TrackSampleRate
        Next i
    Else
        Frame1.Caption = "Winamp Information - Winamp Not Running"
        For i = WinsockArray.UBound To WinsockArray.LBound + 1 Step -1
            If Val(WinsockArray(i).Tag) = 1 Then SendData i, "winamp_not_running"
        Next i
    End If
End Sub


Private Sub ViewUsersMenu_Click()
    Visible = True
    Command2_Click
End Sub

Private Sub WinsockArray_Close(Index As Integer)
    WinsockArray(Index).Close
    Unload WinsockArray(Index)
    Label9.Caption = WinsockArray.UBound & "/" & Val(Text2.Text) & " users connected."
End Sub

Private Sub WinsockArray_DataArrival(Index As Integer, ByVal bytesTotal As Long)
Dim RecvData As String
Dim strArray(20) As String
Dim i As Integer
    WinsockArray(Index).GetData RecvData
    i = 1
    Do While ParseStr(vbNullChar, i, RecvData) <> ""
        strArray(i) = ParseStr(vbNullChar, i, RecvData)
        i = i + 1
    Loop
    
    If strArray(1) = "remoteamp_login" Then
        If strArray(2) <> App.Major & "." & App.Minor & IIf(App.Revision = 0, "", "." & App.Revision) Then
            SendData Index, "remoteamp_login_reply" & vbNullChar & "-1"
        Else
            SendData Index, "remoteamp_login_reply" & vbNullChar & IIf(strArray(3) = Text1.Text, "1", "0")
            If strArray(3) = Text1.Text Then WinsockArray(Index).Tag = "1"
        End If
    ElseIf Val(WinsockArray(Index).Tag) > 0 Then
        If strArray(1) = "get_winampinfo" Then
            If cWinamp.hWnd Then
                SendData Index, "get_winampinfo_reply" & vbNullChar & cWinamp.GetWinampVersion & _
                vbNullChar & cWinamp.GetWinampPlaybackStatus & vbNullChar & cWinamp.GetWinampSongName & _
                vbNullChar & cWinamp.TrackReturnLength & vbNullChar & cWinamp.TrackReturnCurrent & vbNullChar & cWinamp.TrackReturnLengthInSeconds & _
                vbNullChar & Int((cWinamp.TrackReturnCurrentInSeconds / cWinamp.TrackReturnLengthInSeconds) * 100) & _
                vbNullChar & cWinamp.TrackBitRate & vbNullChar & cWinamp.TrackSampleRate
            Else
                SendData Index, "winamp_not_running"
            End If
        ElseIf strArray(1) = "track_prev" Then
            cWinamp.TrackPrev
        ElseIf strArray(1) = "track_next" Then
            cWinamp.TrackNext
        ElseIf strArray(1) = "track_play" Then
            cWinamp.TrackPlay
        ElseIf strArray(1) = "track_playex" Then
            cWinamp.SetPlaylistPositionEx CInt(Val(strArray(2)))
        ElseIf strArray(1) = "track_pause" Then
            cWinamp.TrackPause
        ElseIf strArray(1) = "track_stop" Then
            cWinamp.TrackStop
        ElseIf strArray(1) = "track_fadeout" Then
            cWinamp.TrackFadeout
        ElseIf strArray(1) = "track_stopafter" Then
            cWinamp.TrackStopAfter
        ElseIf strArray(1) = "track_rew5sec" Then
            cWinamp.TrackFRewind
        ElseIf strArray(1) = "track_for5sec" Then
            cWinamp.TrackFForward
        ElseIf strArray(1) = "cmd_openfile" Then
            cWinamp.TrackOpenFile
        ElseIf strArray(1) = "cmd_openurl" Then
            cWinamp.TrackOpenURL
        ElseIf strArray(1) = "track_showinfo" Then
            cWinamp.TrackInfo
        ElseIf strArray(1) = "track_setsongpos" Then
            cWinamp.TrackSeekTime CLng(Val(strArray(2)))
        ElseIf strArray(1) = "winamp_setvolume" Then
            cWinamp.SetWinampVolume CLng(Val(strArray(2)))
        ElseIf strArray(1) = "winamp_setbalance" Then
            cWinamp.SetWinampPanning CLng(Val(strArray(2)))
        ElseIf strArray(1) = "vis_elapsed" Then
            cWinamp.VisDispElapsed
        ElseIf strArray(1) = "vis_remaining" Then
            cWinamp.VisDispRemaining
        ElseIf strArray(1) = "vis_showconfig" Then
            cWinamp.VisPlugInOptions
        ElseIf strArray(1) = "vis_startstopplugin" Then
            cWinamp.VisPlugInExec
        ElseIf strArray(1) = "cmd_jumptofile" Then
            cWinamp.MiscJumpToFile
        ElseIf strArray(1) = "cmd_jumptotime" Then
            cWinamp.MiscJumpToTime
        ElseIf strArray(1) = "cmd_skinsselector" Then
            cWinamp.MiscSkinSelector
        ElseIf strArray(1) = "cmd_reloadskin" Then
            cWinamp.MiscSkinReload
        ElseIf strArray(1) = "cmd_closewinamp" Then
            cWinamp.MiscClose
        ElseIf strArray(1) = "playlist_start" Then
            cWinamp.ListStart
        ElseIf strArray(1) = "playlist_end" Then
            cWinamp.ListEnd
        ElseIf strArray(1) = "playlist_add" Then
            cWinamp.PlaylistAddFile strArray(2)
        ElseIf strArray(1) = "playlist_write" Then
            cWinamp.PlaylistWrite
        ElseIf strArray(1) = "playlist_clear" Then
            cWinamp.PlaylistClear
        ElseIf strArray(1) = "playlist_refresh" Then
            Dim PlaylistArray() As String
            Dim PlaylistStr As String
            Dim PlaylistIndex As Integer
            PlaylistIndex = cWinamp.PlaylistToArray(PlaylistArray)
            If UBound(PlaylistArray) > 0 Then
                For i = 1 To UBound(PlaylistArray)
                    PlaylistStr = PlaylistStr & PlaylistArray(i) & Chr(1)
                Next i
            End If
            WinsockArray(Index).Tag = "2"
            SendData Index, "playlist_refresh_reply" & vbNullChar & _
            PlaylistIndex & vbNullChar & PlaylistStr & Chr(2)
        ElseIf strArray(1) = "toggle_preferences" Then
            cWinamp.TogglePreferences
        ElseIf strArray(1) = "toggle_about" Then
            cWinamp.ToggleAbout
        ElseIf strArray(1) = "toggle_autoscroll" Then
            cWinamp.ToggleAutoscroll
        ElseIf strArray(1) = "toggle_alwaysontop" Then
            cWinamp.ToggleAlwaysOnTop
        ElseIf strArray(1) = "toggle_windowshademain" Then
            cWinamp.ToggleWindowshadeMain
        ElseIf strArray(1) = "toggle_windowshadelist" Then
            cWinamp.ToggleWindowshadeList
        ElseIf strArray(1) = "toggle_doublesize" Then
            cWinamp.ToggleDoublesize
        ElseIf strArray(1) = "toggle_eq" Then
            cWinamp.ToggleEQ
        ElseIf strArray(1) = "toggle_list" Then
            cWinamp.ToggleList
        ElseIf strArray(1) = "toggle_main" Then
            cWinamp.ToggleMain
        ElseIf strArray(1) = "toggle_browser" Then
            cWinamp.ToggleBrowser
        ElseIf strArray(1) = "toggle_easymove" Then
            cWinamp.ToggleEasyMove
        ElseIf strArray(1) = "toggle_repeat" Then
            cWinamp.ToggleRepeat
        ElseIf strArray(1) = "toggle_shuffle" Then
            cWinamp.ToggleShuffle
        End If
    End If
End Sub


Private Sub WinsockArray_Error(Index As Integer, ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean)
    If Number = sckBadState Then
        WinsockArray(Index).Close
        Unload WinsockArray(Index)
        Label9.Caption = WinsockArray.UBound & "/" & Val(Text2.Text) & " users connected."
    End If
End Sub

Private Sub WinsockArray_SendComplete(Index As Integer)
    If Val(WinsockArray(Index).Tag) > 1 Then WinsockArray(Index).Tag = "1"
End Sub

Private Sub WinsockConnHandler_ConnectionRequest(ByVal requestID As Long)
    If WinsockArray.UBound < Val(Text2.Text) Then
        Load WinsockArray(WinsockArray.UBound + 1)
        WinsockArray(WinsockArray.UBound).LocalPort = 0
        WinsockArray(WinsockArray.UBound).Tag = "0"
        WinsockArray(WinsockArray.UBound).Accept requestID
        Label9.Caption = WinsockArray.UBound & "/" & Val(Text2.Text) & " users connected."
    End If
End Sub

Download Server/MainForm.frm

Back to file list


Back to project page