Zufallswiedergabe nach Bewertung richten

Wenn Sie Hilfe benötigen oder über MediaMonkey diskutieren möchten...

Moderators: onkel_enno, Maximus

Zufallswiedergabe nach Bewertung richten

Postby JDSnake » Fri Apr 18, 2008 10:58 am

Hallo, liebe Forumsmitglieder!

Ist es möglich, bei Mediamonkey die Shuffle-Funktion so einzustellen, dass z.B. Lieder mit 5 Sternen automatisch häufiger gespielt werden, als Lieder mit 4 Sternen und dieser wieder häufiger als Lieder mit 3 Sternen usw.? Ich hab nämlich bislang leider nichts dergleichen finden können...

Danke schonmal im Voraus!

JDSnake
JDSnake
 
Posts: 1
Joined: Fri Apr 18, 2008 10:53 am

Re: Zufallswiedergabe nach Bewertung richten

Postby Fuuu » Fri Apr 17, 2015 11:02 am

Hallo zusammen,

interessant, dass jemand genau diesen Gedanken vor 7 Jahren auch schon hatte. Ich schließe mich der Frage an: kann man die Wiedergabewahrscheinlichkeit eines Stückes im Shuffle Mode nach der Bewertung gewichten?

Vielen Dank für die tolle Software, und noch viel mehr Dank für eine Antwort!
Grüße
Fuuu
Fuuu
 

Re: Zufallswiedergabe nach Bewertung richten

Postby MMuser2011 » Fri Apr 17, 2015 11:54 am

Was genau meinst Du damit?
Sollen zuerst nur Stücke mit 5 Sternen "zufällig" abgespielt werden, dann die mit 4 Sternen, dann die mit 3 Sternen etc?

Oder wie soll MM die "Wiedergabewahrscheinlichkeit eines Stückes im Shuffle Mode nach der Bewertung gewichten"?
Magic Nodes v4.2 (2011-07-01) SQL Viewer v2.4 (2009-10-25)
ExternalTools v1.4 (2011-05-09) iTunesMonkey 1.0 + Acoustid
Calculate Cover Size v1.7 (2012-10-23) RegExp Find & Replace v4.3 (2011-07-06)
MMuser2011
 
Posts: 1195
Joined: Mon Oct 17, 2011 8:28 am
Location: Central Europe

Re: Zufallswiedergabe nach Bewertung richten

Postby Grrdi » Sun Jan 24, 2016 6:25 am

Notbehelf:
Erzeuge eine Playliste deren Einträge bei guten Bewertungen mehrfach vorkommen.
(z.B. alle 2 Sterne Einträge gehen doppelt ins Rennen ... alle 5 Sterne Einträge gehen fünffach ins Rennen)
Diese Playlist kann dann in zufälliger Reihenfolge ...
Grrdi
 

Re: Zufallswiedergabe nach Bewertung richten

Postby Grrdi » Mon Feb 15, 2016 5:46 am

Erzeuge eine Playliste deren Einträge bei guten Bewertungen mehrfach vorkommen

Anbei ein AutoHotKey-Skript welches eine solche Playliste aus den in MediaMonkey selektierten Songs erzeugt:
(zusätzlich kann es optional noch MP3-Player mit der Auswahl der Songs bestücken, unter Beibehaltung der original Ordnerstruktur.) PS. AutoHotKey muss dazu nicht installiert werden, wenn man sich eine aktuelle AutoHotKey.exe besorgt http://ahkscript.org und diese umbenennt, sodass sie gleichnamig ist wie das Skript. Nun kann man die Exe ohne Installation starten.
Code: Select all
MM := ComObjCreate("SongsDB.SDBApplication")
Clipboard:="Genre:yZb Genre:-Doppelt Genre:-Spoken Genre:-Medley Genre:-NotShuffle"
MsgBox Im Clipboard ist ein Vorschlag fuer das MediaMonkey Suchfeld!
InputBox,AbRating,Bewertung,Ab welcher Bewertung `n0 - 9      (wobei 2 einem * entpricht) `nsoll in die Playlist uebernommen werden?,,,,,,,,1
if ErrorLevel
   ExitApp
