iTunes 11.0.3 mit neuem Miniplayer und Album Artwork in der Song-Ansicht!

Eine Frage dazu: Ist schon richtig das ich in den Automator muss. Bei Datei -> Neu -> Dienst: danach Dinstprogramme -> "AppleScrip ausführen" Dienst empfängt "was kommt hier rein" in "in jedem Programm oder nur iTunes?"
Dienst empfängt "keine Eingabe" in "iTunes".

Jetzt nach Ausführen des Scrips im Automator kommt dieser Fehler (hab die Zeile markiert):
Syntaxfehler: 2013-05-31 09:15:44.207 defaults[70482:f07]
The domain/default pair of (kCFPreferencesAnyApplication, AppleLanguages) does not exist
Da funktioniert anscheinend die Methode zur automatischen Erkennung der Systemsprache nicht. Falls Du "Deutsch" als Systemsprache eingestellt hast, kannst Du einfach my systemLanguage() in der zweiten Befehlszeile des Skripts durch "de" (inkl. der Anführungszeichen) ersetzen. Alternativ verändere mal in den Systemeinstellungen unter Sprache&Text die Auflistung der Sprachen, indem Du bspw. "US English" der Liste hinzufügst. Danach funktioniert es vermutlich.


Nachdem das Funktionieren sollte muss ich den Dienst speichern und in den Systemeinstellungen > Tastatur einen Shortcut hinzufügen. Mit diesen Shortcut kann ich dann in der iTunes Playlist im Darstellungsoptionen Fenster den Shortcut anwenden?
Genau. Das Fenster für die Darstellungsoptionen muss angezeigt (nicht notwendigerweise aktiv) sein, und die Listenansicht in der jeweiligen Wiedergabeliste aktiv sein. Ich habe also z.B. in der Seitenleiste meine erste Wiedergabeliste angeklickt und bin dann mit den Rauf/runter-Cursortasen von Liste zu Liste gegangen, für die ich jeweils nach Bedarf den Shortcut gedrückt hab.

danke im voraus für deine Hilfe.

Gern. Sag Bescheid ob's klappt! :)
 
Super hat geklappt.
Das wars:
Da funktioniert anscheinend die Methode zur automatischen Erkennung der Systemsprache nicht. Falls Du "Deutsch" als Systemsprache eingestellt hast, kannst Du einfach my systemLanguage() in der zweiten Befehlszeile des Skripts durch "de" (inkl. der Anführungszeichen) ersetzen. Alternativ verändere mal in den Systemeinstellungen unter Sprache&Text die Auflistung der Sprachen, indem Du bspw. "US English" der Liste hinzufügst. Danach funktioniert es vermutlich.


Jetzt noch eine letzte Frage. Der teil Code mit den Befehlen für die Hakenmarkierung
Code:
	set showArtworkTitle to "Cover einblenden"
	set alwaysShowTitle to "Immer einblenden"
	set viewOptionsTitle to "Darstellungsoptionen"
gibt es davon eine Liste mit den Befehlen für die Elemente damit ich die kompletten Darstellungsoptionen Optionen abbilden kann? Wie z.B. Bewertung, Sortierung, Titelnummer…

danke
 
Ich bin's nochmal.

Ich arbeite jetzt selber dran.
Blos wie heist die Syntax in AppleScript einer Ceckbox einen fest definierten Wert zuzuordnen zB. Unchecked. Hintergrund: ich will das Script so umbauen das alles was in Darstellungsoptionen erst abgehakt wird und danach wie oben schon nur entsprechende Checkboxen angehakt werden.
 
gibt es davon eine Liste mit den Befehlen für die Elemente damit ich die kompletten Darstellungsoptionen Optionen abbilden kann? Wie z.B. Bewertung, Sortierung, Titelnummer…

Lad' Dir am besten mal den UIElementInspector (Klick auf "Download Sample Code" - die ausführbare App ist inkludiert).

