Sto cercando di creare un wrapper per FLAC, in modo da poter utilizzare FLAC nel mio codice Python.Creazione di un wrapper per una libreria C in Python
Ho provato a utilizzare prima i ctypes, ma ha mostrato un'interfaccia davvero strana alla libreria, ad es. tutte le funzioni di init per FLAC stream e file sono diventate una funzione senza informazioni reali su come inizializzarla. Soprattutto perché vuole un riferimento a un decodificatore di stream, ma Python non ha modo di memorizzare puntatori (BZZZT!), e quindi non posso memorizzare il puntatore al decodificatore di flusso. Non aiuta che le diverse funzioni di init abbiano un diverso numero di argomenti e alcuni tipi di argomenti differiscano. Ha anche un sacco di enumerazioni e strutture, e non so come ottenerle nel mio codice.
Ho cercato Pyrex, ma mi sono imbattuto nello stesso problema con i puntatori, ma penso di averlo risolto, in qualche modo. The file isn't small either, and it's not even complete.
Quindi sto cercando alternative o guide che mi aiutino a capire meglio i modi sopra citati. Sarebbe davvero d'aiuto se potessi ricevere una raccomandazione e/o aiuto.
Cython si basa sul ben noto Pyrex, ma supporta funzionalità e ottimizzazioni più avanzate. – mtasic85