if AbRating is not Integer
{
   MsgBox 0 bis 9 erwartet`nSkriptende
   ExitApp
}
Markiert:=MM.CurrentSongList.count
if (Markiert=0)
   MsgBox Bitte die Songs in MediaMonkey selektieren.
else
   MsgBox, 262180, Songliste, ist die gewuenschte Songliste (%Markiert% Songs) in MediaMonkey selektiert?
IfMsgBox,No
   ExitApp
MsgBox, 262436, Song-Kopien, sollen die selektierten Songs auch kopiert werden? ...
IfMsgBox,Yes
{
   SongsKopieren:=true
   InputBox,ZielpathDir,Zielpfad,wohin soll kopiert werden?,,,,,,,,C:\temp\SongKopieAb%AbRating%
   IfNotExist,%ZielpathDir%
   {
      FileCreateDir,%ZielpathDir%
      IfNotExist,%ZielpathDir%
      {
         MsgBox, 262160, Zielpfad, Der Zielpfad %ZielpathDir% konnte nicht erstellt werden!`n`nSkriptende
         ExitApp
      }
   }
}
else
   SongsKopieren:=false
BasisQuellDirBekannt:=false
ErstAnzeige:=true
Markiert:=MM.CurrentSongList.count
Loop % Markiert
{
   i:=A_Index-1
   ; if(SubStr(i,-1)="00")
   if SongsKopieren
   {
      QuellPath:=MM.CurrentSongList.Item(i).Path
      if not BasisQuellDirBekannt
      {
         if (BasisQuellDir="")
         {
            QuellPathLast:=MM.CurrentSongList.Item(Markiert-1).Path
            Loop % StrLen(QuellPath)
            {
               if(SubStr(QuellPath,A_Index,1)<>SubStr(QuellPathLast,A_Index,1))
               {
                  DiffPos:=A_Index
                  break
               }
            }
            BasisQuellDirVorgekuerzt:=substr(QuellPath,1,DiffPos-2)
            SplitPath,BasisQuellDirVorgekuerzt,,BasisQuellDirVorgekuerztVater
            Clipboard:=BasisQuellDirVorgekuerztVater
            FileSelectFolder,BasisQuellDir,*%BasisQuellDirVorgekuerzt%,3,Basis-Ordner`nzur Erzeugung der relativen Playlist. Vorschlag:    %BasisQuellDirVorgekuerzt%`nAchtung: pruefen ob Ordner drueber       %BasisQuellDirVorgekuerztVater%      (Clipboard)
            ; InputBox,BasisQuellDir,BasisQuellDir,von rechts loeschen?,,,,,,,,%BasisQuellDirVorgekuerzt%
            IfNotExist,%BasisQuellDir%
            {
               MsgBox, 262160, BasisQuellDir, BasisQuellDir %BasisQuellDir% existiert nicht!`n`nSkriptende
               ExitApp
            }
            else
               BasisQuellDirBekannt:=true
         }
      }
      RelPath:=SubStr(QuellPath,StrLen(BasisQuellDir)+2)
      ZielPath=%ZielpathDir%\%RelPath%
      SplitPath,ZielPath,,ZielDir
      IfNotExist %ZielDir%
      {
         FileCreateDir %ZielDir%
         IfNotExist %ZielDir%
            MsgBox, 262192, Fehler, %ZielDir% konnte nicht erzeugt werden.
      }
      if ErstAnzeige
      {
         ; MsgBox %QuellPath%`n%ZielPath%
         MsgBox, 262145, Zur Kontrolle, %QuellPath%`n`n%ZielPath%
         IfMsgBox,Cancel
            ExitApp
      }
      if(not instr(QuellPath,BasisQuellDir))
      {
         MsgBox  Der Basisordner %BasisQuellDir% ist nicht in %QuellPath% enthalten. Vorschlag: einen Ordner naeher der Wurzel verwenden.`nSkriptende
         ExitApp
      }
      FileCopy,%QuellPath%,%ZielPath%
      IfNotExist,%ZielPath%
         MsgBox, 262192, Fehler, %ZielPath% konnte nicht erzeugt werden.
      else
         ErstAnzeige:=false
   }
   if(SubStr(A_Index,-3,1)-SubStr(A_Index,-2,1) = SubStr(A_Index,-1,1)-SubStr(A_Index,-0,1))
      ToolTip % i " von " Markiert
   Faktor:=MM.CurrentSongList.Item(i).Rating/10 +1 -AbRating
   if (Faktor>0 and not InStr(MM.CurrentSongList.Item(i).Genre,"Doppelt"))
   {
      Loop % Faktor
      {
         if SongsKopieren
            Ges .=  ".\" RelPath "`r`n"
         else
            Ges .=  MM.CurrentSongList.Item(i).Path "`r`n"
      }
   }
}
StringTrimRight,Ges,Ges,2
if SongsKopieren
   AusgabePath:= ZielpathDir  "\MmSelBewertetSongListAb" AbRating "_" A_Now ".m3u"
else
   AusgabePath:=A_Temp "\MmSelBewertetSongListAb" AbRating "_" A_Now ".m3u"
FileAppend,%Ges%,%AusgabePath%
Run, Notepad.exe %AusgabePath%
; MsgBox % Ges
if SongsKopieren
   run %ZielpathDir%
MM:=""
ExitApp
Grrdi
 


Return to Deutsches Forum

Who is online

Users browsing this forum: No registered users and 6 guests