iT邦幫忙

鐵人檔案

2021 iThome 鐵人賽
回列表
Software Development

JUCE 入門 @ 跨平台應用程式開發使用 C++ 系列

JUCE 音同 Juice(果汁),不是字拼錯,其名來自設計者 Jules Storer,是 Jules Utility Class Extension 的縮寫。JUCE 在音樂類型的軟體界為人熟知,在那之外,較少人知道這套與 Qt 屬性相同的跨平台開發框架。支援 Windows, macOS, Linux, Android, iOS 等主流平台。

JUCE 第一版於 2004 年釋出,我在那之後十年才遇上她。此系列為 JUCE 入門,說明 JUCE 原理,可以做,以及做不到的事,並介紹幾個開發 GUI 應用程式常用的組件。

參賽天數 29 天 | 共 29 篇文章 | 6 人訂閱 訂閱系列文 RSS系列文
DAY 11

Day 10:Component, Component, Component

前面的文章匆忙帶過 MainWindow,建議從官方的文件再深入理解 JUCE Application Window 的架構設計。 這一篇改從 MainWind...

DAY 12

Day 11:加入簡單的控制項

按:下筆此刻,JUCE 版本為 6.1,此系列文章皆以此版為準。 這篇說明加入 UI 控制項的其中一個方法。Projucer 建出來的 GUI Applic...

DAY 13

Day 12:擺放控制項(一)

視窗應用軟體開發其中一個環節是版面設計。JUCE 有幾種控制版面的作法,本篇介紹如何使用 juce::Rectangle 類別來安排控制項。 下圖為設計目標:...

DAY 14

Day 13:擺放控制項(二)

上一篇的未完成品: 先前按鈕的寬度為固定值,所以不會依據視窗的寬度排排站好。修改如下: 按鈕的間距保持固定, kButtonDistance 將內縮後的寬...

DAY 15

Day 14:GUI Design Tool 之所見即所得?

前面的 juce::Rectangle 簡易拉版面技巧,難免給人「這個高科技會不會太落後?」的錯覺。其實,JUCE 曾經有過類似 Visual Basic、Xc...

DAY 16

Day 15:更多開源專案

JUCE 在「聲音處理」領域的知名度高,除了 GUI 元件可高度客制化,最重要的是 JUCE 提供的 Audio 處理組件,以及處理聲音時的高效能表現,為音樂處...

DAY 17

Day 16:Layout Using FlexBox

本篇說明 JUCE 的另一個排版工具——juce::FlexBox。 juce::Flexbox 的設計構想來自於 CSS 中的 Flexbox,透過預先定義的...

DAY 18

Day 17:Layout Using Grid

介紹了 juce::Rectangle 以及 juce::FlexBox 這兩個拉版工具後,這篇介紹 juce::Grid。Grid 跟 FlexBox 有相似...

DAY 19

Day 18:分離控制項的外觀與行為

JUCE 因開發 DAW(Digital Audio Workstation)而生,十多年來持續發展,已經是 Digital Audio 軟體開發的重要工具。...

DAY 20

Day 19:非 GUI 類工具之 juce::String

前幾篇重點放在 JUCE GUI 相關工具,接下來換個口味,介紹幾個 JUCE 提供的好用組件。首先登場的是——juce::String。 「字串」是軟體專案最...

大山姆的機機車車的收藏
大山姆的機機車車的追蹤
大山姆的機機車車的Like
大山姆的機機車車的紀錄