Konfigurieren von DUI v2 64bit

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

Vorheriges Thema - Nächstes Thema

grimes

Die Schriftgröße kannst Du nur für die gesamte Playlist ändern: Preferences | Display | DUI | Colors & Fonts | Fonts | Playlists

Die Farbe: Preferences | Display | DUI | Colors & Fonts | Colors | Highlight

Die Syntax: Preferences | DUI | Display | Playlist View | Custom grouping schemes

mexx

Zitat von: grimes in 13. November 2022, 15:13:02Die Syntax: Preferences | DUI | Display | Playlist View | Custom grouping schemes

Dort habe ich eine neue Syntax geschrieben und als "new" gespeichert:

%artist% - %Album% - %date% [%codec% / %PLR_album%]
Aber es tut sich nichts. :(
Oder muss ich die erst irgendwo aktivieren?

grimes

Ja, Du musst aktivieren: rechtklick Playlistkopf | Groups. Dann Schema auswählen.

mexx

Ahhh ja. THX

Das muss man halt wissen.  ;)

mexx

Zitat von: grimes in 09. November 2022, 17:23:15Konfigurieren: 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.



Ich habe das Script mal entsprechend für mich geändert und %composer_nation% in %country% geändert, da bei mir das Land in %country% steht. Allerdings müsste wohl noch der Pfad zu den country.svg irgendwo im Script stehen. Der lautet :

Zitate:\Programme\foobar2000_v2_64bit\flag\%country%.svg

Bsp. Tag Country:Deutschland = Deutschland.svg

Ich bitte nochmals um Hilfe.

grimes

Das habe ich ganz geschickt gemacht:
rechtsklick auf panel | Properties
foobar path: e:\Programme\foobar2000_v2_64bit\
flag folder: flag

mexx

mmmh...bis hierhin komm ich (s. Anhang) Aber dann gehts nicht weiter... :(

Markieren und öffnen geht nicht. Ich mach wohl wieder was falsch... ::)

grimes

Klick in das blaue Feld und gebe Deinen Pfad an.

mexx

Man kann es in meinem Anhang leider nicht sehen, aber es gibt bei mir keinen Eintrag  unter Name

Dort fehlen foobar path und flag folder.

grimes

#24
Ohh, Versuch mal rechtskick Panel | Reload

EDIT: Ich sehe gerade: Du hast "Clear" (Löschen) gedrückt. Drücke in diesem Falle "Apply".

mexx

Leider keine Änderung. Vielleicht habe ich im Script was zerschossen.
Werds mal mit dem Original nochmal versuchen.

mexx

So, jetzt funktioniert alles. Hatte bestimmt bei meinen Änderungen im Script einen Fehler gemacht.

Bleibt noch eine Frage:

Wie bekomme über der angezeigten Flagge die Länderbezeichnung angezeigt?

grimes


mexx

Na...nicht gleich übertreiben. Kein Mensch ist vollkommen... ;)

Du hast mir dabei soviel geholfen  :top:

...alles geht halt nicht  :^^:

mexx

Im Feld Info/Text werden mir ü/ä/ö/ß nur krytisch angezeigt.

Was kann ich tun, damit auch diese Textzeichen korrekt angezeigt werden.

Vorhandenes Script:

// ==PREPROCESSOR==
// @name "Text Reader"
// @author "marc2003"
// @import "%fb2k_component_path%helpers.txt"
// @import "%fb2k_component_path%samples\js\lodash.min.js"
// @import "%fb2k_component_path%samples\js\common.js"
// @import "%fb2k_component_path%samples\js\panel.js"
// @import "%fb2k_component_path%samples\js\text.js"
// ==/PREPROCESSOR==

// https://marc2k3.github.io/jscript-panel/gallery/text-reader/

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);
   
}

var text = new _text('text_reader2', LM, TM, 0, 0);

panel.item_focus_change();

function on_colours_changed() {
    panel.colours_changed();
    window.Repaint();
}

function on_font_changed() {
    panel.font_changed();
    window.Repaint();
}

function on_item_focus_change() {
    panel.item_focus_change();
}

function on_key_down(k) {
    text.key_down(k);
}

function on_metadb_changed() {
    text.metadb_changed();
}

function on_mouse_lbtn_up(x, y) {
    text.lbtn_up(x, y);
}

function on_mouse_move(x, y) {
    text.move(x, y);
}

function on_mouse_rbtn_up(x, y) {
    return panel.rbtn_up(x, y, text);
}

function on_mouse_wheel(s) {
    text.wheel(s);
}

function on_paint(gr) {
    panel.paint(gr);
    panel.draw_header(gr, text.header_text());
    text.paint(gr);
}

function on_playback_dynamic_info_track() {
    panel.item_focus_change();
}

function on_playback_new_track() {
    panel.item_focus_change();
}

function on_playback_stop(reason) {
    if (reason != 2) {
        panel.item_focus_change();
    }
}

function on_playlist_switch() {
    panel.item_focus_change();
}

function on_size() {
    panel.size();
    text.w = panel.w - (LM * 2);
    text.h = panel.h - TM;
    text.size();
}