[RoLUG] GSleep 1.1 is out

Enrico Marchetto enrico.m82@libero.it
Ven 19 Set 2003 20:58:41 CEST


Alle 18:18, venerdì 19 settembre 2003, Eduard Roccatello ha scritto:
> On Friday 19 September 2003 02:01, Enrico Marchetto wrote:
> > domanda... Per usare il mio prog (o il tuo eddy...) bisogna attaccare
> > qualcosa direttamente al lettore, perchè la sk audio è del tutto tagliata
> > fuori. Esite la ioctl CDROMREADAUDIO, ma come si fa a "mandare" i byte
> > alla sk audio? Che librerie/funzioni/quant'altro si possono usare? Io ho
> > una SB 64 pci (no alsa... solito modulo es1371!), e mi basterebbe che
> > funzionasse quella...
>
> ti ringrazio per apprezzare il mio lavoro, cosa che non viene fatta da
> tutti ma e` la vita.

In realtà, caro Eddy, io invidio le conoscenze tue e di altri qui dentro fin 
nel profondo... ma se voglio imparare qualcosa l'unica è attribuirvi i vostri 
reali meriti (e solo quelli...) e cercare di farmi spiegare. Oltre che 
un'ottima dose di sana autodidattica.

> ioctl si occupa di controllare un device sotto linux e per farlo utilizza
> delle chiamate definite negli include del kernel.
> quelle che riguardano la scheda audio si trovano in questo file
> [kerneltree]/include/linux/soundcard.h

Ecco vedi. Tu lo sai. Ma io che non lo so dove è che lo trovo scritto? Mi 
butto a cercare in tutti gli include di /usr/include. (a parte che 
soundcard.h è abb intuitivo e ci potevo arrivare... non lo ho visto...).

>
> ioctl ha bisogno di un file descriptor, della definizione specifica per il
> device e di un parametro variabile (di solito un puntatore ad una
> struttura).
> ti spiego con frammenti di codice che funzionano meglio delle mie parole
> ultimamente.
>
> tu vuoi riprodurre qualcosa sulla scheda audio (/dev/dsp) e hai un file

Dunque /dev/dsp è il faile da aprire con open per avere il file descriptor... 
Bene.

> audio.wav nella stessa cartella dell'eseguibile
>
> questo codice fa esattamente quello che vuoi:
>
> [CODICE]
[cut]
> [/CODICE]
>
> Ovviamente funziona perche i file wav PCM hanno lo stream non compresso
> direttamente nel file dopo un header di 40 byte.
> Con i formati bisogna decodificare e dare in pasto alla scheda audio.

... dunque PRIMA mi informo sull'ordinamento dei bit/byte dei cda e POI provo 
a fare la cosa. Grazie, ciao.
	Enrico.




Maggiori informazioni sulla lista RoLUG