iTunes Wiedergabelisten exportieren

A

auto01

Aktives Mitglied
Thread Starter
Dabei seit
20.10.2004
Beiträge
125
Reaktionspunkte
3
Hallo,

ich möchte in iTunes erstellete Wiedergabelisten auf einen anderen Computer exportieren. Ich habe bis jetzt nur die Möglichkeit gefunden die Dateilisten zu exportieren. Nicht aber die Dateien selber.
Der Hintergrund ist, ich möchte einige meiner Wiedergabelisten auf meinen Laptop kopieren und sie dann auch ohne Netzwerkverbindung abspielen. Ich möchte sie aber möglichst nicht einzeln im Finder kopieren, sondern im Block, aber nicht die gesamte Biblithek.
 
Hi,
die Wiedergabeliste enthält ja nur Links zu deiner Bibliothek. Also müssen zuerst mal die Stücke selber auf dem anderen Rechner sein, dann kannste noch immer die Wiedergabeliste exportieren und dort einfügen und dann müssten alle Stücke drin sein. Die Liste exportierst du als .xml Datei.
LG
 
moranibus schrieb:
Hi,
die Wiedergabeliste enthält ja nur Links zu deiner Bibliothek. Also müssen zuerst mal die Stücke selber auf dem anderen Rechner sein, dann kannste noch immer die Wiedergabeliste exportieren und dort einfügen und dann müssten alle Stücke drin sein. Die Liste exportierst du als .xml Datei.
LG

Ja, das ist es ja, ich möchte nicht alle Files einzeln raussuchen. Das sind mir zu viele.

Ich habe aber festgestellt, dass ich einfach nur in iTunes alle Stücke markieren brauche und sie dann in einen neuen Ordner im Finder ziehen brauche. Dann werden die Dateien in die Ordner kopiert. Das ist das, was ich wollte.
 
Hi,

so mache ich das auch immer. Einfach markieren und per drag & drop kopieren. :D

Leider habe ich festgestellt, dass wenn Titel mit gleichen Namen in der Auswahl enthalten sind, der Kopiervorgang abbricht.

Also wenn z.B. White Christmas von Sinatra und einmal von Martin dabei ist, dann bricht er mittendrin ab, da die Files nur den Titel als Namen tragen.

Weiß jemand wie man das umgehen kann ohne manuelles umbenennen?
gtx,
pheno
 
hallo,

versuchs doch mal auf Doug's Seite mit Scripts für iTunes

http://www.dougscripts.com/itunes/

Unter Managing Files gibt's ein Script "Sync Playlist Files to Folder". Vielleicht hilft dir das ja weiter. Du must zwar die Playlist im Script selbst hardcoden, aber dann kannst du zu dieser Playlist alles zufügen was du willst und mit einem Verzeichnis syncen.

HTH,
skl
 
Hi,

das ist das gleiche in grün!
Hab's eben auch mit dem Script kopiert, aber es funktioniert auch nicht.
Das Problem ist folgendes. iTunes nutzt ja eine Ordnerstruktur nach dem Muster

Interpret
|
---Album
|
----Titel

Wenn jetzt aber zwei verschiedene Interpreten den gleichen Titelnamen haben ist der Filename unter Umständen bei beiden z.B. "Silent Night.mp3". Macht ja auch nix, da die Files in unterschiedlichen Ordnern sind, aber wenn ich das jetzt kopiere, bricht der Vorgang ab oder mit dem Script wird der eine Titel überschrieben.

Wenn es jetzt die Möglichkeit gäbe, dass der Filename, beim Kopieren per drag & drop, sich aus Interpret & Titel zusammensetzt, dann würde das mein Problem lösen!

Hat irgendjemand eine Idee??? :confused:
thx,
pheno
 
Zuletzt bearbeitet:
So, da mir anscheinend keiner weiterhelfen konnte, habe ich mir selbst eine Lösung gebaut.

