Item Properties Frage

Begonnen von Mabthera, 16. Juni 2017, 19:30:51

Vorheriges Thema - Nächstes Thema

Mabthera

Hallo!
Ich habe ein Frage zum Panel Item Properties. Ich verwende das für meine klassische Musik-Datenbank und eine Kleinigkeit stört mich. Ich habe unter anderem die Felder "Orchester", Dirigent" und "Solist" definiert. Wenn es nun bei einem Stück etwa keine Solisten gibt, bleibt das entsprechende Feld leer (wie es sein soll), allerdings steht der Feldname noch da.
Also so:

Name                 Field
Orchester      Wiener Philharmoniker
Dirigent         Claudio Abbado
Solist   

Wie schaffe ich das, das  "Solist" nur angezeigt wird wenn es auch einen Solisten gibt?
LG
G

grimes

Mit Item properties geht das nicht (Man möge mich korrigieren).
Aber ich habe da einen Tipp: Verwende Item Details!
Hier mein Title format:
[%title%$crlf()]
[%artist%$crlf()]
[%album%[ '('%date%')']$crlf()]
%rating_stars_fixed%
$crlf()
$crlf()
[%composer%] [%composer_birth%][-%composer_death%]
$crlf()
[%composer_nation%$crlf()]
$crlf()
[Musical Period: %musical_period%$crlf()]
$crlf()
[Composition Date: %composition_date%$crlf()]
[Premiere: %composition_premiere%$crlf()]
[Conductor: %conductor%$crlf()]
[Orchestra: %orchestra%$crlf()]
[Solist: %solist%]

Die Klammern sorgen dafür, dass der Eintrag komplett unterdrückt wird.

Mabthera

Vielen Dank für den Tipp, ich habe nun auf Item Details umgestellt. Wenn ich allerdings die Schrift ändere habe ich das gleiche Problem wieder. Kannst Du mir sagen was an meiner Syntax falsch ist?
Sieht so aus:
[$set_font(Segoe UI,9,bold;italic;)Solist'(en)':                    $reset_font()%soloist%$crlf()]

LG
G

grimes

Könnte ein Bug in Item Details sein.

fbuser

Vermutlich wird durch das Setzen und Zurücksetzen der Schrift der Ausdruck durch die eckigen Klammern nicht mehr unterdrückt. Damit sollte es aber gehen:
$if(%soloist%,$set_font(Segoe UI,9,bold;italic;)Solist'(en)':                    $reset_font()%soloist%$crlf(),)

Mabthera

Ja, so funktioniert's!  :top:
Vielen Dank!
G

Mabthera

Hallo!
Ich hätte noch 2 Fragen zum Thema Item Details. Zum einen würde ich gerne Tabulatoren setzen, damit der Abstand zwischen Parameter und Feld immer gleich ist: Also so:

Komponist:                      W. A. Mozart
Werk:                              Symphonie Nr. .....

Bislang mache ich das einfach mit Leerzeichen, aber das ist nicht sehr elegant. Irgendwie komme ich mit $tab() nicht zurecht.

Und dann möchte ich nach einer bestimmten Anzahl an Zeichen einen Zeilenwechsel vornehmen und die 2. Zeile soll genau unter der 1. Zeile beginnen. Also

Solisten:                          blablablablablablablablablablablabla
                                        blablablabla

Ist das machbar?
LG
G

grimes

#7
Das mit den Tabs ist nicht machbar.

Für die lange Reihe an Solisten habe ich folgenden Vorschlag:
$puts(labelfont,$set_font(Segoe UI,9,bold;italic;))
$if($meta(solist,0),$get(labelfont)Solist 1: $reset_font()$meta(solist,0)$crlf(),)
$if($meta(solist,1),$get(labelfont)Solist 2: $reset_font()$meta(solist,1)$crlf(),)
$if($meta(solist,2),$get(labelfont)Solist 3: $reset_font()$meta(solist,2)$crlf(),)
$if($meta(solist,3),$get(labelfont)Solist 4: $reset_font()$meta(solist,3)$crlf(),)

