หากคุณชอบจัดระเบียบเพลงในโฟลเดอร์ผู้เล่นคนนี้อาจเหมาะกับคุณ มันไม่ได้พยายามจัดทำดัชนีไฟล์ทั้งหมดลงในไลบรารี แต่ให้ถือว่าไฟล์และโฟลเดอร์ของคุณเป็นไลบรารีและให้วิธีที่สะดวกในการสร้างเพลย์ลิสต์โดยตรงจากโฟลเดอร์ คล้ายกับรายการอัลบั้มของ Foobar2000 แต่ไม่ใช่ความพยายามที่จะโคลน
ภาพหน้าจอเพิ่มเติมที่นี่: https://mpz-player.org
ในประมาณ 15 ปีผู้เขียนไม่พบผู้เล่นที่เหมาะสมสำหรับ Linux Foobar2000 ทำงานในไวน์ แต่วิธีนี้ก็ไม่สมบูรณ์แบบเช่นกัน ผู้เล่นคนนี้เป็นความพยายามที่จะสร้างผู้เล่น "สมบูรณ์แบบ" สำหรับผู้แต่ง มันไม่มีอะไร "ความก้าวหน้า" มันแค่ทำงานให้เสร็จ คุณสมบัติหลักคือ 3 คอลัมน์ UI และวิธีการจัดการเพลย์ลิสต์ เลือกโฟลเดอร์ห้องสมุดคลิกกลางบนโฟลเดอร์และเพลย์ลิสต์จะถูกสร้างขึ้นจากโฟลเดอร์นี้
ทำไม "คอลเล็กชั่นท้องถิ่นขนาดใหญ่"? "ท้องถิ่น" ตรงข้ามกับบริการสตรีมมิ่ง (ซึ่งไม่เป็นไร แต่เป้าหมายของผู้เล่นนี้คือการเล่นเพลงที่คุณมีในฮาร์ดไดรฟ์ของคุณ) "ใหญ่" หมายความว่ามันใหญ่พอดังนั้นการจัดการมันจะยาก การสตรีมวิทยุยังรองรับ
m3u และ pls เริ่มต้นที่ QT 6.4 Qtmultimedia รองรับแบ็กเอนด์ FFMPEG บน Linux คุณสามารถเปิดใช้งานผ่านตัวแปรสภาพแวดล้อม qt_media_backend: QT_MEDIA_BACKEND=ffmpeg mpz
หมายเหตุ: ปัจจุบันเกี่ยวกับ OpenSuse Tumbleweed (~ ปี 2024) พวกเขาดูเหมือนจะใช้ FFMPEG โดยค่าเริ่มต้นและอาจทำให้เกิดปัญหา คุณสามารถเปลี่ยนเป็น GStreamer ผ่านตัวแปรสภาพแวดล้อมเดียวกัน QT_MEDIA_BACKEND=gstreamer mpz
ใช้ที่เก็บบริการ Build Build: https://software.opensuse.org//download.html?project=home%3aoleg_antonyan&package=mpz
ใช้แพ็คเกจ AUR: https://aur.archlinux.org/packages/mpz/
git clone https://aur.archlinux.org/mpz.git
cd mpz
makepkg -si
สำหรับเวอร์ชัน QT5 ให้ใช้แพ็คเกจนี้: https://aur.archlinux.org/packages/mpz-qt5
git clone https://aur.archlinux.org/mpz-qt5.git
cd mpz-qt5
makepkg -si
คว้าตัวติดตั้งหรือไบนารีพกพาจากหน้าเผยแพร่: https://github.com/olegantonyan/mpz/releases/
การพึ่งพา: GCC, Make, CMake, ส่วนหัวการพัฒนา QT (LIBQT5-qtbase-DEVEL, LIBQT5-QTMULTIMEDIA-DEVEL, LIBQT5-QTX11EXTRAS-DEVEL สำหรับ QT5 และ QT6-BASE-BASE-DEVEL, QT6-Multimedia-Devel OpenSuse) ชื่อแพ็คเกจอาจแตกต่างกันใน distros ที่แตกต่างกัน
git clone [email protected]:olegantonyan/mpz.git
cd mpz
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release .. # for Qt5 add -DUSE_QT5
make -j`nproc`
# now you now use mpz binary directly
# optionally, install to /usr/local:
sudo make install
นอกจากนี้คุณยังสามารถเชื่อมโยงกับไลบรารีที่ใช้ร่วมกัน Taglib และ/หรือ YAML-CPP ที่ติดตั้งบนระบบปฏิบัติการของคุณแทนที่จะใช้เวอร์ชันที่รวบรวมแบบสัดส่วนกับ Vendored ในการทำเช่นนี้คุณต้องเพิ่ม -DUSE_SYSTEM_TAGLIB=ON -DUSE_SYSTEM_YAMLCPP=ON TO CMAKE CLI
git clone [email protected]:olegantonyan/mpz.git
cd mpz
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DUSE_SYSTEM_TAGLIB=ON -DUSE_SYSTEM_YAMLCPP=ON ..
make -j`nproc`
# now you now use mpz binary directly
# optionally, install to /usr/local:
sudo make install
ตำแหน่งการกำหนดค่าเริ่มต้นบน Linux คือ ~/.config/mpz , บน windows - C:/Users/$USERNAME/AppData/Local/mpz/mpz มี 2 ไฟล์:
local.yml - สำหรับการตั้งค่าเฉพาะสำหรับคอมพิวเตอร์เครื่องนี้เช่นขนาดของ Windows เพลย์ลิสต์ ฯลฯglobal.yml - สำหรับการตั้งค่าแบบพกพาที่เหมาะสมที่จะแบ่งปันระหว่างคอมพิวเตอร์ตัวเลือกการกำหนดค่าบางตัวสามารถเปลี่ยนแปลงได้โดยการแก้ไขไฟล์กำหนดค่าเท่านั้น:
inhibit_sleep_while_playing ใน global.yml - เมื่อผู้เล่น true จะป้องกันระบบปฏิบัติการของคุณจากการนอนหลับอัตโนมัติในขณะที่เล่น (บน linux ต้อง systemd-inhibit );stream_buffer_size ใน global.yml - ขนาดบัฟเฟอร์สตรีมน้อยที่สุดในไบต์ ค่าเริ่มต้นคือ 128KB;single_instance ใน global.yml - เมื่อ true ผู้เล่นจะนำอินสแตนซ์กลับมาใช้ใหม่อีกครั้งโดยเรียกใช้อินสแตนซ์อื่นด้วยไฟล์เป็นอาร์กิวเมนต์บรรทัดคำสั่งจะส่งไฟล์เหล่านี้ไปยังการเรียกใช้อินสแตนซ์เป็นเพลย์ลิสต์ใหม่single_instance_ipc_port ใน global.yml - ฟังก์ชั่นอินสแตนซ์เดี่ยวใช้ซ็อกเก็ต TCP ตัวเลือกนี้ช่วยให้คุณสามารถระบุพอร์ตได้playback_log_size ใน global.yml - ขนาดสูงสุดของบันทึกการเล่น, ค่าเริ่มต้นคือ 100;columns_config ใน global.yml - กำหนดค่าคอลัมน์ในส่วนเพลย์ลิสต์เพิ่มเติมเกี่ยวกับด้านล่างนี้playlist_row_height ใน global.yml - ตั้งค่าความสูงแถวของเพลย์ลิสต์เป็นพิกเซลโดยค่าเริ่มต้นมันมาจากธีมเดสก์ท็อปของคุณ แต่ใน KDE Plasma 5.27 ความสูงนี้เพิ่มขึ้นโดยไม่มีเหตุผลที่ชัดเจนหากคุณทำ Opions config ใด ๆ ที่ทำให้คุณสามารถลบออกได้อย่างสมบูรณ์ (หรือลบไฟล์ทั้งหมด) และจะรีเซ็ตเป็นค่าเริ่มต้น
คุณสามารถเปลี่ยนคอลัมน์เริ่มต้นในมุมมองเพลย์ลิสต์ผ่านตัวเลือก columns_config ในไฟล์ global.yml
ตัวเลือกการกำหนดค่านี้ยังไม่มี (ยัง) ให้ UI เปลี่ยนเพื่อให้คุณต้องแก้ไขไฟล์ config ค่าเริ่มต้นคือ:
columns_config:
- align: left
field: artist
stretch: false
width_percent: 28
- align: left
field: album
stretch: false
width_percent: 28
- align: left
field: title
stretch: false
width_percent: 28
- align: right
field: year
stretch: false
width_percent: 5
- align: right
field: length
stretch: true
width_percent: 0
ฟิลด์ที่มีอยู่: ศิลปิน, อัลบั้ม, ชื่อ, ปี, ความยาว, เส้นทาง, URL, sample_rate, บิตเรต, ช่อง, track_number, รูปแบบ, ชื่อไฟล์
การจัดตำแหน่ง Availble: ซ้าย, ขวา
ผลรวมของ width_percent ของคอลัมน์ทั้งหมดจะต้องเพิ่มสูงสุด 100 หรือต่ำกว่า บางครั้งมันจะต้องต่ำกว่า 100 เพื่อกำจัดการเลื่อนแนวนอนสิ่งนี้อาจเกิดขึ้นได้เนื่องจากการขยายและพิกเซลพิเศษในชุดรูปแบบเดสก์ท็อปของคุณ
stretch จะยืดคอลัมน์ให้พอดีกับความกว้างของหน้าต่างไปทางขวา ขอแนะนำให้ยืดคอลัมน์สุดท้ายและผลรวมของ width_percent ทั้งหมดต่ำกว่า 100 แต่คุณสามารถทดลองกับมันและดูว่าดูบนเดสก์ท็อปของคุณอย่างไร