Audio Unit : problème de Carbone.
Bonjour,
Lorsque j'ouvre Logic (ancienne version, v 9.1.8 ), Logic refuse de valider mes plug-ins Audio Unit au prétexte de :
This application, or a library it uses, is using the deprecated Carbon Component Manager for hosting Audio Units. Support for this will be removed in a future release. Also, this makes the host incompatible with version 3 audio units. Please transition to the API's in AudioComponent.h.
Ceci dit, si je force la validation, les plug-ins marchent parfaitement, ou bien je les utilise sans problème à partir d'autres hosts.
Le problème se pose depuis Yosemite (il est temps que je me bouge), et je ne regrette évidemment pas la technologie Carbon, d'autant plus que je soigne mes GUI Cocoa )
Je n'arrive pas à trouver d'infos à ce sujet. J'espère secrètement que le format "plug-in" a disparu au profit de celui d'une application capable de communiquer audio et MIDI avec toute autre, comme c'est le cas sous iOS. (iOS better than MacOS!!!) Rien là dessus non plus.
Je vais essayer avec la mail-list Core Audio, mais auriez-vous une idée, ou des infos? Merci par avance.
Réponses
un lien intéressant : https://github.com/jackaudio/jack2/issues/144
Carbon est deprecated, mais il me semble que certaines de ses fonctions ont été reportées dans des Frameworks.
Le plus marrant est que la classe qui semble poser problème, "AudioComponent" est de Apple : elle est issue du Framework AudioUnit...
Bon, commençons par chercher des updates de ce framework.
Petite question : les frameworks de type AudioUnitTools sont bien mis à jour à chaque mise à jour de XCode?
Lorsque j'ai enlevé puis remis le lien vers ce framework dans un des plug-in, le compilateur a refusé de travailler ("Build failed") : une des fonctions natives de AudioUnit n'était plus reconnue dans mon code, alors que lorsque l'on fait click droit dessus, la fonction est bien trouvée dans le framework lié. (J'espère me faire bien comprendre).
On parle d'un format AudioUnit 3 : je n'arrive pas à trouver la doc le concernant non plus.
J'ai commencé - pour les quelques-uns susceptibles d'être intéressés par le sujet sur ce forum - à trouver de la doc. Cette évolution est assez récente (annoncée en juin dernier).
Tout d'abord, une longue vidéo de type "Key Note" :`
https://developer.apple.com/videos/play/wwdc2015-508/
Des "sample code" mais en swift, évidemment..
https://developer.apple.com/library/ios/samplecode/AudioUnitV3Example/Introduction/Intro.html
On trouve un update de "Filter Demo" aussi.
Cela vaut le coup de s'y mettre, à condition - ce que je vais tester sans tarder - que, contrairement aux anciennes versions de AudioUnit, on puisse utiliser NSCoding. Mon Dazibao ne peut pas être programmé avec seulement des paramètres classiques d'effets ou de synthés. Par contre, il semble que, à condition apparemment de créer des classes graphiques différentes pour chaque appareil, que le même Audio Unit soit compatible MacOS et iOS. Par ailleurs, les Audio Unit vont pouvoir intégrer les AppStore, ce qui n'était pas le cas auparavant (d'où le fait que je les vende très difficilement depuis mon propre site).