2010-04-06 38 views
0

作爲一名Web開發人員,我知道如何編寫事件驅動的用戶界面,但不瞭解其他代碼系列(嵌入式軟件,如汽車軟件,裝配線上的自動化軟件,驅動程序或CNN上爬行的低三分之一等)iTunes可視化 - 什麼類型的代碼被寫入,代碼是什麼樣的?

我一直在尋找在iTunes可視化(example)和很好奇:

  1. 什麼代碼是用來寫的可視化工具?目標C?

  2. 它使用核心動畫嗎?該庫提供什麼類型的抽象?

  3. 代碼是什麼樣的?這是製作瘋狂圖形的數學方程列表嗎?這是一個補間關鍵幀的列表?是否有一系列圖像,分形,蟲洞,花朵,閃閃發光和一些魔法將它們混合在一起。或者完全不同的東西?

我不是在尋找教程,只是瞭解與網站開發工作非常不同的東西。

呵呵,我知道iTunes是封閉源碼,所以這一切都是猜想。

回答

0

在我看來:

  1. 大概C和/或Objective-C的與OpenGL

  2. 可能。核心動畫提供可以非常容易和高效地進行動畫處理的圖層(圖像)(淡入,淡出,平移,旋轉等)。它可能使用與OpenGL相同的硬件加速。這些圖層可以用於可視化器中的轉換。

  3. 你的投注和我一樣好,但你可能是對的。他們可能會使用一些數學方程組來輸入一些變量(如聲音的幅度)並生成一個圖像。

0

的iTunes似乎使用的G力可視化器(或至少,G力被許可用於在iTunes 8.x中):

http://en.wikipedia.org/wiki/Music_visualization

http://en.wikipedia.org/wiki/SoundSpectrum

在更一般的意義上,可視化典型地是各種幾何元素的組合,其各種參數與某些聲音測量(音量,音調等),波形和頻譜圖相關聯,具有各種視覺變換/濾波器1a在這些源元素的頂部。這就是爲什麼你會在可視化中看到很多曲線 - 它們是表示波形和頻譜的常見形式。

1

雖然默認的iTunes可視化工具是用Objective-C/C++編寫的,但您也可以使用Quartz Composer編寫iTunes可視化工具,它包含在Mac上的XCode中。它是一個基於節點的視覺效果合成環境。它有一個用於創建音樂展示臺的模板。

2

對於特定的iTunes Visualizer,我認爲它是由Flight404 ...在cinder中創建的。谷歌他的網站。我認爲他幾年前與Andrew Bell一起做過