Search  
Friday, March 19, 2010 ..:: Skripte ::.. Register  Login
 Skripte für die Jukebox

In der Skripte-Sektion des Jukeboxforums werden ja immer mehr spezielle und interressante Skripte veröffentlicht. Um diese leichter zugänglich zu machen ( nicht immer deutet der Tread direkt auf ein tolles Skript hin ) habe ich hier mal begonnen, den Code für einige Skripte, ggfls. mit einigen Bemerkungen zu sammeln.

Im Kiosk Modus erscheinen die Skripte unter ihrem abgespeichertem Namen, wenn ihr auf "Spezial" klickt. Ihr könnt den Skripten aber auch Shortcuts zuweisen, oder im Skineditor neue Buttons anlegen und den Buttons die Skripte zuordnen.

Hier kommt ihr direkt zum db script Forum:   Nordbeats Jukebox Forum, Script Section


    

 Hinweis / Disclaimer

Die unten aufgeführten Skripte sind größtenteils von Nordbeat-usern für ihre eigenen Anpassungswünsche geschrieben und laufen auf deren Systemen einwandfrei. Dennoch gibt es keine Garantie und ihr solltet vor dem Übernehmen / Ausprobieren der Skripte sicherheitshalber Backups eurer Datenbank erstellen.

The scripts were written by Nordbeat - Users for their own purpose. On their machines / systems the scripts are running well without errors. But nevertheless there's no guarantee and you should do a backup of your DB before running / testing these scripts.


    

 Haggy: CD brennen / burn CD Minimize

Dieses Script ermöglicht das Brennen der aktuellen Playlist im Kiosk Modus ( Vollinstallation von Nero vorausgesetzt )

You can burn your current playlist in kiosk mode with this script ( complete installation of Nero required )

' Module : Burn active playlist..

' Created: 08.08.2006

' Author : Haggi

Sub Main()

db.RaiseAction(25)

db.ShowLittleNero

End Sub


    

 Haggy: Neueste Alben / Künstler Minimize

Diese Scripte listen die Alben, bzw. Künstler nach der Reihenfolge des Einlesens in der Jukebox ( neueste zuerst )

These two scripts list the Alben / Artists from new to old.

Sub Main()

db.ListArtist("", "ArtistID DESC, Artist")

End Sub

------------------

Sub Main()

db.ListAlbums("", "AlbumID DESC, Album")

End Sub


    

 Haggy: Skin wechseln im Kiosk mode / change skin in kiosk mode Minimize

Dieses Script von Haggy ermöglicht das Wechseln des Skins im Kiosk Modus. Achtet auf die korrekte Schreibweise der Skinnamen im Script.

With this script you 're able to change skins in kiosk mode. Take care to use the correct folder names in the "loadskin" section.

' Module : Change Skin!

' Created: 13.12.2006

' Author : Haggi

Sub Main()

Dim strAsk

db.RaiseAction(25)

strAsk = "With this script You can change skin instantly!" & vbCrLf & vbCrLf

strAsk = strAsk & "Be sure that these skins exists in Your Skins-folder.." & vbCrLf & vbCrLf

strAsk = strAsk & "Available Skins!" & vbCrLf

strAsk = strAsk & "¯¯¯¯¯¯¯¯¯¯¯¯" & vbCrLf

strAsk = strAsk & " 1. Default Skin" & vbCrLf 'these names doesn't have to be exact correct folder-names

strAsk = strAsk & " 2. Blackbox" & vbCrLf

strAsk = strAsk & " 3. Black-Rack" & vbCrLf

strAsk = strAsk & " 4. Digital-Rack" & vbCrLf

strAsk = strAsk & " 5. HiFi-Rack" & vbCrLf

strAsk = strAsk & " 6. Metal" & vbCrLf

strAsk = strAsk & " 7. Pure Gold 1024" & vbCrLf

strAsk = strAsk & " 8. TV" & vbCrLf

strAsk = strAsk & " 9. WBJ" & vbCrLf

strAsk = strAsk & "10. Cancel!" & vbCrLf & vbCrLf

strAsk = strAsk & "Choose Skin..."

Select Case InputBox(strAsk, "1")

Case "1"

db.LoadSkin("Default")'these names HAVE TO BE exact correct folder-names

Case "2"

db.LoadSkin("Blackbox")

Case "3"

db.LoadSkin("Black-Rack")

Case "4"

db.LoadSkin("Digital-Rack")

Case "5"

db.LoadSkin("HiFi-Rack")

