Avid-Programm für AVX-Entwickler

Was ist AVX?

Avid Extensions (AVX) ist eine plattformübergreifende Softwarearchitektur, mit deren Hilfe Plug-In-Module für Softwareeffekte dynamisch und transparent mit Host-Anwendungssoftwarepaketen verbunden werden können. AVX-Plug-Ins erweitern den von jeder mit der AVX-Schnittstelle kompatiblen Avid-Host-Anwendung unterstützten Bestand visueller Effekte auf dynamische Weise.

Die AVX-Umgebung besteht aus einer Softwarebibliothek und einer Programmierschnittstelle (API). Die API verarbeitet das Aufkommen an Bilddaten, die Analyse von Effektparametern und die Kommunikation, die für die Aktivierung der Effekte, die in der Software-Oberfläche der Host-Anwendung enthalten sein sollen, oder für das Aufrufen ihrer eigenen Oberfläche erforderlich ist.

Durch das Design der AVX-Schnittstelle können Effekt-Plug-Ins einfach, effizient und mit geringstem Aufwand an Programmiercode geschrieben werden. Das Plug-In-Effektmodul kann Parameter so angeben, dass sie durch die Host-Anwendung angezeigt werden, wodurch die Notwendigkeit Plug-In-spezifischen Programmiercodes für die Software-Oberfläche wegfällt. AVX lässt jedoch auch die Möglichkeit zu, dass Effekt-Plug-Ins ihre eigenen, plattformspezifischen Oberflächen aufrufen.

Die AVX-Schnittstelle ist unabhängig vom zugrunde liegenden Betriebssystem und der zugrunde liegenden Host-Anwendung. Die AVX-Architektur funktioniert gleichermaßen auf Windows- und Mac-Plattformen.

AVX wurde unter Berücksichtigung folgender Zielvorstellungen entwickelt:

  • Unabhängigkeit von Plattform und Host-Anwendung
  • Einfache und transparente Erweiterbarkeit
  • Einfache, über die Host-Anwendung bezogene Software-Oberfläche
  • Unterstützung für frei konfigurierbare plattformabhängige, vom Plug-In bereitgestellte Software-Oberflächen
  • Abwärtskompatibilität
  • Verschiedene Typen von Bildpufferstrukturen und Farbräumen
  • Unabhängigkeit von der Auflösung
  • Einfache Plug-In-Implementierung
  • Unterstützung für Bildsequenzen und statische Bilder

AVX-Programm
Die Schnittstelle AVX 1.0 und 1.5 ist vollständig und wird in Avid Symphony, Avid Media Composer, Avid NewsCutter, Avid Xpress und Avid Xpress DV unterstützt. AVX 1.0 wird nur in Avid|DS unterstützt. Bisher haben über ein Dutzend ISVs, darunter Artel Software (Boris Effects) und Ultimatte Corporation, AVX-Plug-Ins entwickelt.

Derzeit werden AVX-Plug-In-Anbieter für eine Teilnahme am Programm evaluiert. Vorrang werden solche Anbieter haben, deren Zielgruppe vom Mid-End- bis zum High-End-Markt reicht, die ein Produkt vorstellen, das an die Grenzen von AVX stößt, die bereit sind, in einer Beta-Umgebung zu arbeiten, und die außerdem eine etablierte Infrastruktur für Marketing und Support nachweisen können. Die Vorteile des Status eines AVX-Entwicklers umfassen einen frühzeitigen Zugriff auf die AVX-Technologie, Zugriff auf eine große Datenbank installierter Produkte, die Möglichkeit, auf die Prioritäten der für die Version 2.0 geplanten AVX-Funktionen einzuwirken, und Marketingmöglichkeiten im Verbund mit Avid.

AVX-Softwareentwickler-Kit
Das AVX-Softwareentwickler-Kit (SDK) besteht aus:

  • AVX-Entwicklerhandbuch und -referenz
  • AVX-Bibliothek und Header-Dateien
  • Beispiele für Effekt-Plug-Ins, einschließlich Quellcode und Erstellungsumgebung
  • Testumgebung WindTunnel zum Testen der Host-Anwendung
  • Entwickler-Support

Technische Kurzbeschreibung von AVX
Ein Plug-In ist ein für eine bestimmte Aufgabe konzipiertes Codepaket, das über eine Client-Anwendung, während diese ausgeführt wird, geladen und angewendet werden kann. Plug-In-Effektarchitekturen ermöglichen das Hinzufügen neuer oder das Aktualisieren bereits vorhandener Effekte, ohne dass sich dies auf die Host-Anwendung auswirkt. AVX unterstützt Plug-Ins, die Bilddaten und optionale Plug-In-basierte Software-Oberflächen verarbeiten können. Plug-Ins, die hostbasierte Oberflächen unterstützen, verfügen über eine Vielfalt an Parametertypen und die Möglichkeit, diese direkt zu bearbeiten.

AVX unterstützt in C++ implementierte Plug-Ins. C++-Plug-Ins sind Ableitungen von einem Paar von AVX-Klassen, Support-Bibliotheksfunktionen werden als Member-Funktionen der Basisklasse implementiert. AVX-Plug-Ins sind als dynamisch verknüpfbare Module (DLM) verpackt, die auf den drei unterstützten Plattformen wie folgt implementiert werden:

  • Macintosh Code Resources
  • Windows Dynamic Link Libraries (DLL)

Die AVX-API wurde unter Berücksichtigung folgender Zielvorstellungen entwickelt:

  • Im DLM müssen nur die erforderlichen Funktionen implementiert werden.
  • Im DLM nicht implementierte optionale Funktionen haben standardmäßige Fall-Back-Funktionen in der Support-Bibliothek.
  • Die API kann durch Hinzufügen neuer optionaler Funktionen und Support-Bibliotheks-Handler erweitert werden.
  • AVX ist abwärtskompatibel: Host-Anwendungen, die neue optionale Funktionen nicht unterstützen, funktionieren trotzdem.