อัปเดตปี 2022
อัลตราโซนิก ไม่ได้ลดราคา แต่ฉันไม่มีเวลามากเท่าที่ฉันต้องการพัฒนามัน ฉันวางแผนที่จะกลับไปที่นั่นอีกในอนาคต ฉันหวังว่าคุณจะทนกับฉันได้! การอัปเดตที่สำคัญที่กำลังจะเกิดขึ้นนั้นเกี่ยวข้องกับ ultrasonics-api ขณะนี้ฉันกำลังโฮสต์เวอร์ชันสาธารณะบน Heroku รุ่นฟรี ซึ่งจะปิดให้บริการในปลายเดือนพฤศจิกายน 2022 ตามที่ประกาศในเดือนสิงหาคม จำเป็นสำหรับบริการสตรีมมิ่งสาธารณะ (Spotify, Last.fm ฯลฯ)
ฉันยังไม่มีการตั้งค่าทางเลือกอื่น ดังนั้น ก่อนที่จะถึงเวลานั้น ฉันขอแนะนำให้คุณตั้งค่าอินสแตนซ์ ultrasonics-api ของคุณเองควบคู่ไปกับ ultrasonics และคีย์สำหรับบริการออนไลน์ใดๆ ที่คุณต้องการซิงค์ด้วย คำแนะนำทั้งหมดมีอยู่ใน repo นั้น!
ภาพรวม
การติดตั้ง
ระบบ
ตัวเลือก 1 (การติดตั้งด้วยตนเอง)
ตัวเลือก 2 (นักเทียบท่า)
แอพเพล็ต
อินพุต
ตัวแก้ไข (ไม่บังคับ)
เอาท์พุต
ทริกเกอร์
ปลั๊กอิน
โหมดเพลย์ลิสต์เทียบกับโหมดเพลง
มีส่วนร่วม
การเขียนปลั๊กอินของคุณเอง
การปรับปรุงซอร์สโค้ดอัลตราโซนิก
ยินดีต้อนรับสู่ อัลตราโซนิก !
อัลตราโซนิก เป็นเครื่องมือที่ออกแบบมาเพื่อช่วยให้คุณควบคุมคลังเพลงและรายการเพลงของคุณ หมดยุคแล้วที่เพลย์ลิสต์ของคุณกระจายอยู่ในบริการที่แตกต่างกันสามบริการ หรือถูกจำกัดให้ใช้บริการเดียว เนื่องจากคุณไม่มีเวลาดูแลจัดการสำเนาเพลย์ลิสต์เดียวกันหลายชุดด้วยตนเอง
Ultrasonics ใช้ปลั๊กอินเพื่อโต้ตอบกับบริการที่คุณชื่นชอบ ซึ่งหมายความว่าสามารถเพิ่มฟังก์ชันการทำงานได้โดยเพียงแค่ติดตั้งปลั๊กอินใหม่ ปลั๊กอินแต่ละตัวอาจให้ความเข้ากันได้กับบริการ เช่น ปลั๊กอิน Spotify อย่างเป็นทางการลิงก์ไปจนถึง... เอาล่ะ Spotify แน่นอน ปลั๊กอินอื่นๆ มีฟังก์ชันเพิ่มเติม เช่น การรวมเพลย์ลิสต์จากแหล่งที่มามากกว่าหนึ่งแห่ง
ภาพรวมของปลั๊กอินที่รวมไว้ทั้งหมดสามารถดูได้ที่ [เอกสารประกอบไม่สมบูรณ์]
หากต้องการใช้ อัลตราโซนิก คุณมีสองทางเลือก:
ดาวน์โหลดและเรียกใช้ อัลตราโซนิก โดยตรง
ดึงและเรียกใช้อิมเมจนักเทียบท่าอย่างเป็นทางการ
อัลตราโซนิก ได้รับการพัฒนาบน Linux ควรใช้งานร่วมกันได้ข้ามแพลตฟอร์ม แต่ยังไม่ได้รับการทดสอบ ดังนั้นให้เตรียมพร้อมสำหรับข้อบกพร่องหรือปัญหาบน Windows / macOS!
ตรวจสอบให้แน่ใจว่าคุณได้ติดตั้ง Python 3 แล้ว
# หากคำสั่งนี้ใช้ไม่ได้ ให้ติดตั้ง Python 3callum ที่ uluru ใน ~↪ python3 --version หลาม 3.8.2
โคลน repo ไปยังไดเร็กทอรีการติดตั้ง อาจเป็น /opt/ultrasonics
# ย้ายไปยังไดเร็กทอรีการติดตั้งของคุณที่ uluru ใน ~↪ cd /opt# โคลน repocallum นี้ที่ uluru ใน /opt ↪ git clone https://github.com/XDGFX/ultrasonics# ตรวจสอบให้แน่ใจว่าคุณเป็นเจ้าของอัลตราโซนิกโฟลเดอร์ callum ที่ uluru ใน /opt ↪ sudo chown -R callum:อัลตราโซนิคของ callum/
สร้างสภาพแวดล้อมเสมือน และติดตั้งการขึ้นต่อกันที่จำเป็นภายในนั้น
# ย้ายไปยังไดเร็กทอรีอัลตราโซนิก callum ที่ uluru ใน /opt ↪ cd ultrasonics# สร้างสภาพแวดล้อมเสมือนจริงในโฟลเดอร์ '.venv'callum ที่ uluru ใน /o/ultrasonics ↪ python3 -m venv .venv# เปิดใช้งานสภาพแวดล้อม # หากคุณใช้เชลล์อื่น ให้ใช้ activate<shell># เช่น source .venv/bin/activate.fish สำหรับ fish!callum ที่ uluru ใน /o/ultrasonics ↪ source .venv/bin/activate# ตรวจสอบให้แน่ใจว่า venv ของคุณทำงานอยู่ (ดู .venv ที่จุดเริ่มต้นของบรรทัด)# ติดตั้ง Python dependenciescallum ที่ uluru ใน /o/ultrasonics (.venv) ↪ ติดตั้ง pip3 -r ข้อกำหนด.txt
เรียกใช้ app.py
# ขณะที่ venv ยังคงทำงานอยู่ ให้รัน app.pycallum ที่ uluru ใน /o/ultrasonics (.venv) ↪ python3 app.py
หากคุณต้องการเรียกใช้สิ่งนี้เป็นกระบวนการ systemd ให้ทำตามขั้นตอนด้านล่าง:
คัดลอกไฟล์บริการตัวอย่างไปที่ /etc/systemd/system/ultrasonics.service
sudo cp ultrasonics.service /etc/systemd/system/ultrasonics.service
โหลด systemctl daemon อีกครั้งเพื่อรับบริการใหม่
sudo systemctl daemon- โหลดซ้ำ
เปิดใช้งานและเริ่มบริการ
sudo systemctl เปิดใช้งาน - ตอนนี้อัลตราโซนิก
คุณสามารถตรวจสอบสถานะของกระบวนการได้โดยใช้:
อัลตราโซนิกสถานะ systemctl
ภาพ อัลตราโซนิก อย่างเป็นทางการอยู่ที่ xdgfx/อัลตราโซนิก คุณสามารถดึงและเรียกใช้งานด้วยตนเอง หรือติดไว้ในไฟล์ docker-compose.yml
เวอร์ชัน: บริการ "3.7": อัลตราโซนิก: รูปภาพ: xdgfx / อัลตราโซนิกคอนเทนเนอร์_ชื่อ: อัลตราโซนิกรีสตาร์ท: ยกเว้นว่าหยุดพอร์ต: - 5,000:5000เล่ม: - /path/to/config:/config - /path/to/plugins:/plugins # ใช้สำหรับสภาพแวดล้อมปลั๊กอินของบุคคลที่สาม: - PUID=${PUID} - PGID=${PGID}
หากคุณเคยใช้ IFTTT แสดงว่าคุณเข้าใจพื้นฐานแล้ว อัลตราโซนิก ทำงานร่วมกับแนวคิดของ 'แอปเพล็ต' แต่ละแอปเพล็ตที่คุณสร้างจะมีปลั๊กอินที่จัดอยู่ในหนึ่งในสี่หมวดหมู่:
ปลั๊กอินเหล่านี้เชื่อมต่อกับบริการเพื่อรับรายการเพลงหรือเพลย์ลิสต์ และส่งผ่านรายการนั้นไปยังปลั๊กอินตัวแก้ไขและเอาต์พุต
ปลั๊กอินเหล่านี้รับรายการเพลงหรือเพลย์ลิสต์จากปลั๊กอินอินพุตตั้งแต่หนึ่งรายการขึ้นไป และแก้ไขรายการในทางใดทางหนึ่ง ตัวอย่างเช่น อาจรวมเพลย์ลิสต์ที่ซ้ำกัน หรือแทนที่เพลงด้วยเพลงที่คล้ายกันโดยใช้ Music Discovery API
ปลั๊กอินเหล่านี้จะนำรายการเพลย์ลิสต์ที่ส่งไปให้และบันทึกลงในบริการ บางทีพวกเขาอาจอัปเดตหรือสร้างเพลย์ลิสต์ของคุณใน Plex หรือบันทึกลงในไฟล์ .m3u บนโฮมเซิร์ฟเวอร์ของคุณ
ปลั๊กอินเหล่านี้ไม่ได้เป็นส่วนหนึ่งของโฟลว์เพลง/เพลย์ลิสต์ แต่เป็นตัวกำหนดว่าแอปเพล็ตจะทำงานจริงเมื่อใด ทริกเกอร์ที่ง่ายที่สุดคือตามเวลา เช่น 'เรียกใช้ทุกๆ 6 ชั่วโมง'
คุณสามารถสร้างแอปเพล็ตแบบกำหนดเองได้โดยใช้ปลั๊กอินที่ติดตั้ง บันทึกลงในฐานข้อมูล จากนั้นแอปเพล็ตจะทำงานโดยอัตโนมัติจากปลั๊กอินทริกเกอร์ หรือโดยการเรียกใช้แอปเพล็ตด้วยตนเองจากหน้าแรก
อัลตราโซนิก มาพร้อมกับปลั๊กอินอย่างเป็นทางการหลายตัว สำหรับข้อมูลเพิ่มเติม โปรดดูที่ [เอกสารไม่สมบูรณ์]
สามารถติดตั้งปลั๊กอินใหม่ได้โดยเพียงแค่คัดลอกโฟลเดอร์ที่มีปลั๊กอินไปยังไดเร็กทอรี plugins
แต่ละแอปเพล็ตต้องมีอย่างน้อยหนึ่งอินพุตและปลั๊กอินเอาต์พุตหนึ่งรายการ หากต้องการทำงานโดยอัตโนมัติ จำเป็นต้องมีปลั๊กอินทริกเกอร์ด้วย
ปลั๊กอินส่วนใหญ่จะมีการตั้งค่าที่ต้องกำหนดค่า ซึ่งอาจเป็นการตั้งค่าแบบถาวรส่วนกลาง (ทั่วไปสำหรับทุกอินสแตนซ์ของปลั๊กอิน ในแอปเพล็ตทั้งหมดของคุณ) หรือเฉพาะเจาะจงสำหรับอินสแตนซ์ของปลั๊กอินนี้
คุณจะได้รับแจ้งให้ป้อนการตั้งค่าที่จำเป็นเมื่อคุณสร้างแอปเพล็ต
การตั้งค่าสามารถเว้นว่างไว้ได้เสมอ! ในบางกรณี นี่เป็นเรื่องปกติหรือคาดหวังไว้ แต่ในบางกรณีอาจส่งผลให้เกิดข้อผิดพลาดของปลั๊กอินซึ่งอาจต้องมีการแก้ไขฐานข้อมูลอัลตราโซนิกด้วยตนเอง! ตรวจสอบให้แน่ใจว่าคุณกรอกการตั้งค่าใด ๆ ที่คุณต้องการ!
ปลั๊กอินบางตัวได้รับการออกแบบมาให้ทำงานกับเพลย์ลิสต์ เช่น ปลั๊กอิน Spotify โต้ตอบกับเพลย์ลิสต์ Spotify ของคุณ ปลั๊กอินบางตัวได้รับการออกแบบมาให้ทำงานกับเพลง เช่น เพลง 100 อันดับแรกของคุณใน Last.fm
หากปลั๊กอินใช้งานได้เฉพาะในโหมดเพลง คำเตือนจะแสดงบนหน้าจอ "เลือกปลั๊กอิน"
การเพิ่มปลั๊กอินโหมดเพลงลงในอินพุตจะทำงานได้อย่างมีประสิทธิภาพโดยการเพิ่มเพลย์ลิสต์เดี่ยวลงในแอปเพล็ตโฟลว์ การดำเนินการนี้ น่าจะ ใช้งานได้โดยไม่มีปัญหา ตราบใดที่ปลั๊กอินดังกล่าวระบุชื่อสำหรับเพลย์ลิสต์เดี่ยวนี้
การพยายามป้อนเพลย์ลิสต์หลายรายการลงในปลั๊กอินเอาต์พุตโหมดเพลงเดียวอาจทำให้เกิดปัญหาได้ ไม่แนะนำ
คุณต้องการที่จะช่วยปรับปรุงอัลตราโซนิกหรือไม่? ก่อนอื่นเลย - ขอบคุณ! ในฐานะคนที่ ไม่ใช่ วิศวกรซอฟต์แวร์ นี่เป็นหนึ่งในโครงการที่ใหญ่ที่สุดที่ฉันเคยทำ ความช่วยเหลือหรือข้อเสนอแนะใด ๆ ที่ชื่นชมอย่างมาก!
การขยายฟังก์ชันการทำงานของอัลตราโซนิกเป็นเรื่องง่าย! ปลั๊กอินคือการติดตั้งแบบลากและวาง จึงสามารถปรับปรุงโครงการได้อย่างมากโดยมีความซับซ้อนน้อยที่สุด วิธีการเรียนรู้ที่ดีที่สุดคือผ่านวิกิ คุณสามารถแยกโปรเจ็กต์นี้หรือสร้าง repo ของคุณเองสำหรับปลั๊กอินของคุณโดยเฉพาะ สามารถแยกส่วนออกได้ หรือหากคุณรู้สึกว่ามันจะเป็นประโยชน์ต่อชุมชนโดยการทำให้เป็นปลั๊กอินเริ่มต้น โปรดแจ้งให้เราทราบผ่านปัญหา GitHub!
ฉันจะใส่แผนในอนาคต ปัญหาที่ทราบ หรือการปรับปรุงทั่วไปในประเด็นต่างๆ ดูที่บอร์ดโครงการด้วย ซึ่งควรแสดงประเด็นที่มีลำดับความสำคัญสูง
หรือหากคุณมีแนวคิดใหม่ ก็ลองดูแล้วแจ้งให้เราทราบพร้อมกับดึงคำขอหรือปัญหา! -