.jpg)
Ik heb dit script gemaakt zodat je met één klik toegang hebt tot meerdere stemmingen.
Het werkt alleen voor het nummer dat op dat moment wordt afgespeeld.
Je moet het opslaan in de Auto scripts sectie als een .vbs bestand, en media monkey opnieuw laden. Het zal een dockable paneel creëren. Als je het paneel sluit kun je het opnieuw openen door naar het View menu te gaan, naar beneden te gaan, en het is "Mood Setting Panel"
Wanneer u op een van de mood-selectievakjes klikt, wordt dat toegevoegd aan de mood voor het nummer als het er nog niet in staat. Het voegt ook de puntkomma's toe voor meerdere moods.
Door de onderstaande code te bewerken op de plekken die ik heb gemarkeerd, kunt u de positie en het aantal selectievakjes wijzigen, evenals de genres die u wilt instellen.
Het zou eenvoudig moeten zijn om de code aan te passen en een ander paneel te maken waarmee u hetzelfde kunt doen met Gelegenheden of andere tekstvelden.
Ik kan nauwelijks programmeren in VBScript of MediaMonkey, dus ik kan geen verzoeken op dit gebied uitvoeren. Iemand met meer tijd en zin kan dat voor je oppakken!
Genieten
Ik wil het ontwikkelteam van Mediamonkey bedanken voor het maken van zo'n geweldig product waarmee je zoveel zelf kunt doen en het vervolgens kunt uitbreiden met code. Het is makkelijker dan iTunes.
[code]
Dim Mnu, Pnl, Lbl, Lbl2
Ondertekenen OpStartup
Stel UI = SDB.UI in
Stel Pnl in = UI.NewDockablePersistentPanel("TestingPanel")
als Pnl.IsNew dan
Pnl.DockedTo = 2
Pnl.Gemeenschappelijke breedte = 250
einde als
Pnl.Caption = "Sfeerinstellingspaneel"
Script.RegisterEvent Pnl, "OnClose", "PnlClose"
Stel Lbl in = UI.NewLabel(Pnl)
Lbl.Autosize = false
Lbl.Multiline = waar
Lbl.Common.SetRect 10, 10, Pnl.Common.Breedte-20, Pnl.Common.Hoogte-20
Lbl.Gemeenschappelijk.Ankers = 15 '1+2+4+8
'verander niets boven deze lijn
' GEBRUIK DIT DEEL OM DE SELECTIEVAKJES GENRE EN POSITIE TE BEWERKEN
'Wijzig selectievakje bijschriften naar genres die u wilt
'Gebruik "SetRect" om de positie van elk selectievakje te wijzigen
'Kopieer en plak 6 regels checkbox-code om een nieuw checkbox toe te voegen
'Alle klikken op selectievakjes worden afgehandeld door de 1 gebeurtenis-handler onderaan
'die kijkt naar het bijschrift van het besturingselement dat het aanroept
Stel ChB = UI.NewCheckBox(Pnl) in
ChB.Common.ControlName = "ChB"
ChB.Common.SetRect 3, 0, 100, 20
'links, boven, breedte, hoogte
ChB.Caption = "Episch"
Script.RegisterEvent ChB.Common, "OnClick", "ChBClick"
Stel ChB = UI.NewCheckBox(Pnl) in
ChB.Common.ControlName = "ChB"
ChB.Common.SetRect 123, 0, 100, 20
ChB.Caption = "Vastbesloten"
Script.RegisterEvent ChB.Common, "OnClick", "ChBClick"
Stel Chb = UI.NewCheckBox(Pnl) in
ChB.Common.ControlName = "ChB"
ChB.Common.SetRect 3, 20, 100, 20
ChB.Caption = "Verdrietig"
Script.RegisterEvent ChB.Common, "OnClick", "ChBClick"
Stel ChB = UI.NewCheckBox(Pnl) in
ChB.Common.ControlName = "ChB"
ChB.Common.SetRect 123, 20, 100, 20
ChB.Caption = "Gelukkig"
Script.RegisterEvent ChB.Common, "OnClick", "ChBClick"
Stel Chb = UI.NewCheckBox(Pnl) in
ChB.Common.ControlName = "ChB"
ChB.Common.SetRect 3, 40, 100, 20
ChB.Caption = "Ethereal"
Script.RegisterEvent ChB.Common, "OnClick", "ChBClick"
Stel ChB = UI.NewCheckBox(Pnl) in
ChB.Common.ControlName = "ChB"
ChB.Common.SetRect 123, 40, 100, 20
ChB.Caption = "Vreedzaam"
Script.RegisterEvent ChB.Common, "OnClick", "ChBClick"
Stel Chb = UI.NewCheckBox(Pnl) in
ChB.Common.ControlName = "ChB"
ChB.Common.SetRect 3, 60, 100, 20
ChB.Caption = "Gek"
Script.RegisterEvent ChB.Common, "OnClick", "ChBClick"
Stel ChB = UI.NewCheckBox(Pnl) in
ChB.Common.ControlName = "ChB"
ChB.Common.SetRect 123, 60, 100, 20
ChB.Caption = "Eng"
Script.RegisterEvent ChB.Common, "OnClick", "ChBClick"
Stel Chb = UI.NewCheckBox(Pnl) in
ChB.Common.ControlName = "ChB"
ChB.Common.SetRect 3, 80, 100, 20
ChB.Caption = "Boos"
Script.RegisterEvent ChB.Common, "OnClick", "ChBClick"
Stel ChB = UI.NewCheckBox(Pnl) in
ChB.Common.ControlName = "ChB"
ChB.Common.SetRect 123, 80, 100, 20
ChB.Caption = "Romantisch"
Script.RegisterEvent ChB.Common, "OnClick", "ChBClick"
Stel Chb = UI.NewCheckBox(Pnl) in
ChB.Common.ControlName = "ChB"
ChB.Common.SetRect 3, 100, 100, 20
ChB.Caption = "Avontuurlijk"
Script.RegisterEvent ChB.Common, "OnClick", "ChBClick"
Stel ChB = UI.NewCheckBox(Pnl) in
ChB.Common.ControlName = "ChB"
ChB.Common.SetRect 123, 100, 100, 20
ChB.Caption = "Populair"
Script.RegisterEvent ChB.Common, "OnClick", "ChBClick"
Stel Chb = UI.NewCheckBox(Pnl) in
ChB.Common.ControlName = "ChB"
ChB.Common.SetRect 3, 120, 100, 20
ChB.Caption = "Cool"
Script.RegisterEvent ChB.Common, "OnClick", "ChBClick"
Stel ChB = UI.NewCheckBox(Pnl) in
ChB.Common.ControlName = "ChB"
ChB.Common.SetRect 123, 120, 100, 20
ChB.Caption = "Plezier"
Script.RegisterEvent ChB.Common, "OnClick", "ChBClick"
''verander niets onder deze lijn
'Voeg menu-item toe dat het paneel weergeeft nadat het is gesloten
Stel Sep in = SDB.UI.AddMenuItemSep(SDB.UI.Menu_View,0,0)
Stel Mnu in = SDB.UI.AddMenuItem(SDB.UI.Menu_View,0,0)
Mnu.Caption = "Sfeerinstellingspaneel"
Mnu.Gecontroleerd = Pnl.Gemeenschappelijk.Zichtbaar
Script.RegisterEvent Mnu, "OnClick", "ShowPanel"
Script.RegisterEvent SDB, "OnChangedSelection", "OnSelection"
Einde sub
Sub-weergavepaneel (item)
Pnl.Common.Visible = niet Pnl.Common.Visible
Mnu.Gecontroleerd = Pnl.Gemeenschappelijk.Zichtbaar
Einde sub
Sub PnlSluiten( Item)
Mnu.Checked = onwaar
Einde sub
Sub op selectie
Einde sub
Onder ChBKlik( ChB)
Dim objSongList, objSongData
Stel objSongList = SDB.NewSongList in
Stel objSongData = SDB.Player.CurrentSong in
objSongList.Add(objSongData)
Dim StringMood, StringNieuweStemming, StringToevoegenStemming
StringMood = objSongData.Mood
StringAddMood = ";" & ChB.Caption
Als InStr(StringMood,ChB.Caption) = 0 Dan
'Old Mood bevat niet degene die u hebt gecontroleerd.
StringNieuweStem = StringStem & StringToevoegenStem
objSongData.Mood = StringNewMood
objSonglist.UpdateAll
Einde Als ' Als de Oude Stemming de Nieuwe Stemming bevat, wordt er geen actie ondernomen.
ChB.Gecontroleerd = onwaar
Einde 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
Ingezonden door mutronbiphase
Bijgewerkt 31/05/2012