AAS: Erweiterung eines Elementes nach links

Hallo liebe SELFHTML-Gemeinde!

Um mein Problem verständlich zu machen, möchte ich vorab ein paar Erläuterungen anbringen.

Es gibt für den foobar2000 Musicplayer(http://www.foobar2000.org/) ein sehr nützliches Plug-in namens foo_title (http://foo-title.sourceforge.net/). Mit diesem ist es während der Wiedergabe möglich, auf dem Desktop in einer kleinen Leiste Informationen zu Songtitel o.ä. anzuzeigen. Diese Komponente unterstützt anpassbare Skins, die mittels einer XML-Datei definiert werden.

Im Deutschen und vielen anderen Sprachen ist es so, dass der Lesefluss von links nach rechts verläuft. Das Plug-in berücksichtigt dies, indem die Infoleiste per repeat-Befehl erweiterbare Grafiken benutzt. Die Infoleiste hat eine Mindestlänge. Je nach Zeichenanzahl des Titels erweitert sich die Länge der Leiste nach dynamisch nach rechts.

Somit empfiehlt es sich nur, die Leiste am linken Rand des Desktops liegen zu haben. Legt man nämlich die Leiste am rechten Rand ab, verschwindet bei einem längeren Titel ein Teil der Leiste. Man müsste die Leiste wieder verschieben, um den gesamten Bereich der Leiste einsehen zu können.

Jetzt endlich zur konkreten Frage. Wie ist eine dynamische Erweiterung von Elementen wie Grafiken und Text nach links zu ermöglichen? Praktisch müsste der repeat-Befehl ermöglichen, dass die Grafiken links neben der Ausgangsgrafik wiederholt werden, und nicht rechts. Weiterhin müsste sich der Startpunkt des Textes ebenfalls nach links verschieben.

Ich hoffe diesen an sich einfachen Sachverhalt nicht zu kompliziert beschrieben zu haben. Da mir in HTML und CSS keine Befehle zur Lösung des Problems bekannt sind, hoffe ich auf Euer Wissen und Euren Rat!

Besten Dank und viele Grüße!

  1. Hier noch der Quellcode der XML.

    <?xml version="1.0" encoding="utf-8"?>

    <skin
        author="based on the work of Roman Plasil"
        name="Black Skin"
        width="66"
        height="22">

    <layer name="background" type="fill-images">
            <geometry type="full">
                <padding left="0" top="0" right="0" bottom="0"/>
            </geometry>
            <contents>
                <image position="left" src="left_back.png" />
                <image position="center" repeat="true" src="repeat_back.png" />
                <image position="right" src="right_back.png" />
            </contents>

    <!-- buttons -->

    <layer name="Activate" type="button">
                <geometry type="absolute">
                    <position x="5" y="3" align="left" />
                    <size x="15" y="15" />
                </geometry>
                <contents>
                    <action>
                        Activate
                    </action>
                    <normalImg src="normal_acti.png" />
                    <overImg src="over_acti.png" />
                    <downImg src="down_acti.png" />
                </contents>
            </layer>

    <layer name="Prev" type="button">
                <geometry type="absolute">
                    <size x="15" y="15" />
                    <position x="20" y="3" align="left" />
                </geometry>
                <contents>
                    <action>
                        Previous
                    </action>
                    <normalImg src="normal_prev.png" />
                    <overImg src="over_prev.png" />
                    <downImg src="down_prev.png" />
                </contents>
            </layer>

    <layer name="Play" type="button">
                <geometry type="absolute">
                    <size x="15" y="15" />
                    <position x="35" y="3" align="left" />
                </geometry>
                <contents>
                    <action>
                        Play
                    </action>
                    <normalImg src="normal_play.png" />
                    <overImg src="over_play.png" />
                    <downImg src="down_play.png" />
                </contents>
            </layer>

    <layer name="Pause" type="button">
                <geometry type="absolute">
                    <position x="50" y="3" align="left" />
                    <size x="15" y="15" />
                </geometry>
                <contents>
                    <action>
                        Pause
                    </action>
                    <normalImg src="normal_pause.png" />
                    <overImg src="over_pause.png" />
                    <downImg src="down_pause.png" />
                </contents>
            </layer>-->

    <layer name="Stop" type="button">
                <geometry type="absolute">
                    <size x="15" y="15" />
                    <position x="65" y="3" align="left" />
                </geometry>
                <contents>
                    <action>
                        Stop
                    </action>
                    <normalImg src="normal_stop.png" />
                    <overImg src="over_stop.png" />
                    <downImg src="down_stop.png" />
                </contents>
            </layer>

    <layer name="Next" type="button">
                <geometry type="absolute">
                    <size x="15" y="15" />
                    <position x="80" y="3" align="left" />
                </geometry>
                <contents>
                    <action>
                        Next
                    </action>
                    <normalImg src="normal_next.png" />
                    <overImg src="over_next.png" />
                    <downImg src="down_next.png" />
                </contents>
            </layer>

    </layer>

    <!-- spacer -->
            <layer name="spacer" type="absolute-images">
                <geometry type="absolute">
                    <position x="0" y="0" align="left" />
                    <size x="66" y="22" />
                </geometry>
                <contents>
                </contents>
            </layer>

    <!-- text -->

    <layer name="text" type="text">
            <geometry type="full">
                <padding left="110" top="3" right="5" bottom="0" />
            </geometry>
            <contents spacing="10" font="Arial" size="8">
     <defaultText>foobar2000</defaultText>
                <label position="left" color="ffffffff" font="Arial">%artist% '('%album%')' - %tracknumber% / %totaltracks% - %title%</label>
                <label position="right" color="ffffffff" size="8">%_time_elapsed% / %_length%</label>
            </contents>
        </layer>

    </skin>

  2. Hallo,

    Du weißt schon, dass dein Problem nichts mit XML zu tun hat?
    Was der foobar-player aus dem XML macht und wie und was er aus dem XML auswertet steht in dem Quellcode der Software geschrieben.

    Demnach ist deine Frage wesentlich besser unter http://www.hydrogenaudio.org/forums/index.php?act=SF&s=&f=28 aufgehoben.

    Grüße
    Thomas

    1. Hallo Thomas,

      danke für Deine Antwort. Dass der Themenbereich "XML" ungünstig gewählt war, ist mir selbst klar gewesen. Hab einfach nichts passendes gefunden. Der Link zum Forum ist hilfreich.

      Grüße!