• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Wir haben den Frühjahrsputz beendet, Ihr auch? Welches Foto zu dem Thema hat Euch dann am Besten gefallen? Hier geht es lang zur Abstimmung --> Klick

Fehlermeldung: Die Typen der Deskriptoren passen nicht.

toc-rox

Weigelts Zinszahler (Rotfranch)
Registriert
15.11.09
Beiträge
247
Hallo an alle AppleScript/iTunes-Spezialisten,

ich habe ein Utility für iTunes geschrieben, welches eine iTunes-Playliste im XSPF-Format abspeichert. Das Utility besteht aus zwei Scripten: einem AppleScript und einem Perl-Script. Im AppleScript-Editor läuft das Utility problemlos. Es läuft jedoch nicht, wenn es über die iTunes-Toolbar aufgerufen wird. Fehlermeldung: "Die Typen der Deskriptoren passen nicht." Der Fehler tritt genau dann auf, wenn das Perl-Skript aufgerufen wird. Meine Umgebung: iTunes 9.1 unter OS X 10.6.3. Googeln war leider nicht aufschlussreich deshalb meine Frage: Was soll diese Fehlermeldung bedeuten?

Hierüber wird das Perl-Script aufgerufen:
-- run the post processing Perl script - it writes the xspf/xml playlist file
-- eg.: perl /path/iTunesMac2xspf.pl -title="Air - Moon Safari" -filename="Air - Moon Safari"
set returnvalue to do shell script "perl " & quoted form of perlscript_filepath_POSIX & " -title=" & quoted form of playlist_name & " -filename=" & quoted form of playlist_filepath_POSIX

Danke für eure Unterstützung.
 

toc-rox

Weigelts Zinszahler (Rotfranch)
Registriert
15.11.09
Beiträge
247
Das Problem tritt auf, wenn ein (über die iTunes-Toolbar aufgerufenes) Standard-AppleScript (.scpt) ein weiterverarbeitendes Perl-Skript aufruft. Ich konnte das Problem umgehen, indem ich das Utility in ein Applet umgewandelt habe - das Perl-Skript befindet sich hierbei im Application-Bundle.

Vielleicht interessant: Das Utility exportiert eine iTunes-Playliste als XSPF-Datei. Die XSPF-Playliste kann dann von einer anderen Anwendung (z.B. VLC) direkt eingelesen werden.

Danke an alle die sich zu dem oben beschriebenen Problem Gedanken gemacht haben.
 

toc-rox

Weigelts Zinszahler (Rotfranch)
Registriert
15.11.09
Beiträge
247
Ich würde mich gerne noch etwas näher mit der Problematik "A descriptor type mismatch occurred." befassen.
Meine Fragen deshalb:
- Welche Möglichkeiten bestehen, um an weitere Fehlerdetails zu kommen?
- Wohin schreiben iTunes und Applet-Ablaufcontainer ihre Meldungen?
 

toc-rox

Weigelts Zinszahler (Rotfranch)
Registriert
15.11.09
Beiträge
247
Ich konnte das iTunes-AppleScript-Problem "A descriptor type mismatch occurred." beheben:

set playlistPathFilePOSIX to get the POSIX path of (file playlistPathFile as alias) --> BUG
set playlistPathFilePOSIX to POSIX path of alias playlistPathFile --> OK

Beide Varianten funktionieren interessanterweise korrekt im AppleScript-Editor oder in einem Applet. Innerhalb von iTunes läuft das Script jedoch nicht mehr (das Applet sehr wohl).

Für das Script -über die iTunes-Toolleiste aufgerufen- ergibt sich zusätzlich eine signifikante Performanzverbesserung. Das Applet benötigt z.B. 75 Sekunden für eine Aufgabe und das Script für dieselbe Aufgabe nur noch 3 Sekunden.
 
Zuletzt bearbeitet: