itunes genre taggen

kingzorro

kingzorro

Mitglied
Thread Starter
Dabei seit
29.08.2005
Beiträge
83
Reaktionspunkte
0
hi!
habe leider noch nicht die zeit gefunden mir applescript beizubringen. werd ich aber sicher mal finden (die zeit). jetzt stehe ich leider vor einem problem das nicht schwer lösbar sein dürfte, behersche man nur AppleScript (automator is zu wenig flexibel).

die genre information steht plaintext formatiert im netz, nach dem muster http://xxx/$artist.txt zur verfügung. inhalt dieser datei immer zB "empfehlenswerter rock".
wie bekomme ich jetzt diese eine information, für jeweils alle artists in das genre feld.
anundfürsich nur 1 schleife. (soweit ich das von php gewohnt bin;) )
also nochmal ganz einfach:

wie schreibt man in applescript:

alle itunes titeln durchlaufen {
http://www.xxx.xxx/"aktuellen artist".txt ins genre schreiben
}

währe sehr dankbar.
mfg & schönen abend.
dor
 
Hallo,

hier schon einmal der erste Teil:

Code:
tell application "iTunes"
	
	set sel to selection
	
	
	
	if sel is {} then
		display dialog "Keine Auswahl getroffen." buttons {"OK"} default button 1 with icon 1
	else
		with timeout of 30000 seconds
			repeat with naechterTrack in sel
				
				try
					set naechterTrack's genre to "test"
				end try
				
				
			end repeat
		end timeout
	end if
	
end tell

Die Datei mußt Du herunterladen und lesen.
Das ist nicht so schwierig. Leider habe ich gerade keine Zeit.

Viel Erfolg.

Viele Grüße
 
vielen vieln dank schon mal an little_pixel für den teil des ganzen.
was jetzt noch gebraucht wird is hier:
Code:
				try
					set naechterTrack's genre to "test"
				end try
noch irgendwie "test" mit dem inhalt der datei "http://xxx.com/+artistname+albumname+.txt zu ersetzen.
kann mir das noch wer reinklopfen?
und kann man eventuell noch ne art ganz ganz simple statusanzeige ausgebn? so einfach nur zB 33 von 211 fertiggestellt?

vielen lieben dank schonmal.

was kann man für den applescript einstieg empfehlen? inet tutorials, bücher usw.
 
Hallo,

wenn Du mir verätst, woher Du die Information beziehst, dann setze ich es um ;-)
Habe selbst daran persönliches Interesse.

Viele Grüße
 
dachte in erster linie an last.fm.
man kann sich aber auch andere quellen ansehen.

last.fm ist halt das größere. versuche aber genres durch das php script zusammenzufassen. zb wenn der tag hiphop und german vorkommt egal in welcher kombination zusammengefasst nach "hiphop-german".
 
Okay,

ich werde es Morgen Abend in Angriff nehmen.
Das Resultat dürfte für viele User vom Nutzen sein.

Viele Grüße
 
auf jeden fall. thx schon mal.
eventuell (und nur falls es nicht übermäßig viele umstände bereitet!) die songs nicht aus einer selection sonder aus einer playlist bearbeiten ...
 
Hallo,

ich habe es soeben fertiggestellt.
Habe es mit meinem Server getestet, und es funktioniert einwandfrei.

Bitte tätige folgende Schritte:

- Lade Dir die Datei (das Skript) herunter
- Öffne Sie im SkriptEditor
- Setze den gewünschten DomainNamen
- Versuche es dann an ein paar Dateien

Es werde nur markierte Dateien "getagt". Später können wir dann Playlisten mit einbinden.

Von welchem Server Du die Information erhältst verstehe ich leider nicht.
Zeige mir dann bitte ein Beispiel.

Bekannter Bug: ;-)
Ich lese in der Textdatei den gesamten Inhalt. Ich gehe davon aus, dass nur "Pop" oder "Rock" oder so steht. Ist mehr enthalten, so wird das Genre sehr lang :)
Kann man dann noch beheben

Viele Grüße

