# Sortir du son en objective C?



## theoorl45 (19 Février 2008)

Bonjour,


Bon, je suis développeur mais ça fait un ptit moment que j'ai pas fait de C. J'ai lu un tutorial objective-C dernièrement qui m'a un peu rafraichi la mémoire.

J'ai en tête la création en Objective-C (est-ce que c'est égal à Cocoa?) d'une application bien précise, à savoir une sorte de lecteur audio.
Je dispose d'une carte son firewire (qui génère 4 cartes sons différentes sur l'ordi) et je voudrais que mon appli puisse s'en servir et le tout, le plus direct possible (sans surcouche de code/framework ou autre). Déjà, est-ce faisable ?

Et pour l'audio, n'existe-t-il qu'une seule API (j'ai entendu parlé de Core Audio je crois) pour gérer le son ? Je ne trouve pas grand chose sur Internet pour m'aider, ni même des exemples....

Je suis un peu perdu, parce que si j'arrive pas à sortir de son de mon soft, déjà, ça part mal lol....


Mon objectif, à terme, est de faire un logiciel stable, sans surcouche de code ou framework en tout genre qui pourrait être source d'erreur.... je suis peut-être trop ambitieux là....

Merci en tout cas pour ceux qui pourront m'aider un peu à dégrossir tout ça... 

--
Théo


----------



## tatouille (20 Février 2008)

materiel (hardware) (driver) kernel <-> userland :sleep:


----------



## Céroce (20 Février 2008)

theoorl45 a dit:


> J'ai en tête la création en Objective-C (est-ce que c'est égal à Cocoa?)



Non, Objective-C est un langage de programmation, Cocoa est un framework.



theoorl45 a dit:


> Je dispose d'une carte son firewire (qui génère 4 cartes sons différentes sur l'ordi) et je voudrais que mon appli puisse s'en servir et le tout, le plus direct possible (sans surcouche de code/framework ou autre). Déjà, est-ce faisable ?



Je ne saisis pas bien ce que tu veux faire. Tu ne veux pas utiliser d'API pour communiquer avec ta carte?




theoorl45 a dit:


> Et pour l'audio, n'existe-t-il qu'une seule API (j'ai entendu parlé de Core Audio je crois) pour gérer le son ? Je ne trouve pas grand chose sur Internet pour m'aider, ni même des exemples....


La doc d'Apple est très complète, et il y a ce qu'il faut comme exemples. Regarde aussi dans le dossier Examples du SDK Apple.

Tu devras aussi t'intéresser à Quicktime qui s'occupe au décodage des fichiers audios.



theoorl45 a dit:


> Mon objectif, à terme, est de faire un logiciel stable, sans surcouche de code ou framework en tout genre qui pourrait être source d'erreur.... je suis peut-être trop ambitieux là....


CoreAudio est moderne et a peu de défauts; je vois mal comment tu pourrais faire mieux, mais je n'ai peut-être pas compris ta question.


----------



## theoorl45 (20 Février 2008)

L'objet de mon logiciel est de réaliser un sequencer pour les radios (interfaçables avec des softs de programmation musicale). Ce sequencer doit être stable au possible et performant. 
Je ne suis pas certain qu'utiliser Quicktime pour la lecture audio soit judicieux car je deviens tributaire de la présence de ce dernier sur l'ordi où tournera mon soft. 

Mon logiciel doit manipuler de lui-même ce dont il a besoin. L'utilisation d'API ok, mais il doit être indépendant.

De même, pour l'interface graphique, si j'utilise cocoa, cela va alourdir mon appli non (car utilisation d'un framework) ?

Mon objectif est d'avoir un produit fini qui s'apparente à ce qu'on trouve dans le commerce .... Quand on achète un logiciel, ils demandent pas à ce que .NET soit installé par exemple... Aucune appli professionnelle (à ma connaissance il me semble) ne demande cela. L'appli est autonome et utilise les lib dll.... Je voudrais un truc similaire. Cocoa, c'est un peu comme .NET non ?

C'est ça que je désire, un produit fini, autonome, stable. Qui fait bien sûr appel à des API (car je vais pas réinventer la roue non plus), mais le plus direct possible, sans utiliser des tonnes de couches....

Je sais pas si c'est bien bien clair. Destiné à être "professionnel", il me faut être le moins tributaire possible de framework ou autre élément qui évolue indépendamment de l'appli.


Enfin, pour le hardware (carte son en firewire), si si, il faut que j'utilise des API. Ce sera paramétrable dans l'appli.....


Dispo pour toute question si c'est pas assez clair ou précis....​


----------



## tatouille (20 Février 2008)

http://www.libsdl.org/ t auras besoin de dev des drivers pour chaque platforme de toutes les facons 
et faire du reverse sur des cartes proprietaires  non mais tu planes a 100 milles


----------



## theoorl45 (20 Février 2008)

J'avoue que j'ai jamais codé ce genre de chose encore. Je compte y aller par étape, mais je veux partir sur une base "saine" pour ne pas que l'appli patisse de mes "débuts" de codage dans l'audio.

De plus : 
1) je ne désire qu'une utilisation sur MAC (du moins dans un premier temps)
2) j'ai regardé ta lib, et ça a l'air sympa
3) pourquoi faire du reverse ? je ne veux pas réinventer les drivers... juste être sûr d'être le plus direct possible à l'utilisation du hardware ...

Je fais des recherches à droite à gauche, justement pour rester cohérent dans la charge de travail, dans le besoin exprimé et dans les possibilités "humaine" de codage.
J'ai donc besoin d'avis de personnes qui "touche un peu ou beaucoup" à ce genre de codage, ou au codage d'appli pro de manière générale. Je pars un peu à l'aveuglette à ce sujet, je l'avoue. Mais je suis motivé ​


----------



## ntx (20 Février 2008)

theoorl45 a dit:


> Je ne suis pas certain qu'utiliser Quicktime pour la lecture audio soit judicieux car je deviens tributaire de la présence de ce dernier sur l'ordi où tournera mon soft. ​


Si ton logiciel est codé en Obj-C/Cocoa il est à priori fait pour tourner uniquement sur un Mac et un Mac sans Quicktime, ça ne va pas bien loin  Tu peux t'appuyer sur QT pour tes dev, il n'est pas prêt de fausser compagnie à Mac OSX


----------



## theoorl45 (20 Février 2008)

Oui j'ai conscience de ça....

Cependant, je conçois mal qu'une application puisse ne plus fonctionner simplement parce qu'une autre ne fonctionne pas non plus.

Avez-vous déjà vu une application audio que vous aviez acheté ne plus fonctionner correctement car votre windows media player est en caraf ? ben non... et ça fait partie des objectifs de cette application.... Je veux pas réinventer la roue, je n'ai pas les compétences pour ça ni le temps. Mais j'ai besoin d'être le plus indépendant possible.... 

Si vraiment je peux pas, ben tant pis....je lâcherai l'affaire.


----------



## theoorl45 (20 Février 2008)

Bon, c'est dit, je lâche l'affaire....

Même pour une application simple, je suis déjà dépassé. Je pensais pas que j'aurai tant de mal à me remettre dans du C.... 
Et en plus l'audio, c'est vite incompréhensible !

Aucun des exemples du site d'apple ne m'a montré un truc simple pour commencer.
Y a que des exemples compliqués.

Je devrais ptêt me contenter de .NET. Là au moins, j'arrive à sortir quelquechose.....


----------



## mpergand (20 Février 2008)

Salut,

Ne pas confondre la framework Quicktime et le player Quicktime. Tu peux virer le player de ton ordi, ça marchera toujours, mais si tu vires la framework, alors là ça marchera plus du tout ...

Je pense que pour ton appli, tu dois utiliser CoreAudioMidi via les audio units. Toutes les applis audio pro l'utilisent.

Quelques exemples de code ICI
Tu dois aussi télécharger  CoreAudio SDK v1.4.3 sur l'ADC  pour Tiger (il faut s'enregister), pour Leopard, il est sur le DVD, je pense.
Tu a aussi la dev list où tu peux poser tes questions.

Enfin, il vaut mieux s'y connaître un peu dans le domaine de l'audio, car la doc Apple est un peu dur à avaler pour le néophite ...

Bon courage


----------



## theoorl45 (20 Février 2008)

J'ai déjà mis le SDK et j'avais déjà regardé la dev list.

Mais y a pas un exemple simple. C'est tout de suite des trucs "hard" je trouve.
Dans les exemples de codes, on parle de "record" la plupart du temps. Je voudrais un truc simple style "lecture d'un fichier WAV".... mais ça, y a pas....

Non sincèrement, on m'avait dit que les API étaient simples à utiliser et tout, mais je suis un peu déçu sur le coup.

Autant le C, j'arrive à lire, autant là, c'est du chinois pour moi. Vaut mieux que je laisse tomber avant de m'arracher tous mes cheveux. Merci quand même à tous....


----------



## nseaprotector (15 Septembre 2008)

> Mais y a pas un exemple simple. C'est tout de suite des trucs "hard" je trouve.


Ben toi qui veux que ton application soit professionnel, il ne faut pas s'attendre a ce qu'Apple te donne une solution clef en main ou t'as juste a mettre ton nom dessus en changeant 2 icones et la couleur de 3 boutons...
Sinon il y'a déja ce genre de softs sous mac dans les milieux professionnel, et je pense que si tu persévère un petit peu il est assez facile de faire quelque-chose de sympa en IB/Cocoa.
Pour ton info cocoa est un framework certe, mais contrairement a ce que tu à l'air de penser il ne te sera pas necessaire de trainer 1GO de truc a installer avec ton appli. Cocoa est utilisé par les pros et supporte les multiprocesseurs, le 64bits et le compilateur LLVM... Je ne saurais trop te conseiller le livre d'Hillegas "Cocoa par la pratique" si tu veux programmer vite et bien sur OSX.
PS: On sent bien que tu viens du monde à Bill...
Bon courage


----------

