Konfigurieren von DUI v2 64bit

Begonnen von mexx, 09. November 2022, 16:09:21

Vorheriges Thema - Nächstes Thema

mexx

Vorab...ich habe v2 64bit erst einmal portable installiert (s. Anhang) Die Konfiguration basiert hauptsächlich auf einer Konfiguration von Grimes.

Jetzt meine ersten Fragen:

1. In wie weit kann man eigentlich in DUI selbst konfigurieren? Zusätzliche Fenster hinzufügen für andere Anzeigen usw.(z.B. über Plugins). Oder geht das nicht?

2. Unter dem Reiter Images befindet sich ein Reiter Flag. Kann ich diesen selbst so konfigurieren, das er mir die Landesflagge des Artist anzeigt?

grimes

Konfigurieren: View | Layout | Enable layout editing mode

Flag: Habe mir ein Skript für JPanel Script 3 geschrieben
//flag by grimes
//fb2k v2+, JScript Panel 3+
//DUI/CUI ready

// ==PREPROCESSOR==
// @name "flag"
// @version "2"
// @author "grimes"
// ==/PREPROCESSOR==


var cfg_foobarpath = window.GetProperty("foobar path:", fb.Profilepath);
var cfg_flag = window.GetProperty("flag folder:", "flags");
var svg_file = cfg_foobarpath + cfg_flag + "\\noflag.svg";
var svg_content = utils.ReadUTF8(svg_file);

var dui = window.IsDefaultUI;

var original = utils.LoadSVG(svg_file);

function on_paint(gr) {
    gr.FillRectangle(0, 0, window.Width, window.Height, dui == 1 ? window.GetColourDUI(1) : window.GetColourCUI(3));  
    if (original) {
        var scale = 0;
        var x = 0,
            y = 0;
        var scale_w = window.Width / original.Width;
        var scale_h = window.Height / original.Height;

        if (scale_w <= scale_h) {
            scale = scale_w;
            y = (window.Height - original.Height * scale) / 2;
        } else {
            scale = scale_h;
            x = (window.Width - original.Width * scale) / 2;
        }
        gr.DrawImage(original, x, y, original.Width * scale, original.Height * scale, 0, 0, original.Width, original.Height);
    }
}

if(fb.IsPlaying || fb.IsPaused) {
    country = fb.TitleFormat("%composer_nation%").Eval();
    original = utils.LoadSVG(cfg_foobarpath + cfg_flag + "\\" + country + ".svg");
    window.Repaint();  
}
else {
    original = utils.LoadSVG(svg_file);
    window.Repaint();
}

function on_playback_new_track() {
    country = fb.TitleFormat("%composer_nation%").Eval();
    original = utils.LoadSVG(cfg_foobarpath + cfg_flag + "\\" + country + ".svg");
    window.Repaint();
}

function on_playback_stop(reason) {
    original = utils.LoadSVG(svg_file);
    window.Repaint();
}
Die Flaggen müssen im svg-Format vorliegen (download Anhang). Ich lasse die %composer_nation% anzeigen.


mexx

#2
ok. THX.

und weiter gehts:

1. Könnte man die Anzeige der Seekbar durch einen laufenden Balken ersetzen. Man kann hier den Lautstärkeregler öfter mit der Seekbar verwechseln.

2. Wie bekommt man unter den Reiter Text auch Text rein? Ich habe viele Infos zum Artist in Text- und/oder lfml-Dateien.

grimes

#3
1. Geht nicht
2. JScript Panel 3, sample scripts: Text Display oder Text Reader




mexx

Zitat von: grimes in 10. November 2022, 16:38:541. Geht nicht
2. JScript Panel 3, sample scripts: Text Display oder Text Reader





Super  :top:

Habs auch mit dem entsprechenden Pfad hinbekommen.

THX  :top:

mexx

So langsam kann ich mich mit der v2 64bit anfreunden. :)

Jetzt habe ich eigentlich wieder alles beisammen, was ich vorher in der Konfig hatte (s.Anhang).

Jetzt müsste ich nur noch den Custom Title im Text in die Mitte bekommen. Auf die Anzeige der Flagge des Heimatlandes des/der Interpreten kann ich verzichten.

Vielen Dank an Grimes für die tolle Hilfe.  :top:

grimes

Center: Geht nicht.
Du musst noch die Schriftart "FontAwesome" installieren. https://github.com/marc2k3/jscript-panel/releases

mexx

Ich hab die Schriftart installiert. Aber wie erkenne ich in foobar, ob die wirklich installiert ist?

grimes

In Text Reader ist bei längerem Text unten ein Pfeil anstatt eines hässlichen Kästchens.

mexx


grimes

Center: Die Lösung

Füge ein im Skript (Configure) nach var panel = new _panel();
panel.draw_header = function (gr, text) {
gr.WriteText(text, this.fonts.title, this.colours.highlight, LM, 0, this.w - (LM * 2), TM, DWRITE_TEXT_ALIGNMENT_CENTER, DWRITE_PARAGRAPH_ALIGNMENT_CENTER, DWRITE_WORD_WRAPPING_NO_WRAP, DWRITE_TRIMMING_GRANULARITY_CHARACTER);
gr.DrawLine(LM, TM + 0.5, this.w - LM, TM + 0.5, 1, this.colours.highlight);
}
https://hydrogenaud.io/index.php/topic,110516.msg1018891.html#msg1018891

mexx

Ich mach wohl wieder was falsch. s. Anhang.


grimes


mexx


mexx

...und noch eine Frage:

Kann man die blaue "Überschrift" in Playlist View für das jeweilige Album irgendwo/irgendwie selbst gestalten?

s.Anhang