Визуализация iTunes - в каком коде он написан и как он выглядит? - PullRequest
0 голосов
/ 06 апреля 2010

Будучи веб-разработчиком, я знаю, как пишутся управляемые событиями пользовательские интерфейсы, но не имею представления о других семействах кода (встроенное программное обеспечение, такое как автомобильное программное обеспечение, программное обеспечение для автоматизации на сборочных линиях, драйверы или обход нижних третей пользователей). CNN и др.)

Я смотрел на визуализатор iTunes ( пример ) и мне интересно:

  1. Какой код используется для написания визуализатора? Цель C?

  2. Использует ли она базовую анимацию? Какой тип абстракции предлагает эта библиотека?

  3. Как выглядит код? Это список математических уравнений для создания сумасшедшей графики? Это список ключевых кадров с анимацией движения? Есть ли множество изображений, фракталов, червячных дыр, цветов, блесток и немного магии, смешивающих их вместе. Или что-то совершенно другое?

Я не ищу учебник, просто понимаю, как работает нечто отличное от веб-разработки.

О да, я знаю, что iTunes является закрытым исходным кодом, так что все это предположение.

Ответы [ 5 ]

2 голосов
/ 06 апреля 2012

Для Конкретного iTunes Visualizer, я думаю, что он создан Flight404 ... в cinder. погуглите его сайт. Я думаю, что он сделал это с Эндрю Беллом несколько лет назад

1 голос
/ 06 апреля 2010

Хотя визуализатор iTunes по умолчанию написан на Objective-C / C ++, вы также можете писать визуализаторы iTunes, используя Quartz Composer , который входит в XCode на Mac. Это основанная на узлах среда компоновки для визуальных эффектов. Имеется шаблон для создания музыкальных визуализаторов.

0 голосов
/ 07 февраля 2019

В некотором роде - если вы хотите узнать, как создавать визуализации "ol 'skool", такие как iTunes или, для тех, кто помнит, WinAmp, и делать это в JavaScript (который вы затем можете использовать для таких вещей, как React Native или Native Script чтобы он был скомпилирован для iOS или Android), посмотрите этот очень хороший доклад, сделанный Рут Джох на конференции CascadiaJS 2018 в Сиэтле, штат Вашингтон -

https://www.youtube.com/watch?v=Dt4I-96C-pg

0 голосов
/ 06 апреля 2010

Похоже, что iTunes использует визуализатор G-Force (или, по крайней мере, G-Force был лицензирован для использования в iTunes 8.x):

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

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

В более общем смысле визуализации, как правило, представляют собой комбинации различных геометрических элементов, параметры которых связаны с определенными измерениями звука (объем, высота тона и т. Д.), Осциллограммами и графиками спектра, с различными визуальными преобразованиями / фильтрами, наложенными поверх эти исходные элементы. Вот почему вы склонны видеть множество волнистых линий в визуализациях - это обычная форма представления сигналов и спектров.

0 голосов
/ 06 апреля 2010

На мой взгляд:

  1. Вероятно C и / или Objective-C с OpenGL .

  2. Возможно. Базовая анимация предоставляет слои (изображения), которые можно анимировать очень легко и эффективно (постепенное появление, постепенное исчезновение, перевод, вращение и т. Д.). Вероятно, он использует то же аппаратное ускорение, что и OpenGL. Эти слои можно использовать для переходов в визуализаторе.

  3. Ваша ставка такая же, как у меня, но вы, вероятно, правы. Они могут использовать некоторый набор математических уравнений, который принимает в качестве входных данных ряд переменных (например, амплитуду звука) и создает изображение.

...