Auto Rating of Songs & Radio Announcer v5.02 [Script]

Download and get help for different MediaMonkey Addons.

Moderators: Peke, Gurus

Teknojnky
Posts: 5537
Joined: Tue Sep 06, 2005 11:01 pm
Contact:

Post by Teknojnky »

Is there a way to set the TTS voice VOLUME?
rovingcowboy
Posts: 14163
Joined: Sat Oct 25, 2003 7:57 am
Location: (Texas)
Contact:

Post by rovingcowboy »

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.
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.
Teknojnky
Posts: 5537
Joined: Tue Sep 06, 2005 11:01 pm
Contact:

Post by Teknojnky »

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.
Steegy
Posts: 3452
Joined: Sat Nov 05, 2005 7:17 pm

Post by Steegy »

Is there a way to set the TTS voice VOLUME?
Yes, use the "Volume" property (of type "long") on the "tts" object.

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).
Teknojnky
Posts: 5537
Joined: Tue Sep 06, 2005 11:01 pm
Contact:

Post by Teknojnky »

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
Image
DiddeLeeDoo
Posts: 1017
Joined: Wed Mar 01, 2006 1:09 am
Location: In a jungle down under
Contact:

Post by DiddeLeeDoo »

@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.
Image
DiddeLeeDoo
Posts: 1017
Joined: Wed Mar 01, 2006 1:09 am
Location: In a jungle down under
Contact:

Post by DiddeLeeDoo »

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.
Image
rovingcowboy
Posts: 14163
Joined: Sat Oct 25, 2003 7:57 am
Location: (Texas)
Contact:

Post by rovingcowboy »

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
Image
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.

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.

8) :lol:
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.
Teknojnky
Posts: 5537
Joined: Tue Sep 06, 2005 11:01 pm
Contact:

Post by Teknojnky »

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.

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
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.

Code: Select all

'PlaysRate_4_5_Stars = 4 'default = 4 over 1 day 
DiddeLeeDoo
Posts: 1017
Joined: Wed Mar 01, 2006 1:09 am
Location: In a jungle down under
Contact:

Post by DiddeLeeDoo »

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!! :D
Image
Teknojnky
Posts: 5537
Joined: Tue Sep 06, 2005 11:01 pm
Contact:

Post by Teknojnky »

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.
DiddeLeeDoo
Posts: 1017
Joined: Wed Mar 01, 2006 1:09 am
Location: In a jungle down under
Contact:

Post by DiddeLeeDoo »

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.
Image
MeMeMe
Posts: 263
Joined: Fri Dec 23, 2005 11:42 am
Location: In front of my computer

Post by MeMeMe »

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?
DiddeLeeDoo
Posts: 1017
Joined: Wed Mar 01, 2006 1:09 am
Location: In a jungle down under
Contact:

Post by DiddeLeeDoo »

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
Image
MeMeMe
Posts: 263
Joined: Fri Dec 23, 2005 11:42 am
Location: In front of my computer

Post by MeMeMe »

That sounds good, thanks.
Post Reply