Für alle, die am Quelltext Interesse haben:

Code:
global urlServer
set urlServer to "http://meineVerbindung.de/"

-- Hier ein Beispiel:
-- http://meineVerbindung.de/interpret.txt
-- Die Information des Interpreten wir aus dem ID3-Tag entnommen
--
-- 19. Januar 2007


tell application "iTunes"
	set neuesGenre to ""
	set derInterpret to ""
	set pfadZurDatei to ""
	set ordnerangelegt to false
	
	set sel to selection
	
	if sel is {} then
		display dialog "Keine Auswahl getroffen." buttons {"OK"} default button 1 with icon 1
	else
		with timeout of 30000 seconds
			repeat with naechterTrack in sel
				
				try
					set derInterpret to artist of naechterTrack
					set pfadZurDatei to ((path to desktop folder) & "TagGenre:" & derInterpret & ".txt") as string
				end try
				
				tell application "Finder"
					if ordnerangelegt is false then
						try
							make new folder at (path to desktop folder) with properties {name:"TagGenre"}
							set ordnerangelegt to true
						end try
					end if
					if exists file pfadZurDatei then
						try
							--Genre aus Datei			
							set neuesGenre to my DateiLesen(pfadZurDatei)
						end try
					else
						--Datei herunter laden und auslesen
						try
							-- Genre aus der Datei auslesen
							my dateiHerunterladen(derInterpret, pfadZurDatei)
							set neuesGenre to my DateiLesen(pfadZurDatei)
						end try
						
					end if
				end tell
				
				try
					if neuesGenre is not "" then
						set naechterTrack's genre to neuesGenre
					end if
				end try
				
				--Nullen
				set neuesGenre to ""
				set derInterpret to ""
				set pfadZurDatei to ""
				
			end repeat
		end timeout
	end if
	
end tell

on DateiLesen(pfadZurDatei)
	tell application "Finder"
		try
			set dasDownFile to (file pfadZurDatei) as alias
			open for access dasDownFile
			set derInhalt to (read dasDownFile)
			close access dasDownFile
			return derInhalt
		end try
	end tell
end DateiLesen

on dateiHerunterladen(derInterpret, pfadZurDatei)
	try
		with timeout of 30000 seconds
			set urlPfad to (urlServer & derInterpret & ".txt") as text
			
			tell application "URL Access Scripting"
				download urlPfad to file pfadZurDatei
			end tell
		end timeout
	on error
		with timeout of 30000 seconds
			set urlPfad to (urlServer & derInterpret & ".txt") as text
			
			tell application "URL Access Scripting"
				download urlPfad to file pfadZurDatei
			end tell
		end timeout
	end try
end dateiHerunterladen
 
Zuletzt bearbeitet:
Anhang
 

Anhänge

  • GenreAusDemNetz.zip
    6,1 KB · Aufrufe: 87
fein fein!
funktioniert ja schonmal ganz gut!
hier die tags:
http://www.wogri.at/hudschgale/extern_lastfm/import.php?s=mr.bungle
(einstweilen steht vor dem tag noch "lastfm_" dient nur dem zweck zu sehen was getaggt wurde und was nicht.)
wie gesagt beziehe sie derzeit nur von last.fm mithilfe einer genre liste werden zusätzlich punkte vergeben tag "namen" zu bevorzugten.
kommen aber noch einige funktionen hinzu.
hier kann man sehen welche tags reinkommen und daneben das punktesystem nach dem sortiert wird:

http://www.wogri.at/hudschgale/extern_lastfm/import.php?show=1&s=mr.bungle

wird natürlich noch um einiges ausgebaut.

falls der werte herr little_pixel noch etwas zeit übrig hat hätte ich noch ein paar bitten.
1. währe es möglich mithilfe einer variable die den letzten vom internet abgerufen interpreten speichert, somit müsste man wenn man eine liste von gleichen interpreten hat nur einmal den genre namen runterladen.
EDIT: Bzw währ es am einfachsten zu überprüfen ob bereits eine mit dem artist-namen heruntergeladen wurde!
2. ein ganz kleines fenster mit aktuell bearbeiten track anzeigen oder einfach nur nr. von insgesamt.

