Apple Script Anfängerfragen

Dieses Thema im Forum "Scripting und Automatisierung" wurde erstellt von Macverehrer, 08.04.2005.

  1. Macverehrer

    Macverehrer Thread Starter MacUser Mitglied

    Beiträge:
    2.160
    Zustimmungen:
    6
    MacUser seit:
    02.12.2004
    Hallo Gemeinde :D



    Habe (momentan) drei einfache Fragen. Ich habe mich gestern das erste mal mit Apple Script beschäftigt.

    ---------------------------------------------------------------------------------------

    PROBLEM EINS

    Habe daraufhin auch mein erstes Programm geschrieben. Dieses Programm bewirkt beim Starten, dass sich iTunes öffnet und direkt ein von mir gewählte Playlist abspielt.

    Der code ist folgender:
    Code:
    tell application "iTunes"
    	open (play playlist "My favourite Song")
    end tell
    Das Problem ist daran, sobald ich es ausführe funzt es zwar einwandfrei, aber nach dem iTunes gestartet ist und ein Song läuft kommt die Meldung:
    Das Skript läuft einwandfrei aber am Ende kommt immer diese Meldung. Wie bekomme ich die weg?

    ---------------------------------------------------------------------------------------

    PROBLEM ZWEI

    Wie kann ich einen einzelnen Song abspielen per Apple Script. Ich habe es mal mit
    Code:
    tell application "iTunes"
    	open (play song "Jerk it out")
    end tell
    probiert aber es kommt immer die Fehlermeldung
    Was mach ich falsch?

    ---------------------------------------------------------------------------------------

    PROBLEM DREI

    hab folgenden Code eingegeben
    Code:
    repeat 50 times
    	display dialog "Langeweile?" buttons {"JA"}
    end repeat
    jetzt öffnet er 1 Fenster, bei dem ich aber 50 mal auf JA klicken muss bevor es verschwindet. Wie kann ich es machen das er mir 50 Fenster anzeigt, mit nur jeweils einem mal JA? Also ich möchte dass er jeden dialog in einem neuen Fenster zeigt.

    ---------------------------------------------------------------------------------------


    Das wars im großen und ganzen erstmal...halt: Kennt einer eine Seite wo alle Befehle aufgeführt sind?
    Ok dann vielen Dank schon mal.
    Sollten weitere Fragen auftauchen (und glaubt mir das wird nicht lange dauern) werde ich sie in deiesem Fred posten.

    Macv
     
  2. Max02

    Max02 MacUser Mitglied

    Beiträge:
    157
    Zustimmungen:
    0
    MacUser seit:
    08.10.2004
    Hallo Macverehrer,

    ich bin leider auch blutiger Anfänger, kann aber meine Finger nicht mehr von Apple_Script lassen. Nun ja zu PROBLEM ZWEI:

    ich hab das so gelöst, sicher nicht gerade die schönste lösung

    tell application "iTunes"
    open (play file "Deine Festplatte:Users: Dein Benutzername:Music:iTunes:iTunes Music:fff:Free For Fever:02 Des Illusions.m4a")
    end tell

    gruß, Max

    hab gerade gesehen, dass man "open" natürlich weglassen kann"
     
    Zuletzt bearbeitet: 11.04.2005
  3. Max02

    Max02 MacUser Mitglied

    Beiträge:
    157
    Zustimmungen:
    0
    MacUser seit:
    08.10.2004
    so PROBLEM DREI hab ich folgend gelöst:

    set weiter to true
    repeat 10 times
    if weiter is true then
    set temp to display dialog "Langeweile?" buttons {"JA"}
    set returnedButton to button returned of temp
    else
    set weiter to false
    end if
    end repeat

    sicher nicht gerade die beste lösung, aber ich bin auch erst zwei tage am scripten
    :o)

    ups, ich seh gerade, dass ist nicht wirklih das was du wolltest sorry,...
     
    Zuletzt bearbeitet: 11.04.2005
  4. Snow

    Snow MacUser Mitglied

    Beiträge:
    262
    Zustimmungen:
    2
    MacUser seit:
    24.03.2003
    Zu 1:

    Die Fehlermeldung bekommst du weg, indem du 'open' weg lässt:

    tell application "iTunes"
    play playlist "Jones/Olstead"
    end tell


    Zu 2:

    Du musst den Song in iTunes erst suchen, damit du eine eindeutige Referenz dazu hast.

    Das folgende Skript liefert eine Song-Referenz in der Form

    file track id 1018 of library playlist id 628 of source id 34

    Hier das Skript:

    set Suchtext to "Hot Wired"
    tell application "iTunes"
    considering case
    set TrackList to every track of playlist "Bibliothek" whose name = Suchtext
    set theTrack to item 1 of TrackList
    end considering
    play theTrack
    end tell


    Für den Fall, dass ein Lied nicht gefunden wird, ist in diesem Skript noch keinerlei Vorkehrung getroffen.

    Hier noch eine Version, die erst Ruhe gibt, wenn ein Song auch gefunden wurde:

    set Suchtext to "" -- kann hier leer bleiben
    playTunes(Suchtext) -- Aufruf des Handlers

    on playTunes(Suchtext)
    tell application "iTunes"
    try
    considering case
    set TrackList to every track of playlist "Bibliothek" whose name = Suchtext
    set theTrack to item 1 of TrackList
    end considering
    play theTrack
    on error -- beim ersten Durchlauf ist Suchtext "" - daher Fehler
    -- auch bei Falscheingabe landet man wieder hier
    set Suchtext to text returned of (display dialog "Welchen Song spielen?" default answer "")
    my playTunes(Suchtext) -- der Handler ruft sich selbst erneut auf
    end try
    end tell
    end playTunes
     
  5. Max02

    Max02 MacUser Mitglied

    Beiträge:
    157
    Zustimmungen:
    0
    MacUser seit:
    08.10.2004
    hallo snow,

    für was ist die zeile "set theTrack to item 1 of TrackList" gut
     
  6. Snow

    Snow MacUser Mitglied

    Beiträge:
    262
    Zustimmungen:
    2
    MacUser seit:
    24.03.2003
    Mit 'every ... whose ...' bekommt man als Ergebnis immer eine Liste. Wir brauchen aber den Listeninhalt - die Referenz zum gesuchten Song.

    Im Idealfall enthält die Liste nur ein Objekt - den gesuchten Song. Falls wirklich mehrere gleichnamige Titel existieren wird eben nur der erste aus der Liste genommen.
     
  7. Max02

    Max02 MacUser Mitglied

    Beiträge:
    157
    Zustimmungen:
    0
    MacUser seit:
    08.10.2004
    o.k, danke schön.

    wie kann man eigentlich problem drei von macverehrer lösen. habs auch versucht, jedoch gerade bemerkt, dass er eine andere lösung sucht.

    toll, wie schnell hier antwort kommt
     
  8. Snow

    Snow MacUser Mitglied

    Beiträge:
    262
    Zustimmungen:
    2
    MacUser seit:
    24.03.2003
    Hierzu gibt es keine Lösung. Die AppleScript-Befehle werden immer der Reihe nach abgearbeitet. Ein Befehl ist aber nicht abgeschlossen, sobald das entsprechende Apple-Event gesendet wurde. Es gehört auch die entsprechende Antwort dazu.

    Man kann also einen weiteren Dialog erst aufrufen, wenn der erste (per OK-Button) geschlossen wurde.
     
  9. Max02

    Max02 MacUser Mitglied

    Beiträge:
    157
    Zustimmungen:
    0
    MacUser seit:
    08.10.2004
    danke für deine Erklärungen!
     
  10. Novatlan

    Novatlan MacUser Mitglied

    Beiträge:
    448
    Zustimmungen:
    1
    MacUser seit:
    28.01.2005
    Ist das Apple Script Studio auch für nicht-Entwickler erhältlich?
    Wenn ich es auf der Apple Seite runterladen will kommt immer die Aufforderung mich als Entwickler einzuloggen.
    Oder muss man als Privatperson alles manuell tippen?

    Novatlan
     
Die Seite wird geladen...
Ähnliche Themen - Apple Script Anfängerfragen
  1. DerdenMacliebt
    Antworten:
    5
    Aufrufe:
    136
    Olivetti
    02.10.2016
  2. Leser
    Antworten:
    4
    Aufrufe:
    284
    Leser
    23.06.2016
  3. kai9555
    Antworten:
    9
    Aufrufe:
    555
    kai9555
    26.11.2015
  4. fujihike007
    Antworten:
    4
    Aufrufe:
    1.255
    fujihike007
    10.04.2014
  5. Psychopatient
    Antworten:
    16
    Aufrufe:
    1.447
    Psychopatient
    10.04.2014