मुझे इस सटीक चीज़ की आवश्यकता थी, और मुझे भी यह एहसास हुआ कि म्यूटेगन इस तरह की चीज करने के लिए एक दूर पर्याप्त अमूर्त नहीं है। सौभाग्य से, उत्परिवर्तन के लेखकों को इसे अपने मीडिया प्लेयर QuodLibet के लिए आवश्यक था।
मैं इसे कैसे उपयोग करने के लिए पता लगाने के लिए QuodLibet स्रोत के माध्यम से खुदाई करने के लिए किया था, लेकिन एक बार मैं यह समझ, मैं एक उपयोगिता sequitur कहा जाता है जो ExFalso (QuodLibet की टैगिंग के लिए एक कमांड लाइन बराबर होने का इरादा है लिखा था घटक)। यह इस अमूर्त तंत्र का उपयोग करता है और कुछ अतिरिक्त अमूर्तता और कार्यक्षमता प्रदान करता है।
यदि आप स्रोत को देखना चाहते हैं, here's a link to the latest tarball। पैकेज वास्तव में तीन कमांड लाइन स्क्रिप्ट्स का एक सेट है और क्यूएल के साथ इंटरफेसिंग के लिए एक मॉड्यूल है। आप पूरी बात को स्थापित करना चाहते हैं, तो आप उपयोग कर सकते हैं:
easy_install QLCLI
एक बात ध्यान में के बारे में exfalso/quodlibet (और फलस्वरूप sequitur) रखने के लिए कि वे वास्तव में ठीक से ऑडियो मेटाडाटा को लागू है, जिसका अर्थ है कि सभी टैग समर्थन एकाधिक मान (जब तक फ़ाइल प्रकार इसे प्रतिबंधित नहीं करता है, जो कि बहुत से नहीं होते हैं)।
print qllib.AudioFile('foo.mp3')['artist']
विल नहीं उत्पादन एक एकल स्ट्रिंग उत्पादन की तरह स्ट्रिंग की एक सूची है, लेकिन जाएगा:
[u'The First Artist', u'The Second Artist']
जिस तरह से आप इसका इस्तेमाल कर सकते हैं टैग कॉपी करने के लिए की तरह कुछ हो जाएगा तो, की तरह कुछ कर रही:
import os.path
import qllib # this is the module that comes with QLCLI
def update_tags(mp3_fn, flac_fn):
mp3 = qllib.AudioFile(mp3_fn)
flac = qllib.AudioFile(flac_fn)
# you can iterate over the tag names
# they will be the same for all file types
for tag_name in mp3:
flac[tag_name] = mp3[tag_name]
flac.write()
mp3_filenames = ['foo.mp3', 'bar.mp3', 'baz.mp3']
for mp3_fn in mp3_filenames:
flac_fn = os.path.splitext(mp3_fn)[0] + '.flac'
if os.path.getmtime(mp3_fn) != os.path.getmtime(flac_fn):
update_tags(mp3_fn, flac_fn)
स्रोत
2009-03-30 22:04:09
आप हमेशा ऐसे खिलाड़ी का उपयोग कर सकते हैं जो पहले से ही ऐसी चीजें आसानी से करता है, जैसे foobar2000। इसकी 'कॉपी टैग' सुविधा बिल्कुल वैसा ही है, प्रारूप के बावजूद। – tzot