2009-02-10 10 views
7

गंभीरता से, मैं यह भी पूछने के लिए शर्मिंदा हूं।एप्पलस्क्रिप्ट प्रश्न - प्लेलिस्ट में ट्रैक जोड़ना

मुझे एक एप्पलस्क्रिप्ट मिला है जो पूरे एल्बम के समूह की एक प्लेलिस्ट बनाना है। वास्तव में प्लेलिस्ट में ट्रैक जोड़ने के अलावा, सब कुछ ठीक काम करता है। यहाँ प्रासंगिक कोड है:

repeat with theAlbum in randAlbums 
    set these_tracks to (tracks of library playlist 1 whose album is theAlbum) 
    repeat with the_track in these_tracks 
     add the_track to playlist thePlaylist (* doesn't work *) 
    end repeat 
end repeat 

त्रुटि मैं मिलता है "आइट्यून्स त्रुटि मिली है:। का वर्णन प्रदाता प्रकार मेल नहीं खाता हुई"

रैंडअल्बम्स अद्वितीय एल्बम नामों की एक सूची है, और प्लेलिस्ट एक प्लेलिस्ट है जो पहले लिपि में बनाई गई थी।

मैं इसके खिलाफ अपने सिर को टक्कर दे रहा हूं कि एक सप्ताह की तरह क्या लगता है और मैं इसे समझने में सक्षम नहीं हूं। अग्रिम धन्यवाद किसी भी सहायता के लिए आप की पेशकश कर सकते :)

उत्तर

8

डुप्लिकेट है आदेश जो आप चाहते हैं। इस प्रयास करें:

repeat with theAlbum in randAlbums 
    duplicate (tracks of library playlist 1 whose album is theAlbum) to thePlaylist 
end repeat 

आइट्यून्स इंटरफ़ेस add के भीतर, एक फाइल सिस्टम पथ का उपयोग कर iTunes पुस्तकालय के लिए एक नया ट्रैक जोड़ने के लिए है, जबकि duplicate एक प्लेलिस्ट में पहले से मौजूद ट्रैक के लिए एक संदर्भ देने के लिए उपयोग किया जाता है।

जब एड कमांड का उपयोग किया जाता है तो आईट्यून्स अंततः यह पता लगाएंगे कि ट्रैक पहले से ही लाइब्रेरी का हिस्सा है और जो भी आप चाहते हैं, लेकिन फ़ाइल के मेटाडेटा को पढ़ने से पहले, एल्बम कला पुनर्प्राप्ति आदि के लिए इसे शेड्यूल नहीं करता है। यह एक बहुत धीमी गति से ऑपरेशन की मात्रा है, इसलिए यदि आप बड़ी संख्या में ट्रैक के लिए लूप के भीतर इसका उपयोग कर रहे हैं तो आईट्यून्स क्रॉल में धीमा हो जाएंगे।

डुप्लिकेट मूल डेटाबेस लुकअप करता है और परिणाम को प्लेलिस्ट में एक साथ जोड़ता है ताकि यह बहुत तेज़ हो।

0

Apple स्क्रिप्ट वास्तव में अजीब है ... लेकिन स्क्रिप्ट here dougscripts.com

लग रहा है वह उपयोग करता नकल और जब प्लेलिस्ट में जोड़ने नहीं जोड़ने की तरह चेकआउट। मैं One Song From Each स्क्रिप्ट

हमम ... के बारे में देख रहा हूं?

add (a reference to the_track) to playlist thePlaylist 
+0

मैंने डॉग की साइट पर स्क्रिप्ट के कई * प्रेरणा और/या इस बात को हल करने के लिए एक सुराग के रूप में देखा है, लेकिन इसका कोई फायदा नहीं हुआ है। धन्यवाद हालांकि :) – inkedmn

+0

हाँ, मुझे वास्तव में वह स्क्रिप्ट भी खुली है। दुर्भाग्यवश, 'डुप्लिकेट' मुझे एक ही त्रुटि देता है: \ – inkedmn

0

है कि लाइन बदलने का प्रयास करें:

add (get location of the_track) to playlist thePlaylist 

या, यदि thePlaylist पहले से ही एक प्लेलिस्ट संदर्भ (एक प्लेलिस्ट का सिर्फ स्ट्रिंग नाम की बजाय) है:

add (get location of the_track) to thePlaylist 
+0

जब मैं ऐसा करता हूं, तो मुझे यह त्रुटि मिलती है: "आईट्यून्स को एक त्रुटि मिली: उपनाम \" मैकिंतोश एचडी: उपयोगकर्ता: inkedmn: संगीत: आईट्यून्स: आईट्यून्स संगीत: विजन विकार: ब्लीडर्स के लिए: 01 Choke.mp3 \ "जोड़ संदेश को समझ में नहीं आता है।" कोई अन्य विचार? धन्यवाद! – inkedmn

0

प्रयास करें:

copy the_track to end of playlist thePlaylist 
बजाय

संबंधित मुद्दे