Auto Rating of Songs & Radio Announcer v5.02 [Script]
Is there a way to set the TTS voice VOLUME?
New script: Last.FM Node Now with DJ Mode!
Last.fm + MediaMonkey = Scrobbler DJ!
Tag with MusicBrainz ~ Get Album Art!
Tweak the Monkey! ~ My Scripts Page
Last.fm + MediaMonkey = Scrobbler DJ!
Tag with MusicBrainz ~ Get Album Art!
Tweak the Monkey! ~ My Scripts Page
-
- Posts: 14163
- Joined: Sat Oct 25, 2003 7:57 am
- Location: (Texas)
- Contact:
the way it is done with the old tts engines for msagents is just add the code.
"\Vol=65535\"
now that is in the speak line in the msagent code. but it is albe to be done in vb code i just don't know how. sorry
although the djamp program has a code that will turn up the wav volume when the agent speaks which is used for the tts engines. then turn it back down to the normal setting. so that might be an option to add in the vb code for this.
"\Vol=65535\"
now that is in the speak line in the msagent code. but it is albe to be done in vb code i just don't know how. sorry
although the djamp program has a code that will turn up the wav volume when the agent speaks which is used for the tts engines. then turn it back down to the normal setting. so that might be an option to add in the vb code for this.
roving cowboy / keith hall. My skins http://www.mediamonkey.com/forum/viewto ... =9&t=16724 for some help check on Monkey's helpful messages at http://www.mediamonkey.com/forum/viewto ... 4008#44008 MY SYSTEMS.1.Jukebox WinXp pro sp 3 version 3.5 gigabyte mb. 281 GHz amd athlon x2 240 built by me.) 2.WinXP pro sp3, vers 2.5.5 and vers 3.5 backup storage, shuttle 32a mb,734 MHz amd athlon put together by me.) 3.Dell demension, winxp pro sp3, mm3.5 spare jukebox.) 4.WinXp pro sp3, vers 3.5, dad's computer bought from computer store. )5. Samsung Galaxy A51 5G Android ) 6. amd a8-5600 apu 3.60ghz mm version 4 windows 7 pro bought from computer store.
BTW, DiddeLeeDoo,
I am adding an option page to tweakmonkey to set your variables in the mediamonkey.ini file.
I will also have to modify your script to load from the mediamonkey.ini. I will post the modified version here unless you wish me not to.
I am adding an option page to tweakmonkey to set your variables in the mediamonkey.ini file.
I will also have to modify your script to load from the mediamonkey.ini. I will post the modified version here unless you wish me not to.
New script: Last.FM Node Now with DJ Mode!
Last.fm + MediaMonkey = Scrobbler DJ!
Tag with MusicBrainz ~ Get Album Art!
Tweak the Monkey! ~ My Scripts Page
Last.fm + MediaMonkey = Scrobbler DJ!
Tag with MusicBrainz ~ Get Album Art!
Tweak the Monkey! ~ My Scripts Page
Yes, use the "Volume" property (of type "long") on the "tts" object.Is there a way to set the TTS voice VOLUME?
BTW: IMHO, this TTS portion should be a separate script.
Cheers
Steegy
Extensions: ExternalTools, ExtractFields, SongPreviewer, LinkedTracks, CleanImport, and some other scripts (Need Help with Addons > List of All Scripts).
I posted an updated version of tweakmonkey with a sheet for autoratesongs options.
I did not have time to make any changes to the autoratesongs script itself.
It should be relatively simple to add, simply check the mediamonkey ini for the variable and its value and set your variable in autoratesongs script.
screenshot
I did not have time to make any changes to the autoratesongs script itself.
It should be relatively simple to add, simply check the mediamonkey ini for the variable and its value and set your variable in autoratesongs script.
screenshot
New script: Last.FM Node Now with DJ Mode!
Last.fm + MediaMonkey = Scrobbler DJ!
Tag with MusicBrainz ~ Get Album Art!
Tweak the Monkey! ~ My Scripts Page
Last.fm + MediaMonkey = Scrobbler DJ!
Tag with MusicBrainz ~ Get Album Art!
Tweak the Monkey! ~ My Scripts Page
-
- Posts: 1017
- Joined: Wed Mar 01, 2006 1:09 am
- Location: In a jungle down under
- Contact:
@Teknojnky Very exciting!! I just woke up, and it's not often I wake up laughing of joy. THANK YOU!.. I cannot see any problems with having choices!! Please post if you like.
@Steegy
I agree with you, but being a rookie I was just happy to get something that worked. I do not know how to get it to become a separate process, so I found the best thing to do was to set it as an non-default option.
I love this feature by the way. Commercial free radio (AutoDJ) with a sexy voice that announce what's playing next. Plus it's easy to tell the 'radio station' what I like and not by simply hitting the 'Next Track' button from anywhere.. Love it!
@RovingCowboy. I noticed that the voice announcer were a bit louder than the music. Solved by going to MM and doing Tools/Options/Player/Volume Leveling/Playback/Target Volume Level for Player: from 89 to 93 or whatever you may find suitable. Steegy's solution seems preferrable.
Hoping for "work-idle" time in a few days, and will then try to take it all further. Moods and a catch-up with ratings script is what I'm motivated for.
Added: Steegy, did you think doing the "Radio Announcer" http://www.mediamonkey.com/forum/viewto ... sc&start=8 as separate Type 2 Script? I was trying to find a way to call RadioAnnouncer.vbs from inside the script, and that's when I got stuck, and just left it as a function.
@Steegy
I agree with you, but being a rookie I was just happy to get something that worked. I do not know how to get it to become a separate process, so I found the best thing to do was to set it as an non-default option.
I love this feature by the way. Commercial free radio (AutoDJ) with a sexy voice that announce what's playing next. Plus it's easy to tell the 'radio station' what I like and not by simply hitting the 'Next Track' button from anywhere.. Love it!
@RovingCowboy. I noticed that the voice announcer were a bit louder than the music. Solved by going to MM and doing Tools/Options/Player/Volume Leveling/Playback/Target Volume Level for Player: from 89 to 93 or whatever you may find suitable. Steegy's solution seems preferrable.
Hoping for "work-idle" time in a few days, and will then try to take it all further. Moods and a catch-up with ratings script is what I'm motivated for.
Added: Steegy, did you think doing the "Radio Announcer" http://www.mediamonkey.com/forum/viewto ... sc&start=8 as separate Type 2 Script? I was trying to find a way to call RadioAnnouncer.vbs from inside the script, and that's when I got stuck, and just left it as a function.
-
- Posts: 1017
- Joined: Wed Mar 01, 2006 1:09 am
- Location: In a jungle down under
- Contact:
UserTip:
Right click for example Favorites - Top 50, select Edit AutoPlaylist and set what you want to listen to, being it Genre, Rating Setting, Played or not.
Then Select this Playlist in Tools/Options/Auto DJ
Result, you have your own 'Genre' Radio. I was not aware of this before very recently, so I just thought I should share it.
Say if set a filter to include ratings 2.5 Stars, you can make sure that you'll not hear a track you do not like again, since it will be filtered out automatically after a skip.
Right click for example Favorites - Top 50, select Edit AutoPlaylist and set what you want to listen to, being it Genre, Rating Setting, Played or not.
Then Select this Playlist in Tools/Options/Auto DJ
Result, you have your own 'Genre' Radio. I was not aware of this before very recently, so I just thought I should share it.
Say if set a filter to include ratings 2.5 Stars, you can make sure that you'll not hear a track you do not like again, since it will be filtered out automatically after a skip.
-
- Posts: 14163
- Joined: Sat Oct 25, 2003 7:57 am
- Location: (Texas)
- Contact:
but you did this huge thing for every one, it is good to do but now i can change the options lots easier then hunting them in the code.Teknojnky wrote:I posted an updated version of tweakmonkey with a sheet for autoratesongs options.
I did not have time to make any changes to the autoratesongs script itself.
It should be relatively simple to add, simply check the mediamonkey ini for the variable and its value and set your variable in autoratesongs script.
screenshot
still will look in the code as i am old school. and like hands on way of learning. but i am going to use tweak monkey as i love tweaking things.
for my own way of doing them.
roving cowboy / keith hall. My skins http://www.mediamonkey.com/forum/viewto ... =9&t=16724 for some help check on Monkey's helpful messages at http://www.mediamonkey.com/forum/viewto ... 4008#44008 MY SYSTEMS.1.Jukebox WinXp pro sp 3 version 3.5 gigabyte mb. 281 GHz amd athlon x2 240 built by me.) 2.WinXP pro sp3, vers 2.5.5 and vers 3.5 backup storage, shuttle 32a mb,734 MHz amd athlon put together by me.) 3.Dell demension, winxp pro sp3, mm3.5 spare jukebox.) 4.WinXp pro sp3, vers 3.5, dad's computer bought from computer store. )5. Samsung Galaxy A51 5G Android ) 6. amd a8-5600 apu 3.60ghz mm version 4 windows 7 pro bought from computer store.
Here is a modified version of the 20. april 2006 autoratesongs script that includes support for reading the options stored by tweakmonkey.
I've believe it to function correctly, but of course I dis-avow any responsibility if it deletes your library or other nasty things!
Corrections welcome.
edit:
I inadvertently left the following line uncommented, I correct the above code, but if you already copied it then you will need to recopy it or simply comment out the following line.
I've believe it to function correctly, but of course I dis-avow any responsibility if it deletes your library or other nasty things!
Corrections welcome.
Code: Select all
' ScriptName: \Scripts\AutoRateSongs.vbs
' Author: DiddeLeeDoo
' Made updating screen work: Steegy!
' Made Radio Announcer work: Steegy!
' Works like magic! He's my HERO!! :)
' Data File issues: onkel_enno & Steegy
' Ideas & beta testing: Roving Cowboy
' Ideas & Start Rate: Teknojnky
' 20. April 2006
' 24. April 2006 modified by Teknojnky to include ini support
'
'
' EXPLAINING THE SYSTEM
'"""""""""""""""""""""""""""""""""""""""""""
' This system is based on how many times you tolerate
' to listen to the same song in a set amount of time.
'
' 1 play = 3 stars (you tolerate it)
' 2 plays = 3.5 stars (you like it)
' 3 plays = 4 stars (really nice)
' 4 plays = 4.5 stars (love it!)
' 5 plays or more = 5 stars (wow!)
'
' If you set time to 24 hours, and listen to the same
' song 4 times over a 24 hours period, the song
' will automatically get rated 4.5 Star
'
' If you want to try out longer periods, like
' 7, 30 or 90 days, you want to take a look at the
' advanced parameters below the area you set Time.
'
' Then there is rating reduction. The script allow you
' to set a 'Hot Zone' of a song, starting after X seconds
' and stops XX percent into the song.
' If you skip the song in the 'Hot Zone' the song receive
' half a star reduction in rating (you may dislike the song)
' Skipped and not previously rated songs get 2.5 Star
'----------------------------------------------------
' HOW TO INSTALL
' --------------------------------------------------
' |
' |1. Exit MediaMonkey, add section below to the file
' | \Scripts\scripts.ini
' |
' | [AutoRateSongs]
' | FileName=AutoRateSongs.vbs
' | ProcName=AutoRateLastSongPlayed
' | Language=VBScript
' | ScriptType=2
' |
' |2. Save this script as \Scripts\AutoRateSongs.vbs
' |
' |3. Check the PARAMETERS below, and set to what
' | you feel is right for you. "Set and Forget"
' | and enjoy the ratings being taken care of!
' |
' --------------------------------------------------
'----------------------------------------------------
Sub AutoRateLastSongPlayed
'
dim ini
set ini = SDB.IniFile
'########### START OF PARAMETERS ###########
'
'Skip monitor start and stop timing section
'"""""""""""""""""""""""""""""""""""""""""""
' Set your skip 'Hot Zone'
'
SampleSeconds = ini.StringValue("AutoRateSongs", "SampleSeconds")
If SampleSeconds = "" Then
SampleSeconds = "10" 'reads value, if nothign there then set false as default
End If
' SampleSeconds = 10 'in seconds
' When should the skip monitor start?
' Allow you to sample songs without consider
' the song as a skip. Set as you like.
StopMonitorPercent = ini.StringValue("AutoRateSongs", "StopMonitorPercent")
If StopMonitorPercent = "" Then
StopMonitorPercent = "75" 'reads value, if nothign there then set false as default
End If
' StopMonitorPercent = 75 'percent(%)
'When should the skip monitor stop?
' If skipped after XX percent, it will
' not be considered a skip.
'
'Upgrade rating based on playcount over time
'"""""""""""""""""""""""""""""""""""""""""""
' Set time period to check for repeated plays.
'
CheckBackUnits = ini.StringValue("AutoRateSongs", "CheckBackUnits")
If CheckBackUnits = "True" Then
CheckBackUnits = "'d'" 'reads value, if nothign there then set default
Else CheckBackUnits = "'h'"
End If
' CheckBackUnits = "'d'" ' h=Hours, d=Days
CheckBackAmount = ini.StringValue("AutoRateSongs", "CheckBackAmount")
If CheckBackAmount = "" Then
CheckBackAmount = 7 'reads value, if nothign there then set default
End If
' CheckBackAmount = 7 ' How many units?
'
'
'Advanced parameters
'"""""""""""""""""""""""""""""""""""""""""""
'
' When reached X plays in period set, upgrade.
PlaysRate_3_0_Stars = ini.StringValue("AutoRateSongs", "PlaysRate_3_0_Stars")
If PlaysRate_3_0_Stars = "" Then
PlaysRate_3_0_Stars = 1 'reads value, if nothign there then set default
End If
' PlaysRate_3_0_Stars = 1 'default = 1 over 1 day
PlaysRate_3_5_Stars = ini.StringValue("AutoRateSongs", "PlaysRate_3_5_Stars")
If PlaysRate_3_5_Stars = "" Then
PlaysRate_3_5_Stars = 2 'reads value, if nothign there then set default
End If
' PlaysRate_3_5_Stars = 2 'default = 2 over 1 day
PlaysRate_4_0_Stars = ini.StringValue("AutoRateSongs", "PlaysRate_4_0_Stars")
If PlaysRate_4_0_Stars = "" Then
PlaysRate_4_0_Stars = 3 'reads value, if nothign there then set default
End If
' PlaysRate_4_0_Stars = 3 'default = 3 over 1 day
PlaysRate_4_5_Stars = ini.StringValue("AutoRateSongs", "PlaysRate_4_5_Stars")
If PlaysRate_4_5_Stars = "" Then
PlaysRate_4_5_Stars = 3 'reads value, if nothign there then set default
End If
'PlaysRate_4_5_Stars = 4 'default = 4 over 1 day
'
'This becomes a factor when you want this script
'to check several days back.
'
'ExamplePeriod = 7 Days
'PlaysRate_3_0_Stars = 1 (up to 1 play over last 7 days, 3.0 stars)
'PlaysRate_3_5_Stars = 2 (up to 2 plays over last 7 days, 3.5 stars)
'PlaysRate_4_0_Stars = 3 (up to 3 plays over last 7 days, 4.0 stars)
'PlaysRate_4_5_Stars = 5 (up to 5 plays over last 7 days, 4.5 stars)
' anything over 6 plays over last 7 days, 5.0 Stars.
'
' All this is individual. Just try to do what you think is right
' You can always come back here and fine tune it.
' This script is limited to how long you've had your MM Database.
'
'
'Take note of when the song get played
'"""""""""""""""""""""""""""""""""""""""""""
'
MakeNote = ini.StringValue("AutoRateSongs", "MakeNote")
If MakeNote = "True" Then
MakeNote = True
Else MakeNote = False
End If
' MakeNote = False
'
'Change this to True if you want a note about
'when a song received a playcount rate upgrade.
'The Custom2 field receive a note formatted like
'"WeekDay TimeOfDay Season"
'(time of day = morning, dinner, evening etc.)
'Can be used later to find popular songs
'in these time segments.
' If you live in the Southern Hemisphere please
' go to the end of the script and change
' NorthernHemisphere to False
'
' Announce who's playing next
'"""""""""""""""""""""""""""""""""""""""""""
'
Announce = ini.StringValue("AutoRateSongs", "Announce")
If Announce = "True" Then
Announce = True
Else Announce = False
End If
' Announce = False
'
' Again MAGIC from the WiZZ Steegy!
' Set announce to True if you want your personal
' radio announcer. Text To Speech. (SAPI5
' is needed). Comes default with WinXP.
' If you already have nice voices from places like
' http://www.cepstral.com/ this is a nice option.
' Default Microsoft Sam is a bit so so.
'
'########### END OF PARAMETERS ###########
'
'
' Parameter corrections and shortenings
If StopMonitorPercent > 95 Then StopMonitorPercent = 95
D_H = CheckBackUnits
CB_A = CheckBackAmount
'---------------------------------------------------
' DATA FILE STUFF
'---------------------------------------------------
'Thank you onkel_enno & Steegy!
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
DataFileLocation = SDB.ApplicationPath & "Scripts\AutoRateSongs.dat"
If Not fso.FileExists(DataFileLocation) Then
Call WriteCurrentSongData
Exit Sub
Else 'data exist, read it
Dim DataFile
Set DataFile = fso.OpenTextFile(DataFileLocation, 1)
arSong = DataFile.ReadLine
arSongID = Left(arSong,InStr(arSong,"@")-1)
arSong = Mid(arSong,InStr(arSong,"@")+1)
arSongPlayStart = Left(arSong,InStr(arSong,"@")-1)
arSong = Mid(arSong,InStr(arSong,"@")+1)
arSongSeconds = Left(arSong,InStr(arSong,"@")-1)
arSong = Mid(arSong,InStr(arSong,"@")+1)
arSongRating = Mid(arSong,1)
End If
'---------------------------------------------------
' SAMPLING SONGS?
'---------------------------------------------------
If DateDiff("s",Now,arSongPlayStart) >=-(SampleSeconds+1) Then
DataFile.close 'put here to save a millisecond
Call WriteCurrentSongData
Exit Sub
End If
DataFile.close 'put here to close after sampling check
'---------------------------------------------------
' WRITE A NEW DATA FILE NOW
'---------------------------------------------------
Call WriteCurrentSongData
'---------------------------------------------------
' HOW MUCH OF THE SONG ACTUALLY GOT PLAYED?
'---------------------------------------------------
' Find how much of the song actually played
arSongPercentPlayed = 100-Int(DateDiff("s",Now,DateAdd("s",_
+ arSongSeconds,arSongPlayStart))/arSongSeconds*100)
' Before checking skips and played check, prepare for doing
' modification to rating based on Songs.ID read from datafile
dbSongID = "AND Songs.ID=" & arSongID
Dim dbTable
Set dbTable = SDB.Database.QuerySongs(dbSongID)
Dim dbSong
Set dbSong = dbTable.Item
If (StopMonitorPercent - arSongPercentPlayed) >= 0 Then
'---------------------------------------------------
' SONG SKIPPED, DEGRADE OR NOT?
'---------------------------------------------------
If Int(arSongRating) < 0 Then
' Skipped and unrated = 2.5 Star
If Not dbTable.EOF Then
dbSong.Rating = 50
dbSong.UpdateDB
End If
ElseIf Int(arSongRating) >= 10 Then
' Previously rated, reduce 0.5 Star
If Not dbTable.EOF Then
dbSong.Rating = Int(arSongRating)-10
dbSong.UpdateDB
End If
End If
Else
'---------------------------------------------------
' SONG DID PLAY, DO PLAYCOUNT RATING UPGRADE?
'---------------------------------------------------
StrQuery = "SELECT Count(Played.IdSong) AS arNoP "_
+ "FROM Played "_
+ "WHERE (((DateDiff(" & D_H & ",Now(),[Played].[Playdate])>=-" & CB_A & ")=True)) "_
+ "GROUP BY Played.IdSong "_
+ "HAVING Count(Played.IdSong) >0 AND Played.IdSong=" & arSongID
Dim dbCustomTable
Set dbCustomTable = SDB.Database.OpenSQL(StrQuery)
If Not dbCustomTable.EOF Then
dbPlayCount = Int(dbCustomTable.StringByName("arNoP"))
' PlayCountRating based on # of plays
If dbPlayCount <= PlaysRate_3_0_Stars Then
PlayCountRating = 60
ElseIf dbPlayCount <= PlaysRate_3_5_Stars Then
PlayCountRating = 70
ElseIf dbPlayCount <= PlaysRate_4_0_Stars Then
PlayCountRating = 80
ElseIf dbPlayCount <= PlaysRate_4_5_Stars Then
PlayCountRating = 90
Else
PlayCountRating = 100
End If
' Compare CurrentRating with PlayCountRating and upgrade
' only if PlayCountRating is larger than CurrentRating
If Int(PlayCountRating) > Int(arSongRating) Then
If Not dbTable.EOF Then
dbSong.Rating = Int(PlayCountRating)
If MakeNote Then dbSong.Custom2 = wDay & " " & TimeOfDay & " " & Season
dbSong.UpdateDB
End If
End If
End If
End If
'---------------------------------------------------
' RADIO ANNOUNCER
'---------------------------------------------------
If Announce Then
Dim Itm
Set Itm = SDB.Player.CurrentSong
SayThis = Itm.ArtistName & ". " & Itm.Title
ttsSpeak SayThis, 0, False
End If
End Sub
'---------------------------------------------------
' ALL DONE
'---------------------------------------------------
Sub WriteCurrentSongData
'
' Get data from the song currently playing
Dim Itm
Set Itm = SDB.Player.CurrentSong
' Prepare for doing File Stuff
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
' Location of file
DataFileLocation = SDB.ApplicationPath & "Scripts\AutoRateSongs.dat"
' Create the datafile
Dim DataFile
Set DataFile = fso.CreateTextFile(DataFileLocation, True)
' Write current song data to the datafile and close the file
DataFile.WriteLine Itm.ID & "@" & Now & "@" & Int(Itm.SongLength/1000)& "@" & Itm.Rating
DataFile.close
End Sub
Function Season()
'
'############## HEMISPHERE #################
'
dim ini
set ini = SDB.IniFile
NorthernHemisphere = ini.StringValue("AutoRateSongs", "NorthernHemisphere")
If NorthernHemisphere = "True" Then
NorthernHemisphere = True
Else NorthernHemisphere = False
End If
' NorthernHemisphere = True
'
'If Northern set this to True
'If Southern set this to False
'################## END ####################
'
wwNow = Int(DatePart("ww",Now))
If wwNow < 12 Then
If NorthernHemisphere Then Season = "Winter" else Season = "Summer"
ElseIf wwNow < 25 Then
If NorthernHemisphere then Season = "Spring" else Season = "Autumn"
ElseIf wwNow < 38 Then
If NorthernHemisphere then Season = "Summer" else Season = "Winter"
ElseIf wwNow < 51 Then
If NorthernHemisphere then Season = "Autumn" else Season = "Spring"
Else 'for those two weeks at the end of the year
If NorthernHemisphere then Season = "Winter" else Season = "Summer"
End If
End Function
Function TimeOfDay()
tNow = DatePart("h",Now)
If tNow < 6 Then
TimeOfDay = "night"
ElseIf tNow < 9 Then
TimeOfDay = "morning"
ElseIf tNow < 17 Then
TimeOfDay = "daytime"
ElseIf tNow < 19 Then
TimeOfDay = "dinner"
ElseIf tNow < 24 Then
TimeOfDay = "evening"
End If
End Function
Function wDay()
wDay = WeekdayName(Weekday(Now))
End Function
'Here's an other Gem from Master Steegy.
'I just love this watch fine coding like this!!
Function ttsSpeak(Text, VoiceNumber, Asynchronous)
Dim tts, speechFlag
On Error Resume Next
Set tts = Nothing
Set tts = CreateObject("Sapi.SpVoice")
If Not tts Is Nothing Then
If (VoiceNumber - 1) < tts.GetVoices.Count Then
Err.Clear
If VoiceNumber <> 0 Then Set tts.Voice = tts.GetVoices.Item(VoiceNumber - 1)
If Err.Number = 0 Then
If Asynchronous Then
speechFlag = 1
Else
speechFlag = 0
End If
tts.Speak Text, speechFlag
End If
End If
End If
End Function
I inadvertently left the following line uncommented, I correct the above code, but if you already copied it then you will need to recopy it or simply comment out the following line.
Code: Select all
'PlaysRate_4_5_Stars = 4 'default = 4 over 1 day
New script: Last.FM Node Now with DJ Mode!
Last.fm + MediaMonkey = Scrobbler DJ!
Tag with MusicBrainz ~ Get Album Art!
Tweak the Monkey! ~ My Scripts Page
Last.fm + MediaMonkey = Scrobbler DJ!
Tag with MusicBrainz ~ Get Album Art!
Tweak the Monkey! ~ My Scripts Page
-
- Posts: 1017
- Joined: Wed Mar 01, 2006 1:09 am
- Location: In a jungle down under
- Contact:
This may be a good example on how scripting works. You see something that can be improved, and you improve by doing scripting.
Currently there are two versions available:
Original:
http://www.mediamonkey.com/forum/viewto ... &start=113
Tweaked:
Above, using Teknojnky's TweakMonkey script, that allow setting options in a sub-sheet in TweakMonkey.
I've learned how to do Option Sheets by reading Teknojnky's script, and I will include that in the next version of AutoRateSongs.vbs.
In some way I'll find a way to give a choice. Something like
'Use TweakMonkey sub-sheet' or
'Use Stand-Alone Option Sheet'
Will see how things turn out. Ohhh to have choices!!
Currently there are two versions available:
Original:
http://www.mediamonkey.com/forum/viewto ... &start=113
Tweaked:
Above, using Teknojnky's TweakMonkey script, that allow setting options in a sub-sheet in TweakMonkey.
I've learned how to do Option Sheets by reading Teknojnky's script, and I will include that in the next version of AutoRateSongs.vbs.
In some way I'll find a way to give a choice. Something like
'Use TweakMonkey sub-sheet' or
'Use Stand-Alone Option Sheet'
Will see how things turn out. Ohhh to have choices!!
Your welcome to use the code from tweakmonkey to make your own option sheet if you desire.
I have no wish to add complexity by having multiple versions. If you make your own option sheet, I will remove it from tweakmonkey to prevent any conflicts/confusion.
I have no wish to add complexity by having multiple versions. If you make your own option sheet, I will remove it from tweakmonkey to prevent any conflicts/confusion.
New script: Last.FM Node Now with DJ Mode!
Last.fm + MediaMonkey = Scrobbler DJ!
Tag with MusicBrainz ~ Get Album Art!
Tweak the Monkey! ~ My Scripts Page
Last.fm + MediaMonkey = Scrobbler DJ!
Tag with MusicBrainz ~ Get Album Art!
Tweak the Monkey! ~ My Scripts Page
-
- Posts: 1017
- Joined: Wed Mar 01, 2006 1:09 am
- Location: In a jungle down under
- Contact:
I very much appreciate that you allow me to use your script as a base to work on. It is very helpful to me, and save me a lot of searching and reading.
The core of Auto Rating feature some prinsipals that I'd like to make clear in the Option Sheet, and I need some time to reflect the findings in the Option Sheet to make it easy for me and others to understand.
The core of Auto Rating feature some prinsipals that I'd like to make clear in the Option Sheet, and I need some time to reflect the findings in the Option Sheet to make it easy for me and others to understand.
With this script, if I set it up to have a period of, say, 30 days...
If I play a song 6 times in one month it'll get set to rating 5.
If I then don't play it again for 30 days, then play it once, does this mean that the rating will be reset to 3, or will it keep the 5 rating?
edited to ask
If it doesn't do that later (keep the 5), what do I change to make it behave that way - so that it always keeping the highest rating it's ever had unless skipped?
If I play a song 6 times in one month it'll get set to rating 5.
If I then don't play it again for 30 days, then play it once, does this mean that the rating will be reset to 3, or will it keep the 5 rating?
edited to ask
If it doesn't do that later (keep the 5), what do I change to make it behave that way - so that it always keeping the highest rating it's ever had unless skipped?
-
- Posts: 1017
- Joined: Wed Mar 01, 2006 1:09 am
- Location: In a jungle down under
- Contact:
If you set the Period of Time and Plays to a level where that particalar song receive 5 Stars, it will never be rated again, unless you start skipping it.
Some pop songs are like that, you love them for a month or two, but then you've had enough of the song already, and only skipping will degrade it to a more normal level. (or manual rating at anytime)
Keep in mind this is meant for a way to make 'Auto DJ's learn what you like and not. Especially handy if you do not have focus on MM, and sit back in the lounge with a remote control.
If you happen to manually have rated an album 4 Stars, this script will not touch these ratings at all, if you just play songs once in awhile.
However if a song on this album start receiving skips, your manually rated 4 Star song starts to degrade in rating.
And again, if you play one of the 4 Star songs a lot, it may get a 'playcount' upgrade to 4.5 Star or 5 Star.
Playcount rating = only upgrade if playcount rating is higher than current rating.
If you happen to have a day where you do not want the skip monitor to operate, you can set the StopMonitorPercent = 0 That disable the Skip Degrading, and will become an option in the Option Sheet in the works at the moment
Some pop songs are like that, you love them for a month or two, but then you've had enough of the song already, and only skipping will degrade it to a more normal level. (or manual rating at anytime)
Keep in mind this is meant for a way to make 'Auto DJ's learn what you like and not. Especially handy if you do not have focus on MM, and sit back in the lounge with a remote control.
If you happen to manually have rated an album 4 Stars, this script will not touch these ratings at all, if you just play songs once in awhile.
However if a song on this album start receiving skips, your manually rated 4 Star song starts to degrade in rating.
And again, if you play one of the 4 Star songs a lot, it may get a 'playcount' upgrade to 4.5 Star or 5 Star.
Playcount rating = only upgrade if playcount rating is higher than current rating.
If you happen to have a day where you do not want the skip monitor to operate, you can set the StopMonitorPercent = 0 That disable the Skip Degrading, and will become an option in the Option Sheet in the works at the moment