Jump to content

Command.vbs und random abfrage


Flowy

Recommended Posts

Würde gern Random bei Musiktiteln und normales abspielen bei Videos realisieren.

Dazu bedien ich mir der Command.vbs. Bis jetzt kann ich schonmal unterscheiden ob Musik oder eine Video Datei abgespielt wird.

doch ich weiss nicht wie ich abfragen kann, ob RANDOM gesetzt ist oder nicht, weil dann würd ich einfach das richtige SendCommand hinterher schicken

 

 

Bisheriger Code:

 

	'wenn musikdatei in der Playliste abgespielt wird
if isMediaplayback Then
	Set Playlist = PlayListManager.GetPlayList(PlayListManager.CurrentPlaylist)
	if not (Utils.Tagreader.Readtag(Playlist.Item(PlayListManager.CurrentTitle).filename) is nothing) then
		osd.showInfoinTVpic "Musik wird abgespielt?`??" & ActionID,1000
	end if
end if

 

Nun kann ich schonmal unterscheiden ob Musik oder Video abgespielt wird, aber wie kann ich nun abfragen ob Random gesetzt wurde oder nicht?

 

Danke

Link to comment

Wenn du mit Random die Playlist meinst dann sollte das helfen:

PlaylistManager.isPlaying

bedeutet die Playlist wird abgespielt.

 

Wenn nicht, dann bitte genauere Erläuterung.

Link to comment

Ja richtig.

Nur wenn die Playliste abgespielt wird kann ich das Objekt PlayListManager benutzt werden, ansonsten kommt es zu einer Fehlermeldung

Deswegen muss ich erst abfragen ob eine Playliste abgespielt wird, bevor ich die anderen Sachen benütze

 

Bei mir gehts um die Unterscheidung beim Abspielen einer Playliste, ob diese gerade Videos- oder Musikdateien abspielt

um die Random ein- bzw auszuschalten

Edited by Flowy
Link to comment

Kannst du mal den Code posten, hatte damit eigentlich keine Probleme bisher.

In meinem Beispiel wird das Script beendet wenn die Playlist nicht abgespielt wird.

 

Und gleich mal zum Verständnis, du willst nur unterscheiden ob "Nur Audio" und wenn "Ja" dann ob "Playlistwiedergabe" läuft, richtig?

Link to comment

sub main(ActionID)
Set WshShell = CreateObject("WScript.Shell")
WshShell.AppActivate("DVBViewer")

'wenn musikdatei in der Playliste abgespielt wird
if isMediaplayback Then
	Set Playlist = PlayListManager.GetPlayList(PlayListManager.CurrentPlaylist)
	if not (Utils.Tagreader.Readtag(Playlist.Item(PlayListManager.CurrentTitle).filename) is nothing) then
		'Random aktivieren
			else
					'Random dekativieren
	end if
end if
	Select Case ActionID 
	 'fav +
	Case 50320
	if isMediaplayback Then
		'Nächster Eintrag in der Playliste
		SendCommand(66)
		if windowmanager.activeWindowID = 2901 Then
			'nothing
		else
			'show osd-infos
			SendCommand(73)
		end if
	else
		'fav+
		SendCommand(21)
	end if
	End Select
end sub

 

Ich habe den fav+ befehl umgeschrieben, damit ich den nächsten playlisteneintrag abspielen kann. Jetz möchte ich aber bei Filmwiedergabe kein Random drinnen haben und bei Musikwiedergabe aber schon.

Die Unterscheidung funktioniert auch schon, nur ich müsste jetzt halt Random ein und ausschalten können und ich weiss nicht wie

Edited by Flowy
Link to comment

Aus und Einschalten kannst du das doch über das Command(70).

Das größere Problem dürfte sein zu ermitteln ob es eingeschaltet ist oder nicht.

Ich hatte das mal mit der Funktion "Video Anzeigebereich bei nur Audiowiedergabe schließen" über die Setup.xml probiert, was auch ging, aber ich glaube sie wurde erst beim nächsten Viewer Start aktualisiert.

Link to comment

Jap das ist das Problem

 

d.h. man kann den Wert nicht zwischen speichern? Bin mit vbs leider nicht so vertraut

Hättest du vll noch nen Code-Ausschnitt, wie Du das gemacht hast?

 

Schonmal Danke für deine Hilfe

Link to comment

Tut mir leid, habe alles durchsucht, aber nach dem das nicht ging wurde das Script wohl entsorgt.

Hier der entsprechende Problemthread!

Dort hast du ein Beispiel mit SetSetupValue "General", "Radiomode", "1" enthalten und kannst dir das fürs lesen umbauen.

 

Das Lesen beim Start des DVBViewer's aus der XML sollte gehen und danach kannst du dir eine Variable im Datamanager speichern, die sich merkt ob du Random änderst oder nicht.

Das Kartenhaus fällt aber spätestens zusammen wenn du die Random Einstellung mit der Maus änderst, dann kriegt deine Variable nichts davon mit. :(

 

Über die Doku habe ich jedenfalls keine Möglichkeit gefunden direkt abzufragen ob Random aktiv ist oder nicht.

Nur über das Plugin SDK gibt es wohl Zugriff auf die Menü Routine. (Mausüberwachung)

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...