Bei der Audioverarbeitung hat objektorientierte Programmierung große Vorteile. Dazu zählen:

  • Mehrmalige Instanzierung der Sub-Blöcke in anderen Blöcken
  • Mehr Speicherverwaltungsmöglichkeiten
  • Übersichtlichere und verständlichere Programmstruktur

Besonders die Möglichkeit der mehrmaligen Instanzierung der Sub-Blöcke in anderen Blöcken ist ein entscheidendes Argument für die Wahl einer objektorientierten Sprache. Aus dem Grund wurde z.B. das Projekt Flex 500 mit C++ programmiert. Dabei ist jeder Effektblock als eine Klasse realisiert (,die ggf. andere Klassen instanzieren kann).

Die Grundelemente einer Klasse sehen folgendermaßen aus:

Standardinhalt einer Klasse beinhaltet folgende Methoden bzw. Attributen:

  • init() : Hier werden der Block, Subblöcke und Initialparameter initialisiert.
  • start(): Diese Methode wird ausgeführt, wenn ein Block gestartet wird.
  • stop(): Diese Methode wird ausgeführt, wenn ein Block gestoppt wird. (z.B. reset() triggern)
  • set_parameter_xyz(): Mit diesen Methoden, werden die Parameter, die vom Controller mitgeteilt werden verarbeitet und die Klassenparameter aktualisiert.
  • status: Das ist der Flag, ob der Block aktiv oder inaktiv ist.