thx jedenfalls für das script. hab schon lang darüber nachgedacht last.fm tags ins itunes zu bringen.

hava nice day.
dor
 
Zuletzt bearbeitet:
schon wer ausprobiert? oder kein interesse?
http://www.wogri.at/hudschgale/extern_lastfm/
Code:
###############################
##    gimmmelastfmtag v0.1   ##
###############################

this script tags ya itunes library by the tags of last.fm
this is just beta. love it.
(das ganze ist noch experimentel wie steinzeitkrebse!
funktioniert aber schon mal fine!)

download:
http://www.wogri.at/hudschgale/extern_lastfm/gimmelastfmtags.app

howtouse:
select tracks in itunes.
start app.

errorcodes:
#1 caused by audioscrobbler webapi!
#2 this artist has no tags at last fm.
#3 this artist has no tag which seems to be a music genre. 
     (compared by my music-genre list)

serverscript by docdor
thx to little_pix for applescripting
 
Funktioniert Super

Hi,

bin total begeistert. Habe den Quelltext etwas angepasst und jetzt als Skript in iTunes drin. Das App startete bei mir auch nicht, aber das Skript läuft schnell und einwandfrei. Folgende Anpassungen habe ich am Quelltext vorgenommen:

1. URL geändert in "http://www.wogri.at/hudschgale/extern_lastfm/import.php?s="
2. überall wo derInterpret & ".txt" stand, einfach das & ".txt" weggemacht.

Das ganze ist jetzt natürlich abhängig von Deiner PHP Datei kingzorro. Dementsprechend steht auch immer (last.fm) in den Tags mit drin. Könntest Du mir sagen, auf welche Quelle sich dein PHP Code bezieht? Also wie kriegt man von Last.fm die entsprechenden Tags?

Danke schonmal für das bisherige Skript.

Hier das Skript, wie es bei mir funktioniert (müsste eigentlich universell sein):
Code:
global urlServer
set urlServer to "http://www.wogri.at/hudschgale/extern_lastfm/import.php?s="

-- abgeändertes Skript, für weitere info siehe https://www.macuser.de/forum/showthread.php?p=2835073
-- 26. Oktober 2007


tell application "iTunes"
	set neuesGenre to ""
	set derInterpret to ""
	set pfadZurDatei to ""
	set ordnerangelegt to false
	
	set sel to selection
	
	if sel is {} then
		display dialog "Keine Auswahl getroffen." buttons {"OK"} default button 1 with icon 1
	else
		with timeout of 30000 seconds
			repeat with naechterTrack in sel
				
				try
					set derInterpret to artist of naechterTrack
					set pfadZurDatei to ((path to desktop folder) & "TagGenre:" & derInterpret) as string
				end try
				
				tell application "Finder"
					if ordnerangelegt is false then
						try
							make new folder at (path to desktop folder) with properties {name:"TagGenre"}
							set ordnerangelegt to true
						end try
					end if
					if exists file pfadZurDatei then
						try
							--Genre aus Datei			
							set neuesGenre to my DateiLesen(pfadZurDatei)
						end try
					else
						--Datei herunter laden und auslesen
						try
							-- Genre aus der Datei auslesen
							my dateiHerunterladen(derInterpret, pfadZurDatei)
							set neuesGenre to my DateiLesen(pfadZurDatei)
						end try
						
					end if
				end tell
				
				try
					if neuesGenre is not "" then
						set naechterTrack's genre to neuesGenre
					end if
				end try
				
				--Nullen
				set neuesGenre to ""
				set derInterpret to ""
				set pfadZurDatei to ""
				
			end repeat
		end timeout
	end if
	
end tell

on DateiLesen(pfadZurDatei)
	tell application "Finder"
		try
			set dasDownFile to (file pfadZurDatei) as alias
			open for access dasDownFile
			set derInhalt to (read dasDownFile)
			close access dasDownFile
			return derInhalt
		end try
	end tell
end DateiLesen