Alternativ bzw. zusätzlich kannst Du die Elemente per
Code:
get every UI element of window viewOptionsTitle

abfragen. (im entsprechenden tell-Block der sich an den iTunes-Prozess via System Events richtet)

wie heist die Syntax in AppleScript einer Ceckbox einen fest definierten Wert zuzuordnen zB. Unchecked.
Die direkt Zuordnung eines Wertes an die Checkbox ist meines Wissens über UI-Scripting nicht möglich (kann mich da irren), aber

Code:
click (every checkbox of window viewOptionsTitle whose value is 1)

sollte seinen Zweck erfüllen (vielleicht schauen, dass vorher alle disclosure triangles geöffnet sind)

Von mir aus kannst Du dich bei weiteren Fragen hier nochmal melden, aber thematisch würde es wohl mittlerweile besser in's Applescript-Forum passen. :)
 
  • Gefällt mir
Reaktionen: PAP
Lad' Dir am besten mal den UIElementInspector (Klick auf "Download Sample Code" - die ausführbare App ist inkludiert).)

Auf dem bin ich gestern auch schon gestoßen, weil ich den "PopUpButton" der für die Sortierung Verantwortlich ist ansprechen will, trotzdem danke.

Von mir aus kannst Du dich bei weiteren Fragen hier nochmal melden, aber thematisch würde es wohl mittlerweile besser in's Applescript-Forum passen. :)

werde ich mir im die Tage mal ansehen.

Ich bin in Applescript noch ein absoluter blutiger Anfänger, es läuft nichts ohne "try and error" aber ich bin schon mal weiter gekommen. Wenn ich fertig bin mit dem Script werde ich es die Tage hier Posten damit es auch andere User benutzen können.

danke schon mal kermitd
 
Hallo jetzt habe ich das Script so verändert das man die iTunes Darstellungsoptionen komplett per Script automatisieren kann. im Moment ist es mehr oder weniger nur für ein OS das auf deutsch gestellt ist geschrieben.
Wenn jemand Lust hat kann er es ja für EN umschreiben. (Wollte mein OS nicht für die englischen Begriffe umstellen)

Ein Dank geht an kermidt der den Grundstock für das Script bot.

Hier ist der Code für den workaround mit Automator und shortcut.
Code:
property enableAlwaysShowArtwork : true

set theSystemLanguage to my systemLanguage()
if theSystemLanguage is "en" then
	set showArtworkTitle to "Show Artwork"
	set alwaysShowTitle to "Always Show"
	set viewOptionsTitle to "View Options"
	set viewAlbum to "Album"
else if theSystemLanguage is "de" then
	set showArtworkTitle to "Cover einblenden"
	set alwaysShowTitle to "Immer einblenden"
	set viewOptionsTitle to "Darstellungsoptionen"
	set viewAlbum to "Album"
	set viewHinzugefuegt to "Hinzugefügt"
	set viewAlbumInterpret to "Album-Interpret"
	set viewBeatsproMinute to "Beats pro Minute"
	set viewCDNummer to "CD-Nummer"
	set viewDauer to "Dauer"
	set viewEqualizer to "Equalizer"
	set viewErschienen to "Erschienen"
	set viewGenre to "Genre"
	set viewiCloudDownload to "iCloud-Download"
	set viewiCloudStatus to "iCloud-Status"
	set viewInterpret to "Interpret"
	set viewJahr to "Jahr"
	set viewKomponist to "Komponist"
	set viewMarkiert to "Markiert"
	set viewTitelnummer to "Titelnummer"
	set viewAlbumbewertung to "Albumwertung"
	set viewBeschreibung to "Beschreibung"
	set viewKomentar to "Kommentar"
	set viewWerk to "Werk"
	set viewWertung to "Wertung"
	set viewGeaendert to "Geändert"
	set viewHinzugefuegt to "Hinzugefügt"
	set viewKaufdatum to "Kaufdatum"
	set viewUEbersprungen to "Übersprungen"
	set viewWiedergaben to "Wiedergaben"
	set viewZuleztgespielt to "Zuletzt gespielt"
	set viewZuletztuebersprungen to "Zuletzt übersprungen"
	set viewAbtastrate to "Abtastrate"
	set viewArt to "Art"
	set viewDatenrate to "Datenrate"
	set viewGroesse to "Größe"
	set viewAlbumSort to "Album für Sortierung"
	set viewAlbumIntSort to "Album-Interpret für Sortierung"
	set viewIntSort to "Interpret für Sortierung"
	set viewKopforSort to "Komponist für Sortierung"
	set viewNameforSort to "Name für Sortierung"
	set viewBroadcastSort to "Sendung für Sortierung"
	set viewFolgeID to "Folgen-ID"
	set viewFolgennummer to "Folgennummer"
	set viewKategorie to "Kategorie"
	set viewBroadcast to "Sendung"
	set viewStaffel to "Staffel"
	set SortManually to "Manuelle Sortierung"
	set SortName to "Name"
	
