กลับไปหน้าบทความ

อ่าน 4 นาที

จูซ

JUCE เป็น เฟรมเวิร์ กแอปพลิเคชัน C++ แบบโอ เพน ซอร์สข้ามแพลตฟอร์ม ที่ใช้ในการพัฒนาแอปพลิเคชันเดสก์ท็อปและมือถือ JUCE ถูกใช้โดยเฉพาะอย่างยิ่งสำหรับไลบรารี GUI และ ปลั๊กอิน...

จูซ

JUCE (Jules' Utility Class Extensions)
ผู้เขียนต้นฉบับจูเลียน สโตเรอร์
ปล่อย2004 ( 2004 )
เวอร์ชันเสถียร
8.0.6 / 10 มกราคม 2025 [ 1 ] ( 10 มกราคม 2025 )
เขียนเป็นซี++
ระบบปฏิบัติการข้ามแพลตฟอร์ม
พิมพ์ห้องสมุดการพัฒนา
ใบอนุญาตเอจีพีแอลเชิงพาณิชย์
เว็บไซต์www.juce.com
ที่เก็บข้อมูล
  • github .com /juce-framework /JUCE

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 รองรับการใช้งานบนแพลตฟอร์มต่อไปนี้

คอมไพเลอร์ที่รองรับ

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 ]

ดูเพิ่มเติม

  • เว็บไซต์อย่างเป็นทางการ
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=JUCE&oldid=1343796133 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ จูซ

JUCE เป็น เฟรมเวิร์ กแอปพลิเคชัน C++ แบบโอ เพน ซอร์สข้ามแพลตฟอร์ม ที่ใช้ในการพัฒนาแอปพลิเคชันเดสก์ท็อปและมือถือ JUCE ถูกใช้โดยเฉพาะอย่างยิ่งสำหรับไลบรารี GUI และ ปลั๊กอิน...

ประวัติศาสตร์

JUCE เกิดจากการแยกส่วน โค้ด C++ พื้นฐาน ที่ Julian Storer พัฒนาขึ้นเพื่อสร้าง ความสามารถด้านกราฟิกและเสียงของ DAW สำหรับ Tracktion (ปัจจุบันคือ Waveform) โดยเปิดตัวสู่สาธารณะครั้งแรกในปี 2547

การสนับสนุนอย่างเป็นทางการ

JUCE ถูกออกแบบมาให้ใช้งานได้ในลักษณะเดียวกันบนแพลตฟอร์มและคอมไพเลอร์ที่หลากหลาย Raw Material Software ได้ให้รายชื่อแพลตฟอร์มและคอมไพเลอร์ที่ได้รับการยืนยันอย่างเป็นทางการแล้วดังต่อไปนี้ แพลตฟอร์มและคอมไพเลอร์อื่นๆ อาจใช้งานได้...

คอมไพเลอร์ที่รองรับ

JUCE ได้รับการยืนยันอย่างเป็นทางการแล้วว่าสามารถทำงานได้อย่างถูกต้องกับคอมไพเลอร์ต่อไปนี้