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:
Kommentar veröffentlichen