on dateiHerunterladen(derInterpret, pfadZurDatei)
	try
		with timeout of 30000 seconds
			set urlPfad to (urlServer & derInterpret) as text
			
			tell application "URL Access Scripting"
				download urlPfad to file pfadZurDatei
			end tell
		end timeout
	on error
		with timeout of 30000 seconds
			set urlPfad to (urlServer & derInterpret) as text
			
			tell application "URL Access Scripting"
				download urlPfad to file pfadZurDatei
			end tell
		end timeout
	end try
end dateiHerunterladen
 
update

habe nun nach längerer zeit das script komplett neu gestaltet.
und zwar gibt es einige neue features.

http://www.wogri.at/hudschgale/gimmetags/

die tagauswahl wurde verfeinert. sprich unpassende tags kommen sehr selten vor. nach dem motte lieber weniger jedoch richtig

es werden länder informationen erkannt. (bedarf noch einiger überarbeitung)

es wird ein GENRE ausgegeben das direkt in itunes weiterverwendet werden kann!

daten werden gecached!

einstweilen basiert alles rein auf dem webscript.
es gibt jedoch ein simple schnittstelle. die mit applescript weiterverarbeitet werden kann. jedoch bräuchte ich noch unterstützung in der applescript programmierung.

Weitere pläne:
Benutzterregistration. um mit den daten die man taggt sozusagen online ein spiegelbild seiner musikbibliothek bekommt. (kann für blogs usw weiterverarbeitet werden)
 
Hallo,

ich würde Dich da sehr gerne unterstützen!
Bitte schreibe mich an, dann können wir das gemeinsam besprechen.

Viele Grüße
 
ein weiteres anliegen hätte ich noch: falls jemand resultate bekommt die nicht stimmen bitte sofort melden.

werde noch ne funktion einbauen mit der man das sofort auf der seite machen kann.

UPDATE: Genre Comedy hinzugefügt
für den mittermeier typen ;)
 
Verwirrung

Hi,

bin im Moment etwas verwirrt, was das Taggen angeht. Ursprünglich ging´s ja um das Thema, wie man seinen Titel in iTunes automatisch Genres zuordnet. Das ging bislang mit dem geposteten Skript in Verbindung mit der Adresse http://www.wogri.at/hudschgale/extern_lastfm/import.php?s=artist

Jetzt gibt´s die Seite
http://www.wogri.at/hudschgale/gimmetags/
und die "alte" Adresse funktioniert nicht mehr. Was ich mich jetzt frage ist, wie taggt die neue Adresse meine Titel automatisch?
 
Hi,

bin im Moment etwas verwirrt, was das Taggen angeht. Ursprünglich ging´s ja um das Thema, wie man seinen Titel in iTunes automatisch Genres zuordnet. Das ging bislang mit dem geposteten Skript in Verbindung mit der Adresse http://www.wogri.at/hudschgale/extern_lastfm/import.php?s=artist

Jetzt gibt´s die Seite
http://www.wogri.at/hudschgale/gimmetags/
und die "alte" Adresse funktioniert nicht mehr. Was ich mich jetzt frage ist, wie taggt die neue Adresse meine Titel automatisch?

berechtigte frage ;)

es wird in 1-2 wochen eine eigenes programm dafür geben, das die tags bzw genres wie im webservice (http://www.wogri.at/hudschgale/gimmetags) ins itunes füttert.

das vorherige script war etwas ähnliches, jedoch in einer viel früheren phase. es gab keine klaren genre zuordnungen und keine klar definierten musik tags. was zur folge hätte das das risiko interpreten mit falschen tags zu versehen sehr hoch machte.

durch das neue und aktuelle serverscript werden nicht nur genres (derzeit in übersichtliche 15) sondern auch TAGS mit informationen für related artists sowie subgenres ins kommentarfeld geschrieben.
wir arbeiten noch an der optimierung der datenauswertung bzw eines userregistrationsystems um den (doch sehr hohen) daten traffich überschaubar zu halten.

das ganze wird erstmals ein freeservice sein. wenn also jemand interesse hat an dem projekt mitzuwirken bitte bei mir melden.
es würden auf jedenfall leute mit umfangreicher ahnung im gebiet musik gebraucht werden für das datenauswertungsscript. aber auch webentwickler (php, javascript) bzw osx programmierer würden wir begrüßen ;) also wer meint er kann etwas zu diesem projekt beitragen, lust und laune hat -> PN an mich.