end if


tell application "System Events"
	if UI elements enabled then
		tell application "iTunes" to activate
		tell application process "iTunes"
			if exists (some window whose title is viewOptionsTitle) then
				set targetWindow to (some window whose title is viewOptionsTitle)
				tell the targetWindow
					
					
					-- Anfang alle Playlistkriterien abhaken 					
					set theList to {showArtworkTitle, alwaysShowTitle, viewAlbum, viewHinzugefuegt, viewAlbumInterpret, viewAlbumInterpret, viewBeatsproMinute, viewCDNummer, viewDauer, viewEqualizer, viewErschienen, viewGenre, viewiCloudDownload, viewiCloudStatus, viewInterpret, viewJahr, viewKomponist, viewKomponist, viewMarkiert, viewTitelnummer, viewAlbumbewertung, viewBeschreibung, viewKomentar, viewWerk, viewWertung, viewGeaendert, viewHinzugefuegt, viewKaufdatum, viewUEbersprungen, viewWiedergaben, viewZuleztgespielt, viewZuletztuebersprungen, viewAbtastrate, viewArt, viewDatenrate, viewGroesse, viewAlbumSort, viewAlbumIntSort, viewIntSort, viewKopforSort, viewNameforSort, viewBroadcastSort, viewFolgeID, viewFolgennummer, viewKategorie, viewBroadcast, viewStaffel}
					repeat with nItem in theList
						tell checkbox nItem
							if value is not 0 then click
						end tell
					end repeat
					-- Ende alle Playlistkriterien abhaken
					
					
					-- Anfang Playlistkriterien 
					set theList to {viewiCloudDownload, viewInterpret, viewAlbum, viewDauer, viewGenre, viewiCloudStatus, viewWertung, viewAlbumbewertung} -- < hier die Darstellungsoptionen eintragen die zur Darstellung gewünscht sind. Die hier angegebene Reihenfolge ist auch die Reihenfolge in der Playlist.
					repeat with nItem in theList
						tell checkbox nItem
							if value is not 1 then click
						end tell
					end repeat
					-- Ende Playlistkriterien	
					
					
					-- Anfang "Popup-Menü" für Sortierung
					tell pop up button 1
						click
						delay 0.01
						set listofItems to get name of every menu item
						tell menu 1
							click menu item viewAlbum -- < hier den Sortierer eintragen. Sortierung muss einer der ausgewählten Playlistkriterien sein die in "Playlistkriterien" ausgewählt wurden. 
						end tell
					end tell
					-- Ende "Popup-Menü" für Sortierung
					
					
					click (some checkbox whose title is showArtworkTitle)
					set theCheckBox to some checkbox whose title is alwaysShowTitle
					set alwaysShowArtworkCheckBoxNeedsEnabling to (the value of theCheckBox is 0)
					if enableAlwaysShowArtwork then
						if alwaysShowArtworkCheckBoxNeedsEnabling then click theCheckBox
					else
						if not alwaysShowArtworkCheckBoxNeedsEnabling then click theCheckBox
					end if
					
					
					-- Anfang Slider für Covergrößendarstellung
					set value of slider 1 to 2 -- < Werte für die Größen 0 = klein, 1 = mittel, 2 = groß
					-- Ende Slider für Covergrößendarstellung
					
					
				end tell
			else
				display dialog "Try opening the View options first"
			end if
		end tell
	else
		tell application "System Preferences"
			activate
			set current pane to pane "com.apple.preference.universalaccess"
			display dialog "UI element scripting is not enabled. Check \"Enable access for assistive devices\" " & return & return & " (\"Zugriff für Hilfsgeräte aktivieren\")"
		end tell
	end if