Ich habe mir auf der Doug's iTunes Scripts Seite ein Script runtergeladen, das eine Playlist mit einem Ordner synchronisiert.

Allerdings habe ich das mehr oder weniger umgeschrieben und zwar war die Playlist und der Zielordner fest als Parameter angegeben!

Ich habe es so geändert, dass die Playlist in iTunes ausgewählt wird und der Zielordner per Finder-Dialogfenster ausgesucht werden kann.
Weiterhin werden die Files im Zielordner umbenannt nach dem Schema: [Artist] - [Titel].mp3
sodass auch bei doppelten Titeln kein Problem auftritt.

Bei Interesse an dem Script einfach melden, dann poste ich das hier.
gtx,
pheno :D
 
hi,

irgendjemand hatte nach dem script gefragt also poste ich es hier.

Code:
--
-- SUPER PLAYLIST SYNC
-- 
global path_to_folder
property track_separator : " - "
property extension_separator : "."

-- =========================================

-- if iTunes is not running, then exit
--tell application "System Events" to if (name of every process) does not contain "iTunes" then return

-- init some lists...
set filenames_in_folder to {}
set track_filenames to {}
set track_locations to {}

tell application "Finder"
	--activate
	--hide any other active application windows
	--set visible of every process whose name is not "Finder" to false
	set path_to_folder to (choose folder)
end tell

tell application "iTunes"
	set current_view to get view of first window
	set the_playlist to get current_view's name
end tell

tell application "Finder"
	try
		repeat with this_file_alias in (get every file of folder (path_to_folder))
			set end of filenames_in_folder to my get_filename_from_filepath(this_file_alias as string)
		end repeat
	end try
end tell

tell application "iTunes"
	repeat with this_track in (get every track of playlist the_playlist)
		
		if class of this_track is file track then
			try
				set loc to this_track's location
				set end of track_locations to (loc as string)
				--set end of track_filenames to my get_filename_from_filepath(loc)
				set end of track_filenames to my get_artist_title_from_track(this_track)
			end try
		end if -- not file track
	end repeat
end tell

-- check if any files in folder are in the playlist...otherwise delete
repeat with this_file in filenames_in_folder
	if this_file is not in track_filenames then delete_from_folder(this_file)
end repeat

-- check if any file tracks are in the folder...otherwise add to folder
repeat with i from 1 to length of track_filenames
	set this_file_track to item i of track_filenames
	if this_file_track is not in filenames_in_folder then add_to_folder(item i of track_locations, this_file_track)
end repeat

-- HANDLERS
to get_filename_from_filepath(fp)
	if (class of fp) is not string then set fp to (fp as string)
	tell application "Finder" to return name of (get info for file fp)
end get_filename_from_filepath

to delete_from_folder(this_file)
	try
		do shell script "cd " & (quoted form of POSIX path of path_to_folder) & "; rm " & (quoted form of this_file)
	on error m
		log m
	end try
end delete_from_folder

to add_to_folder(this_file, new_file)
	try
		--		set new_name to this_file as string
		--		display dialog "new name:" & new_name buttons {"OK"}
		--		set new_name to quoted form of POSIX path of new_name
		--		display dialog "posix name:" & new_name buttons {"OK"}
		set new_name to (path_to_folder & new_file) as string
		--		set new_name to quoted form of POSIX path of new_name
		
		do shell script "cp " & (quoted form of POSIX path of this_file) & " " & (quoted form of POSIX path of new_name)
	on error m
		log m
	end try
end add_to_folder

to get_artist_title_from_track(t_track)
	tell application "iTunes"
		set loc to t_track's location
		if (class of loc) is not string then set loc to (loc as string)
		set track_artist to the artist of t_track --get the artist name
		set track_title to the name of t_track --get the track title
	end tell
	
	tell application "Finder"
		set track_extension to name extension of (get info for file loc) --get the extension of track's file name
	end tell
	
	return track_artist & track_separator & track_title & extension_separator & track_extension
end get_artist_title_from_track

