ตัวแก้ไขแท็กที่มี QT GUI และอินเทอร์เฟซบรรทัดคำสั่ง รองรับ MP4 (iTunes), ID3, Vorbis, Opus, FLAC และ Matroska
ตัวแก้ไขแท็กสามารถอ่านและเขียนรูปแบบแท็กต่อไปนี้:
ข้อสังเกตเพิ่มเติม:
ตัวแก้ไขแท็กยังสามารถแสดงข้อมูลทางเทคนิคเช่น ID, รูปแบบ, ภาษา, บิตเรต, ระยะเวลา, ขนาด, การประทับเวลา, ความถี่การสุ่มตัวอย่าง, FPS และข้อมูลอื่น ๆ ของแทร็ก
นอกจากนี้ยังช่วยให้สามารถตรวจสอบและตรวจสอบโครงสร้างองค์ประกอบของไฟล์ MP4 และ Matroska
บางครั้งตัวแก้ไขแท็กจะต้องเขียนไฟล์ทั้งหมดใหม่เพื่อใช้การเปลี่ยนแปลง สิ่งนี้นำไปสู่การสร้างไฟล์ชั่วคราว ด้วยการตั้งค่าเริ่มต้นของ GUI สิ่งนี้จะถูกบังคับใช้เพื่ออนุรักษ์ เนื่องจากไฟล์ชั่วคราวยังทำหน้าที่เป็นสำรอง ในกรณีที่มีบางอย่างผิดปกติเช่นคอมพิวเตอร์ของคุณล่มขณะที่บันทึกหรือข้อผิดพลาดภายในตัวแก้ไขแท็กเบรคโดยเฉพาะไฟล์ที่มีโครงสร้าง เมื่อใช้ CLI จึงแนะนำให้ใช้ --force-rewrite
ส่วนถัดไปอธิบายถึงวิธีการปรับแต่งการตั้งค่าเพื่อหลีกเลี่ยงการเขียนใหม่ด้วยค่าใช้จ่ายในการ ไม่มี การสำรองข้อมูลมีช่องว่างภายในภายในไฟล์และ/หรือการจัดเก็บแท็กในตอนท้ายของไฟล์
อย่างไรก็ตามมันจะไม่สามารถหลีกเลี่ยงการเขียนไฟล์ใหม่ได้ในทุกกรณี คุณสามารถกำหนดค่าไดเรกทอรีสำหรับไฟล์ชั่วคราวภายในการตั้งค่า GUI หรือตัวเลือก CLI --temp-dir
จากนั้นคุณสามารถทำความสะอาดไฟล์ชั่วคราวทั้งหมดได้อย่างง่ายดายในบางจุดด้วยกัน เพื่อประสิทธิภาพไดเรกทอรีชั่วคราวควรอยู่ในระบบไฟล์เดียวกับไฟล์ที่คุณแก้ไข คุณลักษณะในการลบไฟล์ชั่วคราวโดยอัตโนมัติยังไม่ได้ใช้งาน
ตัวแก้ไขอนุญาตให้คุณเลือกว่าควรวางแท็กไว้ที่จุดเริ่มต้นหรือในตอนท้ายของไฟล์ MP4/Matroska การวางแท็กในตอนท้ายของไฟล์สามารถหลีกเลี่ยงการเขียนไฟล์ทั้งหมดเพื่อใช้การเปลี่ยนแปลง
ใน CLI นี้จะถูกควบคุมผ่านตัวเลือก --tag-pos
ในการบังคับใช้ --tag-pos
เฉพาะแม้ว่าจะต้องมีการเขียนไฟล์ใหม่รวมเข้ากับตัวเลือก --force
แท็ก ID3V2 และความคิดเห็น Vorbis/Opus สามารถวางได้เฉพาะตอนเริ่มต้นเท่านั้น แท็ก ID3V1 สามารถวางไว้ที่ส่วนท้ายของไฟล์เท่านั้น ดังนั้นการกำหนดค่านี้ไม่มีผลเมื่อต้องรับมือกับแท็กดังกล่าว
นอกจากนี้ยังเป็นไปได้ที่จะควบคุมตำแหน่งของดัชนี/ตัวชี้นำ อย่างไรก็ตามในปัจจุบันนี้ได้รับการสนับสนุนเมื่อจัดการกับไฟล์ Matroska เท่านั้น
หมายเหตุ: สิ่งนี้ไม่สามารถนำไปใช้กับ MP4 ได้เนื่องจากแท็กและดัชนีเชื่อมโยงกัน เมื่อจัดการกับไฟล์ MP4 ตำแหน่งดัชนีจะเหมือนกับตำแหน่งแท็กเสมอ
การวางดัชนีที่จุดเริ่มต้นของไฟล์บางครั้งเรียกว่า FastStart
สำหรับการบังคับ FastStart ผ่าน CLI จำเป็นต้องมีตัวเลือกต่อไปนี้:
tageditor set --index-pos front --force
Padding อนุญาตให้เพิ่มข้อมูลแท็กเพิ่มเติมโดยไม่ต้องเขียนไฟล์ทั้งหมดหรือต่อท้ายแท็ก การใช้งานของช่องว่างภายในสามารถกำหนดค่าได้:
นอกจากนี้ยังเป็นไปได้ที่จะบังคับให้เขียนไฟล์ทั้งหมดเพื่อบังคับใช้ช่องว่างภายในที่ต้องการ
ตัวเลือก CLI ที่เกี่ยวข้องคือ --min-padding
, --max-padding
, --preferred-padding
และ --force-rewrite
การใช้ประโยชน์จากช่องว่างภายในไม่ได้รับการสนับสนุนเมื่อจัดการกับสตรีม OGG (รองรับเมื่อจัดการกับสตรีม FLAC ดิบ)
ตามที่อธิบายไว้ในส่วน "การสำรองข้อมูล/ไฟล์ชั่วคราว" นี่ไม่ใช่ความคิดที่ดีเนื่องจากไฟล์ชั่วคราวที่สร้างขึ้นเมื่อเขียนไฟล์ทั้งหมดอีกครั้งยังทำหน้าที่เป็นสำรอง อย่างไรก็ตามหากคุณต้องการหลีกเลี่ยงการเขียนไฟล์ใหม่ให้มากที่สุดให้ตั้งค่าต่อไปนี้ในการตั้งค่า "เค้าโครงไฟล์" ของ GUI:
เมื่อใช้ CLI คุณเพียงแค่ต้องเพิ่ม --max-padding 429496729
ในอาร์กิวเมนต์ CLI (และหลีกเลี่ยงข้อโต้แย้งอื่น ๆ ที่กล่าวถึงในส่วนก่อนหน้า)
การแก้ไขไฟล์ขนาดใหญ่ (โดยเฉพาะไฟล์ Matroska) อาจใช้เวลาพอสมควร ในการปรับปรุงประสิทธิภาพให้วางดัชนีที่ส่วนท้ายของไฟล์ (ตัวเลือก CLI --index-pos back
) เนื่องจากขนาดของดัชนีจะไม่ถูกคำนวณใหม่ ทำตามคำแนะนำจากส่วน "สำรอง/ไฟล์ชั่วคราว" เพื่อบังคับให้เขียนใหม่และวางไดเรกทอรีชั่วคราวในระบบไฟล์เดียวกับไฟล์ที่คุณแก้ไข การบังคับให้เขียนใหม่สามารถปรับปรุงประสิทธิภาพได้เนื่องจากตัวแก้ไขแท็กจะไม่พยายามดูว่าสามารถหลีกเลี่ยงได้หรือไม่และสามารถข้ามการคำนวณที่อาจใช้เวลาที่น่าทึ่งสำหรับไฟล์ Matroska ขนาดใหญ่
แน่นอนว่าการหลีกเลี่ยงการเขียนซ้ำจะยังคงดีขึ้น ชำระเงินส่วนก่อนหน้าสำหรับวิธีการบรรลุเป้าหมายนั้น เพื่อปรับปรุงประสิทธิภาพต่อไปเมื่อหลีกเลี่ยงการเขียนใหม่ให้วางแท็กที่ส่วนท้าย (ตัวเลือก CLI --tag-pos back
) จากนั้นตัวแก้ไขแท็กจะไม่พยายามใส่แท็กที่ด้านหน้าและสามารถข้ามการคำนวณได้สองสามครั้ง (การหลีกเลี่ยงการเขียนใหม่ยังคงไม่ใช่ความคิดที่ดีโดยทั่วไป)
รูปแบบคอนเทนเนอร์ Matroska (และ Webm ซึ่งใช้ Matroska) กำลังแตกหักด้วยการประชุมทั่วไป ดังนั้นตัวอย่าง CLI ทั้งหมดที่กล่าวถึงด้านล่างนั้นไม่เหมาะสมที่จะใช้กับไฟล์ดังกล่าว
โดยทั่วไปไฟล์ Matroska หนึ่งไฟล์สามารถมีหลายแท็กและแต่ละแท็กมี "เป้าหมาย" ซึ่งตัดสินใจว่าฟิลด์ของแท็กที่ใช้กับเพลงหรืออัลบั้มทั้งหมด ดังนั้นเมื่อใช้ CLI หรือ GUI คุณต้องทราบว่าแท็ก/เป้าหมายในการเพิ่มฟิลด์ใด
Matroska ยัง ไม่ ได้ใช้หนึ่งฟิลด์รวมสำหรับหมายเลขแทร็ก/ดิสก์และทั้งหมดเช่นรูปแบบอื่น ๆ แทนที่จะใช้ part
ฟิลด์แยกต่างหากและ totalparts
ซึ่งจำเป็นต้องเพิ่มอีกครั้งในแท็กของเป้าหมายที่ต้องการ (เช่น 50/"อัลบั้ม" สำหรับหมายเลขแทร็กและยอดรวม)
ชำระเงินเอกสารอย่างเป็นทางการของ Matroska เกี่ยวกับการติดแท็กสำหรับรายละเอียด นอกจากนี้ยังมีตัวอย่างสำหรับเนื้อหาเสียงและเนื้อหาวิดีโอ
โปรดทราบว่าตัวแก้ไขแท็ก ไม่ รองรับรูปแบบ XML ที่กล่าวถึงในเอกสาร Matroska ใน GUI คุณสามารถเพิ่ม/ลบ/แก้ไขแท็กและเป้าหมายของพวกเขาผ่านตัวควบคุมที่ด้านบนของตัวแก้ไข ในการตั้งค่าคุณสามารถระบุว่าแท็กของเป้าหมายบางอย่างควรเพิ่มโดยอัตโนมัติเมื่อโหลดไฟล์ เมื่อใช้ CLI คุณสามารถระบุได้ว่าควรเพิ่มฟิลด์ลงในแท็กของเป้าหมายที่แน่นอนโดยระบุเป้าหมาย ก่อน ฟิลด์นั้น นอกจากนี้คุณยังสามารถลบแท็กของเป้าหมายบางอย่างได้อย่างชัดเจน ตัวอย่างของการใช้ CLI คอนกรีตสามารถดูได้ด้านล่าง
ดูส่วนการเปิดตัวใน GitHub
tageditor-qt6
ได้ดีกว่าหากพร้อมใช้งานสำหรับระบบปฏิบัติการของคุณtageditor
จากที่เก็บอย่างเป็นทางการlibopengl0
บน Debian/Ubuntu)QT_QPA_PLATFORM=xcb
เพื่อปิดใช้งานการสนับสนุน Wayland ดั้งเดิมหากไม่ทำงานในระบบของคุณ)B9E36A7275FC61B464B67907E06FE8F53CDC6A4C
B9E36A7275FC61B464B67907E06FE8F53CDC6A4C
ตัวแก้ไขแท็กมี GUI ที่ใช้ QT และอินเทอร์เฟซบรรทัดคำสั่ง สำหรับการชำระเงินอินเทอร์เฟซไลบรารี C ++ ไลบรารีแท็กพื้นฐาน
GUI ควรอธิบายตนเอง - องค์ประกอบ UI จำนวนมากมีคำแนะนำเครื่องมือพร้อมคำอธิบายเพิ่มเติม เวิร์กโฟลว์พื้นฐานค่อนข้างง่าย:
คุณสามารถตั้งค่าพฤติกรรมของตัวแก้ไขเพื่อรักษาค่าก่อนหน้านี้ดังนั้นคุณไม่ต้องป้อนข้อมูลเช่นชื่ออัลบั้มหรือศิลปินสำหรับไฟล์ทั้งหมดในอัลบั้มซ้ำแล้วซ้ำอีก
GUI ไม่ รองรับการตั้งค่าหลายค่าของฟิลด์เดียวกัน (นอกเหนือจากครอบคลุมของประเภทที่แตกต่างกัน) หากไฟล์มีฟิลด์ที่มีหลายค่าแล้วค่าเพิ่มเติมจะถูกยกเลิก ใช้ CLI หากต้องการการสนับสนุนหลายค่าต่อฟิลด์ ไม่ใช่รูปแบบแท็กทั้งหมดที่สนับสนุนสิ่งนี้อย่างไรก็ตาม
GUI ไม่ รองรับการประมวลผลแบบแบตช์ ฉันแนะนำให้ใช้ CLI สำหรับสิ่งนี้
ภาพหน้าจอนี้แสดงการค้นหา MusicBrainz/Lyricwiki
เช็คเอาต์กล่องโต้ตอบการตั้งค่า คุณทำได้
การตั้งค่าของ GUI ไม่ส่งผลกระทบต่อ CLI
นอกจากนี้ยังมีเครื่องมือในการเปลี่ยนชื่อไฟล์โดยใช้ข้อมูลแท็กที่เก็บไว้ในไฟล์ ชื่อใหม่สำหรับแต่ละไฟล์ถูกสร้างขึ้นโดยจาวาสคริปต์ขนาดเล็กซึ่งสามารถปรับแต่งได้ ตัวอย่างสคริปต์มีให้ ก่อนที่จะมีการเปลี่ยนแปลงจริงคุณจะเห็นตัวอย่างด้วยชื่อไฟล์ที่สร้างขึ้น ดังที่แสดงในสคริปต์ตัวอย่างมันเป็นไปได้ที่จะย้ายไฟล์ไปยังไดเรกทอรีอื่น
ตัวแก้ไขแท็กยังมี MusicBrainz, Cover Art Archive และ Lyricwiki Search
tageditor <operation> [options]
ชำระเงินการดำเนินงานและตัวเลือกที่มีอยู่พร้อม --help
สำหรับรายการชื่อฟิลด์ที่มีอยู่ทั้งหมดให้ติดตามชื่อแอตทริบิวต์และตัวดัดแปลงให้ใช้ตัวเลือก CLI --print-field-names
ไม่ได้รับการสนับสนุนทั้งหมดในฟิลด์ทั้งหมดโดยรูปแบบแท็ก/คอนเทนเนอร์ทั้งหมด ที่สะดุดตาที่สุดรูปแบบคอนเทนเนอร์ Matroska ไม่ได้ใช้ track
/ disk
เพื่อจัดเก็บหมายเลขแทร็ก / ดิสก์และทั้งหมดในฟิลด์เดียว ต้องใช้ part
ของฟิลด์และ totalparts
ในเป้าหมายที่ต้องการ
โปรดทราบว่าผู้ใช้ Windows จะต้องใช้ tageditor-cli.exe
แทน tageditor.exe
หรือใช้ Mintty เป็นเทอร์มินัล ชำระเงินส่วน "ปัญหาเฉพาะของ Windows" สำหรับรายละเอียด
นี่คือตัวอย่างบางส่วนที่แสดงให้เห็นถึงการรับและการตั้งค่าข้อมูลแท็ก:
แสดงชื่ออัลบั้มและศิลปินทั้งหมด *.m4a ในไดเรกทอรีที่ระบุ:
tageditor get title album artist --files /some/dir/*.m4a
แสดงฟิลด์ที่รองรับทั้งหมดของไฟล์ *.MKV ทั้งหมดในไดเรกทอรีที่ระบุ:
tageditor get --files /some/dir/*.mkv
แยกฝาครอบของไฟล์ (opus) ที่ระบุ:
tageditor extract cover --output-file the-cover.jpg --file some-file.opus
--attachment
แสดงข้อมูลทางเทคนิคเกี่ยวกับไฟล์ *.m4a ทั้งหมดในไดเรกทอรีที่ระบุ:
tageditor info --files /some/dir/*.m4a
ตั้งชื่อชื่ออัลบั้มศิลปินหน้าปกและจำนวนไฟล์ทั้งหมด *.m4a ในไดเรกทอรีที่ระบุ:
tageditor set title="Title of "{1st,2nd,3rd}" file" title="Title of "{4..16}"th file"
album="The Album" artist="The Artist"
cover'=/path/to/image' lyrics'>=/path/to/lyrics' track'+=1/16' --files /some/dir/*.m4a
lyrics
>
หลังจากชื่อฟิลด์ทำให้ตัวแก้ไขแท็กอ่านค่าจากไฟล์ที่ระบุ สิ่งนี้ใช้ได้ผลสำหรับฟิลด์อื่น ๆ เช่นกันและมีนัยสำหรับ cover
+
หลังจาก track
ชื่อฟิลด์ระบุว่าควรเพิ่มค่าฟิลด์หลังจากประมวลผลไฟล์แล้ว/path/to/image
และเนื้อเพลงจากไฟล์ /path/to/lyrics
ตั้งชื่อชื่อของทั้งไฟล์ที่ระบุและอัลบั้มของไฟล์ที่ระบุที่สอง:
tageditor set title0="Title for both files" album1="Album for 2nd file"
--files file1.ogg file2.mp3
หมายเลขหลังจากชื่อฟิลด์ระบุดัชนีของไฟล์แรกเพื่อใช้ค่าสำหรับ ดัชนีแรกคือ 0
ตั้งชื่อเฉพาะสำหรับแทร็กด้วย ID 3134325680
และลบแท็กที่กำหนดเป้าหมายเพลง/แทร็กและอัลบั้ม/ภาพยนตร์/ตอนโดยทั่วไป:
tageditor set target-level=30 target-tracks=3134325680 title="Title for track 3134325680"
--remove-target target-level=50 --remove-target target-level=30
--files file.mka
สำหรับการชำระเงินเพิ่มเติมข้อมูลจำเพาะของ Matroska
ตั้งค่าฟิลด์ที่กำหนดเอง:
tageditor set mkv:FOO=bar1 mp4:©foo=bar2 -f file.mkv file.m4a
FOO
ฟิลด์ที่กำหนดเองถูกตั้งค่าเป็น bar1
ใน file.mkv และฟิลด์ที่กำหนดเอง ©foo
ถูกตั้งค่าเป็น bar2
ใน file.m4a ดังนั้นคำนำหน้าจะบอกตัวแก้ไขแท็กว่า ID ฟิลด์ที่ระบุเป็น ID ฟิลด์ดั้งเดิมของรูปแบบแท็กเฉพาะแทนที่จะเป็นตัวระบุทั่วไป ฟิลด์ดั้งเดิมใช้กับรูปแบบที่สอดคล้องกันของหลักสูตรเท่านั้นmp4
: itune-style mp4/m4a id (ต้องเป็น 4 อักขระ)mkv
: Matroska IDid3
: ID3V2 ID (ต้องมีอักขระ 3 หรือ 4 อย่างแน่นอนขึ้นอยู่กับรุ่นแท็ก)vorbis
: Vorbis Comment ID, ยังใช้งานได้กับ Opus (ซึ่งใช้ความคิดเห็นของ Vorbis เช่นกัน)ลบธง "บังคับ" ออกจากแทร็กทั้งหมดตั้งค่าสถานะแทร็กด้วย ID 2 เป็น "ค่าเริ่มต้น" และตั้งค่าภาษาเป็น "GER":
tageditor set track-id=all forced=no track-id=2 default=yes language=ger
นี่เป็นอีกตัวอย่างหนึ่งที่แสดงให้เห็นถึงการใช้อาร์เรย์และไวยากรณ์เพื่อเพิ่มฟิลด์ตัวเลขเพิ่มขึ้นเช่นหมายเลขแทร็ก:
cd some/dir
# create an empty array
titles=()
# iterate through all music files in the directory
for file in *.m4a; do
# truncate the first 10 characters
title="${file:10}";
# append the title truncating the extension
titles+=("title=${title%.*}");
done
# now set the titles and other tag information
tageditor set "${titles[@]}" album="Some Album" track+=1/25 disk=1/1 -f *.m4a
ตั้งค่าปกประเภทพิเศษพร้อมคำอธิบาย:
tageditor set cover=":front-cover" cover0="/path/to/back-cover.jpg:back-cover:The description" -f foo.mp3
path:cover-type:description
ประเภทปกและคำอธิบายเป็นทางเลือก ตัวคั่นสามารถเปลี่ยนผ่าน --cover-type-delimiter
ซึ่งมีประโยชน์หากเส้นทางมี :
0
หลัง cover
ที่ 2 มิฉะนั้นฝาครอบที่ 2 จะถูกตั้งค่าในไฟล์ที่ 2 เท่านั้น (ซึ่งไม่ได้ระบุไว้ในตัวอย่างนี้)… cover= cover0="/path/to/back-cover.jpg:back-cover"
:
ไม่มี) ครอบคลุมประเภทที่ระบุทั้งหมดที่มีอยู่ทั้งหมดจะถูกแทนที่และปกใหม่จะมีคำอธิบายที่ว่างเปล่า:
… cover=":back-cover"
tageditor --print-field-names
ตั้งค่าฟิลด์โดยเรียกใช้สคริปต์เพื่อคำนวณการเปลี่ยนแปลงแบบไดนามิก:
tageditor set --pedantic debug --script path/to/script.js -f foo.mp3
main()
ฟังก์ชั่นนี้ถูกเรียกใช้สำหรับทุกไฟล์และส่งผ่านวัตถุที่แสดงไฟล์ปัจจุบันเป็นอาร์กิวเมนต์แรก ไฟล์จะแก้ไขเฉพาะเมื่อ main()
ส่งคืนค่าความจริงหรือ undefined
; มิฉะนั้นไฟล์จะถูกข้ามไปอย่างสมบูรณ์ (และไม่ได้รับการแก้ไขเลยดังนั้นค่าที่ส่งผ่าน --values
ใช้จ่ายจะไม่ถูกนำไปใช้)testfiles/set-tags.js
ในที่เก็บนี้สำหรับตัวอย่างที่ใช้การแก้ไขพื้นฐานและพยายามดึงเนื้อเพลงและหน้าปกเมื่อผ่านการตั้งค่า (เช่น --script-settings addCover=1 addLyrics=1
)--pedantic debug
มีประโยชน์มาก นอกจากนี้คุณยังสามารถเพิ่ม --script-settings dryRun=1
และตรวจสอบการตั้งค่านั้นภายในสคริปต์ดังที่แสดงใน testfiles/set-tags.js
testfiles/set-tags.js
ArrayBuffer
การใช้งานจะต้องใช้ ArrayBuffer
เพื่อตั้งค่าของฟิลด์ไบนารีเช่นฝาครอบString
หรือ Number
คุณต้องใช้หนึ่งในประเภทเหล่านั้นเพื่อกำหนดค่าของฟิลด์เหล่านั้น การเป็นตัวแทนสตริงของเนื้อหาที่กำหนดจะถูกแปลงโดยอัตโนมัติเป็นสิ่งที่จำเป็นภายในutility
เปิดเผยวิธีการที่เป็นประโยชน์เช่นสำหรับการบันทึกและควบคุมลูปเหตุการณ์testfiles/http.js
ในที่เก็บนี้สำหรับตัวอย่างของการใช้ XHR และควบคุมลูปเหตุการณ์--id3v1-usage
) ดังนั้นแท็กที่มีอยู่ในระหว่างการดำเนินการสคริปต์ไม่จำเป็นต้องเป็นตัวแทนของแท็กที่มีอยู่ในไฟล์บนดิสก์ (แต่เป็นแท็กที่จะปรากฏหลังจากบันทึกไฟล์)--values
) ค่าเหล่านี้มีความสำคัญเหนือกว่าค่าที่กำหนดโดยสคริปต์file.rename(newPath)
) สิ่งนี้จะทำทันทีและหาก main()
ส่งคืนค่าเท็จ (ดังนั้นจึงเป็นไปได้ที่จะเปลี่ยนชื่อไฟล์โดยไม่ต้องแก้ไขโดยการส่งคืนค่าเท็จ) หากเส้นทางที่ระบุนั้นมีความสัมพันธ์จะถูกตีความสัมพันธ์กับไดเรกทอรีปัจจุบันของไฟล์ (และ ไม่ใช่ ไดเรกทอรีการทำงานปัจจุบันของตัวแก้ไขแท็ก)utility.openFile(path)
สิ่งนี้ทำให้สามารถคัดลอกแท็กได้จากไฟล์อื่นเช่นการแทรกแท็กกลับจากไฟล์ต้นฉบับที่หายไปเมื่อแปลงเป็นรูปแบบอื่น set-tags.js
สคริปต์ตัวอย่างดังกล่าวยังแสดงให้เห็นถึงสิ่งนี้สำหรับหน้าปกและเนื้อเพลงเมื่อผ่านการตั้งค่าสคริปต์จะถูกส่งผ่าน (เช่น --script-settings addCover=1 originalDir=… originalExt=…
) ตัวอย่าง: cd '/…/music'
find 'artist/album' -iname '*.m4a' -exec tageditor set
--pedantic debug
--script /…/tageditor/testfiles/set-tags.js
--script-settings dryRun=1 originalDir='../music-lossless' originalExt=.flac addCover=1 addLyrics=1
--temp-dir /…/tmp/tageditor
--files {} +
tageditor set ... --pedantic warning -f ...
tageditor info --pedantic warning --validate -f ...
--encoding
และในการตั้งค่า GUIแอปพลิเคชันขึ้นอยู่กับยูทิลิตี้ C ++ และ Tagparser และสร้างขึ้นในลักษณะเดียวกับไลบรารีเหล่านี้ สำหรับคำแนะนำพื้นฐานการชำระเงินไฟล์ readme ของยูทิลิตี้ C ++ เมื่อเปิดใช้งาน QT GUI จะต้องใช้ QT และ QTUTIVITY ด้วยเช่นกัน
เพื่อหลีกเลี่ยงการสร้างยูทิลิตี้ C ++/tagparser/qTutilities แยกต่างหากให้ทำตามคำแนะนำภายใต้ "การสร้างแบบตรงนี้" นอกจากนี้ยังมีเอกสารเกี่ยวกับตัวแปรสร้างต่าง ๆ ซึ่งสามารถส่งผ่านไปยัง CMake เพื่อมีอิทธิพลต่อการสร้าง
QT GUI เปิดใช้งานโดยค่าเริ่มต้น ต้องใช้โมดูล QT ต่อไปนี้ (เฉพาะการทดสอบรุ่น QT 5 และ QT 6 ล่าสุด): CORE CORE GUI Network Widgets Declarative/Script WebenginEwidGets/WebKitWidgets
โปรดทราบว่าเวอร์ชัน QT เก่าไม่มีการสนับสนุนคุณสมบัติ JavaScript ที่ทันสมัย ในการใช้เครื่องมือการเปลี่ยนชื่อที่ใช้ JavaScript ขอแนะนำให้ใช้อย่างน้อย QT 5.12
ในการระบุรุ่น QT หลักที่จะใช้ให้ตั้งค่า QT_PACKAGE_PREFIX
(เช่นเพิ่ม -DQT_PACKAGE_PREFIX:STRING=Qt6
ไปยังอาร์กิวเมนต์ cmake)
-DWEBVIEW_PROVIDER:STRING=webkit/webengine/none
ในอาร์กิวเมนต์ CMAKE เพื่อใช้ QT WebKit (ทำงานกับเวอร์ชัน 'ฟื้นฟู' เช่นกัน), QT WebEngine หรือไม่มีมุมมองเว็บเลย หากไม่มีการใช้มุมมองเว็บข้อมูลไฟล์สามารถแสดงได้โดยใช้มุมมองต้นไม้ธรรมดาเท่านั้น มิฉะนั้นผู้ใช้สามารถเลือกระหว่างหน้าเว็บและมุมมองต้นไม้-DJS_PROVIDER:STRING=script/qml/none
ไปยังอาร์กิวเมนต์ cmake เพื่อใช้ทั้งสคริปต์ QT, QT QML หรือไม่มีเอ็นจิ้น JavaScript เลย หากไม่มีการใช้เอ็นจิ้น JavaScript ยูทิลิตี้การเปลี่ยนชื่อจะถูกปิดใช้งานเป็นไปได้ที่จะสร้างโดยไม่ต้องใช้ GUI หากจำเป็นต้องใช้ CLI เท่านั้น ในกรณีนี้ไม่จำเป็นต้องมีการพึ่งพา QT (รวมถึง QTutilities)
หากต้องการสร้างโดยไม่ต้อง GUI ให้เพิ่มพารามิเตอร์ต่อไปนี้ในการโทร CMake:
-DWIDGETS_GUI=OFF -DQUICK_GUI=OFF
ในฐานะที่เป็นตัวอย่างเล็ก ๆ สำหรับ Reflective Rapidjson ตัวแก้ไขแท็กมีการส่งออก JSON เสริม หากต้องการเปิดใช้งานให้เพิ่ม -DENABLE_JSON_EXPORT=ON
บนอาร์กิวเมนต์ cmake
เมื่อเปิดใช้งานจำเป็นต้องมีการพึ่งพาเพิ่มเติมต่อไปนี้ (เฉพาะเวลาที่สร้าง): Rapidjson, Reflective-Rapidjson และ LLVM/Clang
cd "$SOURCES"
git config core.symlinks true # only required on Windows
git clone https://github.com/Martchus/cpp-utilities.git c++utilities
git clone https://github.com/Martchus/tagparser.git
git clone https://github.com/Martchus/qtutilities.git # only required for Qt GUI
git clone https://github.com/Martchus/reflective-rapidjson.git # only required for JSON export
git clone https://github.com/Martchus/tageditor.git
git clone https://github.com/Martchus/subdirs.git
git config core.symlinks=true
เป็นสิ่งจำเป็นเฉพาะภายใต้ Windows เพื่อจัดการ symlinks อย่างถูกต้อง สิ่งนี้ต้องใช้เวอร์ชัน GIT ล่าสุดและระบบไฟล์ซึ่งรองรับ Symlinks (NTFS Works) นอกจากนี้คุณต้องเปิดใช้งานโหมดนักพัฒนา Windows หากคุณพบข้อผิดพลาด "ไม่พบ" ในการสร้าง Symlink ให้ใช้ git reset --hard
ภายในที่เก็บเพื่อแก้ไขปัญหานี้ cd "$BUILD_DIR"
cmake
-G Ninja
-DCMAKE_BUILD_TYPE=Release
-DLANGUAGE_FILE_ISO_639_2="/usr/share/iso-codes/json/iso_639-2.json"
-DCMAKE_INSTALL_PREFIX="/install/prefix"
"$SOURCES/subdirs/tageditor"
/install/prefix
ด้วยไดเรกทอรีที่คุณต้องการติดตั้ง/usr/…/iso_639-2.json
ด้วยเส้นทางสำหรับการติดตั้ง ISO-Codes ของคุณ cd "$BUILD_DIR"
ninja install
DESTDIR
เป็นตำแหน่งที่เขียนได้ (เช่น DESTDIR="temporary/install/dir" ninja install
) และย้ายไฟล์จากที่นั่นไปยังตำแหน่งที่ต้องการหลังจากนั้น คำเตือนต่อไปนี้สามารถแก้ไขได้โดยใช้ CLI-Wrapper แทนการปฏิบัติการหลัก นี่คือไฟล์ที่ลงท้ายด้วย -cli.exe
หรือคุณอาจใช้ Mintty (เช่นผ่าน MSYS2) ซึ่งไม่ได้รับผลกระทบจากปัญหาเหล่านั้น:
set ENABLE_CP_UTF8=0
หากไม่ต้องการset ENABLE_CONSOLE=0
เพื่อปิดการใช้งานพฤติกรรมนั้นโหมดมืดควรทำงานนอกกรอบภายใต้ Windows 11 และสามารถเปิดใช้งานได้โดยเลือกสไตล์ฟิวชั่น
Tag Editor รองรับ PMV2 ออกจากกล่อง ณ QT 6 คุณสามารถปรับแต่งการตั้งค่าตามเอกสาร QT
ลิขสิทธิ์© 2015-2024 Marius Kittler
รหัสทั้งหมดได้รับอนุญาตภายใต้ GPL-2-OR-Later