Problem: The Bat! + AMIP

  • Hallo,

    vor einiger Zeit bin ich auf AMIP gestoßen, ein nettes Tool, das ich nun zusammen mit The Bat! 2.x betreiben möchte.
    AIMP schreibt eine Textdatei, sobald Winamp einen Titel spielt; die Informationen der Textdatei möchte ich per
    %Include="c:\temp\now-playing.txt"%-
    in meine Nachrichtenvorlage(n) holen, was für einzeilige Inhalte funktioniert, also für Strings, die per se kein (eigenes) Linefeed (\n) enthalten.
    Sobald die von AMIP generierte Textdatei jedoch Linefeeds enthält, erhalte ich statt:

    Code
    Erste Textzeile
    Zweite Textzeile
    Dritte Textzeile - des ersten Absatzes
    
    
    Erste Textzeile,
    Zweite Textzeile (des zweiten Absatzes)

    inkludiert in eine neue Nachricht in TB! folgende Ausgabe:

    Komisch ist auch, dass die zu inkludierende Datei in einem Texteditor betrachtet völlig in Ordnung ist, d. h. die Doppelung der Linefeeds nimmt erst TB! und nicht etwa AMIP selbst vor.
    Sonderbar ist auch: Selektiere ich in einem Editor den Inhalt von "now-playing.txt", kopiere ihn und schreibe ihn dann in eine weitere Textdatei, so tritt das Problem mit dieser anderen nicht auf.
    Kopiere ich "now-playing.txt" lediglich und verweise dann in der Vorlage auf diese Kopie, bleibt das Problem bestehen.
    Wieso das so ist, kann ich mir nicht erklären. Hat irgendjemand eine Idee?

    MfG,

    Mikka

    Einmal editiert, zuletzt von Mikka (15. März 2004 um 16:30)

  • MyMacros 1.x als auch UMC Plugin taugen beide nicht viel.
    Sorry, ist leider so.

    // edit:
    Fehler eingeengt, mit VIM :)
    Es scheint, als füge AMIP zusätzliche Linefeeds ein, die von den üblichen Texteditoren aber nicht angezeigt werden, doch VIM hat sie sichtbar (^M) gemacht.
    Diese zusätzlichen Linefeeds sind die Ursache, liegt also doch nicht an TB!, sieht so aus, als müsse ich mich direkt an den Entwickler wenden. <_<

    Einmal editiert, zuletzt von Mikka (16. März 2004 um 17:39)

  • Zitat

    MyMacros 1.x als auch UMC Plugin taugen beide nicht viel.

    Warum?

    Zitat

    Diese zusätzlichen Linefeeds sind die Ursache, liegt also doch nicht an TB!, sieht so aus, als müsse ich mich direkt an den Entwickler wenden.

    Alternativ könntest du dich auch an den Entwickler des UMC PlugIn wenden, und ihn fragen, ob ers so einrichten kann, dass der Titel und Artist je ein Makro bekommen (das willst du doch, oder?).

    Einmal editiert, zuletzt von Teal_One (15. März 2004 um 16:46)

  • Ich habe Herrn Perevodchik (dem MyMacros-Entwickler) schon einmal gemailt wegen so etwas, nur da wusste ich von AMIP noch nichts.
    AMIP kann viel, viel mehr; einfach mal die about-Seite lesen oder gleich runterladen und ausprobieren. Der üppige Funktionsumfang dürfte kaum zu toppen sein und es macht wenig Sinn, so etwas nur annähernd für ein Fledermaus-Plugin nachzubauen, soweit sich AMIP mit TB! nutzen lässt.
    Ich möchte den ID3v2 Comment-Bereich auslesen (letztendlich nur den ersten Absatz oder so; ich habe da meist die Songlyrics drinstehen) und ergänzt um die Titelinformation - "\n(aus Artist: Titel)" - in "now-playing.txt" eintragen.

    MfG

    Mikka

    Einmal editiert, zuletzt von Mikka (15. März 2004 um 16:59)

  • Du willst also immer *alle* Zeilen aus der Datei in der Nachricht stehen haben?

    Man möchte manchmal Kannibale sein, nicht um den oder jenen aufzufressen, sondern um ihn auszukotzen. Johann Nestroy.

  • Zitat

    Du willst also immer *alle* Zeilen aus der Datei in der Nachricht stehen haben?


    Die Reihenfolge ist die:

    a. Ich stelle fest, ob der Comment-Bereich ungleich Null ist
    b. Falls dem so ist, prüfe ich, ob ich den ersten Absatz (alle Zeilen bis zur ersten Leerzeile) auslesen kann, alternativ lese ich die ersten n Zeilen aus
    c. Ich schreibe den ersten Absatz bzw. die ersten n Zeilen in now-playing.txt
    d. Ich ergänze den Auszug um die Zeile "\n(aus Artist: Titel)". Fertig.

    Sollte der Comment-Bereich nichts enthalten, schreibe ich lediglich
    Artist: Titel

    in now-playing.txt hinein.

    Soweit die Theorie, in der Praxis klemmt momentan noch vieles ... :unsure:

    // edit:
    ^Allem voran die Schwierigkeit mittels PCRE (die AMIP beherrscht) den ersten Absatz (oder die ersten n Zeilen) zu matchen, ich habe keine wirkliche Idee, wie mir das gelingen könnte. Momentan besteht dann noch das Problem mit dem fehlerhaften Linefeed-Verhalten, das muss auch erst behoben werden! :(

    Einmal editiert, zuletzt von Mikka (15. März 2004 um 19:05)

  • Update:

    Unter dieser URL ist eine Beta-Version von AMIP ohne Linefeed-Problem abgelegt.

    Die Multiline-RegEx-Behandlung ist leider noch Zukunftsmusik.
    Spielereien à la:

    Code
    Finntroll: Vindfärd/Människopesten [Folk Metal, 2004]


    sind möglich, flexibler und individueller als mit jedem TB!-Plugin, das ich kenne.

    MfG

    Mikka