Case "6"

db.LoadSkin("Metal")

Case "7"

db.LoadSkin("Pure Gold 1024")

Case "8"

db.LoadSkin("TV")

Case "9"

db.LoadSkin("WBJ")

Case Else

Exit Sub

End Select

End Sub


    

 Haggy: 2 shortcuts Minimize

Keine scripte, aber 2 gute shortcuts, die man wissen sollte...

Hold down the 'SHIFT'-button on the keyboard when selecting a song, and the song will play next..

Hold down the 'CTRL'-button, and the selected song will play now..

Best of all, these actions will not alter your playlist..


    

 Haggy: Statistik script Minimize

Ein Script für statistische Auswertungen im Kiosk mode von Haggy:

' Module : Statistics!

' Created: 01.09.2006

' Author : Haggi

Sub Main()

Dim Info, sCount, fCount, pCount, arCount, arCount1, alCount, alCount1

db.RaiseAction(25) 'change to playlist-view in Kiosk-Mode

Info = "Your collection contain:" & Chr(13) & Chr(13)

rs.Open("select ArtistID from tbl_Artist")

arCount = rs.RecordCount

rs.Open("select ArtistID from qry_Artist2 where HasPicture=0")

arCount1 = rs.RecordCount

Info = Info & "Artists: " & arCount & " - (" & arCount1 & " without picture)" & Chr(13)

rs.Open("select AlbumID from tbl_Album")

alCount = rs.RecordCount

rs.Open("select AlbumID from qry_Album2 where HasPicture=0")

alCount1 = rs.RecordCount

Info = Info & "Albums: " & alCount & " - (" & alCount1 & " without picture)" & Chr(13) & Chr(13)

rs.Open("select SongID from tbl_Song")

sCount = rs.RecordCount

Info = Info & "Songs: " & sCount & Chr(13) & Chr(13)

rs.Open("select SongID from qry_Song where tbl_Song.Favorite=True")

fCount = rs.RecordCount

rs.Open("select SongID from qry_Song where Party=True")

pCount = rs.RecordCount

Info = Info & "Favorite Songs: " & fCount & " - Party Songs: " & pCount & "" & Chr(13) & Chr(13)

Info = Info & "You want more info?"

If AskBox(Info) Then

MsgBox("CONGRATULATION !" & Chr(13) & Chr(13) & "Your Bank Account has reached 1000000 " & Chr(128) & "" & Chr(13) & Chr(13) & "Credit Card has been upgraded to VISA Platinum" & Chr(153) & "")

End If

End Sub


    

 binichdrin: Lieder-Genre anhand Künstler-Genre ergänzen Minimize
Ein Skript von Binichdrin ( Markus ), welches die Stilrichtung eines Songs anhand der hinterlegten Stilrichtung des Künstlers setzt. Legt das Skript in der Künstler-Ansicht an.
This script by binichdrin ( Markus ) associates the genre of a new song by the already exixting genre of the artist of this song. Create this script in the artist section.

' Module : Lieder-Genre ergänzen anhand Künstler-Genre
' Created: 15.12.2005
' Author : T.G.ViRUS + binichdrin

Sub Main()

If AskBox("Update vornehmen?") Then

rs.Open("UPDATE tbl_Artist INNER JOIN tbl_Song ON tbl_Artist.ArtistID = tbl_Song.ArtistFX SET tbl_Song.GenreFX = tbl_Artist.GenreFX, tbl_Song.SavedTag = 0 WHERE tbl_Song.GenreFX=12 AND tbl_Artist.GenreFX<>12")

db.UpdateModifiedTags()

MsgBox("Die Kategorien der Lieder wurden ergänzt!")

End If

End Sub



    

 Haggi: Delete playing song

This script deletes the current playing song from database and HD ( from Kiosk Mode ), be careful !!

This script combines Haggis "delete playing song"-issue and TG's "Delete not available Songs" as it would also clean your database for songs that are no longer available, moved or deleted. An askbox will open..


Module : Delete playing song!

' Created: 17.08.2006

' Author : Haggi

Sub Main()

Dim a, strAsk

db.RaiseAction(25)

a = db.GetPlayingSong

strAsk = "This script delete playing Song" & vbCrLf

strAsk = strAsk & "and deletes Songs from database" & vbCrLf

strAsk = strAsk & "which are deleted, moved or no longer available." & vbCrLf & vbCrLf & vbCrLf