Dies funktioniert nur, wenn Du für das Feld "solist" ein Multivaluefield definiert hast und die einzelnen Solisten durch ein Semicolon ; getrennt sind.

Mabthera

Vielen Dank für Deinen Tipp. Allerdings brauche ich damit pro Solist eine Zeile. Diesen Platz habe ich aber nicht, da mir nur insgesamt 3 Zeilen für Solisten zur Verfügung stehen.
Den Zeilenwechsel kriege ich ja hin, aber die Einrückung für die folgende Zeile leider nicht.
LG
G

Mabthera

Hallo!
Ich erlaube mir noch eine Frage zu Item Details. Gibt es die Möglichkeit Text scrollen zu lassen?
LG
G

grimes

#10
$puts(text,[Solist: %solist%] *** )
$puts(textstatic,[Solist: %solist%])
$puts(length,$len($get(text)))
$iflonger($get(textstatic),26,
$right($get(text),$sub($get(length),$mod($mul(%_time_elapsed_seconds%,3),$get(length))))
$left($get(text),$mod($mul(%_time_elapsed_seconds%,3),$get(length))),
$get(textstatic))

Geht nicht flüssiger (als 1 sec)

Mabthera

Ich danke Dir!
Aber wo muss ich Deinen Code einfügen? Insgesamt ist der mittlerweile recht umfangreich. Ich habe es so probiert, aber da ist was falsch, weil nichts scrollt.

$if(%soloist%,$set_font(Segoe UI,12,bold;italic;)Solist'(en)':                    $reset_font()%soloist%$crlf(),$puts(text,[Solist'(en)': %soloist%] *** )
$puts(textstatic,[Solist'(en)': %soloist%])
$puts(length,$len($get(text)))
$iflonger($get(textstatic),68,
$right($get(text),$sub($get(length),$mod($mul(%_time_elapsed_seconds%,3),$get(length))))
$left($get(text),$mod($mul(%_time_elapsed_seconds%,3),$get(length))),
$get(textstatic)))


Bitte um einen Tipp.
LG
G

grimes

$puts(labelfont,$set_font(Segoe UI,9,bold;italic;))
$if(%solist%,$get(labelfont)Solist:                $reset_font()$puts(text,[%solist%] *** )
$puts(textstatic,[      %solist%       ])
$puts(length,$len($get(text)))
$iflonger($get(textstatic),26,
$right($get(text),$sub($get(length),$mod($mul(%_time_elapsed_seconds%,3),$get(length))))
$left($get(text),$mod($mul(%_time_elapsed_seconds%,3),$get(length))),
$get(textstatic))
$crlf(),)

Ist ja ein ziemliches Gefriemel

Mabthera

Vielen Dank!
So funktioniert es jetzt:
$if(%soloist%,$set_font(Segoe UI,12,bold;italic;)Solist'(en)':                    $reset_font()$puts(text,[%soloist%] ------- )$puts(textstatic,[%soloist%])$puts(length,$len($get(text)))$iflonger($get(textstatic),68,
$right($get(text),$sub($get(length),$mod($mul(%_time_elapsed_seconds%,3),$get(length))))
$left($get(text),$mod($mul(%_time_elapsed_seconds%,3),$get(length))),
$get(textstatic))$crlf(),)

LG
G

Mabthera

Hallo!
Jetzt habe ich noch eine Frage. In der Statusleiste kann man die Gesamtspieldauer der ausgewählten Tracks anzeigen. Die muss ich aber aus Platzgründen ausblenden. Kann ich diese Information auch im Panel "Item Details" verfügbar machen. In der title formatting reference list auf Hydrogen-Audio habe ich dazu nichts gefunden. Gibt's da einen Trick das zu bewerkstelligen?
LG
G