このスクリプトは、ワンクリックで複数のムードにアクセスできるようにするために作成しました。
現在再生中の曲にのみ機能します。
これを自動スクリプト セクションに .vbs ファイルとして保存し、メディア モンキーをリロードする必要があります。ドッキング可能なパネルが作成されます。パネルを閉じた場合は、[表示] メニューの一番下にある [ムード設定パネル] から再度開くことができます。

ムードのチェックボックスの 1 つをクリックすると、そのムードがまだ追加されていない場合は、曲のムードに追加されます。また、複数のムードがある場合はセミコロンも追加されます。

マークした箇所の以下のコードを編集することで、チェックボックスの位置や数、設定するジャンルを変更することができます。

コードを変更して、Occasions やその他のテキスト フィールドで同じことを実行できる別のパネルを作成するのは簡単なはずです。

私は VBScript や Mediamonkey プログラミングをほとんど知らないので、これに関するリクエストには応じることができません。時間と意欲のある人が代わりに対応してくれるでしょう。
楽しむ

Mediamonkey の開発チームには、これだけ多くのことを独自に実行でき、コードを使用して拡張できる素晴らしい製品を開発してくれたことに感謝したいと思います。iTunes よりも簡単です。


[コード]



寸法 Mnu、Pnl、Lbl、Lbl2

サブ OnStartup
UI = SDB.UI を設定します。

Pnl = UI.NewDockablePersistentPanel("TestingPanel") を設定します。
Pnl.IsNewの場合
Pnl.DockedTo = 2
損益共通幅 = 250
終了の場合
Pnl.Caption = "ムード設定パネル"
Script.RegisterEvent Pnl、「OnClose」、「PnlClose」

Lbl = UI.NewLabel(Pnl) を設定します。
Lbl.Autosize = false
Lbl.Multiline = true
Lbl.Common.SetRect 10, 10、Pnl.Common.Width-20、Pnl.Common.Height-20
Lbl.共通.アンカー = 15 '1+2+4+8

この行より上の部分は変更しないでください


' この部分を使用してチェックボックスのジャンルと位置を編集します
チェックボックスのキャプションを希望のジャンルに変更します
「SetRect」を使用して各チェックボックスの位置を変更します
'チェックボックスのコードを6行コピーして貼り付け、新しいチェックボックスを追加します
'チェックボックスへのすべてのクリックは、下部にある1つのイベントハンドラによって処理されます
'これは、それを呼び出すコントロールのキャプションを参照します



ChB = UI.NewCheckBox( Pnl) を設定します。
ChB.Common.ControlName = "ChB"
ChB.Common.SetRect 3, 0, 100, 20
'左、上、幅、高さ
ChB.Caption = "エピック"
Script.RegisterEvent ChB.Common、「OnClick」、「ChBClick」


ChB = UI.NewCheckBox( Pnl) を設定します。
ChB.Common.ControlName = "ChB"
ChB.Common.SetRect 123, 0, 100, 20
ChB.Caption = "決意"
Script.RegisterEvent ChB.Common、「OnClick」、「ChBClick」


Chb = UI.NewCheckBox( Pnl) を設定します。
ChB.Common.ControlName = "ChB"
ChB.Common.SetRect 3、20、100、20
ChB.Caption = "悲しい"
Script.RegisterEvent ChB.Common、「OnClick」、「ChBClick」


ChB = UI.NewCheckBox( Pnl) を設定します。
ChB.Common.ControlName = "ChB"
ChB.Common.SetRect 123, 20, 100, 20
ChB.Caption = "幸せ"
Script.RegisterEvent ChB.Common、「OnClick」、「ChBClick」


Chb = UI.NewCheckBox( Pnl) を設定します。
ChB.Common.ControlName = "ChB"
ChB.Common.SetRect 3、40、100、20
ChB.Caption = "エーテル"
Script.RegisterEvent ChB.Common、「OnClick」、「ChBClick」


ChB = UI.NewCheckBox( Pnl) を設定します。
ChB.Common.ControlName = "ChB"
ChB.Common.SetRect 123、40、100、20
ChB.Caption = 「平和」
Script.RegisterEvent ChB.Common、「OnClick」、「ChBClick」


Chb = UI.NewCheckBox( Pnl) を設定します。
ChB.Common.ControlName = "ChB"
ChB.Common.SetRect 3、60、100、20
ChB.Caption = "間抜け"
Script.RegisterEvent ChB.Common、「OnClick」、「ChBClick」


ChB = UI.NewCheckBox( Pnl) を設定します。
ChB.Common.ControlName = "ChB"
ChB.Common.SetRect 123、60、100、20
ChB.Caption = 「怖い」
Script.RegisterEvent ChB.Common、「OnClick」、「ChBClick」


Chb = UI.NewCheckBox( Pnl) を設定します。
ChB.Common.ControlName = "ChB"
ChB.Common.SetRect 3、80、100、20
ChB.Caption = 「怒り」
Script.RegisterEvent ChB.Common、「OnClick」、「ChBClick」


ChB = UI.NewCheckBox( Pnl) を設定します。
ChB.Common.ControlName = "ChB"
ChB.Common.SetRect 123、80、100、20
ChB.Caption = "ロマンチック"
Script.RegisterEvent ChB.Common、「OnClick」、「ChBClick」

Chb = UI.NewCheckBox( Pnl) を設定します。
ChB.Common.ControlName = "ChB"
ChB.Common.SetRect 3、100、100、20
ChB.Caption = 「冒険」
Script.RegisterEvent ChB.Common、「OnClick」、「ChBClick」


ChB = UI.NewCheckBox( Pnl) を設定します。
ChB.Common.ControlName = "ChB"
ChB.Common.SetRect 123、100、100、20
ChB.Caption = "人気"
Script.RegisterEvent ChB.Common、「OnClick」、「ChBClick」


Chb = UI.NewCheckBox( Pnl) を設定します。
ChB.Common.ControlName = "ChB"
ChB.Common.SetRect 3、120、100、20
ChB.Caption = "クール"
Script.RegisterEvent ChB.Common、「OnClick」、「ChBClick」


ChB = UI.NewCheckBox( Pnl) を設定します。
ChB.Common.ControlName = "ChB"
ChB.Common.SetRect 123、120、100、20
ChB.Caption = "楽しい"
Script.RegisterEvent ChB.Common、「OnClick」、「ChBClick」







「この行より下は変更しないでください」


' パネルを閉じた後に表示するメニュー項目を追加します
Sep = SDB.UI.AddMenuItemSep(SDB.UI.Menu_View,0,0) を設定します。
Mnu = SDB.UI.AddMenuItem(SDB.UI.Menu_View,0,0) を設定します。
Mnu.Caption = "ムード設定パネル"
Mnu.Checked = Pnl.Common.Visible
Script.RegisterEvent Mnu、「OnClick」、「ShowPanel」

Script.RegisterEvent SDB、「OnChangedSelection」、「OnSelection」
終了サブ

サブ ShowPanel(アイテム)
Pnl.Common.Visible = Pnl.Common.Visible ではない
Mnu.Checked = Pnl.Common.Visible
終了サブ

サブ PnlClose( アイテム)
Mnu.Checked = false
終了サブ

サブ選択時

終了サブ


サブChBクリック(ChB)



objSongList と objSongData を暗くする
objSongList = SDB.NewSongList を設定します。

objSongData = SDB.Player.CurrentSong を設定します。
objSongList.Add(objSongData)

Dim StringMood、StringNewMood、StringAddMood
文字列Mood = objSongData.Mood

StringAddMood = ";" & ChB.Caption


InStr(StringMood,ChB.Caption) = 0の場合
「Old Mood」にはチェックした内容は含まれていません。
StringNewMood = StringMood & StringAddMood

objSongData.Mood = StringNewMood
objSonglist.UpdateAll

End If ' 古いムードに新しいムードが含まれている場合、アクションは実行されません。
ChB.チェック済み = false

終了サブ





[/コード]

Translated automatically (see original)

I made this script to give you one-click access to multiple moods.
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]

Hide original

By mutronbiphase
提出者 mutronbiphase
更新 31/05/2012

バージョン履歴 / 詳細
(1 投票する)
4981 ダウンロード

バージョン履歴 / 詳細

バージョン:
1
更新:
31/05/2012
Size:
4.86 KB
対応機種:
Media Monkey 4