Zufallswiedergabe nach Bewertung richten

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

Moderator: onkel_enno

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

Zufallswiedergabe nach Bewertung richten

Post by JDSnake »

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
Fuuu

Re: Zufallswiedergabe nach Bewertung richten

Post by Fuuu »

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
MMuser2011
Posts: 1308
Joined: Mon Oct 17, 2011 8:28 am
Location: Central Europe

Re: Zufallswiedergabe nach Bewertung richten

Post by MMuser2011 »

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.3.3 (2018-10-03) last free version 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.4.9 (2018-10-03) last free version
Grrdi

Re: Zufallswiedergabe nach Bewertung richten

Post by Grrdi »

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

Post by Grrdi »

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
Post Reply