Beiträge von M1ghtyWolf

    Danke für deinen Tipp hab mal mit einer anderen verglichen.
    Und habs gefunden :S

    Liegt an dem Inhalt der Addon.xml

    einmal den Tag falsch geschlossen:

    Code
    <description lang="de">Verringert die Lautstärke auf eine festgelegte Lautstärke und erhöht sie wieder auf die ursprüngliche Lautstärke /description>

    Muss

    Code
    </description>

    sein.


    Und da ich XBMC 13.1 benutze.
    Muss

    Code
    <import addon="xbmc.python" version="2.1.0"/>


    durch

    Code
    <import addon="xbmc.python" version="2.14.0"/>

    ersetzt werden.

    Darauf ein bestehendes anzuschaun hätte ich auch selber kommen können.

    Habe angefangen mein eigenes Addon zu schreiben, hab das nach dieser Anleitung gemacht > Klick und die Addon.xml hier nach > Klick.

    Die addon.py enthält zwar Code aber keinen funktionierenden, doch das Addon sollte sich doch trotzdem schon installieren lassen oder?

    Wenn ich es direkt in ...\AppData\Roaming\XBMC\addons schiebe taucht es nicht in der Liste auf und wenn ich es als .zip installieren möchte bekomme ich folgende Fehlermeldung: Addon verfügt nicht über die erforderliche Struktur.

    Woran liegt das? Und wie kann ich das beheben?

    Hier kann man es runterladen >Klick
    Wäre super wenn mir jemand helfen könnte, beim Code brauch ich auch noch Hilfe > Klick

    Hab jetzt mal ein wenig weitergelesen in meinem Einsteiger Python Buch.

    Und Code würde denk ich wie folgt aussehen:

    Würde der Code zu funktionieren?
    Aber wie bekomme ich nun die richtigen Werte von XBMC? Wie frage ich die Lautstärke ab?
    Und funktioniert das mit VolumenUp/Down?
    Und wie frage ich die #Taste ab?

    Also ich hab da ein anliegen.

    Ich wünsche mir folgendes Verhalten:
    Wiedergabe von Musik oder Film>Mute Taste wird gedrückt>Lautstärke senkt sich langsam auf voreingestellte Lautstärke z.B. 20%>Mute taste wird erneut betätigt> Lautstärke erhöht sich wieder langsam auf Ursprungs Lautstärke.


    Sprich eine Softmute Funktion.


    Lässt sich das mit einem Script/Addon realisieren?


    Würde z.B. die # Taste der Tastatur verwenden.

    Code
    <[definition='3','0']keymap[/definition]><global><keyboard><key id="61475">SetVolume(20percent)</key></keyboard></global></[definition='3','0']keymap[/definition]>


    Hab ich momentan, aber wie Frage ich die Taste in Python ab?

    Dann müsste die "Ist-Lautstärke" in eine Variable geschrieben werden.
    Und dann wird solange und in einer gewissen Zeit der VolumeDown-Befehl bis die gewünschte "Mute Lautstärke" erreicht ist betätigt werden.


    Nach erneutem betätigen der #-Taste müsste der VolumeUp-Befehl wieder solange betätigt werden bis das vorherige "Ist-Volumen" aus der Variable erreicht ist.


    Aber wie setze ich das um?
    Bin absoluter XBMC und Python Anfänger.


    Am liebsten wäre mir keine fertige Lösung sondern Denkanstöße so das ich selbst aufs Ergebnis komme und dabei was lerne ^^ .


    Vielen Dank für eure Mithilfe.

    Ich weiß nicht ob der Begriff Softmute dir was sagt oder ob es das ist was ich meine :D .

    Beispiel ist z.B. bei einer Navi Ansage im Auto.

    Navi gibt Signal das Radio verringert die Lautstärke und der Navi Sound wird wiedergegeben und danach erhöht sich die Lautstärke der Musik wieder auf das vorherige Niveau.

    Nur das ich einen Tastendruck benutzen möchte und keine Naviansage kommt :D .

    Zitat

    Und noch eine weitere Frage, aber ich weiß nicht ob das noch zum Skin gehört oder doch schon ein Addon oder Skript benötigt. Ich wünsche mir folgendes Verhalten: Wiedergabe von Musik oder Film>Mute Taste wird gedrückt>Lautstärke senkt sich langsam auf voreingestellte Lautstärke z.B. 20%>Mute taste wird erneut betätigt> Lautstärke erhöht sich wieder langsam auf Ursprungs Lautstärke.

    Nochmal hochholen, das es wohl bei der Menge an Text im ersten Post untergegangen ist. ;)

    Das hat geklappt einfach Copy und Paste ^^ .


    In die DialogMuteBug.xml und schon funktionierts :love: .

    Das andere fällt das unter Skinning oder wird das schon ein Addon?

    Versteht ich nicht ganz .... achso doch, dann müsste da noch ein control.hasfocus untergebracht werden.
    soll ich dir das mal basteln?


    Danke, aber brauchst du nicht, es läuft ja nun soweit :thumbup: .

    Danke nochmal für die Erklärung :thumbup: .


    Edit: Das Problem mit Code einfügen wird anscheinend von Chrome verursacht mit dem IE klappt es.


    Ich denke mal das das daran liegt das der Dialog Standardmässig nur angezeigt wird wenn an der Lautstärke was geändert wird.

    Wenn Du das "Mute"-Symbohl dauerhaft bei "mute" angezeigt haben möchtest würd ich das in nen Custom Window bauen oder ev. besser in die includes.xml und dann einfach überall dort wo dus sehen möchtest inkludieren.

    Aber irgendwo müsste doch theoretisch irgendwo festgelegt sein, dass der Dialog angezeigt wird wenn VolumenUp oder VolumenDown betätigt wird.
    Oder stell ich mir das zu einfach vor?

    Ich glaube das wird in

    Code
    <defaultcontrol>1</defaultcontrol>


    festgelegt. Oder wofür ist dieses tag?

    Weiß auch nicht wo die defaultcontrols festgelegt werden.

    Hier mal der Code der DialogVolumeBar.xml

    Da mir bei meinem letzten Problem so super geholfen wurde, hab ich auch gleich das nächste :D .

    Und zwar hat mein Skin und der Standartskin eine Lautstärkeanzeige die auf jedem Bild oben rechts eingeblendet wird, wenn die Lautstärke verändert wird.

    Hab rausgefunden dass, das Aussehen dieser Lautstärkeanzeige in der Datei DialogVolumeBar.xml gespeichert wird.
    Hab Sie auch schon meinen wünschen entsprechend angepasst.

    Aber was ich nun gerne hätte: Das die Leiste ebenfalls angezeigt wird wenn gemutet wird und solange bis diese wieder aufgehoben wird.
    Ansich ja nicht schwer dachte ich, einfach folgendes in die Datei eintragen:

    Code
    <visible> Player.Muted</visible>


    Und weil er mir den Balken nicht anzeigen soll wenn ich einen Film in Fullscreen schaue:

    Code
    <visible> Player.Muted+!VideoPlayer.IsFullscreen</visible>


    Hab das ganze auch so eingefügt aber es klappt einfach nicht.

    Und noch eine weitere Frage, aber ich weiß nicht ob das noch zum Skin gehört oder doch schon ein Addon oder Skript benötigt.
    Ich wünsche mir folgendes Verhalten:
    Wiedergabe von Musik oder Film>Mute Taste wird gedrückt>Lautstärke senkt sich langsam auf voreingestellte Lautstärke z.B. 20%>Mute taste wird erneut betätigt> Lautstärke erhöht sich wieder langsam auf Ursprungs Lautstärke.

    Das mit den 20% hab ich hinbekommen :D .

    Code
    <[definition='3','0']keymap[/definition]><global><keyboard><key id="61475">SetVolume(20percent)</key></keyboard></global></[definition='3','0']keymap[/definition]>


    Hab das Addon KeymapEditor und einfach angepasst auf oberes.
    Die Lautstärke wird nun auch auf 20% gesenkt aber schlagartig und ich hab keine Ahnung wie ich durch erneutes drücken wieder auf die vorherige Lautstärke komme.

    Glaube aber für die Volumenbar müsste ich denke ich mal den Mute-Befehl ändern da mir sonst der Balken dauerhaft bei 20% angezeigt würde.
    Falls ich einfach nur die Lautstärke von 20% haben möchte.
    Hab auch versucht in ...\AppData\Roaming\XBMC\userdata\guisettings.xml

    Code
    <audio>        <mute>false</mute>        <fvolumelevel>0.000000</fvolumelevel>    </audio>


    auf

    Code
    <audio>        <mute>true</mute>        <fvolumelevel>20.000000</fvolumelevel>    </audio>

    geändert doch bei beenden von XBMC übernimmt es wieder die alten Werte ?( .
    und fvolumenlevel sind das % angaben?

    Hoffe auch bei diesem Problem könnt ihr mir helfen ^^ .

    Funktioniert soweit, nur das mit dem einblenden also die Animationen passen nicht ganz.
    Und bei deinem Code wird der Button angeklickt somit aktiviert, bleibt dann aber rot (wie Mauskontakt) und erst wenn die Seite erneut aufgerufen wird grün.

    Aber was ich ganz cool finde ist:

    Code
    <control type="image">	<posx>0</posx>
    			<posy>0</posy>
    			<width>110</width>
    			<height>110</height>
    			<colordiffuse>red</colordiffuse>
    			<texture>$INFO[ListItem.Icon]</texture>   </control>


    Das bewirkt das das innere Symbol auf Mauskontakt reagiert.

    Ich hatte ja :

    Code
    <control type="image">				<posx>0</posx>				<posy>0</posy>				<width>110</width>				<height>110</height>				<texture border="5">floor_button_t.png</texture>			</control>

    Sprich das Hintergrundbild wurde bei Focus geändert.
    Und was auch cool ist

    Code
    <control type="image">			<posx>0</posx>			<posy>0</posy>			<width>110</width>			<height>110</height>			<colordiffuse>red</colordiffuse>			<texture border="5">floor_button_t.png</texture>		</control>


    Wenn ich dann das gleiche Bild verwende wie bei itemlayout. Dann wird das Hintergrundbild rot eingefärbt.


    Jetzt weiß ich gar nicht, was ich für meinen Style verwenden soll, weil sieht alle gut aus :thumbup: .


    Ist es egal ob ich einem Item Thumb oder Icon zuweise? Das hab ich noch nicht ganz verstanden, wann ich welches nehme.
    Und was besagt der label tag? Wo kommen die zahlen her?


    Eure Hilfe ist echt super, endlich versteh ich langsam was ich da tue und getan hab :D .


    Mysteriös liegt anscheinend an Notepad++, deinen Code hat er Zeilenweise kopiert ?( .

    Ich nutze Notepad++.

    Markieren die zu kopierende Stelle und dann Strg+C und klick im Forum den BB-Code Code einfügen-Button und zwischen die Tags Strg+V.

    Browser ist Chrome, aber dürfte ja eigentlich keinen Unterschied machen.

    Edit: In anderen Foren gehts ?( .

    Also mein Code sieht komplett so aus und ist in der include.xml

    Code
    <include name="MediaSubMenu">		<control type="panel" id="9002">			<visible>!Window.IsActive(PlayerControls)</visible>			<include>Window_OpenClose_Animation_Slide_Up</include>			<include>SubMenuCommonLayout</include>			<content>				<item>					<label>587</label>					<onclick>SendClick(8)</onclick>					<icon>icon_search.png</icon>				</item>				<item>					<label>31202</label>					 <onclick>PlayerControl(Partymode(music))</onclick>					<icon>icon_partymode.png</icon>					<visible>!MusicPartyMode.Enabled</visible>				</item>				<item>					<label>312088</label>					 <onclick>PlayerControl(Partymode(music))</onclick>										<visible>MusicPartyMode.Enabled</visible>					<icon>icon_partymode_active.png</icon>				</item>				<item>					<label>31200</label>					<onclick>ParentDir</onclick>					<icon>icon_back_w.png</icon>				</item>				<item>					<label>1036</label>					<onclick>ActivateWindow(Favourites)</onclick>					<icon>icon_favourites_w.png</icon>				</item>			</content>		</control>	</include>


    blauesgruen

    Dein Code wäre ein eigenes include oder?
    Du gibst ja die Position ein, die wird bei mir aber schon durch Zeile 5 festgelegt

    Code
    <include>SubMenuCommonLayout</include>


    Oder sehe ich das grade falsch?
    Dann müsste ich deinen Code in den include SubMenüCommonLayout schreiben?
    Da ist aber schon festgelegt das bei Mauskontakt die Farbe angezeigt wird, sprich da hab ich schon den Focus Befehl:


    Hier nochmal SubMenuCommonLayout:

    Code
    <include name="SubMenuCommonLayout">		<include>Window_OpenClose_Animation_Slide_Up</include>        <animation effect="slide" start="0,0" end="-20,0" time="0" condition="StringCompare(Container(9002).NumItems,5)">conditional</animation>		<animation effect="slide" start="0,0" end="112,0" time="0" condition="StringCompare(Container(9002).NumItems,4)">conditional</animation>		<animation effect="slide" start="0,0" end="224,0" time="0" condition="StringCompare(Container(9002).NumItems,3)">conditional</animation>		<animation effect="slide" start="0,0" end="365,0" time="0" condition="StringCompare(Container(9002).NumItems,2)">conditional</animation>		<animation effect="slide" start="0,0" end="500,0" time="0" condition="StringCompare(Container(9002).NumItems,1)">conditional</animation>		<posx>620r</posx>		<posy>120r</posy>		<width>1280</width>		<height>120</height>		<onleft>9002</onleft>		<onright>9002</onright>		<onup>9001</onup>		<ondown>20</ondown>		<pagecontrol>-</pagecontrol>		<scrolltime>300</scrolltime>		<orientation>Horizontal</orientation>		<itemlayout height="130" width="130">			<control type="image">				<posx>0</posx>				<posy>0</posy>				<width>110</width>				<height>110</height>				<!--CommonBottom-->				<texture border="5">floor_button_t.png</texture>			</control>			<control type="image">				<posx>0</posx>				<posy>0</posy>				<width>110</width>				<height>110</height>				<!--<bordertexture border="5">floor_buttonfo.png</bordertexture>-->				<bordersize>12</bordersize>				<texture>$INFO[ListItem.Icon]</texture>			</control>		</itemlayout>		<focusedlayout height="130" width="130">			<control type="image">				<posx>0</posx>				<posy>0</posy>				<width>110</width>				<height>110</height>				<texture border="5">floor_buttonfo.png</texture>			</control>			<control type="image">				<posx>0</posx>				<posy>0</posy>				<width>110</width>				<height>110</height>				<!--<bordertexture border="5">IconBack-focus.png</bordertexture>-->				<bordersize>12</bordersize>				<texture>$INFO[ListItem.Icon]</texture>			</control>		</focusedlayout>	</include>


    Echt super eure Hilfe, solangsam versteh ich ein wenig von dem was ich mache :thumbup: .
    Bis jetzt hab ich nach dem Trial & Error Prinzip gearbeitet, sprich auskommentieren schauen was passiert ^^ .


    Edit: Wie bekomme ich den Code Zeilenmäßig eingefügt? Es klappt einfach nicht haut alles in die 1. Zeile ;(

    Ja es funktioniert, hab meine beiden Codes kombiniert, das steht ja noch mehr drin.

    Hier unten rechts zusehen:

    Abgeschaltet:


    Eingeschaltet:


    Das mit den Variablen wird für mich noch unübersichtlicher ;) .


    Das mit den ToogleButtons hatte ich vorher probiert, hab es aber irgendwie nicht zum laufen bekommen.


    Ich glaub ich lass es wirklich so. Kommentar dazu und gut. Hab ja noch mehr Baustellen :D .
    Vielen Dank für deine Mühen.

    Wie immer kurz nach dem posten hab ich eine Lösung gefunden :cursing: .

    Aber ich glaube das ist nicht die eleganteste:

    Code
    <item>					<label>31202</label>					 <onclick>PlayerControl(Partymode(music))</onclick>					<icon>icon_partymode.png</icon>					<visible>!MusicPartyMode.Enabled</visible>					<icon>icon_partymode_active.png</icon>				</item>				<item>					<label>312088</label>					 <onclick>PlayerControl(Partymode(music))</onclick>										<visible>MusicPartyMode.Enabled</visible>					<icon>icon_partymode_active.png</icon>				</item>


    Gibt es eine bessere oder sinnigere Lösung.

    Moin, bin neu hier.

    Ich habe meine Skin jetzt weitestgehend auf meine Wünsche angepasst.

    Aber eine Sache bekomme ich nicht hin.

    Hab über folgendenen Code einen Button für den Partymodus eingefügt.
    Das klappt soweit auch super, nur ich hätte jetzt gerne eine Rückmeldung darüber ob der Modus grade aktiv ist.

    Stell mir das ganze so vor das icon_partymode aktiv ist wenn der Partymode ausgeschaltet ist und wenn er aktiv ist icon_partymode durch icon_partymode_active ersetzt wird.

    Glaube ist keine große Sache nur finde nichts dazu und ich steh aufm Schlauch :whistling: .


    Hier noch der Code:

    Code
    <include name="MediaSubMenu">		<control type="button" id="19">			<description>Filter button needed for panel below to work</description>			<visible>false</visible>		</control>		<control type="panel" id="9002">			<visible>!Window.IsActive(PlayerControls)</visible>			<include>Window_OpenClose_Animation_Slide_Up</include>			<include>SubMenuCommonLayout</include>			<content>				<item>					<label>31202</label>					 <onclick>PlayerControl(Partymode(music))</onclick>					<icon>icon_partymode.png</icon>				</item>			</content>		</control>	</include>


    Vielen Dank für eure Hilfe.

    Edit: Toll der hat meinen Code durcheinander geschmissen, wie bekomme ich den leserlich eingefügt?