Page 1 of 1
Scripte per Shortcut
Posted: Sat May 03, 2008 6:42 am
by mahoney2002
Hallo,
ist es möglich scripte wie den Case Checker per shortcut zu starten ?
MfG
Stefan
Posted: Sat May 03, 2008 11:31 am
by Maaspuck
Hallo mahoney2002,
jo, das geht sogar mit verschiedenen Möglichkeiten. In der Datei Script.ini im Scripts Verzeichnis kann man beim gewünschten Skript noch die Zeile 'Shortcut=...' einfügen. Näheres dazu siehe
hier.
Die zweite Möglichkeit besteht in einer Festlegung innerhalb eines Skript als Autostart Option. Dann wird der Shortcut sozusagen beim MediaMonkey Start eingerichtet. Das sieht dann in etwa wie folgt aus:
Code: Select all
'
' Complete Album v1.0
'
' This script sets CustomField of the selected files to 'ja' or ''
'
' first version: 2007-09-02
' last version : 2007-09-02
'
' Installation:
' - just copy this code to a new text file, name it 'CompleteAlbum.vbs'
' and save into your 'MediaMonkey\Scripts\Auto'-Folder
'
Option Explicit
Dim i
Dim List, Song
Sub OnStartup()
'
Dim MenuItemFolder, MenuItemBackward, MenuItemForward
'
Set MenuItemFolder = SDB.UI.AddMenuItemSub(SDB.UI.Menu_Scripts,1,1)
MenuItemFolder.Caption = "Complete Album..."
'
Set MenuItemBackward = SDB.UI.AddMenuItem(MenuItemFolder,2,1)
MenuItemBackward.Caption = "ja"
MenuItemBackward.ShortCut = SDB.Localize("Ctrl+") & "8"
MenuItemBackward.UseScript = Script.ScriptPath
MenuItemBackward.OnClickFunc = "AlbumComplete"
'
Set MenuItemForward = SDB.UI.AddMenuItem(MenuItemFolder,2,2)
MenuItemForward.Caption = "nein"
MenuItemForward.ShortCut = SDB.Localize("Ctrl+") & "9"
MenuItemForward.UseScript = Script.ScriptPath
MenuItemForward.OnClickFunc = "AlbumNotComplete"
'
End Sub
Sub AlbumComplete(MenuItemBackward)
'
Set List = SDB.SelectedSongList
For i = 0 To List.Count-1
Set Song = List.Item(i)
Song.Custom1 = "ja"
Song.UpdateDB
Song.WriteTags
Next 'i
Set List = Nothing
'
End Sub
Sub AlbumNotComplete(MenuItemForward)
'
Dim i, List, Song
'
Set List = SDB.SelectedSongList
For i = 0 To List.Count-1
Set Song = List.Item(i)
Song.Custom1 = ""
Song.UpdateDB
Song.WriteTags
Next 'i
Set Song = Nothing
Set List = Nothing
'
End Sub
Kannst Du damit etwas anfangen?
Gruß
Maaspuck
Posted: Sun May 04, 2008 5:32 am
by mahoney2002
Hmm nicht ganz,
wie müsste ich es denn eintragen.
Habe es so probiert Shortcut = ("Ctrl+") & "8" wie aus deinem beispiel
dann:
Shortcut = "Ctrl+" & "8"
Shortcut = "Ctrl+" "8"
Wenn ich dann das script normal aufrufe kommt ein fehler " Variable nicht definiert " Shortcut "
Hab auch anere buchstaben verwendet aber will nicht so.
Bin aber auch kein Scripting guru...eher ein lamer
Posted: Sun May 04, 2008 6:13 am
by Bex
Posted: Sun May 04, 2008 7:17 am
by Maaspuck
Hi mahoney2002,
in der Script.ini müsste es wohl 'Shortcut=Ctrl+8' heißen, also ohne Anfürungszeichen etc. Versuch es mal mit 'Shortcut=Strg+8'. Das habe ich zwar noch nicht probiert, aber vielleicht klappt es. Eine theoretische Erklärung hätte ich dafür, siehe dazu unten.
Das 'SDB.Localize("Ctrl+") & "8"' muss innerhalb eines Skripts verwendet werden:
Localize : damit es auf verschiedenen Sprachversionen läuft
"Ctrl+" & "8": Hier werden zwei Zeichenkettenvariablen verknüpft, nämlich die Zeichenkette 'Ctrl+' und die Zeichenkette '8'. Zusammen ergibt dies dann 'Ctrl+8', also genau die Zeichenkette, die in der script.ini stehen müsste.
Hier die theoretische Erklärung für ein 'Strg+8' in der script.ini. Innerhalb eines Skripts benötige ich das SDB.Localize, damit die im Englischen verwendete Abkürzung 'Ctrl+' ins Deutsche, also 'Strg+' übersetzt wird. Die '8' hänge ich dann lediglich an die entstandene deutsche Übersetzung an. Bei einer deutschen MediaMonkey Installation auf einem deutschen Betriebssystem wäre es also denkbar, dass in der script.ini ebenfalls diese Übersetzung vorgenommen werden muss. Da ein Skriptbefehl wie 'SDB.Localize' in der ini-Datei jedoch nicht funktioniert, muss vielleicht die übersetzte Variante, also 'Strg+' verwendet werden.
So, jetzt habe ich hier unheimlich viel geschrieben... es wäre vermutlich schneller gegangen, wenn ich es gleich ausprobiert hätte. Das werde ich nun tun und vermutlich kann ich die gesamte Theorie dann über den Haufen werfen... wir werden sehen.
Viel Erfolg
Maaspuck