sofar version 1 startet - wenn alles klappt - so gegen 20.nov.

gg-trailer.jpg


//EIDIT: einstweilen geht es auf jedenfall mal darum mit dem webscript zu testen wie richtig die ausgegben daten sind, bevor man das ganze auf eine "wirkliche" musikbibliothek eines users loslässt.
 
Zuletzt bearbeitet:
Status Quo

hallo

hier mal ein zwischenbericht, entschuldigt meine unhöflichkeit, den thread einfach so versumpfen zu lassen.

das projekt stellt sich als schwieriger heraus als es eigentlich ist.

grundsätzlich sind folgende standbeine ungeklärt:

- genres sind nirgendwo wirklich definiert. das wort genre beschreibt eine stielrichtung, welche meist sehr aus dem betrachtungsblickwinkel abhängt.

=> daraus resultiert das ein interpret wohl falsch einsortiert werden kann, nicht aber richtig.

- es gibt keine definierte genre tiefe. dH ist martieria nun "rap", "hip-hop", "deutscher hiphop" ... usw.
=> es müssen grenzen gesetz werden um einen sound auf ein wort aus einer bestimmten anzahl an wörtern festzunageln.

nach dem motto: viele leute sagen etwas zu einem thema, treffend ist das meistgenannte (?). man erkennt, es bildet sich ein ergebniss, welches die masse zufriedenstellt, nicht aber das zielpublikum des projektes, welches sich eher an musik-spezialisten richtet.

grundsätzlich bietet sich an diese daten auf einem zentralen punkt zu lagern und zu verwalten, da die, für den rhythmus sehr rechenintensive, zuweisung von genres sonst unsinniger weise mehrmals client-seitig durchgeführt werden muss.

es gibt bereits einen weitere, jedoch ebenfalls noch sehr frühe version der server-script, welche unter vorbehalt im folgenden link online erreichbar ist.
es dient derzeit jedoch rein der entwicklung und veranschaulichung von möglichkeiten als dem gebrauch in jeder weise.

http://milk.wogri.at/gimmetags/master.php?p=search

der client schickt also anfragen an eine serverdatenbank in form von interpreten und erhält die angeforderte infotmation.
hier befinden wir uns beim zweiten kernproblem.

was passiert mit der information.
einerseits kann sie über den client in die itunes biblithek (projektbeteilige in meisenfällen osx nutzer, wir werden uns jedoch keinesfalls darauf beschränken. wenn interessiert & fähig bitte melden!) eingepflegt werden, was sich aber bei größeren bibliotheken als äuserst zeitlastig erwies.
die möglichkeit wäre natürlich grundsätzlich attraktiv aufgrund der "alltagstauglichkeit" von itunes, ipod und smartplaylisten.
Gedankenanstoß: Kommentarfeld: "t:rap: t:hiphop: s:german:"; "smartplaylist all WHERE kommentar enthält "t:rap:" && "s:english:"

die zweite variante wäre einen eigenen client zu entwickeln, der mittels itunes xml die datenbank "reproduzieren" kann, sie mit information angereichert über playlisten zurück an itunes gibt.
diese variante würde natürlich sehr viele möglichkeiten mehr bieten (allem voran die interaktion zwischen server und client) und wäre um sehr viel schneller.

eine beta version der ersten variante mit serveranbindung ist bereits entwickelt worden.

in ersterlinie für meine persönlichen gebrauch ;) ist auf jedenfall für musikjunkies von musikjunkies.

derzeit wird das serverscript koplett neu überdacht. sobald genug "handfestes" besteht werd ich mal eine projekt&code doku hochladen. ideen willikommen :)
 
Zurück
Oben Unten