falls ihr noch fragen habt, dann immer her damit.
gtx,
pheno
 
  • Gefällt mir
Reaktionen: raily74
Hi - danke für das Skript. Optimal wäre noch, wenn dem Dateinamen eine Nummer vorangestellt wird, so dass die Reihenfolge immer der Reihenfolge der Playlist entspricht.

edit: So, jetzt passts:

Code:
global tc
tell application "iTunes"
    if selection is not {} then
        set sel to a reference to selection
        set choose_folder_prompt to ("Select a folder to copy the selected tracks to...")
        set new_site to (choose folder with prompt choose_folder_prompt)
        if new_site is not false then
            set tc to 0
            with timeout of 30000 seconds
                repeat with f in sel
                    if f's class is file track then
                        set fpath to (get f's location)
                        tell me to move_it(fpath, new_site)
                    end if -- skip if incorrect type of track
                end repeat
            end timeout
        end if -- cancel from choose folder
    else
        display dialog fpath buttons {"Cancel"} default button 1 with icon 0
    end if -- no selection
end tell

to move_it(fpath, new_site)
    tell application "Finder"
        try
            duplicate file fpath to folder new_site with replacing
            set newName to (tc & (name of file fpath)) as Unicode text
            
            set newFile to duplicate file fpath to folder new_site with replacing
            if tc is less than 10 then
                set name of newFile to ("0" & tc & "__" & (name of file fpath)) as Unicode text
            else
                set name of newFile to (tc & "__" & (name of file fpath)) as Unicode text
            end if
            set tc to tc + 1
        on error eM number eN
            display dialog "Error " & eN & return & eM with icon 2
        end try
    end tell
end move_it

Schön wäre jetzt noch, wenn auch gleich noch eine m3u oder halt eine andere Playlist-Datei aus diesem Ordner erzeugt wird. Momentan hab ich leider keine Zeit, falls jemand anders etwas Power in das Skript bringen möchte, wäre ich ihm dankbar.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: raily74
Sehr komfortabel geht das auch mit dem Prog iTunesFS (Freeware).
 
Super - genau das habe ich gesucht. Vielen Dank
 
Hallo,

habe eine Vorgehensweise, die auch die Verzeichnisstruktur erhält (s.u.). Hatte iTunesFS ausprobiert, aber es nicht dazu bringen können, die Struktur der Unterordner (Interpret/ Albumname/00 Titelname.Art) wieder herzustellen.

So geht es - klingt zwar kompliziert, ist aber recht straightforward -:
1.
In iTunes Rechtsklick auf die zu duplizierende Wiedergabeliste und "Titelliste exportieren" als XML in ein beliebiges Verzeichnis; iTunes beenden.
2.
(Für alle Fälle) Sicherheitskopie von "iTunes Library" und "iTunes Music Library.xml" anlegen.
3.
iTunes bei gedrückter Alt(Option)-Taste neu starten und neue iTunes Bibliothek am Zielort anlegen: iTunes öffnet mit leerer Bibliothek. In den iTunes Einstellungen ist nun unter "Erweitert" das Unterverzeichnis "iTunes Music" des gerade angegebenen Zielorts als Speicherort eingetragen. Optionen "iTunes-Musik-Ordner verwalten" und "Beim Hinzufügen ..." aktivieren.
4.
Über "Ablage - Mediathek - Wiedergabeliste importieren" die exportierte Titelliste anwählen. Danach werden die Dateien vom alten an den neuen Speicherort kopiert, incl. Verzeichnisstruktur. iTunes beenden.
5.
iTunes bei gedrückter Alt(Option)-Taste neu starten und wieder die alte iTunes Bibliothek
auswählen - alles sollte so sein wie zuvor ...

... funktioniert bei mir mit iTunes 8.0.1 unter OS X 10.5.5; bei früheren Versionen mag das anders sein.
Grüße
Wolfgang
 
  • Gefällt mir
Reaktionen: bolshi
Zurück
Oben Unten