.jpg)
Ich habe dieses Skript erstellt, um Ihnen mit nur einem Klick Zugriff auf mehrere Stimmungen zu geben.
Es funktioniert nur für das aktuell wiedergegebene Lied.
Sie müssen es im Abschnitt „Automatische Skripte“ als VBS-Datei speichern und Media Monkey neu laden. Es wird ein andockbares Panel erstellt. Wenn Sie das Panel schließen, können Sie es wieder öffnen, indem Sie zum Menü „Ansicht“ gehen, nach unten gehen und dort „Mood Setting Panel“ aufrufen.
Wenn Sie eines der Stimmungs-Kontrollkästchen anklicken, wird diese zur Stimmung des Songs hinzugefügt, sofern sie nicht bereits dort steht. Außerdem werden Semikolons für mehrere Stimmungen hinzugefügt.
Indem Sie den folgenden Code an den von mir markierten Stellen bearbeiten, können Sie die Position und Anzahl der Kontrollkästchen sowie die Genres ändern, die sie festlegen sollen.
Es sollte einfach genug sein, den Code zu ändern, um ein weiteres Fenster zu erstellen, in dem Sie dasselbe mit Anlässen oder anderen Textfeldern tun können.
Ich kenne mich kaum mit VBScript- oder Mediamonkey-Programmierung aus, daher kann ich diesbezüglich keine Anfragen erfüllen. Jemand mit mehr Zeit und Lust kann das für Sie übernehmen!
Genießen
Ich möchte dem Entwicklerteam von Mediamonkey dafür danken, dass sie ein so fantastisches Produkt entwickelt haben, mit dem man so viel selbst machen und es dann mit Code erweitern kann. Einfach besser als iTunes.
[Code]
Dim Mnu, Pnl, Lbl, Lbl2
Sub beim Start
UI festlegen = SDB.UI
Setzen Sie Pnl = UI.NewDockablePersistentPanel("TestingPanel")
wenn Pnl.IsNew dann
Pnl.Angedockt = 2
Pnl.Gemeinsame.Breite = 250
Ende, wenn
Pnl.Caption = "Stimmungseinstellungsfeld"
Script.RegisterEvent Pnl, "BeimSchließen", "PnlSchließen"
Setze Lbl = UI.NewLabel(Pnl)
Lbl.Autosize = false
Lbl.Multiline = true
Lbl.Common.SetRect 10, 10, Pnl.Common.Breite-20, Pnl.Common.Höhe-20
Lbl.Common.Anchors = 15 '1+2+4+8
'ändere nichts oberhalb dieser Zeile
' VERWENDEN SIE DIESEN TEIL, UM Kontrollkästchen GENRE und Position zu bearbeiten
'Ändern Sie die Kontrollkästchenbeschriftungen in die gewünschten Genres
'Verwenden Sie "SetRect", um die Position jedes Kontrollkästchens zu ändern
'Kopieren Sie 6 Zeilen Kontrollkästchencode, um ein neues Kontrollkästchen hinzuzufügen
'Alle Klicks auf Kontrollkästchen werden vom 1 Eventhandler unten verarbeitet.
', das sich die Überschrift des Steuerelements ansieht, das es aufruft
Setze ChB = UI.NewCheckBox( Pnl)
ChB.Common.ControlName = "ChB"
ChB.Common.SetRect 3, 0, 100, 20
'links, oben, Breite, Höhe
ChB.Caption = "Episch"
Script.RegisterEvent ChB.Common, "BeimKlick", "ChBClick"
Setze ChB = UI.NewCheckBox( Pnl)
ChB.Common.ControlName = "ChB"
ChB.Common.SetRect 123, 0, 100, 20
ChB.Caption = "Entschlossen"
Script.RegisterEvent ChB.Common, "BeimKlick", "ChBClick"
Setze Chb = UI.NewCheckBox( Pnl)
ChB.Common.ControlName = "ChB"
ChB.Common.SetRect 3, 20, 100, 20
ChB.Caption = "Traurig"
Script.RegisterEvent ChB.Common, "BeimKlick", "ChBClick"
Setze ChB = UI.NewCheckBox( Pnl)
ChB.Common.ControlName = "ChB"
ChB.Common.SetRect 123, 20, 100, 20
ChB.Caption = "Glücklich"
Script.RegisterEvent ChB.Common, "BeimKlick", "ChBClick"
Setze Chb = UI.NewCheckBox( Pnl)
ChB.Common.ControlName = "ChB"
ChB.Common.SetRect 3, 40, 100, 20
ChB.Caption = "Ätherisch"
Script.RegisterEvent ChB.Common, "BeimKlick", "ChBClick"
Setze ChB = UI.NewCheckBox( Pnl)
ChB.Common.ControlName = "ChB"
ChB.Common.SetRect 123, 40, 100, 20
ChB.Caption = "Friedlich"
Script.RegisterEvent ChB.Common, "BeimKlick", "ChBClick"
Setze Chb = UI.NewCheckBox( Pnl)
ChB.Common.ControlName = "ChB"
ChB.Common.SetRect 3, 60, 100, 20
ChB.Caption = "Doof"
Script.RegisterEvent ChB.Common, "BeimKlick", "ChBClick"
Setze ChB = UI.NewCheckBox( Pnl)
ChB.Common.ControlName = "ChB"
ChB.Common.SetRect 123, 60, 100, 20
ChB.Caption = "Gruselig"
Script.RegisterEvent ChB.Common, "BeimKlick", "ChBClick"
Setze Chb = UI.NewCheckBox( Pnl)
ChB.Common.ControlName = "ChB"
ChB.Common.SetRect 3, 80, 100, 20
ChB.Caption = "Wütend"
Script.RegisterEvent ChB.Common, "BeimKlick", "ChBClick"
Setze ChB = UI.NewCheckBox( Pnl)
ChB.Common.ControlName = "ChB"
ChB.Common.SetRect 123, 80, 100, 20
ChB.Caption = "Romantisch"
Script.RegisterEvent ChB.Common, "BeimKlick", "ChBClick"
Setze Chb = UI.NewCheckBox( Pnl)
ChB.Common.ControlName = "ChB"
ChB.Common.SetRect 3, 100, 100, 20
ChB.Caption = "Abenteuerlich"
Script.RegisterEvent ChB.Common, "BeimKlick", "ChBClick"
Setze ChB = UI.NewCheckBox( Pnl)
ChB.Common.ControlName = "ChB"
ChB.Common.SetRect 123, 100, 100, 20
ChB.Caption = "Beliebt"
Script.RegisterEvent ChB.Common, "BeimKlick", "ChBClick"
Setze Chb = UI.NewCheckBox( Pnl)
ChB.Common.ControlName = "ChB"
ChB.Common.SetRect 3, 120, 100, 20
ChB.Caption = "Cool"
Script.RegisterEvent ChB.Common, "BeimKlick", "ChBClick"
Setze ChB = UI.NewCheckBox( Pnl)
ChB.Common.ControlName = "ChB"
ChB.Common.SetRect 123, 120, 100, 20
ChB.Caption = "Spaß"
Script.RegisterEvent ChB.Common, "BeimKlick", "ChBClick"
''ändern Sie nichts unterhalb dieser Zeile
' Menüelement hinzufügen, das das Panel anzeigt, nachdem es geschlossen wurde
Setze Sep = SDB.UI.AddMenuItemSep(SDB.UI.Menu_View,0,0)
Setze Mnu = SDB.UI.AddMenuItem(SDB.UI.Menu_View,0,0)
Mnu.Caption = "Stimmungseinstellungsfeld"
Mnu.Checked = Pnl.Common.Visible
Script.RegisterEvent Mnu, „Beim Klicken“, „Panel anzeigen“
Script.RegisterEvent SDB, „OnChangedSelection“, „OnSelection“
Ende Sub
Untergeordnetes ShowPanel (Element)
Pnl.Common.Visible = nicht Pnl.Common.Visible
Mnu.Checked = Pnl.Common.Visible
Ende Sub
Sub PnlClose(Artikel)
Mnu.Checked = false
Ende Sub
Sub bei Auswahl
Ende Sub
Sub ChBClick( ChB)
Dim objSongList, objSongData
Setzen Sie objSongList = SDB.NewSongList
Setzen Sie objSongData = SDB.Player.CurrentSong
objSongList.Add(objSongData)
Dimmen Sie StringMood, StringNewMood, StringAddMood
StringMood = objSongData.Mood
StringAddMood = ";" & ChB.Caption
Wenn InStr(StringMood,ChB.Caption) = 0, dann
„Old Mood enthält nicht das, was Sie überprüft haben.“
StringNewMood = StringMood & StringAddMood
objSongData.Mood = StringNewMood
objSonglist.UpdateAll
End If ' Falls Old Mood New Mood enthält, wird keine Aktion ausgeführt.
ChB.Checked = false
Ende Sub
[/Code]
I made this script to give you one-click access to multiple moods.
Hide original
It only works for the currently PLAYING song.
You need to save it in the Auto scripts section as a .vbs file, and reload media monkey. It will create a dockable panel. If you close the panel you can reopen it by going to the View menu, go to the bottom, and it's "Mood Setting Panel"
When you click one of the mood checkboxes, it adds that to the mood for the song if it's not already on there. It also adds the semicolons for multiple moods.
By editing the below code in the places I marked out, you can change the position and number of the checkboxes as well as the genres you want them to set.
It should be easy enough to modify the code to make another panel that lets you do the same thing with Occasions or any other text field.
I hardly know VBScript or Mediamonkey programming so any requests on this I will not be able to do, someone with more time and inclination can pick that up for you!
Enjoy
I would like to thank Mediamonkey's dev team for making such an awesome product that allows you to do so much on its own, and then expand it using code. Beats Itunes easy.
[code]
Dim Mnu, Pnl, Lbl, Lbl2
Sub OnStartup
Set UI = SDB.UI
Set Pnl = UI.NewDockablePersistentPanel("TestingPanel")
if Pnl.IsNew then
Pnl.DockedTo = 2
Pnl.Common.Width = 250
end if
Pnl.Caption = "Mood Setting Panel"
Script.RegisterEvent Pnl, "OnClose", "PnlClose"
Set Lbl = UI.NewLabel(Pnl)
Lbl.Autosize = false
Lbl.Multiline = true
Lbl.Common.SetRect 10, 10, Pnl.Common.Width-20, Pnl.Common.Height-20
Lbl.Common.Anchors = 15 '1+2+4+8
'don't change anything above this line
' USE THIS PART TO EDIT CHECK BOXES GENRE and position
'Change Checkbox Captions to Genres you want
'Use "SetRect" to change position of each checkbox
'Copy paste 6 lines of checkbox code to add a new checkbox
'All clicks to checkboxes are handled by the 1 event handler at the bottom
'which looks at the caption of the control that calls it
Set ChB = UI.NewCheckBox( Pnl)
ChB.Common.ControlName = "ChB"
ChB.Common.SetRect 3, 0, 100, 20
'left, top, width, height
ChB.Caption = "Epic"
Script.RegisterEvent ChB.Common, "OnClick", "ChBClick"
Set ChB = UI.NewCheckBox( Pnl)
ChB.Common.ControlName = "ChB"
ChB.Common.SetRect 123, 0, 100, 20
ChB.Caption = "Determined"
Script.RegisterEvent ChB.Common, "OnClick", "ChBClick"
Set Chb = UI.NewCheckBox( Pnl)
ChB.Common.ControlName = "ChB"
ChB.Common.SetRect 3, 20, 100, 20
ChB.Caption = "Sad"
Script.RegisterEvent ChB.Common, "OnClick", "ChBClick"
Set ChB = UI.NewCheckBox( Pnl)
ChB.Common.ControlName = "ChB"
ChB.Common.SetRect 123, 20, 100, 20
ChB.Caption = "Happy"
Script.RegisterEvent ChB.Common, "OnClick", "ChBClick"
Set Chb = UI.NewCheckBox( Pnl)
ChB.Common.ControlName = "ChB"
ChB.Common.SetRect 3, 40, 100, 20
ChB.Caption = "Ethereal"
Script.RegisterEvent ChB.Common, "OnClick", "ChBClick"
Set ChB = UI.NewCheckBox( Pnl)
ChB.Common.ControlName = "ChB"
ChB.Common.SetRect 123, 40, 100, 20
ChB.Caption = "Peaceful"
Script.RegisterEvent ChB.Common, "OnClick", "ChBClick"
Set Chb = UI.NewCheckBox( Pnl)
ChB.Common.ControlName = "ChB"
ChB.Common.SetRect 3, 60, 100, 20
ChB.Caption = "Goofy"
Script.RegisterEvent ChB.Common, "OnClick", "ChBClick"
Set ChB = UI.NewCheckBox( Pnl)
ChB.Common.ControlName = "ChB"
ChB.Common.SetRect 123, 60, 100, 20
ChB.Caption = "Scary"
Script.RegisterEvent ChB.Common, "OnClick", "ChBClick"
Set Chb = UI.NewCheckBox( Pnl)
ChB.Common.ControlName = "ChB"
ChB.Common.SetRect 3, 80, 100, 20
ChB.Caption = "Angry"
Script.RegisterEvent ChB.Common, "OnClick", "ChBClick"
Set ChB = UI.NewCheckBox( Pnl)
ChB.Common.ControlName = "ChB"
ChB.Common.SetRect 123, 80, 100, 20
ChB.Caption = "Romantic"
Script.RegisterEvent ChB.Common, "OnClick", "ChBClick"
Set Chb = UI.NewCheckBox( Pnl)
ChB.Common.ControlName = "ChB"
ChB.Common.SetRect 3, 100, 100, 20
ChB.Caption = "Adventurous"
Script.RegisterEvent ChB.Common, "OnClick", "ChBClick"
Set ChB = UI.NewCheckBox( Pnl)
ChB.Common.ControlName = "ChB"
ChB.Common.SetRect 123, 100, 100, 20
ChB.Caption = "Popular"
Script.RegisterEvent ChB.Common, "OnClick", "ChBClick"
Set Chb = UI.NewCheckBox( Pnl)
ChB.Common.ControlName = "ChB"
ChB.Common.SetRect 3, 120, 100, 20
ChB.Caption = "Cool"
Script.RegisterEvent ChB.Common, "OnClick", "ChBClick"
Set ChB = UI.NewCheckBox( Pnl)
ChB.Common.ControlName = "ChB"
ChB.Common.SetRect 123, 120, 100, 20
ChB.Caption = "Fun"
Script.RegisterEvent ChB.Common, "OnClick", "ChBClick"
''don't change anything below this line
' Add menu item that shows panel after it is closed
Set Sep = SDB.UI.AddMenuItemSep(SDB.UI.Menu_View,0,0)
Set Mnu = SDB.UI.AddMenuItem(SDB.UI.Menu_View,0,0)
Mnu.Caption = "Mood Setting Panel"
Mnu.Checked = Pnl.Common.Visible
Script.RegisterEvent Mnu, "OnClick", "ShowPanel"
Script.RegisterEvent SDB, "OnChangedSelection", "OnSelection"
End Sub
Sub ShowPanel(Item)
Pnl.Common.Visible = not Pnl.Common.Visible
Mnu.Checked = Pnl.Common.Visible
End Sub
Sub PnlClose( Item)
Mnu.Checked = false
End Sub
Sub OnSelection
End Sub
Sub ChBClick( ChB)
Dim objSongList , objSongData
Set objSongList = SDB.NewSongList
Set objSongData = SDB.Player.CurrentSong
objSongList.Add(objSongData)
Dim StringMood, StringNewMood, StringAddMood
StringMood = objSongData.Mood
StringAddMood = ";" & ChB.Caption
If InStr(StringMood,ChB.Caption) = 0 Then
'Old Mood does not contain the one you checked.
StringNewMood = StringMood & StringAddMood
objSongData.Mood = StringNewMood
objSonglist.UpdateAll
End If ' If Old Mood contains New Mood, no action is taken.
ChB.Checked = false
End Sub
[/code]
By
mutronbiphase
Erstellt von mutronbiphase
Aktualisiert 31/05/2012
Versionsverlauf/Details
- Version:
- 1
- Aktualisiert:
- 31/05/2012
- Size:
- 4.86 KB
- Funktioniert mit:
- Media Monkey 4