end tell

on systemLanguage()
	set appleLanguages to do shell script "defaults read NSGlobalDomain AppleLanguages"
	tell application "System Events" to set languageList to the value of (make new property list item with properties {text:appleLanguages})
	return the first item of the languageList
end systemLanguage

edit: Von Zeile {set viewIntSort to "Interpret für Sortierung" } viewIntSort in den Codeblock -- alle Playlistkriterien abhaken eingetragen.
 
Hurra, hurra, hurra, endlich wieder die Cover in der Titelansicht!
 
So hier ist das Script Update für iTunes 11.2.1 (1) um die Darstellung den eigenen Wünschen anzupassen.

Das ganze im Automator als Arbeitsablauf speichern und bei geöffneten Darstellungoptionen Fenster (CMD + J) mit Shortcut ausführen.

Code:
property enableAlwaysShowArtwork : true

set theSystemLanguage to my systemLanguage()
if theSystemLanguage is "en" then
	set showArtworkTitle to "Show Artwork"
	set alwaysShowTitle to "Always Show"
	set viewOptionsTitle to "View Options"
	set viewAlbum to "Album"
else if theSystemLanguage is "de" then
	set showArtworkTitle to "Coverbild einblenden"
	set alwaysShowTitle to "Immer einblenden"
	set viewOptionsTitle to "Darstellungsoptionen"
	set viewAlbum to "Album"
	set viewHinzugefuegt to "Hinzugefügt"
	set viewAlbumInterpret to "Album-Interpret"
	set viewBeatsproMinute to "Beats pro Minute"
	set viewCDNummer to "CD-Nummer"
	set viewDauer to "Dauer"
	set viewEqualizer to "Equalizer"
	set viewErschienen to "Erschienen"
	set viewGenre to "Genre"
	set viewiCloudDownload to "iCloud-Download"
	set viewiCloudStatus to "iCloud-Status"
	set viewInterpret to "Interpret"
	set viewJahr to "Jahr"
	set viewKomponist to "Komponist"
	set viewTitelnummer to "Titelnummer"
	set viewAlbumbewertung to "Albumwertung"
	set viewBeschreibung to "Beschreibung"
	set viewKomentar to "Kommentar"
	set viewWerk to "Werk"
	set viewWertung to "Wertung"
	set viewGeaendert to "Geändert"
	set viewHinzugefuegt to "Hinzugefügt"
	set viewKaufdatum to "Kaufdatum"
	set viewUEbersprungen to "Übersprungen"
	set viewWiedergaben to "Wiedergaben"
	set viewZuleztgespielt to "Zuletzt gespielt"
	set viewZuletztuebersprungen to "Zuletzt übersprungen"
	set viewAbtastrate to "Abtastrate"
	set viewArt to "Art"
	set viewDatenrate to "Datenrate"
	set viewGroesse to "Größe"
	set viewAlbumSort to "Album für Sortierung"
	set viewAlbumIntSort to "Album-Interpret für Sortierung"
	set viewIntSort to "Interpret für Sortierung"
	set viewKopforSort to "Komponist für Sortierung"
	set viewNameforSort to "Name für Sortierung"
	set viewBroadcastSort to "Sendung für Sortierung"
	set viewFolgeID to "Folgen-ID"
	set viewFolgennummer to "Folgennummer"
	set viewKategorie to "Kategorie"
	set viewBroadcast to "Sendung"
	set viewStaffel to "Staffel"
	set SortManually to "Manuelle Sortierung"
	set SortName to "Name"
	
