อ่าน 4 นาที
จูซ
JUCE เป็น เฟรมเวิร์ กแอปพลิเคชัน C++ แบบโอ เพน ซอร์สข้ามแพลตฟอร์ม ที่ใช้ในการพัฒนาแอปพลิเคชันเดสก์ท็อปและมือถือ JUCE ถูกใช้โดยเฉพาะอย่างยิ่งสำหรับไลบรารี GUI และ ปลั๊กอิน...
จูซ
| JUCE (Jules' Utility Class Extensions) | |
|---|---|
| ผู้เขียนต้นฉบับ | จูเลียน สโตเรอร์ |
| ปล่อย | 2004 |
| เวอร์ชันเสถียร | |
| เขียนเป็น | ซี++ |
| ระบบปฏิบัติการ | ข้ามแพลตฟอร์ม |
| พิมพ์ | ห้องสมุดการพัฒนา |
| ใบอนุญาต | เอจีพีแอลเชิงพาณิชย์ |
| เว็บไซต์ | www.juce.com |
| ที่เก็บข้อมูล |
|
JUCEเป็นเฟรมเวิร์ กแอปพลิเคชัน C++ แบบโอ เพน ซอร์สข้ามแพลตฟอร์ม ที่ใช้ในการพัฒนาแอปพลิเคชันเดสก์ท็อปและมือถือ JUCE ถูกใช้โดยเฉพาะอย่างยิ่งสำหรับไลบรารีGUIและปลั๊กอินมีการอนุญาตใช้งานแบบคู่ภายใต้AGPLv3และใบอนุญาตเชิงพาณิชย์[ 2 ]
เป้าหมายของ JUCE คือการทำให้สามารถเขียนซอฟต์แวร์ได้โดยที่ซอร์สโค้ด เดียวกัน สามารถคอมไพล์และทำงานได้เหมือนกันทุกประการบน แพลตฟอร์ม Windows , macOSและLinuxโดยรองรับสภาพแวดล้อมการพัฒนาและคอมไพเลอร์ที่หลากหลาย
ประวัติศาสตร์
JUCE เกิดจากการแยกส่วน โค้ด C++ พื้นฐาน ที่ Julian Storer พัฒนาขึ้นเพื่อสร้าง ความสามารถด้านกราฟิกและเสียงของ DAW สำหรับ Tracktion (ปัจจุบันคือ Waveform) โดยเปิดตัวสู่สาธารณะครั้งแรกในปี 2547
JUCE และ Raw Material Software ถูกซื้อกิจการในเดือนพฤศจิกายน 2014 โดย ROLIผู้ผลิตฮาร์ดแวร์ในลอนดอนโดยไม่เปิดเผยจำนวนเงิน[ 3 ]
ในเดือนเมษายน พ.ศ. 2563 มีการประกาศว่า JUCE ถูกขายโดย ROLI ให้กับ PACE Anti-Piracy Inc. [ 4 ]
การสนับสนุนอย่างเป็นทางการ
JUCE ถูกออกแบบมาให้ใช้งานได้ในลักษณะเดียวกันบนแพลตฟอร์มและคอมไพเลอร์ที่หลากหลาย Raw Material Software ได้ให้รายชื่อแพลตฟอร์มและคอมไพเลอร์ที่ได้รับการยืนยันอย่างเป็นทางการแล้วดังต่อไปนี้ แพลตฟอร์มและคอมไพเลอร์อื่นๆ อาจใช้งานได้ แต่ยังไม่ได้รับการทดสอบอย่างเป็นทางการ
แพลตฟอร์มที่รองรับ
JUCE รองรับการใช้งานบนแพลตฟอร์มต่อไปนี้
- ระบบปฏิบัติการ Windows Vista , 7 , 8 , 10และ11
- ระบบปฏิบัติการ macOSเวอร์ชัน 10.7 ขึ้นไป
- iOSเวอร์ชัน 9 ขึ้นไป
- เคอร์เนลลินุกซ์ซีรีส์ 2.6 และเวอร์ชันที่ใหม่กว่า
- ระบบปฏิบัติการ Androidที่ใช้ NDK-v5 และเวอร์ชันที่ใหม่กว่า
คอมไพเลอร์ที่รองรับ
JUCE ได้รับการยืนยันอย่างเป็นทางการแล้วว่าสามารถทำงานได้อย่างถูกต้องกับคอมไพเลอร์ต่อไปนี้
- GCCเวอร์ชัน 5 ขึ้นไป
- LLVM - LLVM Clang เวอร์ชัน 3.4 และเวอร์ชันที่ใหม่กว่า
- Microsoft Visual Studio - Visual C++ 2015 และเวอร์ชันที่ใหม่กว่า
คุณสมบัติ
เช่นเดียวกับเฟรมเวิร์กอื่นๆ อีกมากมาย (เช่นQt , wxWidgets , GTKเป็นต้น) JUCE ประกอบด้วยคลาสต่างๆที่มีฟังก์ชันครอบคลุมตั้งแต่ส่วนประกอบของส่วนติดต่อผู้ใช้ กราฟิก เสียงการแยกวิเคราะห์XMLและJSON เครือข่าย การเข้ารหัส การทำงานแบบมัลติเธรดตัว แปลภาษาในตัวที่เลียนแบบไวยากรณ์ของ ECMAScriptและคุณสมบัติอื่นๆ ที่ใช้กันทั่วไป นักพัฒนาแอปพลิเคชันที่ต้องการไลบรารีของบุคคลที่สามหลายตัวจึงสามารถรวมและใช้เฉพาะไลบรารี JUCE หรืออย่างน้อยก็ลดจำนวนไลบรารีของบุคคลที่สามที่ใช้ลงได้ ในเรื่องนี้ แรงบันดาลใจดั้งเดิมมาจากJDK ของ Java และ JUCE ถูกสร้างขึ้นเพื่อเป็น "สิ่งที่คล้ายกันสำหรับ C++"
คุณลักษณะที่โดดเด่นของ JUCE เมื่อเปรียบเทียบกับเฟรมเวิร์กอื่นๆ ที่คล้ายคลึงกันคือชุดฟังก์ชันเสียงขนาดใหญ่ เนื่องจาก JUCE ได้รับการพัฒนาขึ้นครั้งแรกในฐานะเฟรมเวิร์กสำหรับTracktionซึ่งเป็นซีเควนเซอร์เสียง ก่อนที่จะแยกออกมาเป็นผลิตภัณฑ์แบบสแตนด์อโลน JUCE รองรับอุปกรณ์เสียง (เช่นCoreAudio , ASIO , ALSA , JACK , WASAPI , DirectSound ) และ การเล่น MIDI , ซิน เธไซเซอร์แบบโพลีโฟนิก , ตัวอ่านในตัวสำหรับรูปแบบไฟล์เสียงทั่วไป (เช่นWAV , AIFF , FLAC , MP3และVorbis ) รวมถึงตัวห่อสำหรับการสร้างปลั๊กอินเสียงประเภทต่างๆ เช่น เอฟเฟกต์และเครื่องดนตรี VSTสิ่งนี้ทำให้มีการใช้งานอย่างแพร่หลายในชุมชนการพัฒนาเสียง[ 5 ]
JUCE มาพร้อมกับคลาส wrapper สำหรับสร้างปลั๊กอินเสียงและเบราว์เซอร์ เมื่อสร้างปลั๊กอินเสียง จะได้ไบนารีเดียวที่รองรับรูปแบบปลั๊กอินหลายรูปแบบ ( VST & VST3, RTAS , AAX , Audio Units ) เนื่องจากโค้ดเฉพาะแพลตฟอร์มและรูปแบบทั้งหมดอยู่ใน wrapper ผู้ใช้จึงสามารถสร้าง VST/VST3/RTAS/AAX/AU สำหรับ Mac และ Windows จากโค้ดเบสเดียวได้ ตั้งแต่ JUCE7 เป็นต้นไป การกำหนดเป้าหมายและการโฮสต์ ปลั๊กอิน LV2ก็เป็นไปได้เช่นกัน[ 6 ]ก่อนหน้านี้ทำได้โดยใช้ fork ต่างๆ[ 7 ] [ 8 ]
ปลั๊กอินของเบราว์เซอร์ได้รับการจัดการในลักษณะเดียวกัน โดยจะสร้างไฟล์ไบนารีเดียวที่ทำหน้าที่ได้ทั้งเป็นปลั๊กอิน NPAPIและActiveX
เครื่องมือ
"Projucer" เป็น เครื่องมือ IDEสำหรับสร้างและจัดการโปรเจ็กต์ JUCE เมื่อระบุไฟล์และการตั้งค่าสำหรับโปรเจ็กต์ JUCE แล้ว Projucer จะสร้างชุดไฟล์โปรเจ็กต์ของบุคคลที่สามโดยอัตโนมัติ เพื่อให้สามารถคอมไพล์โปรเจ็กต์บนแต่ละแพลตฟอร์มเป้าหมายได้อย่างเป็นธรรมชาติ ปัจจุบันสามารถสร้าง โปรเจ็กต์ Xcode , โปรเจ็กต์ Visual Studio , ไฟล์ Makefileของ Linux , ไฟล์ Ant สำหรับ Android และ โปรเจ็กต์ CodeBlocksได้ นอกจากจะช่วยจัดการไฟล์และการตั้งค่าของโปรเจ็กต์แล้ว ยังมีตัวแก้ไขโค้ด ตัวแก้ไข GUI ในตัว ตัวช่วยสร้างสำหรับการสร้างโปรเจ็กต์และไฟล์ใหม่ และเครื่องมือเขียนโค้ดแบบเรียลไทม์ที่มีประโยชน์สำหรับการออกแบบส่วนติดต่อผู้ใช้
ประวัติเวอร์ชัน
- เวอร์ชัน 1 - 2004
- เวอร์ชัน 4 - พฤศจิกายน 2558
- เวอร์ชัน 5 - เมษายน 2560
- เวอร์ชัน 6 - เมษายน 2020 - การอัปเดตที่สำคัญ ได้แก่ การเพิ่มการสนับสนุน CMake สำหรับการสร้างโปรเจ็กต์ การปรับปรุงโมดูล DSP การเพิ่มการสนับสนุน VST3 บน Linux และการสนับสนุน Clang สำหรับ Windows พร้อมด้วยส่วนประกอบ webview ที่ได้รับการอัปเดตบน macOS/iOS และการปรับปรุงเฉพาะแพลตฟอร์มอื่นๆ อีกมากมาย
- เวอร์ชัน 7 - มิถุนายน 2022 - การอัปเดตที่สำคัญได้แก่ การแนะนำ SDK การเข้าถึงแบบสุ่มเสียง (ARA) และการสนับสนุนปลั๊กอิน LV2 ตัวเลือกการเรนเดอร์ใหม่สำหรับ macOS และ iOS การวาดภาพที่ซิงโครไนซ์กับฮาร์ดแวร์ข้ามแพลตฟอร์ม API Android ที่ได้รับการอัปเดต AudioPlayHead ที่ได้รับการปรับปรุงใหม่ และคุณสมบัติการเข้าถึงที่ได้รับการปรับปรุง[ 9 ]
ดูเพิ่มเติม
ลิงก์ภายนอก
- เว็บไซต์อย่างเป็นทางการ
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ จูซ
JUCE เป็น เฟรมเวิร์ กแอปพลิเคชัน C++ แบบโอ เพน ซอร์สข้ามแพลตฟอร์ม ที่ใช้ในการพัฒนาแอปพลิเคชันเดสก์ท็อปและมือถือ JUCE ถูกใช้โดยเฉพาะอย่างยิ่งสำหรับไลบรารี GUI และ ปลั๊กอิน...
ประวัติศาสตร์
JUCE เกิดจากการแยกส่วน โค้ด C++ พื้นฐาน ที่ Julian Storer พัฒนาขึ้นเพื่อสร้าง ความสามารถด้านกราฟิกและเสียงของ DAW สำหรับ Tracktion (ปัจจุบันคือ Waveform) โดยเปิดตัวสู่สาธารณะครั้งแรกในปี 2547
การสนับสนุนอย่างเป็นทางการ
JUCE ถูกออกแบบมาให้ใช้งานได้ในลักษณะเดียวกันบนแพลตฟอร์มและคอมไพเลอร์ที่หลากหลาย Raw Material Software ได้ให้รายชื่อแพลตฟอร์มและคอมไพเลอร์ที่ได้รับการยืนยันอย่างเป็นทางการแล้วดังต่อไปนี้ แพลตฟอร์มและคอมไพเลอร์อื่นๆ อาจใช้งานได้...
คอมไพเลอร์ที่รองรับ
JUCE ได้รับการยืนยันอย่างเป็นทางการแล้วว่าสามารถทำงานได้อย่างถูกต้องกับคอมไพเลอร์ต่อไปนี้