| KID3(1) | راهنمای Kid3 | KID3(1) |
نام (NAME)
kid3, kid3-qt, kid3-cli - ویرایشگر برچسبهای صوتی ID3
خلاصه دستور (SYNOPSIS)
kid3
[
| --help
| --author
| --version
| --license
| --desktopfile FILE ]
[FILE...]
kid3-qt
[--portable]
[Qt-options]
[FILE...]
kid3-cli
[--portable]
[--dbus]
[
| -h
| --help ]
[-c COMMAND1]
[-c COMMAND2...]
[FILE...]
گزینهها (OPTIONS)
--portable
ذخیره پیکربندی در فایل kid3.ini درون پوشه برنامه.
FILE
اگر FILE مسیر یک پوشه باشد، باز خواهد شد. اگر یک یا چند مسیر فایل مشخص شده باشد، پوشه مشترک آنها باز شده و فایلها انتخاب میشوند.
kid3
--help
نمایش راهنما درباره گزینهها.
--author
نمایش اطلاعات پدیدآورنده.
--version
نمایش اطلاعات نسخه.
--license
نمایش اطلاعات مجوز.
--desktopfile FILE
نام پایه فایل مدخل میزکار (desktop entry) برای این برنامه.
kid3-qt
Qt-options
رجوع کنید به: qt5options(7).
--dbus
فعالسازی رابط D-Bus.
-c
اجرای یک دستور. استفاده از چندین گزینه -c امکانپذیر است؛ آنها به ترتیب اجرا میشوند. برای شرح دستورات در دسترس، بخش مربوط به kid3-cli را ببینید.
-h|--help
نمایش راهنما درباره گزینهها و دستورات.
مقدمه (INTRODUCTION)
Kid3 برنامهای کاربردی برای ویرایش کارآمد برچسبهای ID3v1 و ID3v2 در فایلهای MP3 است. این برچسبها توسط اکثر پخشکنندههای MP3 قابل ویرایش هستند، اما نه به شکلی چندان آسان و کارآمد. افزون بر این، برچسبها در فایلهای Ogg/Vorbis، Opus، DSF، FLAC، MPC، APE، MP4/AAC، MP2، Speex، TrueAudio، WavPack، WMA، WAV، AIFF و ماژولهای ترکر (MOD، S3M، IT، XM) نیز پشتیبانی میشوند.
Kid3 فایلهای MP3 را استخراج (rip/grab) یا رمزگذاری نمیکند، بلکه هدف آن ویرایش برچسبهای ID3 تمامی فایلهای یک آلبوم به شیوهای کارآمد است، یعنی با کمترین تعداد کلیک ماوس و فشردن کلید ممکن. در حالی که اغلب برنامههای دیگر تنها میتوانند برچسبهای ID3v1 یا ID3v2 را ویرایش کنند، Kid3 کنترل کاملی بر هر دو نسخه دارد، میتواند برچسبها را بین این دو قالب تبدیل کند و به تمام برچسبهای ID3v2 دسترسی دارد. برچسبهای چندین فایل را میتوان روی یک مقدار یکسان تنظیم کرد، به عنوان مثال نام هنرمند، آلبوم، سال و سبک (genre) تمامی فایلهای یک آلبوم معمولاً مقادیر یکسانی دارند و میتوان آنها را با هم تنظیم کرد. اگر اطلاعات مربوط به برچسبها در نام فایل وجود داشته باشد، میتوان برچسبها را بهطور خودکار از روی نام فایل تنظیم کرد. همچنین میتوان نام فایل را بر اساس برچسبهای یافتشده در فایل با قالبهای دلخواه تنظیم نمود.
فرآیند ویرایش با جایگزینی خودکار نویسهها یا زیررشتهها بیشتر تسهیل میشود، برای نمونه جهت حذف نویسههای غیرمجاز از نام فایلها. کنترل خودکار حروف بزرگ و کوچک، استفاده از یک شیوه نامگذاری یکپارچه را در تمامی برچسبها آسان میکند.
اطلاعات برچسب برای آلبومهای کامل را میتوان از gnudb.org[1]، MusicBrainz[2]، Discogs[3]، Amazon[4] یا سایر منابع فهرست قطعات دریافت کرد. قالب وارد کردن با عبارات باقاعده (regular expressions) آزادانه قابل پیکربندی است.
لطفاً هرگونه مشکل یا درخواست ویژگی جدید را به نویسنده گزارش دهید.
استفاده از KID3 (USING KID3)
قابلیتهای Kid3 (Kid3 features)
نمونه کاربرد (Example Usage)
این بخش یک نشست کاری معمولی با Kid3 را شرح میدهد. فرض کنیم پوشهای حاوی فایلهای MP3 از قطعات آلبوم «Let's Tag» از گروه «One Hit Wonder» داریم. این پوشه با قالب «artist - album» نامگذاری شده است، که در مورد ما One Hit Wonder - Let's Tag میباشد. این پوشه شامل قطعاتی با قالب «track title.mp3» است، که به نظر من کاربردی است زیرا نام فایلها کوتاه بوده (هنگام استفاده از پخشکنندههای قابلحمل MP3 با صفحهنمایشهای کوچک مهم است) و هنگام مرتبسازی بر اساس الفبا، در ترتیب درست قرار میگیرند (هنگام استفاده از پخشکنندههای سختافزاری MP3 که قطعات را به ترتیب الفبا یا به ترتیبی که روی CD رایت شدهاند پخش میکنند مهم است، و این ترتیب هنگام استفاده از mkisofs الفبایی است). علاوه بر این، اطلاعات هنرمند و آلبوم در حال حاضر در نام پوشه وجود دارد و نیازی به تکرار آن در نام فایل نیست. اما برای بازگشت به مثال ما، فهرست فایلهای پوشه به این صورت است:
01 Intro.mp3
02 We Only Got This One.mp3
03 Outro.mp3
این فایلها هنوز برچسبی ندارند و ما میخواهیم با استفاده از Kid3 آنها را ایجاد کنیم. ما از گزینهٔ منوی File → Open (یا دکمهٔ نوار ابزار) استفاده کرده و یکی از فایلهای این پوشه را انتخاب میکنیم. تمام فایلها در جعبهفهرست فایل نمایش داده خواهند شد. از آنجا که ترجیح میدهیم کار اضافی نکنیم، میخواهیم از اطلاعات موجود در نام پوشه و فایلها برای تولید برچسبها استفاده کنیم. بنابراین تمام فایلها را انتخاب میکنیم، سپس روی دکمهٔ To: Tag 1 در بخش File کلیک میکنیم. این کار مقادیر عنوان، هنرمند، آلبوم و قطعه را در همهٔ فایلها تنظیم میکند. برای تنظیم مقادیر سال و سبک برای همهٔ فایلها، تمام فایلها را در حالت انتخاب نگه میداریم و مقدار «2002» را برای Date تایپ کرده و «Pop» را از جعبهٔ ترکیبی (combobox) Genre انتخاب میکنیم. برای اعمال فقط این دو مقدار، جعبههای علامتزدن (checkboxes) آنها به طور خودکار انتخاب شده و سایر جعبهها بدون علامت باقی میمانند. حال با انتخاب تنها فایل اول، انتخاب را تغییر میدهیم و میبینیم که تمام برچسبها شامل مقادیر صحیح هستند. برچسبهای سایر فایلها را نیز میتوان با انتخاب تکتک آنها بازبینی کرد. وقتی از برچسبها راضی بودیم، از گزینهٔ منوی File → Save (یا دکمهٔ نوار ابزار) استفاده میکنیم. انتخاب گزینهٔ منوی File → Create Playlist (یا دکمهٔ نوار ابزار) فایلی با نام One Hit Wonder - Let's Tag.m3u در پوشه ایجاد خواهد کرد.
مرجع دستورات (COMMAND REFERENCE)
عناصر رابط گرافیکی (The GUI Elements)
رابط گرافیکی کاربر (GUI) در Kid3 به شش بخش تقسیم شده است: در سمت چپ جعبههای فهرست فایل و پوشه قرار دارند، و سمت راست شامل بخشهای File، Tag 1، Tag 2 و Tag 3 است.
برای جابهجایی میان بخشهای مختلف با استفاده از صفحهکلید، چندین کلید میانبر پشتیبانی میشود. در بخشهای برچسب، میانبرها در صورتی که در حال ویرایش متن نباشید یا در ستون اول باشید فعال هستند.
فهرست
فایلها (File List)
علاوه بر Name، ستونهای دیگر شامل Size، Type و Date Modified با جزئیات فایل نیز میتوانند نمایش داده شوند. ستونها را میتوان با برداشتن تیک نام آنها در منوی زمینهٔ (context menu) سرستون فهرست پنهان کرد. ترتیب ستونها با کشیدن و رها کردن (drag and drop) قابل تغییر است. ترتیب مرتبسازی نیز با کلیک روی سرستون تغییر میکند.
مقادیر برچسبهای استاندارد را نیز میتوان در ستونهای فهرست فایل نمایش داد و ویرایش کرد.
در سمت چپ نامها یک آیکون قابل نمایش است: یک دیسک برای نشان دادن اینکه فایل تغییر یافته است، یا اطلاعاتی دربارهٔ اینکه کدام برچسبها وجود دارند (V1، V2، V1V2 یا NO TAG؛ در صورتی که فایل هنوز خوانده نشده باشد هیچ آیکونی نمایش داده نمیشود).
پوشهها با یک آیکون پوشه نمایش داده میشوند. اگر پوشهای باز شود، فایلهای آن در یک درخت سلسلهمراتبی نمایش داده خواهند شد. با انتخاب فایلها از زیرپوشهها، میتوان عملیات را روی فایلهای موجود در پوشههای مختلف اجرا کرد؛ این ویژگی زمانی مفید است که مجموعهٔ موسیقی بهصورت یک پوشه برای هر هنرمند و شامل پوشههای آلبومهای آن هنرمند سازماندهی شده باشد..PP کلیکراست درون فهرست فایل، منوی زمینهای را با دستورهای زیر باز میکند:
هنگامی که Select file on play فعال باشد، قطعهای که هماکنون پخش میشود بهطور خودکار در فهرست فایل انتخاب میگردد.
Edit Playlist
یک لیست پخش میتواند بهصورت خالی یا شامل قطعههای یک پوشه ایجاد شود؛ بخش Create Playlist را ببینید. فایل لیست پخشی که به این روش ایجاد شده را میتوان با دوبار کلیک یا با استفاده از گزینهٔ Edit از منوی زمینهٔ فهرست فایل ویرایش کرد. پنجرهای حاوی ورودیهای لیست پخش نشان داده میشود. امکان باز کردن همزمان چندین لیست پخش وجود دارد.
ورودیهای جدید را میتوان با کشیدن و رها کردن از فهرست فایل، یک مدیر فایل یا لیست پخش دیگر اضافه کرد. اگر یک ورودی از لیست پخش دیگری کشیده شود، بسته به سیستم، منتقل یا کپی خواهد شد. برای اجرای عملیات دیگر به ترتیب باید کلیدهای Shift، Ctrl یا Alt (برای کپی کردن به جای انتقال در macOS®) فشرده شوند. تغییر ترتیب ورودیها در لیست پخش نیز از طریق کشیدن و رها کردن امکانپذیر است. بهعلاوه، ورودیها را میتوان با استفاده از میانبرهای صفحهکلید Ctrl+Shift+Up و Ctrl+Shift+Down جابهجا کرد (در macOS® باید کلید Command به جای Ctrl فشرده شود). یک ورودی را میتوان با کلید Delete حذف کرد.
لطفاً به این نکته توجه کنید: برای کشیدن ورودیها از فهرست فایل، باید آنها را از سمت چپ (نزدیک آیکونها) بگیرید؛ انجام همین حرکت در سمت راست، انتخاب چندتایی انجام خواهد داد و بدین ترتیب چنین کاری همچنان بهراحتی امکانپذیر است.
هنگامی که یک لیست پخش تغییر یافت، تغییرات را میتوان با Save ذخیره کرد یا با Cancel نادیده گرفت. هنگام بستن پنجره، در صورت وجود تغییرات ذخیرهنشده، یک پیام تأیید نمایش داده میشود.
قطعههای انتخابشده در یک لیست پخش بهطور خودکار در فهرست فایل انتخاب میشوند و بدین ترتیب امکان ویرایش برچسبهای آنها فراهم میگردد.
برای اجرای اقدامات روی یک لیست پخش، فایل آن باید در فهرست فایل انتخاب شود. گزینهٔ Edit از منوی زمینه به گفتوگوی شرحدادهشده در این بخش منجر میشود و Play پخشکنندهٔ رسانه را با قطعههای لیست پخش آغاز میکند. اقدامات کاربر میتوانند روی لیستهای پخش عمل کنند؛ برای مثال Export Playlist Folder که فایلها را از یک لیست پخش در یک پوشه کپی میکند.
Folder List
فهرست پوشه شامل نام پوشههای موجود در پوشهٔ بازشده، و همچنین پوشهٔ جاری (.) و والد (..) است. این امکان را فراهم میسازد تا بدون استفاده از دستور Open یا کشیدن و رها کردن، پوشه را بهسرعت تغییر دهید.
نمایانی ستونها، ترتیب و مرتبسازی را میتوان همانطور که در بخش file list توضیح داده شد پیکربندی کرد.
File
اطلاعاتی دربارهٔ کدگذاری (MP3، Ogg، Opus، DSF، FLAC، MPC، APE، MP2، MP4، AAC، Speex، TrueAudio، WavPack، WMA، WAV، AIFF)، نرخ بیت، نرخ نمونهبرداری، کانالها و طول فایل را نشان میدهد.
کادر ویرایش خطی Name شامل نام فایل است (اگر فقط یک فایل انتخاب شده باشد). اگر این نام تغییر یابد، فایل هنگام استفاده از دستور Save تغییر نام خواهد داد.
کادر ترکیبی (combo box) و ویرایش خطی Format شامل قالبی است که هنگام تولید نام فایل از برچسب اول یا دوم استفاده میشود. نام فایل میتواند شامل نویسههای دلخواه باشد، حتی بخش پوشهای که با یک ممیز (اسلش) از نام فایل جدا شده است، اما آن پوشه باید از پیش وجود داشته باشد تا تغییر نام با موفقیت انجام شود. کدهای ویژهٔ زیر برای درج مقادیر برچسب در نام فایل استفاده میشوند:
کدهای قالببندی به مثالهای ارائهشده در بالا محدود نمیشوند. میتوان از هر نام فریمی استفاده کرد، برای نمونه نامهای فریم یکپارچه مانند %{albumartist}، %{discnumber.1}، %{bpm} یا نامهای خاصِ قالب مانند %{popm}.
میتوان با افزودن رشتهها در علامت نقلقول دوتایی درون آکولادهای یک کد قالب، آنها را به عنوان پیشوند یا پسوند جایگزین آن کد قالب اضافه کرد. این رشتهها تنها زمانی در رشتهٔ حاصل قرار میگیرند که کد قالب مقداری غیرخالی به دست دهد. برای نمونه، اگر نام فایل باید هم عنوان و هم زیرعنوان را شامل شود، میتوان از %{title} [%{subtitle}] در رشتهٔ قالب استفاده کرد. اما در صورتی که هیچ فریم زیرعنوانی برای فایلی وجود نداشته باشد، این امر منجر به ایجاد رشتهای خواهد شد که به [] ختم میشود. بهمنظور حذف قلابها در صورت نبود زیرعنوان، در عوض باید از %{title}%{" ["subtitle"]"} استفاده شود. این کار در صورتی که زیرعنوانی وجود نداشته باشد، قلابها، فاصلهٔ ابتدایی و زیرعنوان را حذف خواهد کرد.
فهرست قالبهای دردسترس را میتوان در کادر محاورهای که با کلیک روی دکمهٔ Filename from tag در زبانهٔ File از تنظیمات ظاهر میشود ویرایش کرد.
یک جعبهٔ کشویی دومِ Format (با پیکان رو به پایین) برای تولید تگها از روی نام فایل به کار میرود. اگر قالب نام فایل با این الگو همخوانی نداشته باشد، چند قالب پرکاربرد دیگر نیز امتحان میشوند.
برخی از قالبهای پرکاربرد نام فایل از قبل در جعبهٔ کشویی در دسترس هستند، اما امکان تایپ یک قالب خاص درون کادر متنی ویرایش خط (line edit) نیز وجود دارد.
فهرست قالبهای دردسترس را میتوان در کادر محاورهای که با کلیک روی دکمهٔ Tag from filename در زبانهٔ File از تنظیمات ظاهر میشود ویرایش کرد.
بهصورت داخلی، یک عبارت باقاعده (regular expression) از روی کدهای قالب ساخته میشود. در صورت نیاز به عبارتهای باقاعده پیشرفته، قالب تولید تگها از روی نامهای فایل را میتوان به صورت یک عبارت باقاعده کامل به همراه گروههای گیرنده (captures) ارائه داد که پیش از آنها کدهای قالب آمده باشند؛ برای نمونه جهت استخراج شماره قطعهها بدون حذف صفرهای ابتدایی، میتوان قالبی مانند "/%{track}(\d+) %{title}(.*)" را به کار برد.
From: Tag 1، Tag 2: نام فایل را با استفاده از قالب برگزیده و بهترتیب با تگ نخست یا تگ دوم تنظیم میکند.
To: Tag 1، Tag 2: تگها از روی نام فایل تنظیم میشوند. ابتدا قالبی که در Format مشخص شده است به کار میرود. اگر نام فایل موجود با این قالب همخوانی نداشته باشد، قالبهای زیر امتحان میشوند:
اگر یک فایل تکی انتخاب شده باشد، کنترلهای GUI با مقادیر استخراجشده از نام فایل پر میشوند. اگر چندین فایل انتخاب شده باشند، برچسبهای فایلها مستقیماً بر اساس نام فایلها تنظیم میشوند.
برچسب ۱ (Tag 1)
ابزارکهای ویرایش خط (line edit) برای Title، Artist، Album، Comment، Date، Track Number و Genre جهت ویرایش مقدار متناظر در برچسب نخست فایلهای انتخابشده به کار میروند. مقدار زمانی تغییر داده خواهد شد که فایلهای انتخابشده تغییر کنند یا پیش از عملیاتهایی نظیر Save و Quit و هنگامی که جعبهٔ علامتزدن (check box) متناظر در سمت چپ نام فیلد علامت خورده باشد. این ویژگی برای تغییر دادن تنها برخی از مقادیر و دستنخورده باقی گذاشتن سایر مقادیر مفید است.
اگر یک فایل تکی انتخاب شده باشد، تمامی جعبههای علامتزدن تیک میخورند و ابزارکهای ویرایش خط حاوی مقادیر موجود در برچسبهای این فایل خواهند بود. اگر برچسبی در فایل یافت نشود، مقدار خالی متناظر نمایش داده میشود که برای ویرایشگرهای خط Title، Artist، Album و Comment یک رشتهٔ خالی، برای ویرایشگرهای عددی Date و Track Number مقدار 0، و برای جعبهٔ کشویی (combo box) Genre یک مقدار انتخابشدهٔ خالی است. مقادیر را میتوان تغییر داد و اگر جعبهٔ علامتزدن متناظر فعال باشد، پس از تغییر فایل انتخابشده، این مقادیر برای آن فایل تنظیم خواهند شد. سپس فایل با نماد دیسک در جعبهٔ فهرست فایلها به عنوان تغییریافته نشانهگذاری میشود، اما تا زمانی که از دستور Save استفاده نشود بدون تغییر بر روی دیسک باقی میماند.
اگر چندین فایل انتخاب شده باشند، تنها مقادیری که در تمامی فایلهای انتخابشده یکسان هستند نمایش داده میشوند. در تمامی کنترلهای دیگر، مقادیر خالی همانطور که در بالا شرح داده شد نمایش مییابند. برای جلوگیری از تغییرات ناخواسته، علامت همهٔ جعبههای علامتزدن برداشته میشود. اگر لازم باشد مقداری برای همهٔ فایلهای انتخابشده تنظیم شود، میتوان آن را ویرایش کرد و جعبهٔ علامتزدن مربوطه را فعال نمود. مقادیر هنگام تغییر فایلهای انتخابشده برای تمام فایلها اعمال خواهند شد و با استفاده از دستور Save قابل ذخیرهسازی هستند.
جعبههای علامتزدن همچنین بر عملکرد بیشتر دستورهایی که برچسبها را تحت تأثیر قرار میدهند (مانند رونوشت، جایگذاری و انتقال میان برچسبهای ۱ و ۲) نظارت دارند. برای آسانتر شدن کار با چندین فایل که در آنها علامت همهٔ جعبهها برداشته شده است، رفتار این دستورها در حالتی که همهٔ جعبههای علامتزدن تیک خورده باشند و حالتی که هیچکدام علامت نداشته باشند، یکسان خواهد بود.
From Tag 2: فیلدهای tag 1 از روی مقادیر متناظر در tag 2 مقداردهی میشوند. اگر یک فایل تکی انتخاب شده باشد، کنترلهای GUI با مقادیر برگرفته از tag 2 پر میشوند. اگر چندین فایل انتخاب شده باشند، برچسبهای فایلها مستقیماً تنظیم میگردند.
Copy: بافر رونوشت با مقادیر Tag 1 پر میشود. تنها مقادیری که جعبهٔ علامتزدن آنها تیک خورده باشد در دستورهای بعدی Paste استفاده خواهند شد.
Paste: مقادیر را از بافر رونوشت در کنترلهای GUI جایگذاری میکند.
Remove: این دستور تمامی کنترلهای GUI را روی مقادیر خالی آنها تنظیم میکند که منجر به حذف همهٔ مقادیر میشود. فایل ذخیرهشده پس از آن فاقد tag 1 خواهد بود.
برچسب ۲ (Tag 2)
کنترلهای GUI مشابه آنچه برای بخش Tag 1 شرح داده شد کار میکنند، اما اندازهٔ رشتهها نامحدود است.
برای Genre در tag 2، علاوه بر سبکهای فهرستشده در جعبهٔ کشویی (combo box) میتوانید نامهای دلخواه خود را نیز به کار ببرید؛ کافی است نام مورد نظر را در ویرایشگر خط تایپ کنید.
برچسب tag 2 نه تنها میتواند شامل همان مقادیر tag 1 باشد، بلکه ساختار آن به شکلی انعطافپذیر از چندین فریم (frame) تشکیل شده است که خود از چندین فیلد ساخته شدهاند. جدول tag 2 تمام فریمهای موجود در فایل انتخابشده را نمایش میدهد.
Edit: پنجرهای را باز میکند که امکان ویرایش تمامی فیلدهای فریم انتخابشده را فراهم میسازد. اگر چندین فایل انتخاب شده باشند، فیلدهای ویرایششده بر روی تمامی فایلهای انتخابشدهای که حاوی چنین فریمی هستند اعمال خواهند شد.
Add: یک کادر محاورهای برای انتخاب نوع فریم ظاهر میشود و میتوان فریمی از نوع انتخابشده را ویرایش کرد و به فایل افزود. این قابلیت همچنین برای افزودن یک فریم به چندین فایل انتخابشده کار میکند.
Delete: فریم انتخابشده را در فایلهای انتخابشده حذف میکند.
عبارت Drag album artwork here (طرح جلد آلبوم را به اینجا بکشید) زمانی نمایش داده میشود که فایل فاقد تصویر جلد جاسازیشده باشد. تصویری را میتوان با کشیدن و رها کردن (drag and drop) از یک مرورگر یا مدیر فایل اضافه کرد که در اینجا نمایش داده خواهد شد. فریمهای تصویر را میتوان با دو بار کلیک روی این کنترل ویرایش کرد یا افزود.
برچسب ۳ (Tag 3)
برخی از فایلها میتوانند بیش از دو برچسب داشته باشند و در این حالت بخش سومی برای برچسب نمایان میشود. انواع فایل زیر میتوانند چنین بخشی برای Tag 3 داشته باشند:
کنترلهای GUI مشابه بخش Tag 2 کار میکنند.
متن
همگام
ترانه و
کدهای
زمانبندی
رویداد (Synchronized Lyrics and
Event Timing Codes)
تنظیمات بالای ویرایشگر SYLT معمولاً نیازی به تغییر ندارند. اگر متن ترانه حاوی نویسههایی است که در مجموعه نویسههای Latin 1 وجود ندارند، تغییر کدگذاری متن به UTF16 (یا UTF8 برای ID3v2.4.0) توصیه میشود. برای متن ترانههای انگلیسی و حداکثر سازگاری، باید از ISO-8859-1 استفاده شود.
بخش Lyrics پنج دکمه در بالا دارد. Add یک رویداد زمانی جدید به جدول اضافه خواهد کرد. زمان از موقعیت پخشکننده گرفته میشود، بنابراین افزودن یک مدخل هنگام پخش قطعه، سطری را برای موقعیت در حال پخش کنونی اضافه خواهد کرد. رویدادها در جدول باید به ترتیب زمانی مرتب شوند، بنابراین سطر بر همین اساس درج خواهد شد. با مدخلهای دارای زمان نامعتبر بهصورت ویژه رفتار میشود: اگر سطر در حال حاضر انتخابشده دارای زمان نامعتبر باشد، بهجای افزودن سطری جدید، برچسب زمانی آن با زمان جاری جایگزین خواهد شد. اگر زمان جاری نامعتبر نباشد، نخستین سطر با زمان نامعتبر در صورت وجود استفاده خواهد شد. این رفتار باید افزودن برچسبهای زمانی را در صورتی که متن ترانه از پیش در جدول باشد اما فاقد برچسبهای زمانی باشد (که حالت رایج هنگام درونریزی متن ترانه ناهمگام است) آسانتر کند. توجه داشته باشید که زمان نامعتبر بهصورت 00:00.00 نشان داده میشود، یعنی مشابه زمان ابتدای مطلق قطعه که نامعتبر نیست. برای نامعتبر کردن یک زمان، کلید Delete را فشار دهید، یا از Clear در منوی زمینه استفاده کنید. سطرهای جدیدی که با استفاده از Insert row از منوی زمینه درج میشوند یا هنگام درونریزی متن ترانه ناهمگام با From Clipboard یا Import ایجاد میشوند نیز حاوی برچسبهای زمانی نامعتبر هستند. سطرهای جدول را میتوان با کلیک روی دکمهٔ Delete یا با استفاده از Delete rows از منوی زمینه حذف کرد.
متنهای ترانه همگامشده را میتوان با استفاده از Import از یک فایل درونریزی کرد. قالب مورد انتظار LRC ساده یا پیشرفته است. اگر فایل انتخابشده حاوی کروشه در خط اول نباشد، فرض میشود یک فایل متنی ساده با متن ترانه ناهمگام است. خطوط چنین فایلی سپس با برچسبهای زمانی نامعتبر درونریزی میشوند. اطلاعات زمان را میتوان با استفاده از دکمهٔ Add یا با ورود دستی اضافه کرد. همچنین میتوان متنهای ترانه را از طریق رونوشت و جایگذاری با استفاده از From Clipboard درونریزی کرد. متنهای ترانه همگامشده را میتوان با استفاده از Export در فایلهای LRC نوشت. توجه داشته باشید که تنها مدخلهای دارای برچسب زمانی معتبر صادر خواهند شد و مدخلها بر اساس زمان مرتب میشوند. مدخلهای دارای زمان نامعتبر نیز در فریم SYLT ذخیره نخواهند شد، بنابراین پیش از خروج از محاوره اطمینان حاصل کنید که تمام اطلاعات زمانبندی گنجانده شدهاند.
مشخصات ID3 specification[5] یک برچسب زمانی برای هر هجا را پیشنهاد میکند. با این حال بیشتر پخشکنندهها تنها از تفکیکپذیری در سطح سطر یا جمله پشتیبانی میکنند. برای پشتیبانی از هر دو مورد کاربرد، Kid3 از همان قراردادهای SYLT Editor[6] پیروی میکند. متنی که در جدول وارد میشود، در صورتی که با فاصله یا خط پیوند شروع نشود، فرض میشود که آغازگر یک سطر جدید است. استثناها برای این قاعده با شروع سطر با یک زیرخط ('_') برای اجبار به ادامهیافتن یا نویسه هش ('#') برای اجبار به سطر جدید امکانپذیر است. این نویسههای گریز درون فریم SYLT ذخیره نمیشوند. درون فریم SYLT، سطرهای جدید با یک نویسه خط جدید (line feed با مقدار هگز 0A) آغاز میشوند، در حالی که ادامهها اینگونه نیستند. هنگام خواندن فریمهای SYLT، Kid3 بررسی میکند که آیا نخستین مدخل با یک خط جدید شروع میشود یا خیر. اگر چنین نباشد، فرض میشود که تمام مدخلها سطرهای جدید هستند و هیچ ادامه هجایی استفاده نشده است.
در حالی که قطعه در حال پخش است، سطر مرتبط با موقعیت پخش جاری برجسته میشود تا بتوان درستی اطلاعات همگامسازی را تأیید کرد. اگر لازم باشد یک آفست به یک یا چند برچسب زمانی اضافه شود، این کار با گزینهٔ Add offset در منوی زمینه قابل انجام است. از مقادیر منفی میتوان برای کاهش زمان استفاده کرد. با استفاده از Seek to position در منوی زمینه، میتوان موقعیت پخش را روی زمان سطر انتخابشده تنظیم کرد.
روال توصیهشده برای افزودن متن ترانه همگام جدید
فصلها
در
فایلهای MP4
کتابهای صوتی MP4 معمولاً دارای پسوند .m4b هستند و از آنجا که تمام فصلها را در یک فایل واحد در بر دارند، نسبتاً بزرگ هستند. برای پیمایش در چنین فایلهایی، آنها میتوانند حاوی نشانههای فصل باشند که در Kid3 میتوان آنها را در یک شبهفریم "Chapters" با استفاده از همان ویرایشگری که برای Synchronized Lyrics استفاده میشود، ویرایش کرد. دو نوع فصل در فایلهای MP4 وجود دارد: "Nero" و "QuickTime (QT)".
اطلاعات فصل در کتابهای صوتی MP3 در چندین فریم "Chapter" (CHAP) ذخیره میشود که توسط یک فریم "Table of Contents" (CTOC) به آنها ارجاع داده شده است و این فریمها دارای زیرفریمهای تعبیهشده هستند. برای ویرایش این اطلاعات در یک مکان واحد، میتوان از یک شبهفریم "Chapters" برای برچسبهای ID3v2 نیز استفاده کرد. محتویات آن برای ایجاد فریمهای واقعی فصل، جدول محتوا و فریمهای تعبیهشده استفاده میشود: مقدار Description بهعنوان عنوان جدول محتوا استفاده میشود، ستون Text شامل عناوین فصلها است و مقدار Time متناظر، زمان آغاز فصل و زمان پایان فصل قبلی خواهد بود. زمان پایان آخرین فصل با Time آخرین سطر در صورتی که Text آن خالی باشد مشخص میشود.
File → Open... ( Ctrl+O )
یک پوشه را باز میکند. همهٔ فایلهای منطبق با فیلتر نام فایل انتخابشده در جعبهفهرست فایلها نمایش داده میشوند و فایل برگزیده انتخاب میشود. File → Open Recent
پوشهای را که اخیراً باز شده است باز میکند.
File → Open Folder... ( Ctrl+D )
یک پوشه را باز میکند. همهٔ فایلهای منطبق با فیلتر نام فایل انتخابشده در جعبهفهرست فایلها نمایش داده خواهند شد.
File → Reload ( F5 )
بارگذاری مجدد پوشه. فایلهای تغییریافته باید از قبل ذخیره شوند. زیرپوشههای بازشده جمع خواهند شد.
File → Save ( Ctrl+S )
همهٔ فایلهای تغییریافته در پوشه را ذخیره میکند. فایلهای تغییریافته با نماد دیسک در جعبهفهرست فایلها نشانهگذاری میشوند. اگر نام هر فایلی تغییر کرده باشد، آن فایلها تغییر نام خواهند یافت.
File → Revert
تغییرات یک یا چند فایل را بازمیگرداند. اگر هیچ فایلی در جعبهفهرست فایلها انتخاب نشده باشد، تغییرات همهٔ فایلها بازگردانده خواهد شد؛ در غیر این صورت تنها تغییرات فایلهای انتخابشده بازگردانده میشود.
File → Import...
گفتگوی Import میتواند برای وارد کردن دادهها به طور مستقیم از یک سرور freedb.org، از یک سرور MusicBrainz، از Discogs، Amazon یا سایر منابع فهرست قطعات آلبوم در قالب متنی به کار رود.
وارد کردن از یک سرور freedb.org با استفاده از گفتگویی امکانپذیر است که هنگام انتخاب From Server: gnudb.org نمایان میشود. نام هنرمند و آلبوم برای جستجو را میتوان در دو فیلد بالایی وارد کرد؛ آلبومهای منطبق با پرسوجو هنگامی که بر روی Find کلیک شود و نتایج از www.gnudb.org[7] دریافت گردند، نمایش داده خواهند شد. وارد کردن دادههای قطعه برای یک آلبوم با دوبار کلیک روی آلبوم در فهرست انجام میشود. سرور freedb.org برای واردسازی و همچنین مسیر CGI را میتوان انتخاب کرد. دادههای واردشده در جدول پیشنمایش گفتگوی واردسازی نمایش داده میشوند. هنگامی که از قطعات نمایشدادهشده رضایت حاصل شد، میتوان با پایان دادن به گفتگوی واردسازی با OK، آنها را وارد کرد.
اگر از قبل یک نتیجهٔ جستجو در مرورگر وب باز دارید، میتوانید نشانی وب (URL) را در فیلد جستجوی اول وارد کنید. سپس نتیجه در فهرست آلبومها نمایان میشود و میتواند مستقیماً به Kid3 وارد شود.
یک نشانی رایانامهٔ ثبتشده در gnudb.org[8] میتواند در فیلد Token وارد شود.
جستجو در سرور Discogs را میتوان با استفاده از Discogs انجام داد. همانند گفتگوی gnudb.org، میتوانید هنرمند و آلبوم را وارد کنید و سپس از فهرستی از نسخههای منتشرشده برگزینید. یک Token را میتوان وارد کرد تا به جای واسط وب آنها که اغلب تغییر میکند و در نتیجه تجزیهکنندهٔ واردسازی را از کار میاندازد، از RESTful Discogs API استفاده شود. شما باید یک حساب کاربری در Discogs[9] ثبت کنید و سپس در وبسایت آنها یک توکن ایجاد نمایید (Settings/Developers، Generate new token). فراموش نکنید که پس از وارد کردن توکن، Save Settings را بزنید تا در درخواستهای بعدی نیز استفاده شود. اگر Standard Tags علامت خورده باشد، اطلاعات استاندارد وارد میشود، برای نمونه هنرمند، آلبوم و عنوان. اگر Additional Tags علامت خورده باشد، اطلاعات بیشتری در صورت موجود بودن وارد میشود، برای نمونه اجراکنندگان، تنظیمکنندگان یا ناشر. اگر Cover Art علامت خورده باشد، طرح جلد در صورت موجود بودن بارگیری خواهد شد.
جستجو در Amazon را میتوان با استفاده از Amazon انجام داد. همانند گفتگوی gnudb.org، میتوانید هنرمند و آلبوم را وارد کرده و سپس از فهرستی از انتشارات انتخاب نمایید. اگر Additional Tags علامت خورده باشد، اطلاعات بیشتری در صورت در دسترس بودن وارد میشود، برای نمونه اجراکنندگان، تنظیمکنندگان یا ناشر. اگر Cover Art علامت خورده باشد، طرح روی جلد در صورت موجود بودن بارگیری خواهد شد.
میتوانید به همین روش در پایگاهدادهٔ انتشارات MusicBrainz با استفاده از From MusicBrainz Release جستجو کنید. روند کار همان است که برای From gnudb.org شرح داده شد.
وارد کردن از یک سرور MusicBrainz با استفاده از گفتگویی امکانپذیر است که هنگام انتخاب From MusicBrainz Fingerprint نمایان میشود. سرور را میتوان مانند گفتگوی واردسازی freedb انتخاب کرد. در زیر، جدولی قرار دارد که دادههای قطعهٔ واردشده را نشان میدهد. ستون سمت راست وضعیت پرسوجوی MusicBrainz را نشان میدهد که هنگام باز شدن گفتگو با «Pending» آغاز میشود. سپس اثر انگشت صوتی (fingerprint) جستجو میشود و اگر نتیجهای نداشته باشد، جستجوی دیگری با استفاده از برچسبهای موجود در فایل آزمایش میشود. از این رو، برای یک پرسوجوی موفق در MusicBrainz میتواند مفید باشد که اطلاعات شناختهشده (مانند هنرمند و آلبوم) پیش از واردسازی در برچسبها ذخیره شوند. اگر نتیجهای یافت شد، جستجو با وضعیت «Recognized» پایان مییابد، در غیر این صورت چیزی یافت نشده یا چندین نتیجهٔ نامشخص وجود دارد که یکی از آنها باید توسط کاربر انتخاب شود. OK و Apply دادههای واردشده را اعمال میکنند، و Cancel گفتگو را میبندد. بسته شدن ممکن است مدتی طول بکشد زیرا کل سازوکار MusicBrainz باید متوقف شود.
برای واردسازی دادههای متنی، From File/Clipboard یک گفتگوی فرعی را باز میکند که در آن چندین قالب واردسازی از پیش پیکربندیشده در دسترس است. دو مورد نخست، «CSV unquoted» و «CSV quoted» میتوانند برای وارد کردن دادههایی استفاده شوند که توسط گفتگوی Export صادر شدهاند. دادههای CSV را میتوان با یک صفحه گسترده ویرایش کرد و باید با استفاده از کلید جهش (tab) به عنوان جداکننده نوشته شوند. واردسازی پس از آن باید با استفاده از «CSV quoted» امکانپذیر باشد که انعطافپذیرتر از «CSV unquoted» است. با این وجود، فیلدهای آن نمیتوانند حاوی علامت نقلقول دوگانه (double quote) باشند. اگر تنها از Kid3 صادر میکنید و بعداً وارد مینمایید، «CSV unquoted» میتواند به عنوان قالبی ساده برای این منظور استفاده شود. توجه داشته باشید که در منوی زمینهٔ فهرست فایلها دستورهای «Export CSV» و «Import CSV» نیز وجود دارند که از اسکریپتها برای صدور و ورود دادههای CSV به روشی کاملتر، قدرتمندتر و انعطافپذیرتر استفاده میکنند.
قالب بعدی، «freedb HTML text»، میتواند برای کپی کردن اطلاعات از یک صفحهٔ HTML در freedb.org[10] استفاده شود. یک آلبوم را در freedb جستجو کنید و اگر اطلاعات دلخواه در مرورگر وب نمایش داده شد، محتویات را در کلیپبورد کپی کنید. سپس بر روی دکمهٔ From Clipboard کلیک کنید تا قطعات واردشده در جدول پیشنمایش در بالای گفتگو نمایش داده شوند. اگر از دادههای واردشده رضایت دارید، گفتگو را با OK پایان دهید، که دادهها را در برچسبهای پوشهٔ جاری درج خواهد کرد. مقصد (Tag 1، Tag 2 یا Tag 1 and Tag 2) را میتوان با یک جعبهٔ کشویی (combo box) انتخاب کرد. فایلها در پوشهٔ جاری باید ترتیب قطعهٔ صحیحی داشته باشند تا برچسبهای آنها اختصاص یابد. در صورتی که شمارهگذاری شده باشند، این حالت برقرار است.
قالب پیشپیکربندیشدهٔ بعدی، «freedb HTML source»، در صورتی که دادهها به عنوان یک سند HTML در دسترس باشند، میتواند مورد استفاده قرار گیرد. واردسازی با استفاده از دکمهٔ From File که یک انتخابکنندهٔ فایل را باز میکند، یا کپی کردن محتویات آن از یک ویرایشگر و سپس واردسازی از کلیپبورد امکانپذیر است. این قالب میتواند برای واردسازی برونخط (آفلاین) سودمند باشد، اگرچه سند HTML میتواند در یک مرورگر نیز باز شده و سپس در قالب اول از طریق کلیپبورد وارد شود.
قالبهای پیشپیکربندیشدهٔ بیشتری، برای نمونه «Track Title Time» در دسترس هستند. یک قالب سفارشی خالی را میتوان با Add ایجاد کرد تا توسط کاربر تنظیم شود. دو خط در زیر نام قالب را میتوان با یک عبارت باقاعده تنظیم کرد تا فیلدها را از متن واردسازی ضبط کند. عبارت باقاعدهٔ نخست یک بار به ازای هر سند تجزیه میشود تا دادههای مربوط به آلبوم مانند هنرمند، آلبوم، سال و سبک (genre) را گردآوری نماید. خط دوم از ابتدای سند تا پایان آن برای تطابق آزمایش میشود تا دادههای قطعه، معمولاً شماره و عنوان را دریافت کند. عبارتهای باقاعده شامل همهٔ ویژگیهای ارائهشده توسط Qt(TM) هستند، که بخش عمدهای از مواردی است که Perl ارائه میدهد. ساختارهای پرانتزی «(..)» بافرهای ضبط را برای فیلدهای واردسازی ایجاد میکنند و کدهای مخصوص Kid3 پیش از آنها میآیند تا مشخص کنند کدام فیلد باید ضبط شود. کدها همانهایی هستند که برای قالب نام فایل استفاده میشوند؛ به جز کدهای فهرستشده در زیر، هر نام فریمی امکانپذیر است:
برای نمونه، یک عبارت باقاعده برای قطعه (خط دوم) جهت وارد کردن از یک فهرست پخش .m3u میتواند "%{track}(\d+)\s+%{title}(\S[^\r\n]*)\.mp3[\r\n]" باشد. همهٔ قالبها را میتوان با ویرایش عبارتهای باقاعده و نام، و سپس کلیک روی Save Settings تغییر داد. آنها در فایل kid3rc در پوشهٔ پیکربندی ذخیره خواهند شد. این فایل را میتوان مستقیماً ویرایش کرد تا قالبهای واردسازی بیشتری داشت یا میتوان آن را حذف کرد تا به قالبهای پیشفرض بازگردد. قالبها را میتوان با استفاده از Remove حذف کرد.
گزینهٔ Accuracy تخمینی از میزان همخوانی اطلاعات واردشده با قطعههای مشخصشده را نشان میدهد. این گزینه از مدتزمان قطعهها یا نامهای فایلها برای محاسبهٔ میزان شباهت به درصد استفاده میکند. Cover Art نشانی URL تصویر جلد آلبوم را که بارگیری خواهد شد، نشان میدهد.
برای بررسی اینکه آیا قطعههای واردشده با مجموعهٔ فایلهای فعلی همخوانی دارند یا خیر، میتوان مدتزمان قطعههای واردشده را با مدتزمان فایلها مقایسه کرد. این گزینه را میتوان با جعبهٔ علامتزدنی Check maximum allowable time difference (sec): فعال کرد و حداکثر اختلاف زمانی مجاز را بر حسب ثانیه تنظیم نمود. اگر ناهمخوانی در طول مدت تشخیص داده شود، طول قطعه با پسزمینهٔ قرمز در جدول پیشنمایش نشان داده میشود.
اگر ترتیب فایلها با قطعههای واردشده متفاوت باشد، قطعههای انتسابیافته به آنها باید تغییر یابند. این کار را میتوان با استفاده از گزینهٔ Match with به کمک دکمههای Length، Track و Title تسهیل کرد، که قطعهها را بر اساس فیلد متناظر بازآرایی میکنند. برای تصحیح دستی انتسابها، میتوان یک قطعه را با دکمهٔ چپ موشواره و در حالی که کلید Ctrl پایین نگه داشته شده است کشید و سپس در مکان جدید رها کرد.
اگر تعداد قطعههای واردشده بیشتر از فایلها باشد، برای نمونه اگر پوشهٔ فعلی تنها حاوی دیسک دوم از یک آلبوم دو دیسکی باشد اما قطعههای هر دو دیسک وارد شده باشند، میتوان قطعههای دیسک اول را با کلیک روی برچسب سطر نخستین قطعه، سپس کلیک روی برچسب سطر آخرین قطعه از دیسک اول در حالی که کلید Shift پایین نگه داشته شده است انتخاب کرد، و در نهایت با فشردن کلید Delete آن قطعهها را حذف نمود.
هنگامی که پنجرهٔ محاورهای واردسازی باز میشود، شامل محتویات واقعی برچسبها است. نوع برچسب (Tag 1، Tag 2، Tag 1 and Tag 2) را میتوان با استفاده از جعبهٔ گزینش (combo box) Destination انتخاب کرد. از دکمهٔ سمت راست این جعبهٔ گزینش میتوان برای بازگرداندن جدول به محتویات فعلی برچسبها استفاده کرد. جعبههای علامتزدنی در نخستین ستون جدول را میتوان برای انتخاب قطعههایی که وارد میشوند استفاده کرد. این قابلیت میتواند هنگامی مفید باشد که یک پوشه شامل قطعههای هر دو CD از یک CD دوگانه باشد و تنها قطعههای CD دوم باید وارد شوند.
برای شناسایی قطعههایی که وارد شدهاند، میتوان نامهای فایل یا مسیرهای کامل منتهی به فایلها را با استفاده از منوی زمینهای (context menu) سرستون جدول نمایش داد. مقادیر جدول واردسازی قابل ویرایش هستند. دکمهٔ بازگردانی در سمت راست جعبهٔ گزینش Destination میتواند برای بازیابی محتویات برچسبها استفاده شود، که پس از تغییر دادن Destination نیز میتواند سودمند باشد.
تقریباً همهٔ پنجرههای محاورهای دارای دکمهٔ Save Settings هستند، که میتواند برای ذخیرهٔ پایدار تنظیمات ویژهٔ محاوره و اندازهٔ پنجره استفاده شود.
گزینهٔ From Tags به یک زیرمحاوره برای تنظیم فریمهای برچسب از روی محتویات دیگر فریمهای برچسب منتهی میشود. این کار میتواند برای کپی سادهٔ اطلاعات میان برچسبها یا استخراج بخشی از یک فریم و درج آن در فریمی دیگر استفاده شود.
مانند پنجرهٔ محاورهای import from file/clipboard، قالبهای با قابلیت پیکربندی آزاد برای انجام عملیاتهای گوناگون وجود دارند. قالبهایی از پیش پیکربندی شدهاند تا مقدار Album را به Album Artist، Composer یا Conductor رونوشت کنند، و همچنین Track Number را از فیلدهای Title که حاوی عدد هستند استخراج نمایند. قالبی نیز برای استخراج Subtitle از فیلد Title وجود دارد.
مثال زیر توضیح میدهد چگونه یک قالب سفارشی بیفزایید که اطلاعات فیلد Subtitle را در فیلد Comment نیز قرار دهد. با استفاده از دکمهٔ Add یک قالب جدید ایجاد کنید و یک نام جدید تعیین کنید، برای نمونه "Subtitle to Comment". سپس "%{subtitle}" را در Source و "%{comment}(.*)" را برای Extraction وارد کرده و روی Save Settings کلیک کنید.
عبارت موجود در Source میتواند شامل کدهای قالببندی برای فریمهای برچسب دلخواه باشد؛ میتوان از چندین کد برای ترکیب محتویات فریمهای مختلف استفاده کرد. برای هر قطعه، متنی از برچسبهای آن با استفاده از قالب Source تولید میشود، و عبارت باقاعده از Extraction روی این متن اعمال میشود تا مقادیر جدیدی را برای برچسبها تنظیم کند. کدهای قالببندی پیش از پرانتزهای گیرنده به کار میروند تا فریم برچسبی را که متنِ گرفتهشده باید در آن ذخیره شود مشخص کنند. این سازوکار به همان شیوهٔ import from file/clipboard کار میکند.
گزینهٔ Import from Tags... همچنین بهطور مستقیم از منوی File در دسترس است. تفاوت میان این دو عملکرد در این است که زیرمحاورهٔ پنجرهٔ واردسازی روی همهٔ فایلهای پوشهٔ فعلی عمل میکند در حالی که عملکرد منو روی فایلهای انتخابشده (که میتوانند در پوشههای مختلفی باشند) عمل میکند. عملکرد منو از یک کد اضافی "%{__return}" برای بازگرداندن مقدار استخراجشده پشتیبانی میکند، که میتواند در رابطهای CLI و QML مفید باشد.
File → Import from gnudb.org...
وارد کردن از یک کارساز freedb.org با استفاده از جستجوی آلبوم gnudb.org. این مورد منو، همان پنجرهٔ محاورهای واردسازی Import... را باز میکند، اما پنجرهٔ محاورهای gnudb.org را بهطور مستقیم میگشاید.
File → Import from Discogs...
وارد کردن از کارساز Discogs. این مورد منو، همان پنجرهٔ محاورهای واردسازی Import... را باز میکند، اما مستقیماً محاورهٔ From Discogs را میگشاید.
File → Import from Amazon...
وارد کردن از Amazon. این مورد منو، همان پنجرهٔ محاورهای واردسازی Import... را باز میکند، اما مستقیماً محاورهٔ From Amazon را میگشاید. File → Import from MusicBrainz Release...
وارد کردن از پایگاهدادهٔ انتشار MusicBrainz. این گزینهٔ منو، همان پنجرهٔ گفتگوی واردسازی Import... را باز میکند، اما مستقیماً گفتگوی From MusicBrainz Release را میگشاید. File → Import from MusicBrainz Fingerprint...
واردسازی از یک کارساز MusicBrainz. این گزینهٔ منو همان پنجرهٔ گفتگوی واردسازی Import... را باز میکند، اما مستقیماً گفتگوی From MusicBrainz Fingerprint را میگشاید.
File → Import from Tags...
مانند From Tags، اما واردسازی روی فایلهای انتخابشده اعمال میشود.
File → Automatic Import...
گزینهٔ Automatic Import امکان وارد کردن اطلاعات چندین آلبوم را از وبسرویسهای گوناگون فراهم میکند. اگر پوشههایی در فهرست فایل انتخاب شده باشند، دادههای قطعه برای پوشههای انتخابشده وارد خواهد شد. اگر هیچ پوشهای انتخاب نشده باشد، تمام پوشههای موجود در فهرست فایل وارد خواهند شد.
نوع برچسب (Tag 1، Tag 2، Tag 1 and Tag 2) را میتوان با استفاده از جعبهٔ چندگزینهای Destination انتخاب کرد.
پروفایلها مشخص میکنند که برای واکشی اطلاعات آلبوم با چه کارسازهایی ارتباط برقرار شود. برخی از پروفایلها از پیش تعریف شدهاند (All، MusicBrainz، Discogs، Cover Art)؛ پروفایلهای سفارشی را میتوان با استفاده از دکمهٔ Add در سمت راست جعبهٔ چندگزینهای Profile افزود.
جدول زیر کارسازهایی را نشان میدهد که هنگام واردسازی اطلاعات آلبوم با استفاده از پروفایل انتخابشده استفاده خواهند شد. فرایند واردسازی برای یک آلبوم در صورتی پایان مییابد که همهٔ اطلاعات مورد نیاز پیدا شده باشد، بنابراین ترتیب ردیفها در جدول مهم است. این ترتیب را میتوان با استفاده از دکمههای Move Up و Move Down تغییر داد. از Edit میتوان برای تغییر یک مدخل موجود استفاده کرد. گزینهٔ انتخابی Server همان کارسازهایی را ارائه میدهد که میتوان در توابع واردسازی استفاده کرد. Standard Tags، Additional Tags و Cover Art اطلاعاتی را که باید از کارساز دریافت شوند تعیین میکنند. در نهایت، Accuracy حداقل دقتی است که برای پذیرش دادههای واردشده باید به دست آید. اگر دقت ناکافی باشد، کارساز بعدی در فهرست امتحان خواهد شد. هنگام کلیک روی Add برای افزودن یک مدخل کارساز جدید، همان پنجرهٔ گفتگوی حاوی ویژگیهای کارساز ظاهر میشود. مدخلهای موجود را میتوان با استفاده از Remove حذف کرد.
برای اجرای یک واردسازی دستهای خودکار با پروفایل انتخابشده، روی Start کلیک کنید. جزئیات مربوط به واردسازی در حال اجرا در بالای پنجرهٔ گفتگو نمایش داده میشود. این فرایند را میتوان با دکمهٔ Abort متوقف کرد.
File → Browse Cover Art...
پنجرهٔ گفتگوی Browse Cover Art به یافتن تصویر جلد آلبوم کمک میکند. در صورت امکان، Artist/Album از روی برچسبها پر میشود. Source وبگاههای گوناگونی را به همراه تصاویر جلد آلبوم ارائه میدهد. URL بههمراه هنرمند و آلبوم به عنوان پارامتر را میتوان زیر نام پیدا کرد. مقادیر کُدگذاریشده بهصورت URL برای هنرمند و آلبوم را میتوان با استفاده از "%u{artist}" و "%u{album}" درج کرد؛ مقادیر دیگر از برچسبها نیز همانطور که در Configure Kid3، User Actions شرح داده شده امکانپذیر هستند. منابع بیشتری را میتوان پس از مدخل "Custom Source" با جایگزین کردن "Custom Source" با نام منبع، فشردن Enter، سپس درج URL و در نهایت فشردن Save Settings وارد کرد. دستور مرورگر حاصل در بالای پنجرهٔ گفتگو نمایش مییابد و میتوان با کلیک روی Browse آن را اجرا کرد. مرورگر، که در تنظیمات قابل پیکربندی است، با منبع انتخابشده راهاندازی میشود. سپس میتوان تصویر جلد را از مرورگر به درون پنجرهٔ Kid3 کشید تا در قاب تصویرِ فایلهای انتخابشده قرار گیرد.
از آنجا که همهٔ مرورگرها از کشیدن و رها کردن تصاویر پشتیبانی نمیکنند و تصاویر موجود در وبگاهها اغلب یک URL دارند، در این موارد Kid3 بهجای تصویر، URL را دریافت خواهد کرد. اگر URL به یک تصویر اشاره کند، بارگیری میشود. با این حال، اگر URL به منبع وبی دیگری اشاره داشته باشد، باید به تصویر مربوطه تبدیل شود. چنین نگاشتهایی در جدول URL extraction تعریف میشوند. ستون چپ Match شامل یک عبارت باقاعده است که با URL مقایسه میشود. در صورت تطابق، عبارتهای بهدامافتاده در پرانتزها در الگوی ستون راستِ Picture URL (در موقعیتهایی که با \1 و غیره مشخص شدهاند) درج میشوند. عبارت باقاعدهٔ جایگزینشده حاوی URL تصویر است. با این روش میتوان تصویر جلد را با استفاده از کشیدن و رها کردن از Amazon، Google Images و غیره وارد کرد. همچنین تعریف نگاشتهای سفارشی توسط خودتان امکانپذیر است.
File → Export...
پنجرهٔ گفتگوی Export Dialog برای ذخیرهٔ دادهها از برچسبها در یک فایل یا در تختهگیره (clipboard) استفاده میشود. ویرایشگر در بالا پیشنمایشی از دادههای صادرشونده را نمایش میدهد. اگر دادههای صادرشونده شامل نویسههای تب باشند، خروجی در یک جدول نمایش داده میشود. دادهها مطابق با قالب پیکربندیشده، از روی برچسبهای موجود در پوشهٔ جاری تولید خواهند شد.
تنظیمات قالب مشابه پنجرهٔ گفتگوی واردسازی است: بالاترین فیلد شامل عنوان است (مانند "CSV unquoted")، که بهدنبال آن سرآیند میآید، که در ابتدای فایل تولید خواهد شد. سپس دادههای قطعه میآید؛ که برای هر قطعه استفاده میشود. در نهایت، بخش پایانی (trailer) میتواند برای تولید متن خاتمه به کار رود.
فیلدهای قالب برخلاف پنجرهٔ گفتگوی واردسازی شامل عبارتهای باقاعده نیستند، بلکه فقط عبارتهای قالب خروجی با عبارتهای ویژهٔ %- را شامل میشوند که با مقادیر برچسبها جایگزین خواهند شد. کل فرایند مانند قالب نام فایل عمل میکند و همان کدها بههمراه چند کد اضافی به کار میروند. نهتنها کدهای فهرستشده در زیر، بلکه تمام نامهای فریم برچسب قابل استفاده هستند.
چندین قالب از پیش تعریف شدهاند. «CSV unquoted» فیلدها را با نویسهٔ تب (tab) جدا میکند. دادهها در این قالب را میتوان دوباره با استفاده از قالب درونریزی با همین نام به Kid3 وارد کرد. «CSV quoted» علاوه بر این فیلدها را در علامت نقلقول دوتایی (double quotes) قرار میدهد که وارد کردن دادهها به برنامههای صفحهگسترده را آسان میسازد. با این حال، هنگام استفاده از این قالب، فیلدها نباید شامل علامت نقلقول دوتایی باشند. قالبهای «Extended M3U» و «Extended PLS» فهرستهای پخشی با ویژگیهای گسترشیافته و نامهای مسیر مطلق تولید میکنند. از «HTML» میتوان برای تولید یک صفحهٔ HTML حاوی ابرپیوندها به قطعهها استفاده کرد. «Kover XML» فایلی ایجاد میکند که توسط برنامهٔ چاپ کاور Kover قابل درونریزی است. «Technical Details» اطلاعاتی دربارهٔ نرخ بیت (bit rate)، نرخ نمونهبرداری (sample rate)، کانالها و غیره ارائه میدهد. در نهایت، «Custom Format» برای تعریف یک قالب سفارشی خالی گذاشته شده است. میتوانید با افزودن خطوطی به فایل kid3rc در پوشهٔ پیکربندی، قالبهای بیشتری برای خود تعریف کنید. سایر قالبها را نیز میتوان متناسب با نیاز خود تغییر داد.
منبع (Source) برچسبها برای تولید دادههای برونریزی (Tag 1 یا Tag 2) را میتوان از طریق یک جعبهٔ بازشو (combo box) انتخاب کرد. فشردن To File یا To Clipboard دادهها را در یک فایل یا در کلیپبورد ذخیره میکند. OK و Cancel کادر محاورهای را میبندند، در حالی که OK تنظیمات فعلی کادر محاورهای را اعمال میکند.
فایل ← ایجاد فهرست پخش (File → Create Playlist...)
یک فهرست پخش ایجاد میکند. قالب و محتویات فهرست پخش را میتوان با گزینههای گوناگون تنظیم کرد.
نام فهرست پخش میتواند Same as folder name (یکسان با نام پوشه) بوده یا از یک Format (قالب) با مقادیری از برچسبها استفاده کند؛ برای نمونه "%{artist} - %{album}" تا نام هنرمند و آلبوم در نام فایل فهرست پخش قرار گیرد. کدهای قالب همانند بخش Export (برونریزی) هستند. فهرست قالبهای موجود را میتوان در بخش Format از زبانهٔ Files در تنظیمات (settings) ویرایش کرد. گزینهٔ Create new empty playlist یک فهرست پخش خالی با نام مشخصشده میسازد. پسوند فایل به قالب فهرست پخش بستگی دارد.
محل قرارگیری فهرست پخش تولیدشده با انتخاب گزینه در جعبهٔ بازشوی Create in تعیین میشود.
پوشهٔ جاری (Current folder)
فهرست پخش در پوشهٔ جاری ایجاد میشود و تنها شامل فایلهای پوشهٔ جاری است. پوشهٔ جاری همان پوشهای است که فایل فعلی در آن قرار دارد. اگر چند فایل انتخاب شده باشند، فایل فعلی احتمالاً آخرین فایل انتخابشده است.
هر پوشه (Every folder)
یک فهرست پخش در هر پوشهای که حاوی فایلهای فهرستشده باشد ایجاد میشود و هر فهرست پخش شامل فایلهای همان پوشه است.
پوشهٔ بالاترین سطح (Top-level folder)
تنها یک فهرست پخش در بالاترین سطح پوشه (یعنی پوشهٔ فهرست فایلها) ایجاد میشود و شامل فایلهای فهرستشده در پوشهٔ سطح بالا و تمام زیرپوشههای آن است.
قالب (Format) فهرست پخش میتواند M3U، PLS یا XSPF باشد.
اگر گزینهٔ Include only the selected files علامت خورده باشد، تنها فایلهای انتخابشده در فهرست پخش گنجانده میشوند. اگر پوشهای انتخاب شود، تمام فایلهای آن انتخاب خواهند شد. اگر این جعبهٔ انتخاب فعال نباشد، تمام فایلهای صوتی در فهرست پخش قرار میگیرند.
گزینهٔ Sort by file name حالت معمول را انتخاب میکند که در آن فایلها بر اساس نام فایل مرتب میشوند. با Sort by tag field، مرتبسازی بر اساس یک رشتهٔ قالبی با مقادیری از فیلدهای برچسب امکانپذیر است. برای نمونه، از "%{track.3}" میتوان برای مرتبسازی بر اساس شمارهٔ قطعه استفاده کرد (عبارت ".3" برای داشتن سه رقم همراه با صفرهای پیشگام به کار میرود زیرا برای مرتبسازی از رشتهها استفاده میشود). همچنین میتوان از چندین فیلد استفاده کرد، برای نمونه "%{genre}%{year}" جهت مرتبسازی با استفاده از رشتهای متشکل از سبک (genre) و سال.
ورودیهای فهرست پخش بسته به این که گزینهٔ Use relative path for files in playlist یا Use full path for files in playlist تنظیم شده باشد، دارای مسیرهای فایل نسبی یا مطلق خواهند بود.
هنگامی که گزینهٔ Write only list of files تنظیم شده باشد، فهرست پخش تنها شامل مسیر فایلها خواهد بود. برای تولید یک فهرست پخش گسترشیافته با اطلاعات تکمیلی، میتوان یک رشتهٔ قالب را با استفاده از کنترل Write info using تعیین کرد.
فایل ← خروج (File → Quit) ( Ctrl+Q )
از برنامه خارج میشود.
منوی ویرایش (The Edit Menu)
ویرایش ← انتخاب همه (Edit → Select All) ( Alt+A )
همهٔ فایلها را انتخاب میکند.
ویرایش ← لغو انتخاب (Edit → Deselect) ( Ctrl+Shift+A )
انتخاب همهٔ فایلها را لغو میکند.
ویرایش ← انتخاب همه در پوشه (Edit → Select All in Folder)
همهٔ فایلهای پوشهٔ کنونی را انتخاب میکند. ویرایش ← فایل قبلی (Edit → Previous File) ( Alt+Up )
فایل قبلی را انتخاب میکند.
ویرایش ← فایل بعدی (Edit → Next File) ( Alt+Down )
فایل بعدی را انتخاب میکند.
ویرایش ← یافتن... (Edit → Find...) ( Ctrl+F )
رشتهها را در نام فایلها و برچسبها مییابد. کادر گفتگوی Find (یافتن) زیرمجموعهای از کادر گفتگوی Replace (جایگزینی) است که در ادامه شرح داده شده است.
ویرایش ← جایگزینی... (Edit → Replace...) ( Ctrl+R )
این تابع کادر گفتگویی را برای یافتن و جایگزینی رشتهها در نام فایلها و برچسبها باز میکند. مجموعه فریمهایی که جستجو در آنها انجام میشود را میتوان با غیرفعال کردن کادر انتخاب Select all (انتخاب همه) و انتخاب فریمهای مورد نظر برای جستجو محدود کرد. همچنین گزینههایی برای جستجو به سمت عقب، حساس به بزرگی و کوچکی حروف، و استفاده از عبارتهای منظم در دسترس است.
بسته به تعداد فایلها، جستجو ممکن است مدتی طول بکشد، بنابراین میتوان با بستن کادر گفتگو آن را لغو کرد.
منوی ابزارها (The Tools Menu)
ابزارها ← اعمال قالب نام فایل (Tools → Apply Filename Format)
هنگامی که گزینهٔ Automatically apply format (اعمال خودکار قالب) برای قالب نام فایل در کادر گفتگوی پیکربندی خاموش باشد، میتوان از این مورد منو برای اعمال قالب پیکربندیشده روی نام فایلهای انتخابشده استفاده کرد. همچنین میتوان از این امکان برای بررسی انطباق نام فایلها با قالب پیکربندیشده استفاده نمود؛ بدین صورت که قالب روی همهٔ فایلهای ذخیرهشده اعمال شود و سپس بررسی گردد که آیا فایلی تغییر یافته است یا خیر (و در نتیجه با نماد دیسک در کادر فهرست فایلها علامتگذاری شده باشد).
ابزارها ← اعمال قالب برچسب (Tools → Apply Tag Format)
هنگامی که گزینهٔ Automatically apply format (اعمال خودکار قالب) برای قالب برچسب در کادر گفتگوی پیکربندی خاموش باشد، میتوان از این مورد منو برای اعمال قالب پیکربندیشده روی برچسبهای فایلهای انتخابشده استفاده کرد. همچنین میتوان از این امکان برای بررسی انطباق برچسبها با قالب پیکربندیشده استفاده نمود؛ بدین صورت که قالب روی همهٔ فایلهای ذخیرهشده اعمال شود و سپس بررسی گردد که آیا فایلی تغییر یافته است یا خیر (و در نتیجه با نماد دیسک در کادر فهرست فایلها علامتگذاری شده باشد).
ابزارها ← اعمال کدگذاری متن (Tools → Apply Text Encoding)
گزینهٔ Text encoding (کدگذاری متن) انتخابشده در Settings → Configure Kid3... → بخش Tags → زبانهٔ Tag 2 را برای تمام فایلهای انتخابشده تنظیم میکند. اگر UTF8 انتخاب شده باشد، برای برچسبهای ID3v2.3.0 از UTF16 استفاده خواهد شد زیرا UTF8 در این قالب پشتیبانی نمیشود.
ابزارها ← تغییر نام پوشه... (Tools → Rename Folder...)
این کادر گفتگو امکان تغییر نام خودکار پوشهٔ باز کنونی را بر اساس برچسبهای موجود در فایلها فراهم میکند. چندین قالب بهطور پیشفرض پیکربندی شدهاند تا اطلاعات مربوط به هنرمند، آلبوم و سال را در نام پوشه بگنجانند. همچنین امکان تنظیم یک قالب سفارشی و ویرایش (Edit) فهرست قالبهای موجود فراهم است. کدهای ویژهٔ زیر برای درج مقادیر برچسب در نام پوشه به کار میروند:
اگر یک جداکنندهٔ پوشه «/» در قالب یافت شود، چندین پوشه ایجاد میشود. اگر میخواهید به جای تغییر نام پوشهٔ کنونی یک پوشهٔ جدید ایجاد کنید، در جعبهٔ کشویی Action گزینهٔ Create Folder را به جای Rename Folder انتخاب کنید. منبع ( Source ) اطلاعات برچسب میتواند از میان Tag 1 and Tag 2، Tag 1 و Tag 2 انتخاب شود. پیشنمایشی از عملیات تغییر نام انجامشده روی اولین فایل در بخشهای From و To کادر محاوره قابل مشاهده است.
با انتخاب چندین پوشه میتوان نام آنها را تغییر داد.
Tools → Number Tracks...
اگر شمارهٔ قطعهها در برچسبها تنظیم نشده باشد یا مقادیر نادرستی داشته باشد، این تابع میتواند قطعهها را بهطور خودکار و به ترتیب صعودی شمارهگذاری کند. شمارهٔ آغازین را میتوان در کادر محاوره تعیین کرد. اگر تنها بخشی از قطعهها باید شمارهگذاری شوند، باید انتخاب گردند.
هنگامی که Total number of tracks علامت خورده باشد، تعداد کل قطعهها نیز در برچسبها تنظیم خواهد شد.
امکان شمارهگذاری قطعهها روی چندین پوشه وجود دارد. پوشهها باید باز (گسترشیافته) و انتخاب شوند.
اگر Reset counter for each folder علامت خورده باشد، هنگام انتخاب چندین پوشه، شمارهگذاری قطعهها برای هر پوشه با شمارهٔ مشخصشده از نو آغاز میشود.
کادر محاورهای شمارهگذاری قطعهها همچنین میتواند برای قالببندی شمارههای موجود قطعهها بدون تغییر مقادیر آنها استفاده شود، به شرطی که جعبهٔ تأیید سمت چپِ Start number غیرفعال باشد. اگر جعبهٔ تأیید مربوطه فعال باشد، تعداد کل قطعهها اضافه خواهد شد که میتواند برای تنظیم مجموع کل تمام قطعههای انتخابشده استفاده شود. اگر فقط قالببندی شمارههای موجود مورد نظر باشد، این جعبهٔ تأیید نیز باید غیرفعال گردد.
Tools → Filter...
فیلتر میتواند برای نمایش تنها فایلهایی که با معیارهای خاصی مطابقت دارند استفاده شود. این ویژگی زمانی مفید است که بخواهید یک مجموعهٔ بزرگ را سازماندهی کنید و تنها فایلهایی را ویرایش نمایید که در طرح و ساختار مورد نظر نیستند. عبارتی که مشخص میکند کدام فایلها نمایش داده شوند، از همان کدهای قالبی استفاده میکند که در قالب نام فایل، وارد کردن (import) و صادر کردن (export) به کار میروند.
این کدها با مقادیر مربوط به فایل جایگزین میشوند و رشتههای حاصل را میتوان با عملگرهای زیر مقایسه کرد:
عبارتهای درست با 1 و نادرست با 0 جایگزین میشوند. مقادیر درست با 1، true، on و yes، و مقادیر نادرست با 0، false، off و no نشان داده میشوند. عملیات بولی عبارتند از not، and، or (به همین ترتیب تقدم) و میتوانند با پرانتز گروهبندی شوند.
برخی از قواعد فیلتر از پیش تعریف شدهاند و میتوانند به عنوان الگوهایی برای عبارتهای خودتان به کار روند:
All
هنگامی که فهرست فایلها فیلتر شده باشد - این حالت با "[filtered]" در عنوان پنجره نشان داده میشود - و بخواهید تمام فایلها دوباره نمایش داده شوند، فیلترسازی میتواند با استفاده از این فیلتر بازگردانده شود. این فیلتر از یک عبارت خالی استفاده میکند، اما یک مقدار درست (true) نیز اثر یکسانی خواهد داشت.
Filename Tag Mismatch
not (%{filepath} contains "%{artist} - %{album}/%{track} %{title}")
بررسی میکند که آیا مسیر فایل با قالب نام فایل مطابقت دارد یا خیر. این قاعده در صورت تغییر قالب نام فایل، به طور خودکار تطبیق داده میشود. بدون برچسب ۱ (No Tag 1)
%{tag1} equals ""
تنها فایلهایی را نمایش میدهد که فاقد Tag 1 هستند.
بدون برچسب ۲ (No Tag 2)
%{tag2} equals ""
تنها فایلهایی را نمایش میدهد که فاقد Tag 2 هستند.
برچسب ID3v2.3.0 (ID3v2.3.0 Tag)
%{tag2} equals "ID3v2.3.0"
تنها فایلهایی را نمایش میدهد که دارای یک برچسب ID3v2.3.0 هستند.
برچسب ID3v2.4.0 (ID3v2.4.0 Tag)
%{tag2} equals "ID3v2.4.0"
تنها فایلهایی را نمایش میدهد که دارای یک برچسب ID3v2.4.0 هستند.
Tag 1 != Tag 2
not (%1{title} equals %2{title} and %1{album} equals %2{album} and %1{artist} equals %2{artist} and %1{comment} equals %2{comment} and %1{year} equals %2{year} and %1{track} equals %2{track} and %1{genre} equals %2{genre})
فایلهایی را نمایش میدهد که میان Tag 1 و Tag 2 آنها تفاوت وجود دارد.
Tag 1 == Tag 2
%1{title} equals %2{title} and %1{album} equals %2{album} and %1{artist} equals %2{artist} and %1{comment} equals %2{comment} and %1{year} equals %2{year} and %1{track} equals %2{track} and %1{genre} equals %2{genre}
فایلهایی را نمایش میدهد که Tag 1 و Tag 2 در آنها یکسان است.
ناقص (Incomplete)
%{title} equals "" or %{artist} equals "" or %{album} equals "" or %{year} equals "" or %{tracknumber} equals "" or %{genre} equals ""
فایلهایی را نمایش میدهد که در برچسبهای استاندارد (title، artist، album، date، track number، genre) دارای مقادیر خالی هستند.
بدون تصویر (No Picture)
%{picture} equals ""
تنها فایلهایی را نمایش میدهد که فاقد تصویر هستند.
نشانهگذاریشده (Marked)
not (%{marked} equals "")
تنها فایلهایی را نمایش میدهد که نشانهگذاری شدهاند چون استاندارد ID3 را نقض کردهاند، ناقص (truncated) هستند یا تصویر آنها بیش از حد بزرگ است.
فیلتر سفارشی (Custom Filter)
برای افزودن فیلتر خود، این مدخل را انتخاب کنید. برای مثال، اگر میخواهید فیلتری برای هنرمندانی که با "The" شروع میشوند داشته باشید، "Custom Filter" را با نام "The Bands" جایگزین کرده و Enter را فشار دهید. سپس عبارت زیر را در کادر ویرایش خط وارد کنید:
%{artist} matches "The.*"
سپس بر روی Save Settings کلیک کنید. برای فیلتر کردن فایلها بر روی Apply کلیک نمایید. تمام فایلهای پردازششده در نمای متنی نمایش داده میشوند؛ با یک "+" برای مواردی که با فیلتر مطابقت دارند و یک "-" برای سایرین. پس از پایان، تنها فایلهایی که هنرمند آنها با "The" شروع میشود نمایش داده خواهند شد و در عنوان پنجره عبارت "[filtered]" درج میشود.
ابزارها → تبدیل ID3v2.3 به ID3v2.4 (Tools → Convert ID3v2.3 to ID3v2.4)
اگر در فایلهای انتخابشده برچسبهای ID3v2.3 وجود داشته باشد، به برچسبهای ID3v2.4 تبدیل خواهند شد. فریمهایی که توسط TagLib پشتیبانی نمیشوند نادیده گرفته خواهند شد. تنها فایلهای بدون تغییرات ذخیرهنشده تبدیل خواهند شد.
ابزارها → تبدیل ID3v2.4 به ID3v2.3 (Tools → Convert ID3v2.4 to ID3v2.3)
اگر در فایلهای انتخابشده برچسبهای ID3v2.4 وجود داشته باشد، به برچسبهای ID3v2.3 تبدیل خواهند شد. تنها فایلهای بدون تغییرات ذخیرهنشده تبدیل خواهند شد.
ابزارها → پخش (Tools → Play)
این دستور یک نوار ابزار ساده را برای پخش فایلهای صوتی باز میکند. این نوار شامل دکمههایی برای عملیات پایه (Play/Pause، Stop playback، Previous Track، Next Track، Close)، لغزندههایی برای موقعیت و بلندی صدا و یک نمایشگر برای موقعیت فعلی است. اگر چندین فایل انتخاب شده باشند، قطعههای انتخابشده پخش میشوند، در غیر این صورت تمام فایلها پخش خواهند شد.
زمان نمایش دادهشده را میتوان با کلیک روی نمایشگر، بین زمان سپریشده و زمان باقیمانده تغییر وضعیت داد.
منوی تنظیمات (The Settings Menu)
تنظیمات → نمایش نوار ابزار (Settings → Show Toolbar)
نمایش نوار ابزار را تغییر وضعیت میدهد.
تنظیمات → نمایش نوار وضعیت (Settings → Show Statusbar)
نمایش نوار وضعیت را تغییر وضعیت میدهد، نواری که عملیات طولانیتر مانند باز کردن یا ذخیره یک پوشه را نمایش میدهد.
تنظیمات → نمایش تصویر (Settings → Show Picture)
نمایش تصویر پیشنمایش طرح روی جلد آلبوم را تغییر وضعیت میدهد.
تنظیمات → پنهانسازی خودکار برچسبها (Settings → Auto Hide Tags)
اگر این گزینه فعال باشد، برچسبهای خالی بهطور خودکار پنهان میشوند. بخشهای File، Tag 1 و Tag 2 را میتوان با کلیک روی دکمههای متناظر -/+ بهصورت دستی جمع یا باز کرد.
تنظیمات → پیکربندی کلیدهای میانبر... (Settings → Configure Shortcut keys...)
کادر محاورهای را برای تخصیص کلیدهای میانبر صفحهکلید به بیشتر عملکردهای برنامه باز میکند. حتی عملکردهایی وجود دارند که منو یا دکمه متناظری برای آنها در دسترس نیست، مانند next file، previous file، select all.
تنظیمات → پیکربندی Kid3... (Settings → Configure Kid3...)
کادر محاورهای پیکربندی را باز میکند که شامل صفحاتی برای برچسبها، فایلها، اقدامات کاربر و تنظیمات شبکه است.
گزینههای ویژه برچسبها را میتوان در صفحه Tags یافت، که خود به چهار برگه برای Tag 1، Tag 2، Tag 3 و All Tags تقسیم شده است.
اگر Mark truncated fields علامت زده شده باشد، فیلدهای کوتاهشده ID3v1.1 با رنگ قرمز مشخص میشوند. فیلدهای متنی برچسبهای ID3v1.1 فقط میتوانند ۳۰ نویسه و یادداشت (comment) فقط ۲۸ نویسه داشته باشند. همچنین شمارههای سبک و قطعه محدود هستند، بهطوری که ممکن است فیلدها هنگام وارد کردن یا انتقال از ID3v2 کوتاه شوند. فیلدهای کوتاهشده و خود فایل با رنگ قرمز مشخص میشوند و این علامت پس از ویرایش فیلد برداشته خواهد شد.
با Text encoding برای ID3v1 میتوان مجموعه نویسههای مورد استفاده در برچسبهای ID3v1 را تعیین کرد. فرض بر این است که این کدگذاری ISO-8859-1 باشد، بنابراین توصیه میشود این مقدار پیشفرض را حفظ کنید. با این حال، برچسبهایی با کدگذاریهای متفاوت نیز وجود دارند، بنابراین میتوان آن را در اینجا تنظیم کرد و سپس برچسبهای ID3v1 را در ID3v2 که از Unicode پشتیبانی میکند کپی نمود.
جعبه انتخاب Use track/total number of tracks format کنترل میکند که آیا فیلد شماره قطعه در برچسبهای ID3v2 صرفاً شامل شماره قطعه باشد یا علاوه بر آن شامل تعداد کل قطعات موجود در پوشه نیز باشد.
هنگامی که Genre as text instead of numeric string علامت زده شود، تمام سبکهای ID3v2 بهصورت یک رشته متنی ذخیره خواهند شد حتی اگر کد متناظری برای سبکهای ID3v1 وجود داشته باشد. اگر این گزینه تنظیم نشود، سبکهایی که کد ID3v1 برای آنها وجود دارد، بهصورت شماره کد سبک ذخیره میشوند (در ID3v2.3 داخل پرانتز). بنابراین بسته به این گزینه، سبک Metal بهصورت "Metal" یا "(9)" ذخیره خواهد شد. سبکهایی که در فهرست سبکهای ID3v1 نیستند همواره بهصورت یک رشته متنی ذخیره میشوند. هدف از این گزینه، بهبود سازگاری با دستگاههایی است که کدهای سبک را بهدرستی تفسیر نمیکنند.
هنگامی که WAV files with lowercase id3 chunk علامت زده شود، چانک RIFF مورد استفاده برای ذخیره برچسبهای ID3v2 در فایلهای WAV بهجای "ID3 " با نام "id3 " نامگذاری خواهد شد. بهطور پیشفرض، Kid3 و دیگر برنامههایی که از TagLib استفاده میکنند، هنگام خواندن فایلهای WAV هر دو نگارش با حروف کوچک و بزرگ را میپذیرند، اما هنگام نوشتن برچسبهای ID3v2 روی فایلهای WAV از "ID3 " استفاده میکنند. از آنجا که برنامههای دیگری وجود دارند که تنها "id3 " را میپذیرند (مانند JRiver Media Center و foobar2000)، میتوان از این گزینه برای ایجاد برچسبهایی استفاده کرد که توسط چنین برنامههایی قابل خواندن باشند.
هنگامی که Mark standard violations علامت زده شود، فیلدهای ID3v2 که استاندارد را نقض میکنند با رنگ قرمز مشخص خواهند شد. جزئیات مربوط به این نقض در یک پنجره شناور (tooltip) نمایش داده میشود:
اسناد استاندارد ID3 بهصورت برخط در دسترس هستند:
گزینه Text encoding کدگذاری پیشفرضی که برای فریمهای ID3v2 استفاده میشود را تعیین میکند و میتواند روی ISO-8859-1، UTF16، یا UTF8 تنظیم شود. UTF8 برای فریمهای ID3v2.3.0 معتبر نیست؛ اگر تنظیم شود، بهجای آن از UTF16 استفاده خواهد شد. برای فریمهای ID3v2.4.0، هر سه کدگذاری امکانپذیر هستند.
گزینه Version used for new tags مشخص میکند که برچسبهای ID3v2 جدید بهصورت نسخه 2.3.0 ایجاد شوند یا 2.4.0.
گزینه Track number digits تعداد ارقام موجود در فیلدهای Track Number است. صفرهای ابتدایی برای پر کردن بهکار میروند. برای نمونه، با مقدار ۲، شماره قطعه ۵ بهصورت "05" تنظیم میشود.
جعبه گزینش Comment field name تنها برای فایلهای Ogg/Vorbis و FLAC کاربرد دارد و نام فیلدی را که برای توضیحات استفاده میشود مشخص میکند. به نظر میرسد برنامههای مختلف از نامهای متفاوتی استفاده میکنند؛ برای نمونه "COMMENT" توسط XMMS استفاده میشود، درحالیکه Amarok از "DESCRIPTION" استفاده میکند.
قالب تصویرها در فایلهای Ogg/Vorbis توسط Picture field name تعیین میشود که میتواند "METADATA_BLOCK_PICTURE" یا "COVERART" باشد. اولی استاندارد رسمی است و از همان قالبی استفاده میکند که تصاویر در برچسبهای FLAC دارند. گزینه "COVERART" روشی قدیمیتر و غیررسمی برای گنجاندن تصاویر در توضیحات Vorbis است. این گزینه میتواند برای سازگاری با پخشکنندههای قدیمی استفاده شود.
حالتی که هنگام ذخیره فایلهای Matroska استفاده میشود را میتوان با Write mode انتخاب کرد. این گزینه توازن میان حجم فایل و سرعت نوشتن را هنگام ذخیره برچسبها، پیوستها و فصلها در فایل کنترل میکند. برای فایلهای بسیار بزرگ و/یا سیستمهای فایل (شبکهای) کُند، استفاده از Avoid insert زمان نوشتن را بهطور چشمگیری کاهش میدهد. سه حالت ممکن وجود دارد:
اگر جعبه انتخاب Mark if larger than (bytes) فعال باشد، فایلهای دارای تصویر جلد آلبوم جاسازیشده که از اندازه مشخصشده به بایت تجاوز کنند، با رنگ قرمز مشخص میشوند. از این گزینه میتوان برای یافتن فایلهای حاوی تصاویر بیش از حد بزرگ که توسط برخی برنامهها و پخشکنندهها پذیرفته نمیشوند استفاده کرد. مقدار پیشفرض ۱۳۱۰۷۲ بایت (۱۲۸ کیلوبایت) است.
گزینه Custom Genres میتواند برای تعریف سبکهایی استفاده شود که در فهرست سبکهای استاندارد موجود نیستند، مانند "Gothic Metal". چنین سبکهای سفارشی در جعبه گزینش Genre مربوط به Tag 2 ظاهر خواهند شد. برای برچسبهای ID3v1.1، تنها سبکهای ازپیشتعریفشده قابل استفاده هستند.
فهرست سبکهای سفارشی همچنین میتواند برای محدود کردن تعداد سبکهای موجود در جعبه گزینش Genre به مواردی که معمولاً استفاده میشوند به کار رود. اگر مجموعهتان بیشتر شامل موسیقی در سبکهای Metal، Gothic Metal، Ancient و Hard Rock است، میتوانید آن سبکها را وارد کرده و Show only custom genres را علامت بزنید. در این صورت، جعبه گزینش Genre در Tag 2 تنها شامل آن چهار سبک خواهد بود و نیازی نیست برای یافتن آنها کل فهرست سبکها را جستجو کنید. در این مثال، تنها Metal و Hard Rock در فهرست سبکهای tag 1 نشان داده خواهند شد، زیرا آن دو ورودی سبک سفارشی، جزو سبکهای استاندارد هستند. اگر Show only custom genres فعال نباشد، سبکهای سفارشی در انتهای فهرست سبکها یافت میشوند.
در Custom Frames، میتوان تا هشت نام فریم سفارشی را تعریف کرد، که سپس میتوانند مانند فریمهای یکپارچه، مثلاً بهعنوان فریمهای دسترسی سریع، استفاده شوند.
گزینه Quick Access Frames تعیین میکند کدام نوع فریمها همواره در بخش Tag 2 نمایش داده شوند. چنین فریمهایی را میتوان بدون نیاز به استفاده اولیه از دکمه Add اضافه کرد. ترتیب این فریمهای دسترسی سریع با کشیدن و رها کردن موارد قابل تغییر است.
جعبه گزینش Track number field name تنها برای RIFF INFO اهمیت دارد و نام فیلد مورد استفاده برای شماره قطعه را تعیین میکند. شماره قطعه در استاندارد اصلی RIFF مشخص نشده است؛ برنامههایی هستند که از "ITRK" و برخی دیگر از "IPRT" استفاده میکنند.
گزینه Tag Format شامل گزینههایی برای قالببندی برچسبها است. هنگامی که Automatically apply format علامت خورده باشد، پیکربندی قالب هنگام ویرایش متن در کادرهای ورودی متن بهطور خودکار اعمال میشود. گزینه Validation اعتبارسنجها را در کنترلهای دارای مقادیر قطعه/مجموع و تاریخ/زمان فعال میکند. گزینه Case conversion میتواند روی No changes، All lowercase، All uppercase، First letter uppercase یا All first letters uppercase تنظیم شود. برای استفاده از تبدیل وابسته به محل (locale-aware) میان حروف کوچک و بزرگ، میتوان یک محلیسازی را در جعبه گزینش پایین انتخاب کرد. فهرست جایگزینی رشته میتواند روی نگاشتهای دلخواه رشته تنظیم شود. برای افزودن یک نگاشت جدید، سلول From یک سطر را انتخاب کرده و متنی را که میخواهید جایگزین شود وارد کنید، سپس به ستون To رفته و متن جایگزین را وارد نمایید. هنگامی که متن جایگزینشونده با یک اسلش ("/") آغاز و پایان یابد، یک عبارت باقاعده (regular expression) به کار میرود. برای عبارات باقاعده دارای گروههای ضبط (capturing groups)، موارد وقوع \1، \2، ... در To با رشته ضبطشده توسط گروه ضبط متناظر جایگزین میشوند. برای حذف یک نگاشت، سلول From را خالی بگذارید (برای مثال ابتدا با فشردن فاصله و سپس backspace). افزودن و حذف سطرها همچنین با استفاده از یک منوی زمینهای که با کلیک روی کلید راست ماوس ظاهر میشود امکانپذیر است. جایگزینی تنها در صورتی فعال خواهد بود که جعبه انتخاب String replacement علامت خورده باشد.
جدول موجود در Rating شامل نگاشت امتیازهای ستارهای به مقادیر واقعی ذخیرهشده در برچسب است. فریمهای حاوی اطلاعات امتیازدهی در سطر Rating فهرست فریمها درج شدهاند. برای این فریمها، امتیاز را میتوان با دادن تعدادی ستاره از میان پنج ستاره مشخص کرد. قالبهای برچسب مختلف و برنامههای گوناگون از مقادیر متفاوتی برای نگاشت امتیاز ستارهای به مقدار ذخیرهشده در برچسب استفاده میکنند. جهت نمایش تعداد صحیح ستارهها، Kid3 یک نگاشت را در این جدول جستجو میکند. کلید جستجوی نگاشت، نام فریم است؛ بهعنوان مثال "RATING" که برای توضیحات Vorbis استفاده میشود یا "IRTD" برای RIFF INFO. برای برچسبهای ID3v2، یک کلید ترکیبی متشکل از شناسه فریم "POPM" از فریم Popularimeter و فیلد "Email" آن که با یک نقطه جدا شدهاند به کار میرود. بنابراین، کلیدهای متفاوتی برای ID3v2 وجود دارد؛ برای نمونه "POPM.Windows Media Player 9 Series" برای نگاشت مورد استفاده توسط Windows Media Player و کاوشگر فایل، و بهسادگی "POPM" برای فریمهای POPM با فیلد خالی "Email". از آنجا که ورودیهای متعددی برای "POPM" میتواند وجود داشته باشد، ترتیب آنها مهم است. هنگامی که Kid3 یک فریم Popularimeter جدید اضافه میکند، از نخستین ورودی "POPM" برای تعیین مقداری که باید در فیلد "Email" نوشته شود استفاده خواهد کرد. این مقدار سپس نگاشت مورد استفاده برای رتبهبندیهای ستارهای را مشخص میکند. همچنین اگر هیچ کلیدی یافت نشود، ورودی نخست به کار میرود؛ بنابراین، ورودی پیشفرض است.
علاوه بر ستون Name شامل کلیدها، این جدول دارای ستونهای 1 تا 5 برای مقادیری است که باید هنگام دادن تعداد ستارههای متناظر ذخیره شوند. بالعکس، این مقادیر تعداد ستارههایی را تعیین میکنند که برای مقدار ذخیرهشده در فریم نمایش داده میشوند. برای نمونه، سطر در جدول زیر شامل مقادیر 1، 64، 128، 196، 255 است. آستانههای تعداد ستارههایی که باید نمایش داده شوند میان این مقادیر قرار میگیرند و با آنچه Windows® Explorer استفاده میکند سازگار هستند.
جدول 1. ورودی در جدول Rating
| Name | 1 | 2 | 3 | 4 | 5 |
| POPM | 1 | 64 | 128 | 196 | 255 |
| Range | 1-31 | 32-95 | 96-159 | 160-223 | 224-255 |
در برگه Files جعبه انتخاب Load last-opened files میتواند علامتگذاری شود تا Kid3 دفعه بعد که راهاندازی میشود، آخرین فایل انتخابشده را باز و انتخاب کند. Preserve file timestamp میتواند برای حفظ برچسب زمانی تغییر فایل علامت بخورد. Filename for cover نامی را مشخص میکند که هنگام برونریزی یک تصویر جاسازیشده به یک فایل پیشنهاد میشود. با Text encoding (Export, Playlist) میتوان کدگذاری مورد استفاده هنگام نوشتن فایلها را تعیین کرد. مقدار پیشفرض System را میتوان تغییر داد، برای مثال اگر قرار باشد فهرستهای پخش روی دستگاه متفاوتی استفاده شوند.
اگر Mark changes فعال باشد، فیلدهای تغییریافته با پسزمینه برچسب خاکستری روشن علامتگذاری میشوند.
بخش File List مشخص میکند کدام فایلها در فهرست فایل نمایش داده شوند. یک Filter میتواند برای محدود کردن موارد این فهرست به فایلهایی با پسوندهای پشتیبانیشده استفاده شود. برای مشخص کردن صریح پوشههایی که باید در فهرست فایل نمایش داده شوند یا برای مستثنی کردن پوشههای خاص، میتوان از گزینههای Include folders و Exclude folders استفاده کرد. آنها میتوانند شامل عبارتهای عام (wildcard) باشند، برای نمونه */Music/* برای در بر گرفتن تنها پوشه Music، یا */iTunes/* برای حذف پوشه iTunes از فهرست فایل. اگر نیاز به استفاده از چندین عبارت از این دست باشد، میتوان آنها را با فاصله یا نقطهویرگول از هم جدا کرد.
دکمههای Filename from tag و Tag from filename در بخش Format پنجرههای محاورهای را برای ویرایش قالبهایی که در جعبههای گزینش Format (با پیکانهای بالا و پایین) در دسترس هستند باز میکنند، که در بخش File پنجره اصلی یافت میشوند.
دکمه Playlist میتواند برای ویرایش قالبهای نام فایل موجود در محاوره Create Playlist استفاده شود.
گزینه Filename Format شامل گزینههایی برای قالب نام فایلها است. همان گزینههای موجود در Tag Format در دسترس هستند.
علاوه بر این، میتوان Maximum length مجاز را برای نام فایلها تعیین کرد. بیشتر سیستمهای فایل مدرن محدودیتی معادل ۲۵۵ نویسه دارند، اما اگر میخواهید فایلها را روی CD رایت کنید، باید این حد را روی ۶۴ تنظیم نمایید. اگر Use for playlist and folder names علامت خورده باشد، قالب نام فایل هنگام ایجاد فهرستهای پخش و تغییر نام پوشهها نیز استفاده میشود.
برگه User Actions شامل جدولی از دستورهایی است که در منوی زمینهای فهرست فایل موجود هستند. برای عملیات حیاتی مانند حذف فایلها، توصیه میشود گزینه Confirm علامت زده شود تا پیش از اجرای دستور یک محاوره تأیید نمایش یابد. گزینه Output میتواند علامت بخورد تا خروجی نوشتهشده توسط دستورهای کنسول (خروجی استاندارد و خطای استاندارد) دیده شود. Name نامی است که در منوی زمینهای نمایش مییابد. Command خط فرمانی است که باید اجرا شود. آرگومانها را میتوان با استفاده از کدهای زیر ارسال کرد:
کد ویژه @separator میتواند به عنوان دستوری برای درج یک جداکننده در منوی زمینه کنشهای کاربر تنظیم شود. موارد منو را میتوان با محصور کردنشان میان دستورهای @beginmenu و @endmenu در یک زیرمنو قرار داد. نام زیرمنو توسط ستون Name دستور @beginmenu تعیین میشود.
برای اجرای اسکریپتهای QML، از @qml به عنوان نام دستور استفاده میشود. مسیر اسکریپت QML به عنوان یک پارامتر ارسال میشود. اسکریپتهای ارائهشده را میتوان در پوشه %{qmlpath}/script/ یافت (در Linux® بهطور معمول /usr/share/kid3/qml/script/، در Windows qml/script/ درون پوشه نصب، و در macOS® در پوشه برنامه kid3.app/Contents/Resources/qml/script/). اسکریپتهای سفارشی را میتوان در هر پوشهای ذخیره کرد. اگر کد QML از مؤلفههای GUI استفاده میکند، باید از @qmlview به جای @qml استفاده شود. پارامترهای اضافی به اسکریپت QML ارسال میشوند که در آنجا از طریق تابع getArguments() در دسترس خواهند بود. مروری بر برخی توابع و ویژگیهایی که در QML در دسترس هستند را میتوان در پیوست QML Interface یافت.
دستوری که با %{browser} درج خواهد شد را میتوان در کادر متنی Web browser در بالا تعریف کرد. دستورهایی که با %{browser} آغاز میشوند میتوانند برای دریافت اطلاعات درباره فایلهای صوتی از وب استفاده شوند، برای نمونه
%{browser} http://lyricwiki.org/%u{artist}:%u{title}
متن ترانه مربوط به آهنگ جاری را در LyricWiki[13] جستجو خواهد کرد. حرف "u" در %u{artist} و %u{title} برای URL-encode کردن اطلاعات هنرمند %{artist} و ترانه %{title} استفاده میشود. تعریف پرسوجوهای اختصاصی خود به همین روش آسان است، مانند جستجوی تصویر با Google[14]:
%{browser} http://images.google.com/images?q=%u{artist}%20%u{album}
برای افزودن تصویر جلد آلبوم به برچسب ۲، میتوانید با استفاده از دستورهای شرحدادهشده در بالا با Google یا Amazon به جستجوی تصاویر بپردازید. تصویر را میتوان با کشیدن و رها کردن به برچسب افزود. همچنین میتوانید با Add یک تصویر اضافه کنید، سپس فریم Picture را انتخاب کرده و یک فایل تصویری را درونریزی کنید یا از کلیپبورد جایگذاری نمایید. فریمهای Picture برای برچسبهای ID3v2، MP4، FLAC، Ogg و ASF پشتیبانی میشوند.
برای افزودن و حذف مدخلها در جدول، میتوان از یک منوی زمینه استفاده کرد.
صفحه Network تنها حاوی یک فیلد برای درج نشانی پروکسی و بهصورت اختیاری درگاه (port) است که با دونقطه از هم جدا میشوند. در صورت علامت زدن جعبه انتخاب، هنگام درونریزی از یک سرور اینترنتی، از پروکسی استفاده خواهد شد.
در صفحه Plugins، افزونههای موجود را میتوان فعال یا غیرفعال کرد. افزونهها به دو بخش تقسیم میشوند. فهرست Metadata Plugins & Priority شامل افزونههایی است که از قالبهای فایل صوتی پشتیبانی میکنند. ترتیب افزونهها مهم است چرا که از بالا به پایین آزمایش میشوند. برخی قالبها توسط چندین افزونه پشتیبانی میشوند، بنابراین فایلها با نخستین افزونهای که از آنها پشتیبانی کند باز خواهند شد. افزونه TaglibMetadata از بیشتر قالبها پشتیبانی میکند؛ اگر در بالای فهرست باشد، بیشتر فایلها را باز خواهد کرد. اگر میخواهید برای یک قالب فایل از افزونه متفاوتی استفاده کنید، مطمئن شوید که پیش از افزونه TaglibMetadata در فهرست قرار گرفته باشد. جزئیات مربوط به افزونههای فراداده و چرایی تمایل شما به استفاده از آنها بهجای TagLib در زیر فهرست شدهاند.
بخش Available Plugins بقیه افزونهها را فهرست میکند. ترتیب آنها اهمیتی ندارد، اما میتوان آنها را با استفاده از جعبههای علامتزدن (check boxes) فعال یا غیرفعال کرد.
افزونههایی که غیرفعال باشند بارگذاری نخواهند شد. از این قابلیت میتوان برای بهینهسازی مصرف منابع و زمان راهاندازی استفاده کرد. تنظیمات این صفحه تنها پس از راهاندازی دوباره Kid3 اعمال میشوند.
راهنما → دفترچه راهنمای Kid3
این دفترچه راهنما را باز میکند.
راهنما → درباره Kid3
اطلاعات کوتاهی را درباره Kid3 نمایش میدهد.
دستورها (Commands)
kid3-cli یک واسط خط فرمان برای Kid3 ارائه میدهد. اگر مسیر یک پوشه استفاده شود، آن پوشه باز میشود. اگر یک یا چند مسیر فایل مشخص شود، پوشه مشترک آنها باز شده و فایلها انتخاب میشوند. دستورهای بعدی روی این فایلها عمل خواهند کرد. دستورها با استفاده از گزینههای -c مشخص میشوند. اگر چند دستور ارسال شود، آنها به ترتیب دادهشده اجرا خواهند شد. اگر فایلها توسط دستورها تغییر یابند، در پایان ذخیره میشوند. اگر هیچ گزینه دستوری ارسال نشود، kid3-cli در حالت تعاملی آغاز به کار میکند. دستورها را میتوان وارد کرد و بر روی انتخاب فعلی اعمال خواهند شد. بخشهای زیر تمامی دستورهای موجود را فهرست میکنند.
راهنما (Help)
help
[COMMAND-NAME]
نمایش راهنما درباره پارامترهای COMMAND-NAME یا درباره تمام دستورها در صورتی که نام دستوری داده نشده باشد.
مهلت
زمانی (Timeout)
timeout
[
| default
| off
| TIME ]
بازنویسی مهلت زمانی (timeout) پیشفرض دستور. دستورهای CLI پس از انقضای مهلت زمانی مشخصشده برای هر دستور متوقف میشوند. این مهلت زمانی ۱۰ ثانیه برای ls و albumart، ۶۰ ثانیه برای autoimport و filter، و ۳ ثانیه برای سایر دستورها است. اگر تعداد بسیار زیادی فایل باید پردازش شوند، ممکن است این مهلتهای زمانی بیش از حد محدودکننده باشند؛ بنابراین مهلت زمانی برای تمام دستورها را میتوان به TIME میلیثانیه تنظیم کرد، آن را بهکلی غیرفعال نمود یا در مقادیر پیشفرض باقی گذاشت.
خروج از
برنامه (Quit application)
exit
[force]
خروج از برنامه. اگر فایلهای تغییریافته و ذخیرهنشده وجود داشته باشند، پارامتر force مورد نیاز است.
تغییر
پوشه (Change folder)
cd
[FOLDER]
اگر هیچ FOLDER مشخص نشود، به پوشه خانگی (home) تغییر مسیر میدهد. اگر یک پوشه داده شود، وارد آن پوشه میشود. اگر یک یا چند مسیر فایل داده شود، به پوشه مشترک آنها تغییر مسیر داده و فایلها را انتخاب میکند.
چاپ نام
فایل پوشه
فعلی (Print current folder filename)
pwd
چاپ نام فایل پوشه کاری فعلی.
فهرست
پوشه (Folder list)
ls
فهرست کردن محتویات پوشه جاری. این مورد با فهرست فایلها در واسط گرافیکی کاربر (GUI) Kid3 مطابقت دارد. پنج نویسه قبل از نام فایلها وضعیت فایل را نشان میدهند.
kid3-cli> ls 1-- 01 Intro.mp3 > 12- 02 We Only Got This One.mp3 *1-- 03 Outro.mp3
ذخیره
فایلهای
تغییریافته
save
انتخاب
فایل
select
[
| all
| none
| first
| previous
| next
| FILE... ]
برای انتخاب همه فایلها، select all و برای لغو انتخاب همه فایلها، select none را وارد کنید. برای پیمایش فایلها در پوشه جاری، با select first شروع کنید، سپس با استفاده از select next به جلو بروید یا با استفاده از select previous به عقب برگردید. فایلهای مشخص را میتوان با دادن نامهایشان به انتخاب جاری اضافه کرد. استفاده از نویسههای عمومی (wildcard) امکانپذیر است، بنابراین select *.mp3 تمام فایلهای MP3 موجود در پوشه جاری را انتخاب خواهد کرد.
kid3-cli> select first kid3-cli> ls > 1-- 01 Intro.mp3 12- 02 We Only Got This One.mp3 *1-- 03 Outro.mp3 kid3-cli> select next kid3-cli> ls 1-- 01 Intro.mp3 > 12- 02 We Only Got This One.mp3 *1-- 03 Outro.mp3 kid3-cli> select *.mp3 kid3-cli> ls > 1-- 01 Intro.mp3 > 12- 02 We Only Got This One.mp3 >*1-- 03 Outro.mp3
انتخاب
برچسب
tag
[TAG-NUMBERS]
بسیاری از دستورها یک پارامتر اختیاری TAG-NUMBERS دارند که مشخص میکند دستور روی برچسب ۱، ۲ یا ۳ عمل کند. اگر این پارامتر حذف شود، شمارههای برچسب پیشفرض به کار میروند که با این دستور قابل تنظیم هستند. در زمان راهاندازی، روی 12 تنظیم شده است که یعنی اطلاعات در صورت موجود بودن از برچسب ۲ خوانده میشود، در غیر این صورت از برچسب ۱؛ تغییرات روی برچسب ۲ اعمال میشوند. پارامتر TAG-NUMBERS میتواند روی 1، 2، یا 3 تنظیم شود تا فقط روی برچسب متناظر عمل کند. اگر پارامتر ذکر نشود، تنظیمات فعلی نمایش داده میشود.
دریافت
فریم
برچسب
get
[
| all
| FRAME-NAME ]
[TAG-NUMBERS]
این دستور میتواند برای خواندن مقدار یک فریم برچسب مشخص یا دریافت اطلاعات درباره همه فریمهای برچسب (در صورتی که آرگومان حذف شده یا از all استفاده شود) به کار رود. فریمهای تغییریافته با '*' علامتگذاری میشوند.
kid3-cli> get File: MPEG 1 Layer 3 192 kbps 44100 Hz Joint Stereo Name: 01 Intro.mp3 Tag 1: ID3v1.1 Title Intro Artist One Hit Wonder Album Let's Tag Date 2013 Track Number 1 Genre Pop kid3-cli> get title Intro
برای ذخیره محتویات یک فریم تصویر در یک فایل، از دستور زیر استفاده کنید:
get picture:'/path/to/folder.jpg'
برای ذخیره متن همگامسازیشده ترانه در یک فایل LRC، از دستور زیر استفاده کنید:
get SYLT:'/path/to/lyrics.lrc'
امکان دریافت تنها یک فیلد خاص از یک فریم وجود دارد؛ برای نمونه get POPM.Email برای فیلد Email از یک فریم Popularimeter. اگر یک فایل چندین فریم از همان نوع داشته باشد، فریمهای مختلف را میتوان با کروشه نمایه کرد؛ برای نمونه نخستین مجری از یک کامنت Vorbis را میتوان با استفاده از get performer[0]، و دومی را با استفاده از get performer[1] به دست آورد.
از نام شبهفیلد "selected" میتوان برای بررسی انتخاب بودن یک فریم استفاده کرد؛ برای نمونه get artist.selected در صورت انتخاب بودن فریم artist، مقدار 1 و در غیر این صورت 0 را برمیگرداند.
از نام شبهفریم "ratingstars" میتوان برای دریافت مقدار فریم "rating" به صورت مقدار خاص هر قالب متناظر با تعداد ستارهها (0 تا 5) استفاده کرد. هنگام استفاده از "rating"، مقدار داخلی بازگردانده میشود.
تنظیم
فریم
برچسب
set
{FRAME-NAME}
{FRAME-VALUE}
[TAG-NUMBERS].PP این
دستور
مقدار یک
فریم برچسب
مشخص را
تنظیم
میکند. اگر
FRAME-VALUE خالی
باشد، فریم
حذف
میشود.
kid3-cli> set remixer 'O.H. Wonder'
برای تنظیم محتوای یک فریم تصویر از یک فایل، از دستور زیر استفاده کنید:
set picture:'/path/to/folder.jpg' 'Picture Description'
برای تنظیم متن ترانهٔ همگامسازیشده از یک فایل LRC، از دستور زیر استفاده کنید:
set SYLT:'/path/to/lyrics.lrc' 'Lyrics Description'
برای تنظیم یک فیلد خاص از یک فریم، میتوان نام فیلد را پس از یک نقطه مشخص کرد؛ برای نمونه، جهت تنظیم فیلد Counter از یک فریم Popularimeter:
set POPM.Counter 5
یکی از کاربردهای مشخص کردن نام فیلدها زمانی است که بهجای یک فریم استاندارد Popularimeter، یک فریم سفارشی TXXX با شرح “rating” میخواهید (به نظر میرسد این روش توسط برخی افزونهها استفاده میشود). شما میتوانید چنین فریم رتبهبندی TXXX را با kid3-cli ایجاد کنید؛ با این حال، ابتدا باید یک فریم TXXX با شرح “rating” ایجاد کرده و سپس مقدار این فریم را روی مقدار رتبهبندی تنظیم نمایید.
kid3-cli> set rating "" kid3-cli> set TXXX.Description rating kid3-cli> set rating 5
دستور نخست هر فریم موجود POPM را حذف خواهد کرد، چرا که در صورت وجود چنین فریمی، set rating 5 فریم POPM را تنظیم میکرد و نه فریم TXXX را. امکان دیگر استفاده از set TXXX.Text 5 است، اما این روش تنها در صورتی کار میکند که هیچ فریم TXXX دیگری وجود نداشته باشد.
برای تنظیم چندین فریم از همان نوع، میتوان یک نمایه را درون کروشه تعیین کرد؛ برای نمونه، جهت تعیین چندین مجری در یک کامنت Vorbis:
kid3-cli> set performer[0] 'Liza don Getti (soprano)' kid3-cli> set performer[1] 'Joe Barr (piano)'
جهت انتخاب فریمهایی مشخص پیش از عملیات رونوشت، جایگذاری یا حذف، میتوان از نام شبهفیلد “selected” استفاده کرد. در حالت عادی، تمام فریمها انتخاب شدهاند؛ برای لغو انتخاب همه، از set '*.selected' 0 و سپس برای نمونه از set artist.selected 1 جهت انتخاب فریم artist استفاده کنید.
از نام شبهفریم “ratingstars” میتوان برای تنظیم مقدار فریم “rating” روی مقدار ویژهٔ هر قالب متناظر با تعداد ستارهها (۰ تا ۵) استفاده کرد. از نام فریم “rating” میتوان برای تنظیم مقدار داخلی استفاده نمود.
تنظیم “ratingstars” روی چندین فایل با قالبهای برچسب مختلف کار نخواهد کرد، زیرا فریمی با مقدار نگاشتشده از تعداد ستارهها برای نخستین فایل ایجاد شده و سپس برای تمام فایلها استفاده میشود. بنابراین بهجای kid3-cli -c "set ratingstars 2" * بهتر است از for f in *; do kid3-cli -c "set ratingstars 2" "$f"; done استفاده کنید.
واگردانی
revert
تمام تغییرات در فایلهای انتخابشده (یا تمام فایلها اگر هیچ فایلی انتخاب نشده باشد) را واگردانی میکند.
درونریزی
از فایل
import
{FILE}
{FORMAT-NAME}
[TAG-NUMBERS]
برچسبها از فایل FILE در قالبی با نام FORMAT-NAME (برای نمونه "CSV unquoted"، بخش Import را ببینید) درونریزی میشوند.
اگر tags برای FILE داده شود، برچسبها از سایر برچسبها درونریزی میشوند. بهجای FORMAT-NAME پارامترهای SOURCE و EXTRACTION مورد نیاز هستند (بخش Import from Tags را ببینید). برای اعمال درونریزی از برچسبها روی فایلهای انتخابشده، بهجای tags از tagsel استفاده کنید. این تابع همچنین با استفاده از یک EXTRACTION با مقدار %{__return}(.+) از بازگرداندن مقدار استخراجشده پشتیبانی میکند.
درونریزی
خودکار
autoimport
[PROFILE-NAME]
[TAG-NUMBERS]
درونریزی دستهای با استفاده از نمایهٔ PROFILE-NAME (بخش Automatic Import را ببینید؛ در صورت ذکر نشدن، از "All" استفاده میشود).
بارگیری
تصویر جلد
آلبوم
albumart
{URL}
[all].PP تنظیم
تصویر جلد
آلبوم با
بارگیری
تصویر از URL.
قوانین
تعریفشده
در
گفتوگوی Browse
Cover Art برای
تبدیل
نشانیهای
اینترنتی
عمومی
(مانند Amazon) به
نشانی
تصویر (URL)
بهکار
میروند.
برای تنظیم
جلد آلبوم
از یک فایل
تصویری
محلی، از
دستور set
استفاده
کنید.
kid3-cli> albumart http://www.amazon.com/Versus-World-Amon-Amarth/dp/B000078DOC
برونبری
به فایل
export
{FILE}
{FORMAT-NAME}
[TAG-NUMBERS]
برچسبها به فایل FILE در قالبی با نام FORMAT-NAME (مانند "CSV unquoted"، بخش Export را ببینید) برونبری میشوند.
ایجاد
فهرست پخش
playlist
ایجاد فهرست پخش با قالبی که در پیکربندی تنظیم شده است، بخش Create Playlist را ببینید.
اعمال
قالب نام
فایل
filenameformat
اعمال قالب نام فایل تنظیمشده در پیکربندی، بخش Apply Filename Format را ببینید.
اعمال
قالب
برچسب
tagformat
اعمال قالب برچسب تنظیمشده در پیکربندی، بخش Apply Tag Format را ببینید.
اعمال
کدگذاری
متن
textencoding
اعمال کدگذاری متن تنظیمشده در پیکربندی، بخش Apply Text Encoding را ببینید.
تغییر
نام پوشه
renamedir
[FORMAT]
[
| create
| rename
| dryrun ]
[TAG-NUMBERS]
تغییر نام یا ایجاد پوشهها از روی مقادیر موجود در برچسبها مطابق با یک FORMAT مشخصشده (مثلاً %{artist} - %{album}، بخش Rename Folder را ببینید)؛ اگر هیچ قالبی مشخص نشود، قالب تعریفشده در گفتوگوی Rename folder استفاده میشود. حالت پیشفرض rename است؛ برای ایجاد پوشهها، باید create بهطور صریح مشخص شود. اقدامات تغییر نام بلافاصله انجام خواهند شد؛ برای اینکه تنها مشاهده کنید چه تغییراتی انجام خواهد گرفت، از گزینهٔ dryrun استفاده کنید.
شمارهگذاری
قطعهها
numbertracks
[TRACK-NUMBER]
[TAG-NUMBERS]
شمارهگذاری قطعههای انتخابشده با شروع از TRACK-NUMBER (در صورت ذکر نشدن، 1).
فیلتر
filter
[
| FILTER-NAME
| FILTER-FORMAT ]
فایلها را طوری فیلتر میکند که فقط فایلهای منطبق با FILTER-FORMAT قابل مشاهده باشند. میتوان بهجای عبارت فیلتر، از نام یک عبارت فیلتر از پیشتعریفشده (مانند "Filename Tag Mismatch") استفاده کرد؛ بخش Filter را ببینید.
kid3-cli> filter '%{title} contains "tro"'
Started
/home/urs/One Hit Wonder - Let's Tag
+ 01 Intro.mp3
- 02 We Only Got This One.mp3
+ 03 Outro.mp3
Finished
kid3-cli> ls
1-- 01 Intro.mp3
1-- 03 Outro.mp3
kid3-cli> filter All
Started
/home/urs/One Hit Wonder - Let's Tag
+ 01 Intro.mp3
+ 02 We Only Got This One.mp3
+ 03 Outro.mp3
Finished
kid3-cli> ls
1-- 01 Intro.mp3
12- 02 We Only Got This One.mp3
1-- 03 Outro.mp3
تبدیل ID3v2.3
به ID3v2.4
to24
تبدیل ID3v2.4
به ID3v2.3
to23
نام فایل
از برچسب
fromtag
[FORMAT]
[TAG-NUMBERS].PP نام
فایلهای
انتخابشده
را بر اساس
مقادیر
موجود در
برچسبها
تنظیم
میکند؛
برای مثال fromtag
'%{track} - %{title}' 1. اگر
هیچ قالبی
مشخص نشود،
از قالبی که
در GUI تنظیم
شده است
استفاده
میشود.
برچسب از
نام فایل
totag
[FORMAT]
[TAG-NUMBERS]
فریمهای برچسب را از روی نام فایلها مقداردهی میکند؛ برای مثال totag '%{albumartist} - %{album}/%{track} %{title}' 2. اگر هیچ قالبی مشخص نشود، از قالب تعیینشده در GUI استفاده میشود. اگر قالب نام فایل با این الگو مطابقت نداشته باشد، چند قالب رایج دیگر نیز امتحان میشوند.
برچسب به
برچسب
دیگر
syncto
{TAG-NUMBER}
فریمهای برچسب را از یک برچسب به برچسب دیگر کپی میکند؛ برای مثال جهت تنظیم برچسب ID3v2 از روی برچسب ID3v1، از syncto 2 استفاده کنید.
کپی
copy
[TAG-NUMBER]
فریمهای برچسب فایل انتخابشده را در بافر کپی داخلی ذخیره میکند. سپس میتوان با استفاده از دستور paste آنها را روی فایل دیگری اعمال کرد.
برای کپی کردن تنها زیرمجموعهای از فریمها، از شبهفیلد «selected» به همراه دستور set استفاده کنید. برای مثال، برای کپی کردن تنها فریمهای شماره دیسک و کپیرایت، بنویسید:
set '*.selected' 0 set discnumber.selected 1 set copyright.selected 1 copy
جایگذاری
paste
[TAG-NUMBER]
فریمهای برچسب فایلهای انتخابشده را از روی محتویات بافر copy تنظیم میکند.
حذف
remove
[TAG-NUMBER]
حذف یک برچسب.
امکان حذف تنها زیرمجموعهای از فریمها با انتخاب آنها به شکلی که در دستور copy شرح داده شده، وجود دارد.
پیکربندی
Kid3
config
[OPTION]
[VALUE]
پرسوجو یا تنظیم یک گزینهٔ پیکربندی.
آرگومان OPTION شامل یک نام گروه و یک نام مشخصه است که با یک نقطه از هم جدا میشوند. در صورتی که هیچ OPTIONی داده نشود، تمام گروههای موجود نمایش داده میشوند. اگر تنها نام یک گروه مشخص شود، تمام مشخصههای موجود آن گروه نمایش داده میشوند. برای یک گروه و مشخصهٔ معین، مقدار پیکربندیشدهٔ فعلی نمایش مییابد. برای تغییر تنظیمات، مقدار جدید میتواند به عنوان آرگومان دوم فرستاده شود.
اگر مقدار یک تنظیم از نوع فهرست باشد، تمام عناصر فهرست باید به عنوان آرگومان داده شوند. این بدان معنی است که برای افزودن یک عنصر به فهرست موجودی از عناصر، تمام عناصر موجود باید فرستاده شوند و سپس عنصر جدید به دنبال آنها بیاید. در چنین حالتی، استفاده از حالت JSON سادهتر است، که در آن میتوان فهرست فعلی را کپی کرده و عنصر جدید را به آن پیوست کرد.
اجرای
برنامه یا
اسکریپت QML
execute
[@qml]
{FILE}
[ARGS]
اجرای یک اسکریپت QML یا یک فایل اجرایی.
بدون @qml برنامه به همراه آرگومانهایش اجرا میشود. هنگامی که @qml به عنوان نخستین آرگومان داده شود، آرگومانهای بعدی اسکریپت QML و آرگومانهای آن خواهند بود. برای نمونه، برچسبهای یک پوشه را میتوان با دستور زیر به فایل export.csv صادر کرد.
kid3-cli -c "execute @qml /usr/share/kid3/qml/script/ExportCsv.qml export.csv" /path/to/folder/
در اینجا export.csv آرگومانی برای اسکریپت ExportCsv.qml است، در حالی که /path/to/folder/ آرگومان FILE برای kid3-cli میباشد.
تنظیم عنوانی که شامل یک آپاستروف (علامت نقلقول تکی) است. دستورهایی که با -c به kid3-cli ارسال میشوند، اگر فقط از یک کلمه تشکیل نشده باشند، باید درون نقلقول قرار گیرند. اگر چنین دستوری خودش آرگومانی حاوی فاصله داشته باشد، آن آرگومان نیز باید نقلقول شود. در پوستههای UNIX® میتوان از نقلقول تکی یا دوتایی استفاده کرد، اما در خط فرمان ویندوز (Command Prompt)، مهم است که نقلقول بیرونی با استفاده از نقلقول دوتایی صورت گیرد و درون این نقلقولها، از نقلقول تکی استفاده شود. اگر متنِ درون نقلقول تکی حاوی یک نقلقول تکی باشد، باید با استفاده از نویسهٔ بکاسلش گریز داده شود (escape شود)، همانطور که در مثال زیر نشان داده شده است:
kid3-cli -c "set title 'I\'ll be there for you'" /path/to/folder
تنظیم جلد آلبوم در تمام فایلهای یک پوشه با استفاده از تابع واردسازی دستهای (batch import):
kid3-cli -c "autoimport 'Cover Art'" /path/to/folder
حذف فریمهای دیدگاه (comment) و اعمال قالب برچسب (tag format) در هر دو برچسبِ تمام فایلهای MP3 یک پوشه:
kid3-cli -c "set comment '' 1" -c "set comment '' 2" \ -c "tagformat 1" -c "tagformat 2" /path/to/folder/*.mp3
واردسازی خودکار برچسب ۲، همگامسازی با برچسب ۱، تنظیم نام فایلها از روی برچسب ۲ و در پایان ساخت یک فهرست پخش:
kid3-cli -c autoimport -c "syncto 1" -c fromtag -c playlist \ /path/to/folder/*.mp3
برای تمام فایلهای دارای برچسب ID3v2.4.0، تبدیل به ID3v2.3.0 و حذف فریم arranger:
kid3-cli -c "filter 'ID3v2.4.0 Tag'" -c "select all" -c to23 \ -c "set arranger ''" /path/to/folder
این اسکریپت پایتون از kid3-cli برای تولید فریمهای iTunNORM برنامهٔ iTunes Sound Check از روی اطلاعات replay gain استفاده میکند.
#!/usr/bin/env python3
# Generate iTunes Sound Check from ReplayGain.
import os, sys, subprocess
def rg2sc(dirpath):
for root, dirs, files in os.walk(dirpath):
for name in files:
if name.endswith(('.mp3', '.m4a', '.aiff', '.aif')):
fn = os.path.join(root, name)
rg = subprocess.check_output([
'kid3-cli', '-c', 'get "replaygain_track_gain"',
fn]).strip()
if rg.endswith(b' dB'):
rg = rg[:-3]
try:
rg = float(rg)
except ValueError:
print('Value %s of %s in not a float' % (rg, fn))
continue
sc = (' ' + ('%08X' % int((10 ** (-rg / 10)) * 1000) )) * 10
subprocess.call([
'kid3-cli', '-c', 'set iTunNORM "%s"' % sc, fn])
if __name__ == '__main__':
rg2sc(sys.argv[1])
قالب JSON (JSON FORMAT)
به منظور سادهتر کردن تجزیهٔ نتایج حاصل از kid3-cli، امکان دریافت خروجی در قالب JSON وجود دارد. هنگامی که درخواست در قالب JSON باشد، پاسخ نیز به صورت JSON خواهد بود. یک قالب فشرده از درخواست، نمایش فشردهای از پاسخ را نیز ارائه میدهد. اگر درخواست شامل فیلد «id» باشد، یک درخواست JSON-RPC در نظر گرفته میشود و پاسخ نیز حاوی فیلد «jsonrpc» و همان «id» درخواست خواهد بود. قالب درخواست از همان دستورهای استاندارد CLI استفاده میکند؛ فیلد «method» شامل دستور است و پارامترها (در صورت وجود) در فهرست «params» ارائه میشوند. پاسخ شامل یک شیء «result» است که در صورت عدم بازگرداندن نتیجه توسط دستور متناظر در kid3-cli میتواند null نیز باشد. در صورت بروز خطا، یک شیء «error» با فیلدهای «code» و «message» همانگونه که در JSON-RPC مرسوم است، بازگردانده میشود.
kid3-cli> {"method":"set","params":["artist","An Artist"]}
{"result":null}
kid3-cli> {"method":"get","params":["artist",2]}
{"result":"An Artist"}
kid3-cli> {"method": "get", "params": ["artist"]}
{
"result": "An Artist"
}
kid3-cli> {"jsonrpc":"2.0","id":"123","method":"get","params":["artist"]}
{"id":"123","jsonrpc":"2.0","result":"An Artist"}
Kid3
برنامه توسط Urs Fleisch نوشته شده است <ufleisch at users.sourceforge.net>
FDL[23]
GPL[24]
نصب (INSTALLATION)
نحوه دریافت Kid3
Kid3 را میتوان در https://kid3.kde.org یافت.
پیشنیازها
Kid3 به Qt(TM)[25] نیاز دارد. استفاده از KDE[26] توصیه میشود اما ضروری نیست، چرا که Kid3 میتواند به عنوان یک برنامهٔ Qt(TM) نیز کامپایل شود. Kid3 میتواند برای سیستمهایی که این کتابخانهها برای آنها در دسترس است کامپایل شود، به عنوان مثال برای GNU/Linux®، Windows® و macOS®. برای برچسبگذاری فایلهای Ogg/Vorbis به libogg[16] و libvorbis and libvorbisfile[17] نیاز است، برای فایلهای FLAC به libFLAC++ and libFLAC[18] نیاز خواهد بود. از id3lib[15] برای فایلهای MP3 استفاده میشود. این چهار قالب توسط TagLib[19] نیز پشتیبانی میشوند، که همچنین میتواند فایلهای Opus، MPC، APE، MP2، Speex، TrueAudio، WavPack، WMA، WAV، AIFF و ماژولهای tracker را مدیریت کند. برای وارد کردن از طریق اثر انگشت صوتی، از Chromaprint[21] و libav[22] استفاده میشود.
Kid3 برای اکثر توزیعهای Linux®، Windows® و macOS® در دسترس است. پیوندها را میتوان در https://kid3.kde.org یافت.
کامپایل و نصب
شما میتوانید Kid3 را با یا بدون KDE کامپایل کنید. بدون KDE، برنامهٔ Kid3 یک برنامهٔ سادهٔ Qt(TM) است و برخی از قابلیتهای پیکربندی و نشست را نخواهد داشت.
برای نسخهٔ KDE، به دایرکتوری سطح بالا رفته و وارد کنید:
% cmake . % make % make install
برای کامپایل جهت نسخههای مختلف Qt(TM) یا KDE، گزینههای متناظر cmake را تنظیم کنید.
اگر همهٔ کتابخانهها موجود نباشند، Kid3 با قابلیتهای کمتری ساخته میشود. بنابراین باید دقت کنید که تمام بستههای توسعهٔ مورد نظر نصب شده باشند. از سوی دیگر، گزینههای cmake کنترل میکنند که کدام کتابخانهها کامپایل شوند. مقدار پیشفرض عبارت است از -DWITH_TAGLIB:BOOL=ON -DWITH_MP4V2:BOOL=OFF -DWITH_ID3LIB:BOOL=ON -DWITH_CHROMAPRINT:BOOL=ON -DWITH_VORBIS:BOOL=ON -DWITH_FLAC:BOOL=ON . این گزینهها را میتوان با استفاده از OFF غیرفعال کرد.
برای ساخت Kid3 به عنوان یک برنامهٔ Qt(TM) بدون KDE، از گزینهٔ cmake به صورت -DWITH_APPS=Qt استفاده کنید. برای ساخت هر دو برنامهٔ KDE و Qt(TM)، مقدار -DWITH_APPS="Qt;KDE" را قرار دهید.
برای استفاده از یک نسخهٔ نصبشدهٔ مشخص از Qt(TM)، گزینهٔ -DQT_QMAKE_EXECUTABLE=/path/to/qmake را تعیین کنید.
تولید بستههای RPM توسط فایل kid3.spec پشتیبانی میشود؛ برای بستههای Debian®، دستور build.sh deb را اجرا کنید.
برنامهٔ Qt(TM) را میتوان برای Windows® و macOS® نیز کامپایل کرد. اسکریپت build.sh میتواند برای بارگیری و ساخت تمام کتابخانههای مورد نیاز و ایجاد یک بستهٔ Kid3 به کار رود.
پیکربندی (Configuration)
در KDE، تنظیمات در .config/kid3rc و وضعیت برنامه در .local/share/kid3/kid3staterc ذخیره میشوند. به عنوان یک برنامهٔ Qt(TM)، این فایل در .config/Kid3/Kid3.conf قرار دارد. در Windows®، پیکربندی در رجیستری و در macOS® در یک فایل plist ذخیره میشود.
متغیر محیطی KID3_CONFIG_FILE میتواند برای تعیین مسیر فایل پیکربندی استفاده شود..SH "رابط D-BUS (D-BUS INTERFACE)"
مثالهای D-Bus (D-Bus Examples)
در Linux®، میتوان از یک رابط D-Bus برای کنترل Kid3 از طریق اسکریپتها استفاده کرد. اسکریپتها را میتوان به هر زبانی که دارای اتصالات D-Bus است (مانند Python) نوشت و برای گسترش قابلیتهای Kid3 به User Actions افزود.
نام هنرمند در برچسب ۲ از فایل جاری را میتوان با کد زیر روی مقدار "One Hit Wonder" تنظیم کرد:
Shell
dbus-send --dest=org.kde.kid3 --print-reply=literal \ /Kid3 org.kde.Kid3.setFrame int32:2 string:'Artist' \ string:'One Hit Wonder'
یا سادهتر با qdbus مربوط به Qt(TM) (از qdbusviewer میتوان برای بررسی و کاوش رابط در یک رابط گرافیکی کاربر (GUI) استفاده کرد):
qdbus org.kde.kid3 /Kid3 setFrame 2 Artist \ 'One Hit Wonder'
Python
import dbus kid3 = dbus.SessionBus().get_object( 'org.kde.kid3', '/Kid3') kid3.setFrame(2, 'Artist', 'One Hit Wonder')
Perl
use Net::DBus; $kid3 = Net::DBus->session->get_service( "org.kde.kid3")->get_object( "/Kid3", "org.kde.Kid3"); $kid3->setFrame(2, "Artist", "One Hit Wonder");
رابط D-Bus در org.kde.Kid3.xml مشخص شده است. رابط Kid3 دارای متدهای زیر است:
باز کردن
فایل یا
پوشه
boolean openDirectory(string path);
.PP path
مسیر فایل
یا پوشه
.RE
در صورت موفقیت true بازمیگرداند.
تخلیه
برچسبهای
تمام
فایلهایی
که تغییر
نکرده یا
انتخاب
نشدهاند
unloadAllTags(void);
ذخیره
تمام
فایلهای
تغییریافته
boolean save(void);
در صورت موفقیت true بازمیگرداند.
دریافت
پیام خطای
با جزئیات
ارائهشده
توسط برخی
متدها
string getErrorMessage(void);
پیام خطای با جزئیات را بازمیگرداند.
بازگردانی
تغییرات در
فایلهای
انتخابشده
revert(void);
شروع یک
واردسازی
دستهای
خودکار
boolean batchImport(int32 tagMask, string profileName);
.PP tagMask
ماسک برچسب
(بیت ۰ برای
برچسب ۱،
بیت ۱ برای
برچسب ۲)
.RE
.PP profileName
نام نمایهٔ
واردسازی
دستهای
برای
استفاده
.RE
وارد
کردن
برچسبها
از یک فایل
boolean importFromFile(int32 tagMask, string path, int32 fmtIdx);
.PP tagMask
بیت برچسب (۱
برای برچسب
۱، ۲ برای
برچسب ۲)
.RE
.PP path
مسیر فایل
.RE
.PP fmtIdx
شاخص قالب
.RE در صورت
موفقیت true
بازمیگرداند.
وارد
کردن
برچسبها
از
برچسبهای
دیگر
importFromTags(int32 tagMask, string source, string extraction);
.PP tagMask
بیت برچسب (۱
برای برچسب
۱، ۲ برای
برچسب ۲)
.RE
.PP source
قالب برای
دریافت متن
مبدأ از
برچسبها
.RE
.PP extraction
عبارت
باقاعده به
همراه نام
فریمها و
ربایندهها
(captures) جهت
استخراج از
متن مبدأ
.RE
وارد
کردن
برچسبها
از
برچسبهای
دیگر روی
فایلهای
انتخابشده
array importFromTagsToSelection(int32 tagMask, string source, string extraction);
.PP tagMask
بیت برچسب (۱
برای برچسب
۱، ۲ برای
برچسب ۲)
.RE
.PP source
قالب برای
دریافت متن
مبدأ از
برچسبها
.RE
.PP extraction
عبارت
باقاعده به
همراه نام
فریمها و
ربایندهها
(captures) جهت
استخراج از
متن مبدأ
.RE
.PP returnValues
مقدار
استخراجشده
برای "%{__return}(.+)"
.RE
بارگیری
طرح جلد
آلبوم
downloadAlbumArt(string url, boolean allFilesInDir);
.PP url
نشانی
اینترنتی (URL)
فایل تصویر
یا منبع طرح
جلد آلبوم
.RE
.PP allFilesInDir
مقدار true
برای
افزودن
تصویر به
تمام
فایلهای
موجود در
پوشه
.RE
برونبری
برچسبها
به یک فایل
boolean exportToFile(int32 tagMask, string path, int32 fmtIdx);
.PP tagMask
بیت برچسب (۱
برای برچسب
۱، ۲ برای
برچسب ۲)
.RE
.PP path
مسیر فایل
.RE
.PP fmtIdx
شاخص قالب
.RE.PP در صورت
موفقیت
مقدار true را
بازمیگرداند.
ایجاد یک
فهرست پخش
boolean createPlaylist(void);
در صورت موفقیت مقدار true را بازمیگرداند.
دریافت
آیتمهای
یک فهرست
پخش
array getPlaylistItems(string path);
.PP path
مسیر فایل
فهرست پخش
.RE.PP فهرستی از
مسیرهای
مطلق به
آیتمهای
فهرست پخش
را
بازمیگرداند.
تنظیم
آیتمهای
یک فهرست
پخش
boolean setPlaylistItems(string path, array items);
.PP path
مسیر فایل
فهرست پخش
.RE
.PP items
فهرستی از
مسیرهای
مطلق به
آیتمهای
فهرست پخش
.RE
در صورت موفقیت مقدار true، و اگر همه آیتمها پیدا و اضافه نشوند یا ذخیرهسازی با شکست مواجه شود مقدار false را بازمیگرداند.
خروج از
برنامه
quit(void);
انتخاب
همه
فایلها
selectAll(void);
لغو
انتخاب همه
فایلها
deselectAll(void);
تنظیم
اولین فایل
به عنوان
فایل جاری
boolean firstFile(void);
در صورت وجود اولین فایل، مقدار true را بازمیگرداند.
تنظیم
فایل قبلی
به عنوان
فایل جاری
boolean previousFile(void);
در صورت وجود فایل قبلی، مقدار true را بازمیگرداند.
تنظیم
فایل بعدی
به عنوان
فایل جاری
boolean nextFile(void);
در صورت وجود فایل بعدی، مقدار true را بازمیگرداند.
انتخاب
اولین
فایل
boolean selectFirstFile(void);
در صورت وجود اولین فایل، مقدار true را بازمیگرداند.
انتخاب
فایل قبلی
boolean selectPreviousFile(void);.PP اگر فایل قبلی وجود داشته باشد، true را برمیگرداند.
انتخاب
فایل بعدی
boolean selectNextFile(void);
اگر فایل بعدی وجود داشته باشد، true را برمیگرداند.
انتخاب
فایل جاری
boolean selectCurrentFile(void);
اگر فایل جاری وجود داشته باشد، true را برمیگرداند.
باز کردن
یا جمع کردن
مورد فایل
جاری در
صورت پوشه
بودن آن
boolean expandDirectory(void);.PP یک مورد از فهرست فایلها زمانی پوشه است که getFileName() نامی با '/' به عنوان آخرین نویسه برگرداند.
اگر مورد فایل جاری یک پوشه باشد، true را برمیگرداند.
اعمال
قالب نام
فایل
applyFilenameFormat(void);
اعمال
قالب
برچسب
applyTagFormat(void);
اعمال
کدگذاری
متن
applyTextEncoding(void);
تنظیم
نام پوشه از
روی
برچسبها
boolean setDirNameFromTag(int32 tagMask, string format, boolean create);
.PP tagMask
ماسک برچسب
(بیت 0 برای
برچسب 1، بیت
1 برای برچسب
2)
.RE
.PP format
قالب نام
پوشه
.RE
.PP create
مقدار true
برای
ایجاد، false
برای تغییر
نام
.RE
در صورت موفقیت true را برمیگرداند، در غیر این صورت پیام خطا با استفاده از getErrorMessage() در دسترس است.
تنظیم
شماره
قطعههای
متوالی در
فایلهای
انتخابشده
numberTracks(int32 tagMask, int32 firstTrackNr);
.PP tagMask
ماسک برچسب
(بیت 0 برای
برچسب 1، بیت
1 برای برچسب
2)
.RE
.PP firstTrackNr
شماره مورد
استفاده
برای
نخستین
فایل
.RE
فیلتر
کردن
فایلها
filter(string expression);
.PP expression
عبارت
فیلتر
.RE
تبدیل
برچسبهای
ID3v2.3 به ID3v2.4
convertToId3v24(void);
تبدیل
برچسبهای
ID3v2.4 به ID3v2.3
convertToId3v23(void);.PP در صورت موفقیت، true بازمیگرداند.
دریافت
مسیر پوشه
string getDirectoryName(void);
مسیر مطلق پوشه را برمیگرداند.
دریافت
نام فایل
جاری
string getFileName(void);.PP نام مطلق و حقیقی فایل را برمیگرداند؛ در صورتی که یک پوشه باشد با «/» پایان مییابد.
تنظیم
نام فایل
انتخابشده
setFileName(string name);
.PP name
نام فایل
.RE
هنگام ذخیره شدن پوشه، نام فایل تغییر خواهد کرد.
تنظیم
قالب مورد
استفاده
هنگام
تعیین نام
فایل از روی
برچسبها
setFileNameFormat(string format);
.PP format
قالب نام
فایل
.RE
تنظیم
نام
فایلهای
انتخابشده
از روی
برچسبها
setFileNameFromTag(int32 tagMask);
.PP tagMask
بیت برچسب (۱
برای برچسب
۱، ۲ برای
برچسب ۲)
.RE
دریافت
مقدار
فریم
string getFrame(int32 tagMask, string name);
.PP tagMask
بیت برچسب (۱
برای برچسب
۱، ۲ برای
برچسب ۲)
.RE
.PP name
نام فریم
(مانند "artist")
.RE
برای دریافت دادههای دودویی مانند تصویر، میتوان نام فایلی را برای نوشتن بعد از name اضافه کرد، مانند "Picture:/path/to/file". به همین ترتیب میتوان متنهای همگام ترانه را صادر کرد، مانند "SYLT:/path/to/file".
مقدار فریم را برمیگرداند.
تنظیم
مقدار
فریم
boolean setFrame(int32 tagMask, string name, string value);
.PP tagMask
بیت برچسب (۱
برای برچسب
۱، ۲ برای
برچسب ۲)
.RE
.PP name
نام فریم
(مانند "artist")
.RE
.PP value
مقدار فریم
.RE
برای برچسب ۲ (tagMask برابر ۲)، اگر فریمی با name وجود نداشته باشد، یک فریم جدید افزوده میشود؛ اگر value خالی باشد، فریم حذف میشود. برای افزودن دادههای دودویی مانند تصویر، میتوان یک فایل را بعد از name اضافه کرد، مانند "Picture:/path/to/file". همچنین میتوان از "SYLT:/path/to/file" برای وارد کردن متن همگام ترانه استفاده کرد.
در صورت موفقیت، مقدار true را بازمیگرداند.
دریافت
تمام
فریمهای
یک برچسب
array of string getTag(int32 tagMask);
.PP tagMask
بیت برچسب (۱
برای برچسب
۱، ۲ برای
برچسب ۲)
.RE
فهرستی با نامها و مقادیر فریمها به صورت یکدرمیان بازمیگرداند.
دریافت
اطلاعات
فنی درباره
فایل
array of string getInformation(void);.PP ویژگیها عبارتند از Format، Bitrate، Samplerate، Channels، Duration، Channel Mode، VBR، Tag 1، Tag 2. ویژگیهایی که در دسترس نیستند حذف میشوند.
فهرستی با نامها و مقادیر ویژگیها به صورت یکدرمیان بازمیگرداند.
تنظیم
برچسب از
روی نام
فایل
setTagFromFileName(int32 tagMask);
.PP tagMask
بیت برچسب (1
برای برچسب
1، 2 برای
برچسب 2)
.RE
تنظیم
برچسب از
روی برچسب
دیگر
setTagFromOtherTag(int32 tagMask);
.PP tagMask
بیت برچسب (1
برای برچسب
1، 2 برای
برچسب 2)
.RE
کپی
برچسب
copyTag(int32 tagMask);
.PP tagMask
بیت برچسب (1
برای برچسب
1، 2 برای
برچسب 2)
.RE
جایگذاری
برچسب
pasteTag(int32 tagMask);
.PP tagMask
بیت برچسب (1
برای برچسب
1، 2 برای
برچسب 2)
.RE
حذف
برچسب
removeTag(int32 tagMask);
.PP tagMask
بیت برچسب (1
برای برچسب
1، 2 برای
برچسب 2)
.RE
تجزیه
مجدد
پیکربندی
reparseConfiguration(void);
تغییرات خودکار در پیکربندی با ویرایش فایل پیکربندی و سپس تجزیه مجدد پیکربندی امکانپذیر است.
پخش
فایلهای
انتخابشده
playAudio(void);
اسکریپتهای QML میتوانند از طریق منوی زمینه (context menu) فهرست فایلها فراخوانی شوند و در برگهٔ User Actions از پنجرهٔ تنظیمات مشخص گردند. اسکریپتهایی که در آنجا تنظیم شدهاند را میتوان به عنوان مثالهایی برای برنامهنویسی اسکریپتهای سفارشی به کار برد. QML از JavaScript استفاده میکند؛ در اینجا نمونهٔ مرسوم «Hello World» آورده شده است:
import Kid3 1.0
Kid3Script {
onRun: {
console.log("Hello world, folder is", app.dirName)
Qt.quit()
}
}
اگر این اسکریپت به صورت /path/to/Example.qml ذخیره شود، دستور کاربر میتواند به شکل @qml /path/to/Example.qml با نام QML Test و فعال بودن Output تعریف شود. سپس میتوان آن را با استفاده از مورد QML Test در منوی زمینهٔ فهرست فایلها اجرا کرد، و خروجی در پنجره قابل مشاهده خواهد بود.
متأسفانه، اجرای اسکریپتهای QML با استفاده از qml (برای نمونه qml -apptype widget -I /usr/lib/kid3/plugins/imports /path/to/Example.qml) در نسخههای اخیر Qt دچار مشکل است. اما kid3-cli روشی جایگزین برای اجرای اسکریپت QML از طریق خط فرمان با استفاده از دستور execute خود ارائه میدهد.
kid3-cli -c "execute @qml /path/to/Example.qml"
برای فهرست کردن عنوانها در برچسب ۲ (tag 2) تمامی فایلهای پوشهٔ جاری، میتوان از اسکریپت زیر استفاده کرد:
import Kid3 1.0
Kid3Script {
onRun: {
app.firstFile()
do {
if (app.selectionInfo.tag(Frame.Tag_2).tagFormat) {
console.log(app.getFrame(tagv2, "title"))
}
} while (app.nextFile())
}
}
اگر پوشه حاوی فایلهای زیادی باشد، چنین اسکریپتی ممکن است رابط کاربری را برای مدتی مسدود کند. بنابراین برای عملیات طولانیتر، باید هرازگاهی وقفهای داشته باشد. در پیادهسازی جایگزین زیر، پردازش مربوط به یک فایل به یک تابع منتقل شده است. این تابع در صورتی که فایلهای بیشتری برای پردازش وجود داشته باشند، در پایان خود را با یک وقفهٔ زمانی ۱ میلیثانیهای فراخوانی میکند. این امر تضمین میکند که رابط گرافیکی کاربر (GUI) در حین اجرای اسکریپت پاسخگو باقی بماند.
import Kid3 1.0
Kid3Script {
onRun: {
function doWork() {
if (app.selectionInfo.tag(Frame.Tag_2).tagFormat) {
console.log(app.getFrame(tagv2, "title"))
}
if (!app.nextFile()) {
Qt.quit()
} else {
setTimeout(doWork, 1)
}
}
app.firstFile()
doWork()
}
}
هنگام استفاده از app.firstFile() همراه با app.nextFile()، تمامی فایلهای پوشهٔ جاری پردازش خواهند شد. اگر قرار است تنها فایلهای انتخابشده تحت تأثیر قرار گیرند، در عوض از firstFile() و nextFile() استفاده کنید؛ اینها توابع کمکی مؤلفهٔ Kid3Script هستند. مثال زیر اسکریپتی است که تنها فریمهای شمارهٔ دیسک و حق نشر (copyright) فایل انتخابشده را کپی میکند.
import Kid3 1.1
Kid3Script {
onRun: {
function doWork() {
if (app.selectionInfo.tag(Frame.Tag_2).tagFormat) {
app.setFrame(tagv2, "*.selected", false)
app.setFrame(tagv2, "discnumber.selected", true)
app.setFrame(tagv2, "copyright.selected", true)
app.copyTags(tagv2)
}
if (!nextFile()) {
Qt.quit()
} else {
setTimeout(doWork, 1)
}
}
firstFile()
doWork()
}
}
اسکریپتهای نمونهٔ بیشتری همراه با Kid3 ارائه میشوند و از پیش به عنوان دستورهای کاربر ثبت شدهاند.
رابط برنامهنویسی QML (QML API)
این API را میتوان بهراحتی با استفاده از QML Console بررسی کرد، که به عنوان یک اسکریپت نمونه دارای رابط کاربری در دسترس است.
Kid3Script
Kid3Script یک مولفه معمولی QML است که درون پوشه افزونهها قرار دارد. میتوانید به همین سادگی از یک مولفه دیگر QML نیز استفاده کنید. استفاده از Kid3Script شروع تابع اسکریپت با استفاده از گرداننده سیگنال onRun را آسان میکند. علاوه بر این، توابعی را نیز ارائه میدهد:
onRun: گرداننده سیگنالی که هنگام شروع اسکریپت فراخوانی میشود tagv1, tagv2, tagv2v1: مقادیر ثابت برای پارامترهای برچسب script: دسترسی به توابع اسکریپتنویسی configs: دسترسی به اشیاء پیکربندی getArguments(): فهرست آرگومانهای اسکریپت isStandalone(): مقدار true اگر اسکریپت از درون Kid3 اجرا نشده باشد setTimeout(callback, delay): اجرای callback پس از delay میلیثانیه firstFile(): رفتن به نخستین فایل انتخابشده nextFile(): رفتن به فایل انتخابشده بعدی
توابع
اسکریپتنویسی
(Scripting Functions)
از آنجا که JavaScript و بنابراین QML نیز تنها مجموعه محدودی از امکانات را برای اسکریپتنویسی دارند، شیء script دارای متدهای اضافی است، برای نمونه:
script.properties(obj): رشتهای شامل ویژگیهای Qt script.writeFile(filePath, data): نوشتن داده در فایل، در صورت موفقیت true script.readFile(filePath): خواندن داده از فایل script.removeFile(filePath): حذف فایل، در صورت موفقیت true script.fileExists(filePath): در صورت وجود فایل true script.fileIsWritable(filePath): اگر فایل قابل نوشتن باشد true script.getFilePermissions(filePath): دریافت بیتهای حالت مجوز فایل script.setFilePermissions(filePath, modeBits): تنظیم بیتهای حالت مجوز فایل script.classifyFile(filePath): دریافت رده فایل (پوشه "/"، پیوند نمادین "@"، اجرایی "*"، فایل " ") script.renameFile(oldName, newName): تغییر نام فایل، در صورت موفقیت true script.copyFile(source, dest): رونوشت از فایل، در صورت موفقیت true script.makeDir(path): ساخت پوشه، در صورت موفقیت true script.removeDir(path): حذف پوشه، در صورت موفقیت true script.tempPath(): مسیر پوشه موقت script.musicPath(): مسیر پوشه موسیقی script.listDir(path, [nameFilters], [classify]): فهرست کردن ورودیهای پوشه script.system(program, [args], [msecs]): اجرای همگام یک دستور سیستمی، [exit code, standard output, standard error] در صورت عدم اتمام مهلت زمانی script.systemAsync(program, [args], [callback]): اجرای ناهمگام یک دستور سیستمی، callback با [exit code, standard output, standard error] فراخوانی خواهد شد script.getEnv(varName): دریافت مقدار متغیر محیطی script.setEnv(varName, value): تنظیم مقدار متغیر محیطی script.getQtVersion(): رشته نسخه Qt، مانند "5.4.1" script.getDataMd5(data): دریافت رشته هگز هش MD5 داده script.getDataSize(data): دریافت اندازه آرایه بایت script.dataToImage(data, [format]): ساخت تصویر از بایتهای داده script.dataFromImage(img, [format]): دریافت بایتهای داده از تصویر script.loadImage(filePath): بارگیری یک تصویر از فایل script.saveImage(img, filePath, [format]): ذخیره تصویر در فایل، در صورت موفقیت true script.imageProperties(img): دریافت مشخصات تصویر، نگاشتی شامل "width" و "height" و "depth" و "colorCount"، در صورت نامعتبر بودن تصویر خالی است script.scaleImage(img, width, [height]): مقیاسبندی تصویر، تصویر مقیاسشده را برمیگرداند
زمینه
برنامه (Application Context)
app.openDirectory(path): باز کردن پوشه app.unloadAllTags(): تخلیه همه برچسبها app.saveDirectory(): ذخیره پوشه app.revertFileModifications(): بازگردانی تغییرات app.importTags(tag, path, fmtIdx): درونریزی فایل app.importFromTags(tag, source, extraction): درونریزی از برچسبها app.importFromTagsToSelection(tag, source, extraction): درونریزی از برچسبهای فایلهای انتخابشده app.downloadImage(url, allFilesInDir): بارگیری تصویر app.exportTags(tag, path, fmtIdx): برونریزی فایل app.writePlaylist(): نوشتن فهرست پخش app.getPlaylistItems(path): دریافت موارد فهرست پخش app.setPlaylistItems(path, items): تنظیم موارد فهرست پخش app.selectAllFiles(): انتخاب همه app.deselectAllFiles(): لغو انتخاب app.firstFile([select], [onlyTaggedFiles]): رفتن به اولین فایل app.nextFile([select], [onlyTaggedFiles]): رفتن به فایل بعدی app.previousFile([select], [onlyTaggedFiles]): رفتن به فایل قبلی app.selectCurrentFile([select]): انتخاب فایل جاری app.selectFile(path, [select]): انتخاب یک فایل مشخص app.getSelectedFilePaths([onlyTaggedFiles]): دریافت مسیرهای فایلهای انتخابشده app.requestExpandFileList(): گسترش همه app.applyFilenameFormat(): اعمال قالب نام فایل app.applyTagFormat(): اعمال قالب برچسب app.applyTextEncoding(): اعمال کدگذاری متن app.numberTracks(nr, total, tag, [options]): شمارهگذاری قطعهها app.applyFilter(expr): فیلتر app.convertToId3v23(): تبدیل ID3v2.4.0 به ID3v2.3.0 app.convertToId3v24(): تبدیل ID3v2.3.0 به ID3v2.4.0 app.getFilenameFromTags(tag): نام فایل از برچسبها app.getTagsFromFilename(tag): برچسبها از نام فایل app.getAllFrames(tag): دریافت شیء شامل همه فریمها app.getFrame(tag, name): دریافت فریم app.setFrame(tag, name, value): تنظیم فریم app.getPictureData(): دریافت داده از فریم تصویر app.setPictureData(data): تنظیم داده در فریم تصویر app.copyToOtherTag(tag): برچسبها به برچسبهای دیگر app.copyTags(tag): رونوشت app.pasteTags(tag): چسباندن app.removeTags(tag): حذف app.playAudio(): پخش app.readConfig(): خواندن پیکربندی app.applyChangedConfiguration(): اعمال پیکربندی app.dirName: نام پوشه app.selectionInfo.fileName: نام فایل app.selectionInfo.filePath: مسیر مطلق فایل app.selectionInfo.detailInfo: جزئیات قالب app.selectionInfo.tag(Frame.Tag_1).tagFormat: قالب برچسب ۱ app.selectionInfo.tag(Frame.Tag_2).tagFormat: قالب برچسب ۲ app.selectionInfo.formatString(tag, format): جایگزینی کدها در رشته قالب app.selectFileName(caption, dir, filter, saveFile): باز کردن کادر گفتگوی فایل برای انتخاب یک فایل app.selectDirName(caption, dir): باز کردن کادر گفتگوی فایل برای انتخاب یک پوشه
برای عملیاتهای ناهمگام، میتوان callbackها را به سیگنالها متصل کرد.
function automaticImport(profile) {
function onAutomaticImportFinished() {
app.batchImporter.finished.disconnect(onAutomaticImportFinished)
}
app.batchImporter.finished.connect(onAutomaticImportFinished)
app.batchImport(profile, tagv2)
}
function renameDirectory(format) {
function onRenameActionsScheduled() {
app.renameActionsScheduled.disconnect(onRenameActionsScheduled)
app.performRenameActions()
}
app.renameActionsScheduled.connect(onRenameActionsScheduled)
app.renameDirectory(tagv2v1, format, false)
}
اشیاء
پیکربندی
(Configuration Objects)
script.properties(configs.networkConfig())
ویژگیها را میتوان تنظیم کرد:
configs.networkConfig().useProxy = false
configs.batchImportConfig() configs.exportConfig() configs.fileConfig() configs.filenameFormatConfig() configs.filterConfig() configs.findReplaceConfig() configs.guiConfig() configs.importConfig() configs.mainWindowConfig() configs.networkConfig() configs.numberTracksConfig() configs.playlistConfig() configs.renDirConfig() configs.tagConfig() configs.tagFormatConfig() configs.userActionsConfig()
Urs Fleisch <ufleisch at users.sourceforge.net>
کپیرایت و تکثیر (COPYRIGHT)
کپیرایت
© 2026 Urs Fleisch
FDL
نکات (NOTES)
- 1.
- gnudb.org
- 2.
- MusicBrainz
- 3.
- Discogs
- 4.
- Amazon
- 5.
- مشخصات ID3
- 6.
- ویرایشگر SYLT
- 7.
- www.gnudb.org
- 8.
- gnudb.org
- 9.
- Discogs
- 10.
- freedb.org
- 11.
- برچسب ID3 نسخه 2.3.0
- 12.
- برچسب ID3 نسخه 2.4.0 - ساختار اصلی
- 13.
- LyricWiki
- 14.
- 15.
- id3lib
- 16.
- libogg
- 17.
- libvorbis، libvorbisfile
- 18.
- libFLAC++ و libFLAC
- 19.
- TagLib
- 20.
- mp4v2
- 21.
- Chromaprint
- 22.
- libav
- 23.
- FDL
- 24.
- GPL
- 25.
- Qt(TM)
- 26.
- KDE
| 2026-07-24 | 3.10.1 |