Implementierung des Granularsynthesegenerators FOG in PD
Erwin Springer
Das Projekt verfolgt 2 Ziele: Einerseits die Portierung des Granularsynthese-Generators FOG von Max/MSP auf PD, andererseits die Evaluierung der Crossplatform-Entwicklungsumgebung „flext“.
Flext ist ein Software-Layer, der die Programmierung von Externals in Max und PD abstrahiert, dh. der selbe Sourcecode kann – unter Verwendung verschiedener link-Bibliotheken – sowohl für Max- als auch PD-Externals verwendet werden.
Dabei ist zu beachten, daß flext nicht nur die External-Schnittstellen von Max bzw. PD abstrahiert sondern weiters ein c++-Interface bereitsteht.
Um nun die Verwendbarkeit von flext evaluieren zu können, wird der FOG auf 2 Arten portiert:
· Unter Verwendung von flext, also auch Portierung auf c++
· Direkte Portierung mittels #ifdef- Anweisungen, etc.
Der Vergleich des Aufwandes bzw. der notwendigen Änderungen im Sourcecode soll einen Anhaltspunkt zur Verwendbarkeit von flext liefern.
Weiters sollen die help-patches des FOG erweitert werden, ein Tutorial zur Verwendung von FOG ist zu erstellen.
Schließlich soll der FOG, der vor mehr als 10 Jahren entwickelt wurde, auf Verbesserungsmöglichkeiten überprüft werden; so ist zB. eine neue Implementierung der Interpolation geplant.
Das Ergebnis des Projektes umfasst daher folgende Teile:
· Den portierten Source-Code des FOG sowie die fertig erstellten Externals für PD und Max auf Windows-, Mac- und linux (nur PD) – Plattform
· Erweiterte Help-patches zum FOG
· Eine detailierte Evaluierung der Verwendbarkeit von flext
· „Coding guidelines“ für die Erstellung von Externals mit Fokus auf leichte Portierbarkeit PD / Max