end if


tell application "System Events"
	if UI elements enabled then
		tell application "iTunes" to activate
		tell application process "iTunes"
			if exists (some window whose title is viewOptionsTitle) then
				set targetWindow to (some window whose title is viewOptionsTitle)
				tell the targetWindow
					
					
					-- Anfang alle Playlistkriterien abhaken 					
					set theList to {showArtworkTitle, alwaysShowTitle, viewAlbum, viewHinzugefuegt, viewAlbumInterpret, viewAlbumInterpret, viewBeatsproMinute, viewCDNummer, viewDauer, viewEqualizer, viewErschienen, viewGenre, viewiCloudDownload, viewiCloudStatus, viewInterpret, viewJahr, viewKomponist, viewKomponist, viewTitelnummer, viewAlbumbewertung, viewBeschreibung, viewKomentar, viewWerk, viewWertung, viewGeaendert, viewHinzugefuegt, viewKaufdatum, viewUEbersprungen, viewWiedergaben, viewZuleztgespielt, viewZuletztuebersprungen, viewAbtastrate, viewArt, viewDatenrate, viewGroesse, viewAlbumSort, viewAlbumIntSort, viewKopforSort, viewNameforSort, viewBroadcastSort, viewFolgeID, viewFolgennummer, viewKategorie, viewBroadcast, viewStaffel}
					repeat with nItem in theList
						tell checkbox nItem
							if value is not 0 then click
						end tell
					end repeat
					-- Ende alle Playlistkriterien abhaken
					
					
					-- Anfang Playlistkriterien 
					set theList to {viewiCloudDownload, viewInterpret, viewAlbum, viewDauer, viewGenre, viewiCloudStatus, viewWertung, viewAlbumbewertung} -- < hier die Darstellungsoptionen eintragen die zur Darstellung gewünscht sind. Die hier angegebene Reihenfolge ist auch die Reihenfolge in der Playlist.
					repeat with nItem in theList
						tell checkbox nItem
							if value is not 1 then click
						end tell
					end repeat
					-- Ende Playlistkriterien	
					
					
					-- Anfang "Popup-Menü" für Sortierung
					tell pop up button 1
						click
						delay 0.01
						set listofItems to get name of every menu item
						tell menu 1
							click menu item SortName -- < hier den Sortierer eintragen. Sortierung muss einer der ausgewählten Playlistkriterien sein die in "Playlistkriterien" ausgewählt wurden.
						end tell
					end tell
					-- Ende "Popup-Menü" für Sortierung
					
					
					click (some checkbox whose title is showArtworkTitle)
					set theCheckBox to some checkbox whose title is alwaysShowTitle
					set alwaysShowArtworkCheckBoxNeedsEnabling to (the value of theCheckBox is 0)
					if enableAlwaysShowArtwork then
						if alwaysShowArtworkCheckBoxNeedsEnabling then click theCheckBox
					else
						if not alwaysShowArtworkCheckBoxNeedsEnabling then click theCheckBox
					end if
					--
					
				end tell
			else
				display dialog "Try opening the View options first"
			end if
		end tell
	else
		tell application "System Preferences"
			activate
			set current pane to pane "com.apple.preference.universalaccess"
			display dialog "UI element scripting is not enabled. Check \"Enable access for assistive devices\" " & return & return & " (\"Zugriff für Hilfsgeräte aktivieren\")"
		end tell
	end if
end tell

on systemLanguage()
	set appleLanguages to do shell script "defaults read NSGlobalDomain AppleLanguages"
	tell application "System Events" to set languageList to the value of (make new property list item with properties {text:appleLanguages})
	return the first item of the languageList
end systemLanguage
 
Zurück
Oben Unten