Mittwoch, Mai 20, 2026

How to run djShow 4.2.0 for VirtualDJ

 


How to run djshow 4.2.0 for VirtualDJ

 

 

 

djShow 4.2.0 can be used to display song information using VirtualDJ.

It needs some tweaking though….

I'll show you how I managed to do it.  


Credit goes to Alexsandr Dejnega for the original djshow software, whereas Code for *.vbs File was provided by google Gemini.

 

Step-by-step Instructions:

1.      Download djShow 4.2.0 from the official github project site: https://github.com/SevaXXL/djShow

and extract folders

 

My setup:

 

I run djShow.exe from the folder \Downloads\djShow-win-4.2.0

 

In the modules folder, there must be the virtualdj.vbs File (which is used to display song-info from Virtual-DJ

 

Unfortunately, the original version from Alexandr Duneigin never worked for me, so I did some trial-and error tweaking using Google Gemini.

So, copy and paste the following code into the *.vbs File:

 

------------Copy code below---------------------------

 

Option Explicit

 

Dim objShell, objFSO, filePath, userProfile, serverUrl

Set objShell = CreateObject("WScript.Shell")

Set objFSO = CreateObject("Scripting.FileSystemObject")

userProfile = objShell.ExpandEnvironmentStrings("%USERPROFILE%")

 

' --- KONFIGURATION ---        

filePath = userProfile & "\AppData\Local\VirtualDJ\History\tracklist.txt"

serverUrl = "http://192.168.1.118:3000/data"

 

MsgBox "Foto-Modus aktiv! Verbindung zu " & serverUrl, 64, "djShow Sync"

 

Dim lastContent

lastContent = ""

 

Do

    If objFSO.FileExists(filePath) Then

        Dim objStream, fullText

        Set objStream = CreateObject("ADODB.Stream")

        objStream.CharSet = "utf-8"

        objStream.Open

        On Error Resume Next

        objStream.LoadFromFile(filePath)

        fullText = objStream.ReadText()

        objStream.Close

        On Error GoTo 0

       

        If fullText <> lastContent And Len(fullText) > 0 Then

            lastContent = fullText

           

            Dim pos

            pos = InStrRev(LCase(fullText), "genre:")

           

            If pos > 0 Then

                Dim rawText, cleanText, artistName, photoFile

                rawText = Mid(fullText, pos)

               

                ' 1. Künstlernamen extrahieren für den Dateinamen

                ' Wir suchen den Text zwischen "Artist: " und " Title:"

                Dim startArtist, endArtist

                startArtist = InStr(rawText, "Artist: ") + 8

                endArtist = InStr(rawText, " Title:")

               

                If startArtist > 8 And endArtist > startArtist Then

                    artistName = Mid(rawText, startArtist, endArtist - startArtist)

                    ' Dateiname erstellen: "Vorname Nachname" -> "vorname_nachname"

                    photoFile = LCase(Replace(Trim(artistName), " ", "_"))

                End If

 

                ' 2. Text für djShow formatieren

                cleanText = Replace(rawText, " Artist:", vbCrLf & "Artist:")

                cleanText = Replace(cleanText, " Title:", vbCrLf & "Title:")

                cleanText = Replace(cleanText, " Year:", vbCrLf & "Year:")

               

                ' 3. Die entscheidende Zeile für das Foto hinzufügen

                ' Wir hängen "Photo: vorname_nachname" an

                If photoFile <> "" Then

                    cleanText = cleanText & vbCrLf & "Photo: " & photoFile

                End If

               

                ' Umbrüche säubern

                cleanText = Replace(cleanText, vbCr, "")

                cleanText = Replace(cleanText, vbLf, vbCrLf)

 

                ' --- SENDEN ---

                Dim objHTTP

                Set objHTTP = CreateObject("MSXML2.ServerXMLHTTP")

                objHTTP.Open "POST", serverUrl, False

                objHTTP.SetRequestHeader "Content-Type", "text/plain; charset=utf-8"

                objHTTP.Send cleanText

            End If

        End If

    End If

    WScript.Sleep 2000

Loop

 

------------end code----------------------

 

Play your tangos/vals/milongas in VirtualDJ and it should work now:

 

 

 

If you want the photo of the artist shown on display: make sure that under the folder \html\photos a picture is stored in the format  name_surname.webp  (or *.jpg)

 

 

It also works the other way around, depending on the file name e.g.

Edgardo_Donato.webp  or Donato_Edgardo.webp

 

 

 


Keine Kommentare: