by Peke » Mon Sep 18, 2006 6:07 am
Before plugin is done here is Small Script that writes Now Playing track in Skype Mood/User Note textBox.
Enjoy!
- Code: Select all
'==========================================================================
' NAME: SkypePlayMood v1.2 (SkypeMoodText.vbs)
'
' AUTHOR : Peke
' DATE : 10.10.2006
' INSTALL: Download and install Skype4COM Release (https://developer.skype.com/Download)
' Save This Script in MM\Scripts\Auto folder and restart MM
' NOTE : Use latest Skype and allow MM to access Skype
'==========================================================================
Dim MoodPrefix, AppOriginal, MediaMonkeyMoodFirst
'Edit MoodPrefix if you want to have Custom Prefix of now Playing Track
MoodPrefix = "MediaMonkey is playing for Me: "
' Append Original Mood text to existing to MediaMonkey Mood Text (Default TRUE)
AppOriginal = True
' Used only if Appending To original Mood Text is TRUE. Change this if you wish that
' MediaMonkey Mood Text is added to Original Mood Text(Default True)
MediaMonkeyMoodFirst = True
'// Attach To MMObject For Debbuging Only
'Dim SDB
'Set SDB = CreateObject("SongsDB.SDBApplication")
Sub OnStartup
'// Start the Skype client if not Running
Dim ini, list, list2
Set ini = SDB.IniFile
'//Save Skype Mood text to revert on MM Exit
Set list = GetObject("winmgmts:")
Set list2 = list.ExecQuery("Select * from Win32_Process where name like 'Skype%'")
If list2.count > 0 Then
'// Create a Skype4COM object:
Set oSkype = CreateObject("Skype4COM.Skype")
If InStr(oSkype.CurrentUserProfile.MoodText,MoodPrefix) = 0 Then
ini.StringValue("SkypeMood","OldMsg") = oSkype.CurrentUserProfile.MoodText
End If
End If
Call Script.RegisterEvent(SDB, "OnPlay", "SetSkypeMood")
Call Script.RegisterEvent(SDB, "OnShutdown", "RevertSkypeMood")
End Sub
Sub SetSkypeMood
Dim ini, list, list2
Set ini = SDB.IniFile
Set list = getobject("winmgmts:")
Set list2 = list.ExecQuery("Select * from Win32_Process where name like 'Skype%'")
If (list2.count > 0) Then
'// Create a Skype4COM object:
Set oSkype = CreateObject("Skype4COM.Skype")
'//Set Skype Mood text to show now playing
If Not ((InStr(oSkype.CurrentUserProfile.MoodText,MoodPrefix) > 0) Or (ini.StringValue("SkypeMood","OldMsg") = oSkype.CurrentUserProfile.MoodText)) Then
ini.StringValue("SkypeMood","OldMsg") = oSkype.CurrentUserProfile.MoodText
End If
If AppOriginal Then
If MediaMonkeyMoodFirst Then
oSkype.CurrentUserProfile.MoodText = MoodPrefix &SDB.Player.CurrentSong.ArtistName &" - " &SDB.Player.CurrentSong.Title &" (" &SDB.Player.CurrentSong.SongLengthString &")" &Chr(13) &Chr(10) &ini.StringValue("SkypeMood","OldMsg")
Else
oSkype.CurrentUserProfile.MoodText = ini.StringValue("SkypeMood","OldMsg") &Chr(13) &Chr(10) &MoodPrefix &SDB.Player.CurrentSong.ArtistName &" - " &SDB.Player.CurrentSong.Title &" (" &SDB.Player.CurrentSong.SongLengthString &")"
End If
Else
oSkype.CurrentUserProfile.MoodText = MoodPrefix &SDB.Player.CurrentSong.ArtistName &" - " &SDB.Player.CurrentSong.Title &" (" &SDB.Player.CurrentSong.SongLengthString &")"
End If
End If
End Sub
Sub RevertSkypeMood
'// Start the Skype client if not Running
Dim ini, list, list2
Set ini = SDB.IniFile
Set list = getobject("winmgmts:")
Set list2 = list.ExecQuery("Select * from Win32_Process where name like 'Skype%'")
If list2.count > 0 Then
'// Create a Skype4COM object:
Set oSkype = CreateObject("Skype4COM.Skype")
'//revert saved Skype Mood
oSkype.CurrentUserProfile.MoodText = ini.StringValue("SkypeMood","OldMsg")
'// Clear Saved mood
End If
End Sub
Feel free to drop me note, how you liked it.
Last edited by
Peke on Tue Oct 10, 2006 8:06 am, edited 6 times in total.