2017-02-21 1 views
0

J'ai un callback de rendu avec 20 bus routés vers un mélangeur et j'ai besoin d'appliquer un effet à seulement certains de ces bus.Appliquer Effet sur un ou un groupe de bus dans un rappel de rendu

Ai-je besoin de différents rappels pour cela ou je peux l'obtenir avec le même rendu?

+0

Avez-vous réglé 20 entrées d'un mélangeur sur un rappel de rendu? – dave234

+0

20 pour ce projet, j'ai d'autres projets avec plus de 40 – Fischer

+0

Vous devriez éditer votre question pour refléter la présence du mélangeur. – dave234

Répondre

1

Il y a plusieurs façons de procéder.

Vous pouvez ajouter manuellement des effets entre votre console de mixage et vos rappels. Ainsi, au lieu de définir directement le rappel sur l'entrée de la console de mixage, vous créez une unité d'effet pour chaque bus qui en a besoin, connectez l'effet à l'entrée de la console, puis réglez le rappel d'entrée sur l'effet. (Le plus simple)

Exemple:

AUGraphConnectNodeInput(inGraph, sourceEffect, inSourceOutputNumber, mixerNode, inDestInputNumber); 
AUGraphSetNodeInputCallback (inGraph, sourceEffect,0,&inputCallbackStruct); 

Vous pouvez conserver une référence à chaque effet, puis au sein de votre rappel appeler manuellement AudioUnitRender sur l'effet. (Un peu compliqué)

Si vous souhaitez utiliser un seul effet pour ce traitement sur plusieurs bus, vous pouvez utiliser deux mélangeurs. Tous les bus qui ont besoin d'un effet seront dirigés vers le "Effect Mixer", puis l'effet peut être sur la sortie de "Effect Mixer", et la sortie de l'effet peut aller à votre mélangeur principal. (Plus efficace)

+0

Merci beaucoup pour la réponse, Dave. – Fischer

+0

Dave. Je l'ai testé. Réglage d'un bus pour un autre mixeur ou effet, semble lancer et rendu indépendant. Par exemple, si je règle directement le bus 1 sur un nœud de retard (et retarde le nœud sur l'entrée 1 du mixeur), le callback lance un bus 0 pour ce bus d'effets, puis un autre rendu pour le mixeur principal sans bus d'effet (bus 0, 2 , 3, 4, ....) Est-ce un comportement normal? .... Si oui, c'est une douleur dans le cul car il désynchronise mes canaux .. Je vais devoir faire beaucoup de modifications de code – Fischer

+0

Utilisez-vous un AUGraph? Comment connectez-vous les effets? – dave234