strAsk = strAsk & "Are you really sure that you want to delete playing Song?" & vbCrLf & vbCrLf

strAsk = strAsk & "Song will also be deleted from your HD!"

If AskBox(strAsk) Then

db.Next

db.DeleteSong(a, True)       'db.DeleteSong(a) ..will delete the song in database but leave song file on HD.

db.CheckForSongAvailability

rs.Open("delete from tbl_Song where OnDisk=0")

db.DeleteAlbumsWithoutSongs

db.DeleteArtistsWithoutSongs

db.PrintProgressMonitor("Finished!" & vbCrLf & "Not available Songs has been deleted!")

db.EndProgressMonitor

End If

End Sub


    

 Stigzler: Internet Explorer starten
Eine weitere Möglichkeit, einen Browser zu starten, diesmal mit einer vorgegebenen Website:

Open Browser Window

' Module : www show

' Created: 21/05/2006

' Author : Stigzler

Sub Main()

inet.OpenBrowser(http://www.google.com)

End Sub



    

 Stigzler: Show Song infos in dialog Box
Dieses Skript zeigt Song Informationen in einer Pop up Dialog Box:

DISPLAY SONG INFO
Displays summarised song info in a dialogue box

' Module : song info

' Created: 01/05/2006

' Author : Stigzler

Sub Main()

Dim strSQL

strSQL = "SELECT * "

strSQL = strSQL & "FROM qry_Song "

strSQL = strSQL & "WHERE qry_Song.SongID=" & db.GetPlayingSong

rs.Open(strSQL)

Dim SongInfo

SongInfo = rs.GetField("Track") & ". " & rs.GetField("Title") & Chr(13)

SongInfo = SongInfo & "Album: " & rs.GetField("Album") & " (" & rs.GetField("Year") & ")" & Chr(13)

SongInfo = SongInfo & "Artist: " & rs.GetField("Artist") & Chr(13)

SongInfo = SongInfo & "Favourite: " & rs.GetField("tbl_Song.Favorite") & Chr(13)

SongInfo = SongInfo & "Party: " & rs.GetField("Party") & Chr(13)

SongInfo = SongInfo & "Song Rating: " & rs.GetField("RateTitle") & Chr(13)

SongInfo = SongInfo & "Single/EP: " & rs.GetField("IsSingle") & Chr(13)

SongInfo = SongInfo & "PlayCount: " & rs.GetField("Played") & Chr(13)

SongInfo = SongInfo & "Comments: " & rs.GetField("Comments") & Chr(13)

MsgBox(SongInfo)

End Sub



    

 Stigzler: Toggle Favorite or Party status for current song
Diese zwei Skripte ändern den Favoriten / Party Status des aktuellen Liedes von ja zu nein, bzw. nein zu ja:

TOGGLE FAVOURITE STATUS OF PRESENT PLAYING SONG
Best assigned to a button

' Module : toggle favourite song

' Created: 01/05/2006

' Author : Stigzler

Sub Main()

Dim strSQL

strSQL = "SELECT tbl_Song.SongID, tbl_Song.Title, tbl_Song.Favorite "

strSQL = strSQL & "FROM tbl_Song "

strSQL = strSQL & "WHERE tbl_Song.SongID=" & db.GetPlayingSong

rs.Open(strSQL)

Dim Title

Title = rs.GetField("Title")

Dim Favorite

If rs.GetField("Favorite") = True Then

Favorite = False

Else

Favorite = True

End If

rs.Open("update tbl_Song set Favorite=" & Favorite & " where SongID=" & db.GetPlayingSong)

If Favorite = True Then

MsgBox("'" & Title & "' is now a Favourite!")

Else

MsgBox("Removed Favourite status from '" & Title & ".'")

End If

db.RefreshPlaylist

End Sub

--------------------------------------------------

2. Skript für den Party Status:

TOGGLE PARTY STATUS
like above but for party

' Module : toggle party

' Created: 01/05/2006

' Author : Steve's Main

Sub Main()

Dim strSQL

strSQL = "SELECT tbl_Song.SongID, tbl_Song.Title, tbl_Song.Party "

strSQL = strSQL & "FROM tbl_Song "

strSQL = strSQL & "WHERE tbl_Song.SongID=" & db.GetPlayingSong

rs.Open(strSQL)

Dim Title

Title = rs.GetField("Title")

Dim Party

If rs.GetField("Party") = True Then

Party = False

Else

Party = True

End If

rs.Open("update tbl_Song set Party=" & Party & " where SongID=" & db.GetPlayingSong)

If Party = True Then

MsgBox("'" & Title & "' is now a Party Song!")

Else

MsgBox("Removed Party Song status from '" & Title & ".'")

End If

db.RefreshPlaylist

 

End Sub



    

 Haggi: Volume Control in Auto Play Mode
Dieses Script reduziert die Lautstärke, wenn der Autoplay Modus einsetzt, beachtet bitte Haggis Anmerkungen:

Place it in "Jukebox.Events" under Sub OnStart()-section (then it would be loaded on startup of Jukebox)

Remember to remove the (') at the left of OnStart in Main-section, otherwise it won't be activated!

IMPORTANT: If You open the DB script-editor (ALT-F11) and is doing some scripting, You have to restart the Jukebox to activate this function...... if You close the editor! You can not adjust volume in Jukebox either!

______________________________________

Sub OnStart()

                     Dim play, a, b

                     play = True

                     Do Until play = False

                     Select Case db.PlayMode

                     Case 0,2,3,4

                     For a = db.GetVolume To 128 Step - 1

                      ' 128 = 50% volume

                     db.SetVolume(a)

                     Sleep(10)

                     Next

                     Case Else

                     For b = db.GetVolume To 255 Step 1

                     ' 255 = maximum volume

                     db.SetVolume(b)

                     Sleep(10)

                     Next

                     End Select

                     End Do

                     Sleep(1000) 'milliseconds

                     Loop

End Sub



    

 Haggi: Screensaver starten
Mit diesem Script kann per ( zugeordneter ) Tastenkombination der Screensaver gestartet werden:

' Module : Activate screensaver

' Created: 02.05.2006

' Author : Haggi

Sub Main()

Shell("C:\WINDOWS\system32\Deutz Engine.scr /S")

End Sub

Wobei C:\WINDOWS\system32\Deutz Engine.scr einer Eurer Screensaver ist

    

 Haggi: Explorer aus dem Kioskmode öffnen

Dieses Skript öffnet aus dem Kioskmodus den Explorer, um ggfls. per drag & drop Songtitel in die Playlist zu ziehen:

Module : View Folder-structure

' Created: 06.05.2006

' Author : Haggi

Sub Main()

Shell("EXPLORER.EXE /e ,c:\Documents And Settings\All Users\Dokumenter\Min musikk\Musikk\" vbNormalFocus)

' ------------------------------------------------------------ -

' vbMaximizedFocus will open the window maximized...

' ------------------------------------------------------------ -

' The /e tag will open the explorer window with a tree-view...

' Without this tag it will open the window like normal..

' "Musikk\" is my root-folder defined in Jukebox btw..


    

 Mykirven: Browser aus dem Kioskmodus öffnen

' Module : Search Internet
 ' Created: 9/3/2005
 ' Author : Owner

 Sub Main()
  Shell("C:\Program Files\Internet Explorer\iexplore.exe" vbMaximizedFocus)
 End Sub

Wobei C:\Program Files\Internet Explorer\iexplore.exe mit dem Speicherort eures Browsers übereinstimmen sollte.


    

 Rolle: Close Jukebox

Sub Main()
 db.QuitJukebox ' Close Jukebox.
End Sub

Additionally Rolle assigned a shortcut to this script and now he is able to close the Jukebox just via shortcut


    

 Rolle: move Forward / Backwards

Via the following scripts you are able to move forward ( wind ) or backwards ( rewind ) in the playing song. You have to click several times, because every click moves only a little bit => [ 5 ]

Sub Main()
 db.RaiseAction(6[, 5])
End Sub

And this:

Sub Main()
 db.RaiseAction(7[, 5])
End Sub

Like Rolle it is a good idea to assign a shortcut to the scripts, the right and left arrows would be easy to use and remind


    

 TG Virus & binichdrin: Copy Playlist to a folder

binichdrin hat das ursprüngliche Script von TG Virus etwas verfeinert, er schrieb die Abfrage, damit Songs an den Positionen 1-9 die führende "Null" in der Nummerierung erhalten und die Liste dementsprechend auch korrekt die Reihenfolge kopiert:

' Module : Copy Songs of Playlist
' Created: 15.01.2006
' Author : T.G.ViRUS

Sub Main()
    Dim sFolder, sPathOfSong, sFileName
    Dim lCounter

    sFolder = BrowseForFolder("Choose Folder to copy Songs from current Playlist")
    lCounter = 1

    If sFolder <> "" Then
        rs.Open
("SELECT * FROM tbl_Playlist WHERE SongFX IN (SELECT SongFX FROM tbl_Playlist ORDER BY PositionID)")
        db.StartProgressMonitor(rs.RecordCount)

        Do Until rs.EOF
            
sPathOfSong = GetSongPath(rs.GetField("SongFX"))
             If sPathOfSong <> "" And fs.FileExists(sPathOfSong) Then
                 db.PrintProgressMonitor
("Copying File '" & sPathOfSong & "'..")

If lCounter > 0 And lCounter < 10 Then
   sFileName = "0" & lCounter & ". " & fs.GetFileName(sPathOfSong)
Else
   sFileName = lCounter & ". " & fs.GetFileName(sPathOfSong)
End If
                 fs.CopyFile(sPathOfSong, sFolder & "\" & sFileName)
                 db.SetProgressMonitor(lCounter)
             End If
            
lCounter = lCounter + 1
             rs.MoveNext
        Loop

        db.PrintProgressMonitor
("Copying finished!")
        db.EndProgressMonitor
    End
If
End
Sub

Function
GetSongPath(vID)
    rs.Open("SELECT * FROM tbl_Song WHERE SongID=" & vID)
    If rs.EOF Then
        Return
""
    Else
        Return
db.SQLToPath(rs.GetField("PathOfSong"))
    End If
End
Function


    

 TG Virus: Alben in zufälliger Reihenfolge anzeigen

Dieses Script zeigt die Alben in zufälliger Reihenfolge im Kiosk Modus

' Module : Show Album in Random Order
' Created: 29.08.2005
' Author : T.G.ViRUS

Function
Main()

    Dim arKiosk

    ar.Add(arKiosk, "Album") 'Show albums
    ar.Add(arKiosk, "1=1")   'SQL Where - Show all albums
    ar.Add(arKiosk, "Rnd(AlbumID)") 'SQL Order 
    Return arKiosk

End Function


    

 TG Virus: Künstler in zufälliger Reihenfolge darstellen

Im Kiosk Modus die Künstler in zufälliger Reihenfolge darstellen:

' Module : Show Artists in Random Order
' Created: 29.08.2005
' Author : T.G.ViRUS

Function
Main()

    Dim arKiosk

    ar.Add(arKiosk, "Artist") 'Show Artists
    ar.Add(arKiosk, "1=1")   'SQL Where - Show all artists
    ar.Add(arKiosk, "Rnd(ArtistID)") 'SQL Order 
    Return arKiosk

End Function


    

 TG Virus: Bestimmte Albenstilrichtungen nicht anzeigen

Dieses Script filtert im Kiosk Modus die Albenanzeige und zeigt bestimmte Stilrichtungen ( z.B. Hörspiele ) nicht an. Im unteren Beispiel sind das alle Alben der Stilrichtungen Rock und Acoustic, die nicht angezeigt werden, ersetzt einfach die Begriffe Rock / Acoustic durch eure persönlichen Wünsche, ggfls. erweitert die SQL Suchkette um weitere Stilrichtungen:

' Module : Keine Rock und Acoustic Alben
' Created: 24.08.2005
' Author : T.G.ViRUS

Function
Main()
    Dim arKiosk

    ar.Add(arKiosk, "Album") 'In Alben suchen
    ar.Add(arKiosk, "GenreTitel<>'Rock' AND GenreTitel<>'Acoustic'") 'SQL Where Suchkette
    ar.Add(arKiosk, "Album") 'SQL Order Stringkette für Sortierung

    Return
arKiosk
End Function


    

 TG Virus: Nur bestimmte Albenstilrichtungen anzeigen

Das Gegenstück zu obigem Skript, hier wird gefiltert und nur die angegebenen Stilrichtungen werden aufgeführt. Einfach die gewünschten Stilrichtungen ersetzen und ggfls. die SQL Suchkette erweitern:

' Module : Rock und Acoustic Alben
' Created: 24.08.2005
' Author : T.G.ViRUS

Function
Main()
    Dim arKiosk

    ar.Add
(arKiosk, "Album") 'In Alben suchen
    ar.Add(arKiosk, "GenreTitel='Rock' OR GenreTitel='Acoustic'") 'SQL Where Suchkette
    ar.Add(arKiosk, "Album") 'SQL Order Stringkette für Sortierung
    Return arKiosk
End Function


    

Copyright (c) 2010 Thorsten's Skinpage   Terms Of Use  Privacy Statement